diff --git a/.bzrignore b/.bzrignore index 6adb047922..e2d1636ddd 100644 --- a/.bzrignore +++ b/.bzrignore @@ -26,3 +26,6 @@ nbproject/ *.pidb *.sln *.userprefs +.project +.pydevproject +.settings/ diff --git a/Changelog.yaml b/Changelog.yaml index a08418e15c..4ff8ebf7fb 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,137 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.7.16 + date: 2010-08-27 + + new features: + - title: "Driver for the Kindle 3" + + - title: "Users can now customize what actions appear in the toolbar and context menus via Preferences->Interface->Toolbars" + + - title: "Draw a thin broder around the cover in the edit metadata dialog." + tickets: [6605] + + - title: "Create (almost) all temporary files in a subdirectory so as not to clutter up temp directory" + + - title: "FB2 Output: Add option to try to generate FB2 sections from the TOC. This may or may not work, depending on the file, so use with care." + + - title: "Add an option to remove all tags from selected books in the bulk metadata editor." + + - title: "Add a tweak to control how the dates in the Date column are formatted." + + bug fixes: + - title: "Fix regression in 0.7.15 that broke the Similar books action and the add books to library from device action" + tickets: [6630, 6576] + + - title: "Add ZIP and RAR to the input format order preferences." + tickets: [5879] + + - title: "Update podofo in all binary builds to 0.8.2. Should fix bug where setting metadata in some PDF files would cause file truncation." + + - title: "Add/remove header wizard: When running on PDF input, replace non breaking spaces with normal spaces, since it is hard to write regexps to match non breaking spaces with the regex builder wizard." + + - title: "Fix crash is user tries to switch libraries whiel a device is being detected" + tickets: [6589] + + - title: "Title sort now ignores leading quite character. Only applies to newly added books." + tickets: [6594] + + - title: "Conversion pipeline: Don't fail if parsing extra css raises an exception. Instead just ignore it." + + - title: "SONY driver: Use the tz field (available in newer readers) to set timestamps correctly, when available." + + - title: "Shortening file paths: Handle the case of very long filenames with periods in them." + tickets: [6566] + + new recipes: + - title: "The TMZ and Atlanta Journal Constitution" + author: Tony Stegall + + - title: "Consumerist and Gawker Media" + author: Trickery + + improved recipes: + - National Review Online + +- version: 0.7.15 + date: 2010-08-20 + + new features: + - title: "Multiple library support: Various improvements to make using multiple calibre libraries easier." + type: major + desc: > + "Now, when you switch libraries using the Choose Library button on the toolbar, entries are created in the menu of that button to easily switch to that library in the + future. Also, you can now right click on a book in the calibre library and use the 'Copy to library' action to copy the book to another library, + that you have switched to at least once. The name of the current library is shown in the titlebar. + " + + - title: "Content server: Allow setting a restriction so that the server shares only some of the books in the library." + type: major + desc: > + "You can now use a Saved Search as a restiction for the content server, via Preferences->Content Server. This will cause the + server to share only those books that match the saved search. + " + + - title: "Speed up metadata editing. Small speed up for single book editing and major speedup for bulk editing." + tickets: [6472] + + - title: "Drivers for the Kogan and Spectra e-book readers and the Samsung Captivate" + + - title: "Allow calibredb to manage saved searches stored in the library." + + - title: "Add a tweak to automatically connect to a folder on startup. Accessible via Preferences->Advanced->Tweaks" + + - title: "You can specify a restriction based on a saved search to be applied on calibre startup" + + - title: "All actions in toolbar/context menus have been refactored to become plugins" + + bug fixes: + + - title: "Content server: Fix Saved Search and User Category handling in the OPDS feeds." + tickets: [6549, 6551] + + - title: "Fix regression that broke reading covers from CBR files" + + - title: "Fix regression in 0.7.13 that broke Comic Input when image output format was set to JPEG" + + - title: "Fix Comic Input default settings not being used when bulk converting comics" + + - title: "SONY driver: Fix series order being lost when metadata management is set to manual" + + - title: "Fix behavior of Tag Browser and search restictions when switching libraries" + tickets: [6511] + + - title: "Do not allow the user to override the default tweaks or the hyphenate javascript. Also if a file is not found, do not use the user location as the default base." + tickets: [6524] + + - title: "Catalog generation: Changed default regex for genre tags to allow punctuation within genre tags." + + - title: "Linux environment: Use a temporary dir as the config directory if write access to the normal config directory is unavailable. Can be overriden by using the CALIBRE_CONFIG_DIRECTORY environment variable" + + - title: "Jobs window now remebers its size and can be launched by a keyboard shortcut (Alt+Shift+J)" + tickets: [6505] + + - title: "Fixing regression that broke clicking on links in the Book Details window" + tickets: [6509] + + - title: "Parallel job management: Do not allow new jobs to start when all cores are used." + + - title: "Fix a bug that could cause the jobs window to show details for the wrong job" + tickets: [6130] + + - title: "Workaround for PyQt4/util-linux conflict on gentoo" + + new recipes: + - title: "La Jornada" + author: rogliedoh + + - title: "Futurismic" + author: Darko Miletic + + improved recipes: + - GoComics + - version: 0.7.14 date: 2010-08-13 @@ -25,6 +156,7 @@ - title: "Add button to the manage authors dialog to automatically reset all author sort values" + bug fixes: - title: "Fix regression in 0.7.13 that broke changing libraries" @@ -52,7 +184,7 @@ new recipes: - title: "Yahoo News, Skeptical Enquirer and Skeptic" - author: Startson17 + author: Starson17 - title: "Bolivian newspapers" author: Darko Miletic diff --git a/resources/calibre-portable.bat b/resources/calibre-portable.bat new file mode 100644 index 0000000000..fb3444e34e --- /dev/null +++ b/resources/calibre-portable.bat @@ -0,0 +1,114 @@ +@echo OFF +REM CalibreRun.bat +REM ~~~~~~~~~~~~~~ +REM Batch File to start a Calibre configuration on Windows +REM giving explicit control of the location of: +REM - Calibe Program Files +REM - Calibre Library Files +REM - Calibre Config Files +REM - Calibre Metadata database +REM - Calibre Source files +REM By setting the paths correctly it can be used to run: +REM - A "portable calibre" off a USB stick. +REM - A network installation with local metadata database +REM (for performance) and books stored on a network share +REM +REM If trying to run off a USB stick then the following +REM folder structure is recommended: +REM - Calibre2 Location of program files +REM - CalibreConfig Location of Configuration files +REM - CalibreLibrary Location of Books and metadata + + +REM ------------------------------------- +REM Set up Calibre Config folder +REM ------------------------------------- + +If EXIST CalibreConfig SET CALIBRE_CONFIG_DIRECTORY=%cd%\CalibreConfig + + +REM -------------------------------------------------------------- +REM Specify Location of ebooks +REM +REM Location where Book files are located +REM Either set explicit path, or if running from a USB stick +REM a relative path can be used to avoid need to know the +REM drive letter of the USB stick. + +REM Comment out any of the following that are not to be used +REM -------------------------------------------------------------- + +SET CALIBRE_LIBRARY_DIRECTORY=U:\eBOOKS\CalibreLibrary +IF EXIST CalibreLibrary SET CALIBRE_LIBRARY_DIRECTORY=%cd%\CalibreLibrary +IF EXIST CalibreBooks SET CALIBRE_LIBRARY_DIRECTORY=%cd%\CalibreBooks + + +REM -------------------------------------------------------------- +REM Specify Location of metadata database (optional) +REM +REM Location where the metadata.db file is located. If not set +REM the same location as Books files will be assumed. This. +REM options is used to get better performance when the Library is +REM on a (slow) network drive. Putting the metadata.db file +REM locally gives a big performance improvement. +REM -------------------------------------------------------------- + +IF EXIST CalibreBooks SET SET CALIBRE_OVERRIDE_DATABASE_PATH=%cd%\CalibreBooks\metadata.db +IF EXIST CalibreMetadata SET CALIBRE_OVERRIDE_DATABASE_PATH=%cd%\CalibreMetadata\metadata.db + + +REM -------------------------------------------------------------- +REM Specify Location of source (optional) +REM +REM It is easy to run Calibre from source +REM Just set the environment variable to where the source is located +REM When running from source the GUI will have a '*' after the version. +REM -------------------------------------------------------------- + +IF EXIST Calibre\src SET CALIBRE_DEVELOP_FROM=%cd%\Calibre\src + + +REM -------------------------------------------------------------- +REM Specify Location of calibre binaries (optinal) +REM +REM To avoid needing Calibre to be set in the search path, ensure +REM that Calibre Program Files is current directory when starting. +REM The following test falls back to using search path . +REM This folder can be populated by cpying the Calibre2 folder from +REM an existing isntallation or by isntalling direct to here. +REM -------------------------------------------------------------- + +IF EXIST Calibre2 CD Calibre2 + + +REM -------------------------------------------- +REM Display settings that will be used +REM -------------------------------------------- + +echo PROGRAMS=%cd% +echo SOURCE=%CALIBRE_DEVELOP_FROM% +echo CONFIG=%CALIBRE_CONFIG_DIRECTORY% +echo LIBRARY=%CALIBRE_LIBRARY_DIRECTORY% +echo DATABASE=%CALIBRE_OVERRIDE_DATABASE_PATH% + +REM The following gives a chance to check the settings before +REM starting Calibre. It can be commented out if not wanted. + +echo "Press CTRL-C if you do not want to continue" +pause + + +REM -------------------------------------------------------- +REM Start up the calibre program. +REM +REM The use of 'belownormal' priority helps keep the system +REM responsive while Calibre is running. Within Calibre itself +REM the backgound processes should be set to run with 'low' priority. + +REM Using the START command starts up Calibre in a separate process. +REM If used without /WAIT opotion launches Calibre and contines batch file. +REM Use with /WAIT to wait until Calibre completes to run a task on exit +REM -------------------------------------------------------- + +echo "Starting up Calibre" +START /belownormal Calibre --with-library %CALIBRE_LIBRARY_DIRECTORY% diff --git a/resources/default_tweaks.py b/resources/default_tweaks.py index d6f134f724..e03b0680be 100644 --- a/resources/default_tweaks.py +++ b/resources/default_tweaks.py @@ -44,7 +44,7 @@ bool_custom_columns_are_tristate = 'yes' # title within authors. sort_columns_at_startup = None -# Format to be used for publication date +# Format to be used for publication date and the timestamp (date). # A string controlling how the publication date is displayed in the GUI # d the day as number without a leading zero (1 to 31) # dd the day as number with a leading zero (01 to 31) @@ -59,8 +59,10 @@ sort_columns_at_startup = None # For example, given the date of 9 Jan 2010, the following formats show # MMM yyyy ==> Jan 2010 yyyy ==> 2010 dd MMM yyyy ==> 09 Jan 2010 # MM/yyyy ==> 01/2010 d/M/yy ==> 9/1/10 yy ==> 10 -# default if not set: MMM yyyy +# publication default if not set: MMM yyyy +# timestamp default if not set: dd MMM yyyy gui_pubdate_display_format = 'MMM yyyy' +gui_timestamp_display_format = 'dd MMM yyyy' # Control title and series sorting in the library view. # If set to 'library_order', Leading articles such as The and A will be ignored. @@ -81,3 +83,11 @@ title_series_sorting = 'library_order' # strictly_alphabetic, it would remain "The Client". save_template_title_series_sorting = 'library_order' +# Specify a folder that calibre should connect to at startup using +# connect_to_folder. This must be a full path to the folder. If the folder does +# not exist when calibre starts, it is ignored. If there are '\' characters in +# the path (such as in Windows paths), you must double them. +# Examples: +# auto_connect_to_folder = 'C:\\Users\\someone\\Desktop\\testlib' +# auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library' +auto_connect_to_folder = '' \ No newline at end of file diff --git a/resources/images/news/consumerist.png b/resources/images/news/consumerist.png new file mode 100644 index 0000000000..47cceb2b37 Binary files /dev/null and b/resources/images/news/consumerist.png differ diff --git a/resources/images/news/deadspin.png b/resources/images/news/deadspin.png new file mode 100644 index 0000000000..0b1309c8e0 Binary files /dev/null and b/resources/images/news/deadspin.png differ diff --git a/resources/images/news/fleshbot.png b/resources/images/news/fleshbot.png new file mode 100644 index 0000000000..e3b730dc72 Binary files /dev/null and b/resources/images/news/fleshbot.png differ diff --git a/resources/images/news/fstream.png b/resources/images/news/fstream.png new file mode 100644 index 0000000000..a9fc6b4aae Binary files /dev/null and b/resources/images/news/fstream.png differ diff --git a/resources/images/news/gawker.png b/resources/images/news/gawker.png new file mode 100644 index 0000000000..3fb7b52b28 Binary files /dev/null and b/resources/images/news/gawker.png differ diff --git a/resources/images/news/io9.png b/resources/images/news/io9.png new file mode 100644 index 0000000000..62d04d92d5 Binary files /dev/null and b/resources/images/news/io9.png differ diff --git a/resources/images/news/jalopnik.png b/resources/images/news/jalopnik.png new file mode 100644 index 0000000000..f2f7a29c1c Binary files /dev/null and b/resources/images/news/jalopnik.png differ diff --git a/resources/images/news/jezebel.png b/resources/images/news/jezebel.png new file mode 100644 index 0000000000..c9d4b2c28c Binary files /dev/null and b/resources/images/news/jezebel.png differ diff --git a/resources/images/news/kotaku.png b/resources/images/news/kotaku.png new file mode 100644 index 0000000000..320a59c04b Binary files /dev/null and b/resources/images/news/kotaku.png differ diff --git a/resources/images/news/la_jornada.png b/resources/images/news/la_jornada.png new file mode 100644 index 0000000000..718731a380 Binary files /dev/null and b/resources/images/news/la_jornada.png differ diff --git a/resources/images/news/lifehacker.png b/resources/images/news/lifehacker.png new file mode 100644 index 0000000000..4e3f03eb7f Binary files /dev/null and b/resources/images/news/lifehacker.png differ diff --git a/resources/recipes/ajc.recipe b/resources/recipes/ajc.recipe new file mode 100644 index 0000000000..4315101a63 --- /dev/null +++ b/resources/recipes/ajc.recipe @@ -0,0 +1,69 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1282101454(BasicNewsRecipe): + title = 'The AJC' + language = 'en' + __author__ = 'TonytheBookworm' + description = 'News from Atlanta and USA' + publisher = 'The Atlanta Journal' + category = 'news, politics, USA' + oldest_article = 1 + max_articles_per_feed = 100 + no_stylesheets = True + extra_css = '.headline {font-size: x-large;} \n .fact { padding-top: 10pt }' + masthead_url = 'http://gawand.org/wp-content/uploads/2010/06/ajc-logo.gif' + keep_only_tags = [ + dict(name='div', attrs={'id':['cxArticleContent']}) + ,dict(attrs={'id':['cxArticleText','cxArticleBodyText']}) + ] + feeds = [ + ('Breaking News', 'http://www.ajc.com/genericList-rss.do?source=61499'), + # ------------------------------------------------------------------- + # Here are the different area feeds. Choose which ever one you wish to + # read by simply removing the pound sign from it. I currently have it + # set to only get the Cobb area + # -------------------------------------------------------------------- + ('Atlanta & Fulton', 'http://www.ajc.com/section-rss.do?source=atlanta'), + #('Clayton', 'http://www.ajc.com/section-rss.do?source=clayton'), + #('DeKalb', 'http://www.ajc.com/section-rss.do?source=dekalb'), + #('Gwinnett', 'http://www.ajc.com/section-rss.do?source=gwinnett'), + #('North Fulton', 'http://www.ajc.com/section-rss.do?source=north-fulton'), + #('Metro', 'http://www.ajc.com/section-rss.do?source=news'), + #('Cherokee', 'http://www.ajc.com/section-rss.do?source=cherokee'), + ('Cobb', 'http://www.ajc.com/section-rss.do?source=cobb'), + #('Fayette', 'http://www.ajc.com/section-rss.do?source=fayette'), + #('Henry', 'http://www.ajc.com/section-rss.do?source=henry'), + #('Q & A', 'http://www.ajc.com/genericList-rss.do?source=77197'), + ('Opinions', 'http://www.ajc.com/section-rss.do?source=opinion'), + ('Ga Politics', 'http://www.ajc.com/section-rss.do?source=georgia-politics-elections'), + # ------------------------------------------------------------------------ + # Here are the different sports feeds. I only follow the Falcons, and Highschool + # but again + # You can enable which ever team you like by removing the pound sign + # ------------------------------------------------------------------------ + ('Sports News', 'http://www.ajc.com/genericList-rss.do?source=61510'), + #('Braves', 'http://www.ajc.com/genericList-rss.do?source=61457'), + ('Falcons', 'http://www.ajc.com/genericList-rss.do?source=61458'), + #('Hawks', 'http://www.ajc.com/genericList-rss.do?source=61522'), + #('Dawgs', 'http://www.ajc.com/genericList-rss.do?source=61492'), + #('Yellowjackets', 'http://www.ajc.com/genericList-rss.do?source=61523'), + ('Highschool', 'http://www.ajc.com/section-rss.do?source=high-school'), + ('Events', 'http://www.accessatlanta.com/section-rss.do?source=events'), + ('Music', 'http://www.accessatlanta.com/section-rss.do?source=music'), + ] + + + + + def print_version(self, url): + return url.partition('?')[0] +'?printArticle=y' + + + + + + + + + + diff --git a/resources/recipes/clarin.recipe b/resources/recipes/clarin.recipe index 7bbb663d1d..cf9440ad55 100644 --- a/resources/recipes/clarin.recipe +++ b/resources/recipes/clarin.recipe @@ -18,7 +18,7 @@ class Clarin(BasicNewsRecipe): use_embedded_content = False no_stylesheets = True encoding = 'utf8' - language = 'es_AR' + language = 'es' publication_type = 'newspaper' INDEX = 'http://www.clarin.com' masthead_url = 'http://www.clarin.com/static/CLAClarin/images/logo-clarin-print.jpg' diff --git a/resources/recipes/consumerist.recipe b/resources/recipes/consumerist.recipe new file mode 100644 index 0000000000..3d8056e49d --- /dev/null +++ b/resources/recipes/consumerist.recipe @@ -0,0 +1,53 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +consumerist.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Consumerist(BasicNewsRecipe): + title = 'Consumerist' + __author__ = 'NA' + description = "Consumerist, Shoppers Bite Back." + publisher = 'consumerist.com' + category = 'news, consumer news, consumer rights' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://consumerist.com/css/images/footer_man.gif' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:x-large} + h2{font-family :Arial,Helvetica,sans-serif; font-size:large} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + #keep_only_tags = [dict(attrs={'class':['', 'category-breadcrumb']}),] + remove_tags_before = dict(name='h2') + + remove_tags = [ + #dict(name='iframe'), + dict(name='div', attrs={'class':['e-comments', 'more-about', 'entry-tags']}), + #dict(name='div', attrs={'id':['IEContainer', 'clickIncludeBox']}), + #dict(name='ul', attrs={'class':'article-tools'}), + #dict(name='ul', attrs={'class':'articleTools'}), + ] + + remove_tags_after = dict(attrs={'class':'e-body'}) + + feeds = [(u'Articles', u'http://consumerist.com/index.xml')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/deadspin.recipe b/resources/recipes/deadspin.recipe new file mode 100644 index 0000000000..89e8b2d490 --- /dev/null +++ b/resources/recipes/deadspin.recipe @@ -0,0 +1,44 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +deadspin.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Deadspin(BasicNewsRecipe): + title = 'Deadspin' + __author__ = 'NA' + description = "Deadspin, Sports News without Access, Favor, or Discretion." + publisher = 'deadspin.com' + category = 'news, sports, meltdowns' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/deadspin.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/deadspin/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/europasur.recipe b/resources/recipes/europasur.recipe new file mode 100644 index 0000000000..cda111e995 --- /dev/null +++ b/resources/recipes/europasur.recipe @@ -0,0 +1,68 @@ + +__license__ = 'GPL v3' +__copyright__ = '2010, Darko Miletic ' +''' +europasur.es +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Europasur(BasicNewsRecipe): + title = 'Europa Sur' + __author__ = 'Darko Miletic' + description = 'News in Spanish' + publisher = 'Joly Digital' + category = 'news, politics, Spanish' + oldest_article = 2 + max_articles_per_feed = 100 + use_embedded_content = False + remove_empty_feeds = True + delay = 2 + no_stylesheets = True + encoding = 'cp1252' + language = 'es' + publication_type = 'newspaper' + extra_css = """ body{font-family: Verdana,Arial,Helvetica,sans-serif} + h2{font-family: Georgia,Times New Roman,Times,serif} + .subtitle{font-weight:bold} + .caption{font-size: small} + .body{font-size: 1.1em} + .info{color: #848484} + """ + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher': publisher + , 'language' : language + } + + keep_only_tags = [ + dict(attrs={'class':['titles','current']}) + ,dict(attrs={'id':'newsBody'}) + ] + remove_tags = [ + dict(name=['iframe','base','embed','object']) + ,dict(name='a', attrs={'class':'zoom thickbox'}) + ,dict(name='div', attrs={'class':'other'}) + ] + remove_attributes = ['width','height'] + + feeds = [ + (u'Portada', u'http://www.europasur.es/rss/articles.php') + ,(u'Deportes', u'http://www.europasur.es/rss/articles.php?sec=1224') + ,(u'Economia', u'http://www.europasur.es/rss/articles.php?sec=427') + ,(u'Espana', u'http://www.europasur.es/rss/articles.php?sec=437') + ,(u'Mundo', u'http://www.europasur.es/rss/articles.php?sec=428') + ,(u'Pasarela', u'http://www.europasur.es/rss/articles.php?sec=1958') + ,(u'Ocio y cultura', u'http://www.europasur.es/rss/articles.php?sec=1210') + ,(u'Opinion', u'http://www.europasur.es/rss/articles.php?sec=1195') + ,(u'Tecnologia', u'http://www.europasur.es/rss/articles.php?sec=1681') + ,(u'Salud', u'http://www.europasur.es/rss/articles.php?sec=2379') + ] + + def image_url_processor(self, baseurl, url): + artl, sep, width = url.rpartition('&an=') + artid, sep, ext = artl.rpartition('.') + article_id = artid.rpartition('/')[2] + return 'http://media.grupojoly.com/cache/' + article_id + '_' + width + 'x' + width + '_' + ext + '000.' + ext diff --git a/resources/recipes/fleshbot.recipe b/resources/recipes/fleshbot.recipe new file mode 100644 index 0000000000..738fc22ecf --- /dev/null +++ b/resources/recipes/fleshbot.recipe @@ -0,0 +1,44 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +fleshbot.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Fleshbot(BasicNewsRecipe): + title = 'Fleshbot' + __author__ = 'NA' + description = "Fleshbot, Pure Filth." + publisher = 'Fleshbot.com' + category = 'news, sex, sex industry, celebs, nudes, adult, adult toys, sex toys' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.fleshbot.com/assets/base/img/thumbs140x140/fleshbot.com.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:x-large} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/fleshbot/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/fstream.recipe b/resources/recipes/fstream.recipe new file mode 100644 index 0000000000..f6d56042d1 --- /dev/null +++ b/resources/recipes/fstream.recipe @@ -0,0 +1,64 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class FIELDSTREAM(BasicNewsRecipe): + title = 'Field and Stream' + __author__ = 'Starson17 and Tonythebookworm' + description = 'Hunting and Fishing and Gun Talk' + language = 'en' + no_stylesheets = True + publisher = 'Starson17 and Tonythebookworm' + category = 'food recipes, hunting, fishing, guns' + use_embedded_content= False + no_stylesheets = True + oldest_article = 24 + remove_javascript = True + remove_empty_feeds = True + masthead_url = 'http://www.fieldandstream.com/sites/all/themes/fs/logo.png' + cover_url = 'http://www.arrowheadflyangler.com/Portals/1/Articles/FieldStream/Field%20and%20Stream%20March%20Fishing%20Edition%20Article%20Cover.jpg' + # recursions = 0 + max_articles_per_feed = 10 + INDEX = 'http://www.fieldandstream.com' + + keep_only_tags = [dict(name='div', attrs={'class':['interior-main']}) + ] + remove_tags = [dict(name='div', attrs={'id':['comments']})] + + def parse_index(self): + feeds = [] + for title, url in [ + (u"Wild Chef", u"http://www.fieldandstream.com/blogs/wild-chef"), + (u"The Gun Nut", u"http://www.fieldandstream.com/blogs/gun-nut"), + (u"Whitetail 365", u"http://www.fieldandstream.com/blogs/whitetail-365"), + (u"Fly Talk", u"http://www.fieldandstream.com/blogs/flytalk"), + (u"Generation Wild", u"http://www.fieldandstream.com/blogs/generation-wild"), + (u"Conservationist", u"http://www.fieldandstream.com/blogs/conservationist"), + (u"Honest Angler", u"http://www.fieldandstream.com/blogs/honest-angler"), + (u"Mans Best Friend", u"http://www.fieldandstream.com/blogs/mans-best-friend"), + + ]: + articles = self.make_links(url) + if articles: + feeds.append((title, articles)) + return feeds + + def make_links(self, url): + title = 'Temp' + current_articles = [] + soup = self.index_to_soup(url) + print 'The soup is: ', soup + for item in soup.findAll('h2'): + print 'item is: ', item + link = item.find('a') + print 'the link is: ', link + if link: + url = self.INDEX + link['href'] + title = self.tag_to_string(link) + print 'the title is: ', title + print 'the url is: ', url + print 'the title is: ', title + current_articles.append({'title': title, 'url': url, 'description':'', 'date':''}) # append all this + return current_articles + + + + diff --git a/resources/recipes/gawker.recipe b/resources/recipes/gawker.recipe new file mode 100644 index 0000000000..8914b9d9a0 --- /dev/null +++ b/resources/recipes/gawker.recipe @@ -0,0 +1,44 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +gawker.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Gawker(BasicNewsRecipe): + title = 'Gawker' + __author__ = 'NA' + description = "Gawker, Gossip from Manhattan and the Beltway to Hollywood and the Valley." + publisher = 'gawker.com' + category = 'news, gossip' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/gawker.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/gawker/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/hawaii.recipe b/resources/recipes/hawaii.recipe new file mode 100644 index 0000000000..30a2b26def --- /dev/null +++ b/resources/recipes/hawaii.recipe @@ -0,0 +1,55 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1282101454(BasicNewsRecipe): + title = 'West Hawaii Today' + language = 'en' + __author__ = 'Tony Stegall' + description = 'Westhawaiitoday.com' + publisher = 'West Hawaii ' + category = 'news,Hawaii,USA' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_javascript = True + + masthead_url = 'http://images.townnews.com/westhawaiitoday.com/art/whttoplogo.gif' + + + + + + feeds = [ + ('Local News', 'http://www.westhawaiitoday.com/?rss=local/'), + ('Local Sports', 'http://www.westhawaiitoday.com/?rss=sports/local_sports/'), + ('Big Fish List', 'http://www.westhawaiitoday.com/?rss=sports/big_fish_list/'), + ('Local Features' 'http://www.westhawaiitoday.com/?rss=features/'), + ('Obituaries', 'http://www.westhawaiitoday.com/?rss=obituaries/'), + ('Letters To Editor', 'http://www.westhawaiitoday.com/?rss=opinion/letters_-_your_voice/'), + ('Editorial', 'http://www.westhawaiitoday.com/?rss=opinion/editorial/'), + ('Columns', 'http://www.westhawaiitoday.com/?rss=opinion/columns/'), + ('Volcano Update Sunday', 'http://www.westhawaiitoday.com/?rss=volcano/') + ] + + def print_version(self, url): + split1 = url.split("//") + url1 = split1[1] + xxx = split1[2] + split2 = xxx.split(".") + artid = split2[0] + print 'ARTICLE ID IS: ', artid + + #example of link to convert + #Original link: http://www.westhawaiitoday.com/articles/2010/08/27/local//local01.txt + #print version: http://www.westhawaiitoday.com/articles/2010/08/27/local//local01.prt + + print_url = 'http://' + url1 + '//' + artid + '.prt' + print 'print_url is: ', print_url + return print_url + + #test with ebook-convert hawaii.recipe output_dir --test -vv > myrecipe.txt + + + + + + diff --git a/resources/recipes/io9.recipe b/resources/recipes/io9.recipe new file mode 100644 index 0000000000..0bb5144f9c --- /dev/null +++ b/resources/recipes/io9.recipe @@ -0,0 +1,46 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +io9.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class i09(BasicNewsRecipe): + title = 'io9' + __author__ = 'NA' + description = "io9, We Come From the Future." + publisher = 'io9.com' + category = 'news, science, education' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/io9.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small} + ''' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/io9/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/jalopnik.recipe b/resources/recipes/jalopnik.recipe new file mode 100644 index 0000000000..567815322f --- /dev/null +++ b/resources/recipes/jalopnik.recipe @@ -0,0 +1,45 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +jalopnik.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Jalopnik(BasicNewsRecipe): + title = 'Jalopnik' + __author__ = 'NA' + description = "Jalopnik, Obsessed With The Cult of Cars." + publisher = 'jalopnik.com' + category = 'news, cars, spyshots' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/jalopnik.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/jalopnik/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/jezebel.recipe b/resources/recipes/jezebel.recipe new file mode 100644 index 0000000000..e8a983c261 --- /dev/null +++ b/resources/recipes/jezebel.recipe @@ -0,0 +1,45 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +jezebel.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Jezebel(BasicNewsRecipe): + title = 'Jezebel' + __author__ = 'NA' + description = "Jezebel, Celebrity, Sex, Fashion for Women. Without Airbrushing." + publisher = 'jezebel.com' + category = 'news, cars, spyshots' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/jezebel.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/jezebel/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/kotaku.recipe b/resources/recipes/kotaku.recipe new file mode 100644 index 0000000000..87f1ab6578 --- /dev/null +++ b/resources/recipes/kotaku.recipe @@ -0,0 +1,44 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +kotaku.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Kotaku(BasicNewsRecipe): + title = 'Kotaku' + __author__ = 'NA' + description = "Kotaku, the Gamer's Guide." + publisher = 'kotaku.com' + category = 'news, games, Internet, xbox 360, playstation 3, tips and tricks' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/kotaku.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/kotaku/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/la_jornada.recipe b/resources/recipes/la_jornada.recipe new file mode 100644 index 0000000000..2e1a3bb50d --- /dev/null +++ b/resources/recipes/la_jornada.recipe @@ -0,0 +1,64 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, Darko Miletic ' +''' +www.jornada.unam.mx +''' + +from calibre import strftime +from calibre.web.feeds.news import BasicNewsRecipe + +class LaJornada_mx(BasicNewsRecipe): + title = 'La Jornada (Mexico)' + __author__ = 'Darko Miletic' + description = 'Noticias del diario mexicano La Jornada' + publisher = 'DEMOS, Desarrollo de Medios, S.A. de C.V.' + category = 'news, Mexico' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'utf8' + use_embedded_content = False + language = 'es' + remove_empty_feeds = True + cover_url = strftime("http://www.jornada.unam.mx/%Y/%m/%d/planitas/portadita.jpg") + masthead_url = 'http://www.jornada.unam.mx/v7.0/imagenes/la-jornada-trans.png' + extra_css = """ + body{font-family: "Times New Roman",serif } + .cabeza{font-size: xx-large; font-weight: bold } + .credito-articulo{font-size: 1.3em} + """ + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + keep_only_tags = [ + dict(name='div', attrs={'class':['documentContent','cabeza','sumarios','text']}) + ,dict(name='div', attrs={'id':'renderComments'}) + ] + remove_tags = [dict(name='div', attrs={'class':'buttonbar'})] + + feeds = [ + (u'Ultimas noticias' , u'http://www.jornada.unam.mx/ultimas/news/RSS' ) + ,(u'Opinion' , u'http://www.jornada.unam.mx/rss/opinion.xml' ) + ,(u'Politica' , u'http://www.jornada.unam.mx/rss/politica.xml' ) + ,(u'Economia' , u'http://www.jornada.unam.mx/rss/economia.xml' ) + ,(u'Mundo' , u'http://www.jornada.unam.mx/rss/mundo.xml' ) + ,(u'Estados' , u'http://www.jornada.unam.mx/rss/estados.xml' ) + ,(u'Capital' , u'http://www.jornada.unam.mx/rss/capital.xml' ) + ,(u'Sociedad y justicia' , u'http://www.jornada.unam.mx/rss/sociedad.xml' ) + ,(u'Ciencias' , u'http://www.jornada.unam.mx/rss/ciencias.xml' ) + ,(u'Cultura' , u'http://www.jornada.unam.mx/rss/cultura.xml' ) + ,(u'Gastronomia' , u'http://www.jornada.unam.mx/rss/gastronomia.xml' ) + ,(u'Espectaculos' , u'http://www.jornada.unam.mx/rss/espectaculos.xml' ) + ,(u'Deportes' , u'http://www.jornada.unam.mx/rss/deportes.xml' ) + ] + + def preprocess_html(self, soup): + for item in soup.findAll(style=True): + del item['style'] + return soup + diff --git a/resources/recipes/lifehacker.recipe b/resources/recipes/lifehacker.recipe new file mode 100644 index 0000000000..7fede310b1 --- /dev/null +++ b/resources/recipes/lifehacker.recipe @@ -0,0 +1,45 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, NA' +''' +lifehacker.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Lifehacker(BasicNewsRecipe): + title = 'Lifehacker' + __author__ = 'NA' + description = "Computers make us more productive. Yeah, right. Lifehacker recommends the software downloads and web sites that actually save time. Don't live to geek; geek to live." + publisher = 'lifehacker.com' + category = 'news, IT, Internet, gadgets, tips and tricks, howto, diy' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf-8' + use_embedded_content = False + language = 'en' + masthead_url = 'http://cache.gawkerassets.com/assets/lifehacker.com/img/logo.png' + extra_css = ''' + body{font-family: "Lucida Grande",Helvetica,Arial,sans-serif} + img{margin-bottom: 1em} + h1{font-family :Arial,Helvetica,sans-serif; font-size:large} + h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small} + ''' + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes = ['width','height'] + keep_only_tags = [dict(attrs={'class':'content permalink'})] + remove_tags_before = dict(name='h1') + remove_tags = [dict(attrs={'class':'contactinfo'})] + remove_tags_after = dict(attrs={'class':'contactinfo'}) + + feeds = [(u'Articles', u'http://feeds.gawker.com/lifehacker/full')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + diff --git a/resources/recipes/mdj.recipe b/resources/recipes/mdj.recipe new file mode 100644 index 0000000000..b7a5fe0d63 --- /dev/null +++ b/resources/recipes/mdj.recipe @@ -0,0 +1,50 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1282101454(BasicNewsRecipe): + title = 'Marietta Daily Journal' + __author__ = 'Tony Stegall' + language = 'en' + description = 'Marietta Ga and Metro Atlanta News' + publisher = 'MDJ' + category = 'news,politics,Georgia,USA' + oldest_article = 1 + max_articles_per_feed = 100 + no_stylesheets = True + remove_javascript = True + + masthead_url = 'http://assets.matchbin.com/sites/624/assets/logo.gif' + + + keep_only_tags = [ + dict(name='div', attrs={'id':['print_content_container']}) + + ] + + + feeds = [ + ('Local News', 'http://mdjonline.com/rss/rss/Local+News?content_type=article&tags=news&page_name=rss&tag_inclusion=or&offset=0&limit=10&instance=Local+News'), + ('Sports', 'http://mdjonline.com/rss/rss/Sports?content_type=article&tags=sports&page_name=rss&tag_inclusion=or&offset=0&limit=10&instance=Sports'), + ('Obits', 'http://mdjonline.com/rss/rss/Obits?content_type=article&tags=obits&page_name=rss&tag_inclusion=or&offset=0&limit=20&instance=Obits'), + ('Editorial & oped', 'http://mdjonline.com/rss/rss/Editorial+and+OPED?content_type=article&tags=oped+editorial&page_name=rss&tag_inclusion=or&offset=0&limit=10&instance=Editorial+and+OPED'), + ('Lifestyle', 'http://mdjonline.com/rss/rss/Lifestyle?content_type=article&tags=lifestyle&page_name=rss&tag_inclusion=or&offset=0&limit=10&instance=Lifestyle'), + ('Blogs', 'http://mdjonline.com/rss/rss/Lifestyle?content_type=article&tags=lifestyle&page_name=rss&tag_inclusion=or&offset=0&limit=10&instance=Lifestyle') + ] + + def print_version(self, url): + split1 = url.split("/") + artid = split1[4] + + #example of link to convert + #Original link: http://mdjonline.com/bookmark/9274197 + #print version: http://mdjonline.com/printer_friendly/9274197 + + print_url = 'http://mdjonline.com/printer_friendly/' + artid + return print_url + + #test with ebook-convert nejm.recipe output_dir --test -vv > myrecipe.txt + + + + + + diff --git a/resources/recipes/nationalreviewonline.recipe b/resources/recipes/nationalreviewonline.recipe index 5f002019d9..8915c8524c 100644 --- a/resources/recipes/nationalreviewonline.recipe +++ b/resources/recipes/nationalreviewonline.recipe @@ -19,7 +19,7 @@ class NRO(BasicNewsRecipe): encoding = 'utf-8' use_embedded_content = True remove_javascript = True - + conversion_options = { 'comment' : description @@ -34,17 +34,18 @@ class NRO(BasicNewsRecipe): ] feeds = [ - - (u'National Review', u'http://www.nationalreview.com/index.xml'), - (u'The Corner', u'http://corner.nationalreview.com/corner.xml'), - (u'The Agenda', u'http://agenda.nationalreview.com/agenda.xml'), - (u'Bench Memos', u'http://bench.nationalreview.com/bench.xml'), - (u'Campaign Spot', u'http://campaignspot.nationalreview.com/campaignspot.xml'), - (u'Critical Care', u'http://healthcare.nationalreview.com/healthcare.xml'), - (u'Doctor, Doctor', u'http://www.nationalreview.com/doctor/doctor.xml'), - (u"Kudlow's Money Politic$", u'http://kudlow.nationalreview.com/kudlow.xml'), - (u'Media Blog', u'http://media.nationalreview.com/media.xml'), - (u'Phi Beta Cons', u'http://phibetacons.nationalreview.com/phibetacons.xml'), - (u'Planet Gore', u'http://planetgore.nationalreview.com/planetgore.xml') - - ] + + (u'National Review', u'http://www.nationalreview.com/articles/feed'), + (u'The Corner', u'http://www.nationalreview.com/corner/feed'), + (u'The Agenda', u'http://www.nationalreview.com/agenda/feed'), + (u'Bench Memos', u'http://www.nationalreview.com/bench-memos/feed'), + (u'Campaign Spot', u'http://www.nationalreview.com/campaign-spot/feed'), + (u'Battle 10', u'http://www.nationalreview.com/battle10/feed'), + (u'Critical Care', u'http://www.nationalreview.com/critical-condition/feed'), + (u"Kudlow's Money Politic$", u'http://www.nationalreview.com/kudlows-money-politics/feed'), + (u'Media Blog', u'http://www.nationalreview.com/media-blog/feed'), + (u'Exchequer', u'http://www.nationalreview.com/exchequer/feed'), + (u'Phi Beta Cons', u'http://www.nationalreview.com/phi-beta-cons/feed'), + (u'Planet Gore', u'http://www.nationalreview.com/planet-gore/feed') + + ] \ No newline at end of file diff --git a/resources/recipes/slate.recipe b/resources/recipes/slate.recipe index 07ed89d0f4..c03255d2df 100644 --- a/resources/recipes/slate.recipe +++ b/resources/recipes/slate.recipe @@ -102,7 +102,6 @@ class PeriodicalNameHere(BasicNewsRecipe): todays_section = soup.find(True, attrs={'class':'todaydateline'}) self.section_dates.append(self.tag_to_string(todays_section,use_alt=False)) - self.section_dates.append(self.tag_to_string(todays_section,use_alt=False)) older_section_dates = soup.findAll(True, attrs={'class':'maindateline'}) for older_section in older_section_dates : diff --git a/resources/recipes/tmz.recipe b/resources/recipes/tmz.recipe new file mode 100644 index 0000000000..8c24fe0c99 --- /dev/null +++ b/resources/recipes/tmz.recipe @@ -0,0 +1,67 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1282101454(BasicNewsRecipe): + title = 'The TMZ' + __author__ = 'Tony Stegall' + description = 'Celeb Gossip and News' + language = 'en' + publisher = 'The TMZ' + category = 'news, celebrity, USA' + oldest_article = 1 + max_articles_per_feed = 100 + no_stylesheets = True + remove_javascript = True + masthead_url = 'http://t0.gstatic.com/images?q=tbn:t43QkABe_BmaWM:http://www.thetreymoore.com/logos/TMZ%20logo%20(crop).JPG' + + extra_css = ''' + h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} + h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} + p{font-family:Arial,Helvetica,sans-serif;font-size:small;} + body{font-family:Helvetica,Arial,sans-serif;font-size:small;} + ''' + + remove_tags = [ + dict(name='div' , attrs={'id':['sidebar','print-actions'] }) + + ] + + + + + feeds = [ + ('TOP 20', 'http://www.tmz.com/rss.xml'), + ('Exclusives', 'http://www.tmz.com/category/exclusives/rss.xml'), + ('Celeb Justice', 'http://www.tmz.com/category/celebrity-justice/rss.xml'), + ('Celeb Feuds', 'http://www.tmz.com/category/celebrity-feuds/rss.xml'), + ('Politix', 'http://www.tmz.com/category/politix/rss.xml'), + ('Music', 'http://www.tmz.com/category/music/rss.xml'), + ('Movies', 'http://www.tmz.com/category/movies/rss.xml'), + ('TV', 'http://www.tmz.com/category/tv/rss.xml'), + ('Sports', 'http://www.tmz.com/category/TMZsports/rss.xml'), + ('Hook-Ups', 'http://www.tmz.com/category/hook-ups/rss.xml'), + ('Beauty', 'http://www.tmz.com/category/beauty/rss.xml'), + ('Fashion', 'http://www.tmz.com/category/fashion/rss.xml'), + ('Gossip & Rumor', 'http://www.tmz.com/category/gossip-rumors/rss.xml'), + ('Hot Mama', 'http://www.tmz.com/category/hot-mamas/rss.xml'), + ('Party All The Time', 'http://www.tmz.com/category/party-all-the-time/rss.xml'), + ('Ride Me!', 'http://www.tmz.com/category/ride-me/rss.xml'), + ('Stars in Heat', 'http://www.tmz.com/category/stars-in-heat/rss.xml'), + ('Vegas', 'http://www.tmz.com/category/hot-vegas/rss.xml') + ] + + def print_version(self, url): + print_url = url +'print' + return print_url + + + + + + + + + + + + + diff --git a/resources/recipes/winnipeg_free_press.recipe b/resources/recipes/winnipeg_free_press.recipe new file mode 100644 index 0000000000..8c59dff645 --- /dev/null +++ b/resources/recipes/winnipeg_free_press.recipe @@ -0,0 +1,30 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class WinnipegFreePress(BasicNewsRecipe): + title = u'Winnipeg Free Press' + __author__ = 'buyo' + description = 'News from Winnipeg, Manitoba, Canada' + oldest_article = 1 + max_articles_per_feed = 15 + category = 'News, Winnipeg, Canada' + cover_url = 'http://media.winnipegfreepress.com/designimages/winnipegfreepress_WFP.gif' + no_stylesheets = True + encoding = 'UTF-8' + remove_javascript = True + use_embedded_content = False + language = 'en_CA' + + feeds = [(u'Breaking News', u'http://www.winnipegfreepress.com/rss?path=/breakingnews'), + (u'Local News',u'http://www.winnipegfreepress.com/rss?path=/local'), + (u'Breaking Business News',u'http://www.winnipegfreepress.com/rss?path=/business/finance'), + (u'Business',u'http://www.winnipegfreepress.com/rss?path=/business'), + (u'Editorials',u'http://www.winnipegfreepress.com/rss?path=/opinion/editorials'), + (u'Views from the West',u'http://www.winnipegfreepress.com/rss?path=/opinion/westview'), + (u'Life & Style',u'http://www.winnipegfreepress.com/rss?path=/life'), + (u'Food & Drink',u'http://www.winnipegfreepress.com/rss?path=/life/food') + ] + + keep_only_tags = [ + dict(name='div', attrs={'id':'article_header'}), + dict(name='div', attrs={'class':'article'}), + ] diff --git a/setup/installer/cx_Freeze/HISTORY.txt b/setup/installer/cx_Freeze/HISTORY.txt new file mode 100644 index 0000000000..acf9ad0dfe --- /dev/null +++ b/setup/installer/cx_Freeze/HISTORY.txt @@ -0,0 +1,244 @@ +Changes from 4.0 to 4.0.1 + 1) Added support for Python 2.6. On Windows a manifest file is now required + because of the switch to using the new Microsoft C runtime. + 2) Ensure that hooks are run for builtin modules. + +Changes from 4.0b1 to 4.0 + 1) Added support for copying files to the target directory. + 2) Added support for a hook that runs when a module is missing. + 3) Added support for binary path includes as well as excludes; use sequences + rather than dictionaries as a more convenient API; exclude the standard + locations for 32-bit and 64-bit libaries in multi-architecture systems. + 4) Added support for searching zip files (egg files) for modules. + 5) Added support for handling system exit exceptions similarly to what Python + does itself as requested by Sylvain. + 6) Added code to wait for threads to shut down like the normal Python + interpreter does. Thanks to Mariano Disanzo for discovering this + discrepancy. + 7) Hooks added or modified based on feedback from many people. + 8) Don't include the version name in the display name of the MSI. + 9) Use the OS dependent path normalization routines rather than simply use the + lowercase value as on Unix case is important; thanks to Artie Eoff for + pointing this out. +10) Include a version attribute in the cx_Freeze package and display it in the + output for the --version option to the script. +11) Include build instructions as requested by Norbert Sebok. +12) Add support for copying files when modules are included which require data + files to operate properly; add support for copying the necessary files for + the Tkinter and matplotlib modules. +13) Handle deferred imports recursively as needed; ensure that from lists do + not automatically indicate that they are part of the module or the deferred + import processing doesn't actually work! +14) Handle the situation where a module imports everything from a package and + the __all__ variable has been defined but the package has not actually + imported everything in the __all__ variable during initialization. +15) Modified license text to more closely match the Python Software Foundation + license as was intended. +16) Added sample script for freezing an application using matplotlib. +17) Renamed freeze to cxfreeze to avoid conflict with another package that uses + that executable as requested by Siegfried Gevatter. + +Changes from 3.0.3 to 4.0b1 + 1) Added support for placing modules in library.zip or in a separate zip file + for each executable that is produced. + 2) Added support for copying binary dependent files (DLLs and shared + libraries) + 3) Added support for including all submodules in a package + 4) Added support for including icons in Windows executables + 5) Added support for constants module which can be used for determining + certain build constants at runtime + 6) Added support for relative imports available in Python 2.5 and up + 7) Added support for building Windows installers (Python 2.5 and up) and + RPM packages + 8) Added support for distutils configuration scripts + 9) Added support for hooks which can force inclusion or exclusion of modules + when certain modules are included +10) Added documentation and samples +11) Added setup.py for building the cx_Freeze package instead of a script + used to build only the frozen bases +12) FreezePython renamed to a script called freeze in the Python distribution +13) On Linux and other platforms that support it set LD_RUN_PATH to include + the directory in which the executable is located + +Changes from 3.0.2 to 3.0.3 + 1) In Common.c, used MAXPATHLEN defined in the Python OS independent include + file rather than the PATH_MAX define which is OS dependent and is not + available on IRIX as noted by Andrew Jones. + 2) In the initscript ConsoleSetLibPath.py, added lines from initscript + Console.py that should have been there since the only difference between + that script and this one is the automatic re-execution of the executable. + 3) Added an explicit "import encodings" to the initscripts in order to handle + Unicode encodings a little better. Thanks to Ralf Schmitt for pointing out + the problem and its solution. + 4) Generated a meaningful name for the extension loader script so that it is + clear which particular extension module is being loaded when an exception + is being raised. + 5) In MakeFrozenBases.py, use distutils to figure out a few more + platform-dependent linker flags as suggested by Ralf Schmitt. + +Changes from 3.0.1 to 3.0.2 + 1) Add support for compressing the byte code in the zip files that are + produced. + 2) Add better support for the win32com package as requested by Barry Scott. + 3) Prevent deletion of target file if it happens to be identical to the + source file. + 4) Include additional flags for local modifications to a Python build as + suggested by Benjamin Rutt. + 5) Expanded instructions for building cx_Freeze from source based on a + suggestion from Gregg Lind. + 6) Fix typo in help string. + +Changes from 3.0 to 3.0.1 + 1) Added option --default-path which is used to specify the path used when + finding modules. This is particularly useful when performing cross + compilations (such as for building a frozen executable for Windows CE). + 2) Added option --shared-lib-name which can be used to specify the name of + the shared library (DLL) implementing the Python runtime that is required + for the frozen executable to work. This option is also particularly useful + when cross compiling since the normal method for determining this + information cannot be used. + 3) Added option --zip-include which allows for additional files to be added + to the zip file that contains the modules that implement the Python + script. Thanks to Barray Warsaw for providing the initial patch. + 4) Added support for handling read-only files properly. Thanks to Peter + Grayson for pointing out the problem and providing a solution. + 5) Added support for a frozen executable to be a symbolic link. Thanks to + Robert Kiendl for providing the initial patch. + 6) Enhanced the support for running a frozen executable that uses an existing + Python installation to locate modules it requires. This is primarily of + use for embedding Python where the interface is C but the ability to run + from source is still desired. + 7) Modified the documentation to indicate that building from source on + Windows currently requires the mingw compiler (http://www.mingw.org). + 8) Workaround the problem in Python 2.3 (fixed in Python 2.4) which causes a + broken module to be left in sys.modules if an ImportError takes place + during the execution of the code in that module. Thanks to Roger Binns + for pointing this out. + +Changes from 3.0 beta3 to 3.0 + 1) Ensure that ldd is only run on extension modules. + 2) Allow for using a compiler other than gcc for building the frozen base + executables by setting the environment variable CC. + 3) Ensure that the import lock is not held while executing the main script; + otherwise, attempts to import a module within a thread will hang that + thread as noted by Roger Binns. + 4) Added support for replacing the paths in all frozen modules with something + else (so that for example the path of the machine on which the freezing + was done is not displayed in tracebacks) + +Changes from 3.0 beta2 to 3.0 beta3 + 1) Explicitly include the warnings module so that at runtime warnings are + suppressed as when running Python normally. + 2) Improve the extension loader so that an ImportError is raised when the + dynamic module is not located; otherwise an error about missing attributes + is raised instead. + 3) Extension loaders are only created when copying dependencies since the + normal module should be loadable in the situation where a Python + installation is available. + 4) Added support for Python 2.4. + 5) Fixed the dependency checking for wxPython to be a little more + intelligent. + +Changes from 3.0 beta1 to 3.0 beta2 + 1) Fix issues with locating the initscripts and bases relative to the + directory in which the executable was started. + 2) Added new base executable ConsoleKeepPath which is used when an existing + Python installation is required (such as for FreezePython itself). + 3) Forced the existence of a Python installation to be ignored when using the + standard Console base executable. + 4) Remove the existing file when copying dependent files; otherwise, an error + is raised when attempting to overwrite read-only files. + 5) Added option -O (or -OO) to FreezePython to set the optimization used when + generating bytecode. + +Changes from 2.2 to 3.0 beta1 + 1) cx_Freeze now requires Python 2.3 or higher since it takes advantage of + the ability of Python 2.3 and higher to import modules from zip files. + This makes the freezing process considerably simpler and also allows for + the execution of multiple frozen packages (such as found in COM servers or + shared libraries) without requiring modification to the Python modules. + 2) All external dependencies have been removed. cx_Freeze now only requires + a standard Python distribution to do its work. + 3) Added the ability to define the initialization scripts that cx_Freeze uses + on startup of the frozen program. Previously, these scripts were written + in C and could not easily be changed; now they are written in Python and + can be found in the initscripts directory (and chosen with the + new --init-script option to FreezePython). + 4) The base executable ConsoleSetLibPath has been removed and replaced with + the initscript ConsoleSetLibPath. + 5) Removed base executables for Win32 services and Win32 COM servers. This + functionality will be restored in the future but it is not currently in a + state that is ready for release. If this functionality is required, please + use py2exe or contact me for my work in progress. + 6) The attribute sys.frozen is now set so that more recent pywin32 modules + work as expected when frozen. + 7) Added option --include-path to FreezePython to allow overriding of + sys.path without modifying the environment variable PYTHONPATH. + 8) Added option --target-dir/--install-dir to specify the directory in which + the frozen executable and its dependencies will be placed. + 9) Removed the option --shared-lib since it was used for building shared + libraries and can be managed with the initscript SharedLib.py. +10) MakeFrozenBases.py now checks the platform specific include directory as + requested by Michael Partridge. + + +Changes from 2.1 to 2.2 + 1) Add option (--ext-list-file) to FreezePython to write the list of + extensions copied to the installation directory to a file. This option is + useful in cases where multiple builds are performed into the same + installation directory. + 2) Pass the arguments on the command line through to Win32 GUI applications. + Thanks to Michael Porter for pointing this out. + 3) Link directly against the python DLL when building the frozen bases on + Windows, thus eliminating the need for building an import library. + 4) Force sys.path to include the directory in which the script to be frozen + is found. + 5) Make sure that the installation directory exists before attempting to + copy the target binary into it. + 6) The Win32GUI base has been modified to display fatal errors in message + boxes, rather than printing errors to stderr, since on Windows the + standard file IO handles are all closed. + +Changes from 2.0 to 2.1 + 1) Remove dependency on Python 2.2. Thanks to Paul Moore for not only + pointing it out but providing patches. + 2) Set up the list of frozen modules in advance, rather than doing it after + Python is initialized so that implicit imports done by Python can be + satisfied. The bug in Python 2.3 that demonstrated this issue has been + fixed in the first release candidate. Thanks to Thomas Heller for pointing + out the obvious in this instance! + 3) Added additional base executable (ConsoleSetLibPath) to support setting + the LD_LIBRARY_PATH variable on Unix platforms and restarting the + executable to put the new setting into effect. This is primarily of use + in distributing wxPython applications on Unix where the shared library + has an embedded RPATH value which can cause problems. + 4) Small improvements of documentation based on feedback from several people. + 5) Print information about the files written or copied during the freezing + process. + 6) Do not copy extensions when freezing if the path is being overridden since + it is expected that a full Python installation is available to the target + users of the frozen binary. + 7) Provide meaningful error message when the wxPython library cannot be + found during the freezing process. + +Changes from 1.1 to 2.0 + 1) Added support for in process (DLL) COM servers using PythonCOM. + 2) Ensured that the frozen flag is set prior to determining the full path for + the program in order to avoid warnings about Python not being found on + some platforms. + 3) Added include file and resource file to the source tree to avoid the + dependency on the Wine message compiler for Win32 builds. + 4) Dropped the option --copy-extensions; this now happens automatically since + the resulting binary is useless without them. + 5) Added a sample for building a Win32 service. + 6) Make use of improved modules from Python 2.3 (which function under 2.2) + +Changes from 1.0 to 1.1 + 1) Fixed import error with C extensions in packages; thanks to Thomas Heller + for pointing out the solution to this problem. + 2) Added options to FreezePython to allow for the inclusion of modules which + will not be found by the module finder (--include-modules) and the + exclusion of modules which will be found by the module finder but should + not be included (--exclude-modules). + 3) Fixed typo in README.txt. + diff --git a/setup/installer/cx_Freeze/LICENSE.txt b/setup/installer/cx_Freeze/LICENSE.txt new file mode 100644 index 0000000000..cb9ee05a8a --- /dev/null +++ b/setup/installer/cx_Freeze/LICENSE.txt @@ -0,0 +1,53 @@ +Copyright 2007-2008, Colt Engineering, Edmonton, Alberta, Canada. +Copyright 2001-2006, Computronix (Canada) Ltd., Edmonton, Alberta, Canada. +All rights reserved. + +NOTE: this license is derived from the Python Software Foundation License +which can be found at http://www.python.org/psf/license + +License for cx_Freeze 4.0.1 +--------------------------- + +1. This LICENSE AGREEMENT is between the copyright holders and the Individual + or Organization ("Licensee") accessing and otherwise using cx_Freeze + software in source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, the + copyright holders hereby grant Licensee a nonexclusive, royalty-free, + world-wide license to reproduce, analyze, test, perform and/or display + publicly, prepare derivative works, distribute, and otherwise use cx_Freeze + alone or in any derivative version, provided, however, that this License + Agreement and this notice of copyright are retained in cx_Freeze alone or in + any derivative version prepared by Licensee. + +3. In the event Licensee prepares a derivative work that is based on or + incorporates cx_Freeze or any part thereof, and wants to make the derivative + work available to others as provided herein, then Licensee hereby agrees to + include in any such work a brief summary of the changes made to cx_Freeze. + +4. The copyright holders are making cx_Freeze available to Licensee on an + "AS IS" basis. THE COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, + EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, THE COPYRIGHT + HOLDERS MAKE NO AND DISCLAIM ANY REPRESENTATION OR WARRANTY OF + MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF + CX_FREEZE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. + +5. THE COPYRIGHT HOLDERS SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF + CX_FREEZE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS + A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING CX_FREEZE, OR ANY + DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material breach + of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any relationship + of agency, partnership, or joint venture between the copyright holders and + Licensee. This License Agreement does not grant permission to use + copyright holder's trademarks or trade name in a trademark sense to endorse + or promote products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using cx_Freeze, Licensee agrees to be + bound by the terms and conditions of this License Agreement. + +Computronix is a registered trademark of Computronix (Canada) Ltd. + diff --git a/setup/installer/cx_Freeze/MANIFEST.in b/setup/installer/cx_Freeze/MANIFEST.in new file mode 100644 index 0000000000..2348a66973 --- /dev/null +++ b/setup/installer/cx_Freeze/MANIFEST.in @@ -0,0 +1,6 @@ +include MANIFEST.in +include *.txt +recursive-include doc *.html +recursive-include initscripts *.py +recursive-include samples *.py +recursive-include source *.c *.rc diff --git a/setup/installer/cx_Freeze/PKG-INFO b/setup/installer/cx_Freeze/PKG-INFO new file mode 100644 index 0000000000..aa53b57914 --- /dev/null +++ b/setup/installer/cx_Freeze/PKG-INFO @@ -0,0 +1,22 @@ +Metadata-Version: 1.0 +Name: cx_Freeze +Version: 4.0.1 +Summary: create standalone executables from Python scripts +Home-page: http://cx-freeze.sourceforge.net +Author: Anthony Tuininga +Author-email: anthony.tuininga@gmail.com +License: Python Software Foundation License +Description: create standalone executables from Python scripts +Keywords: freeze +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Python Software Foundation License +Classifier: Natural Language :: English +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: C +Classifier: Programming Language :: Python +Classifier: Topic :: Software Development :: Build Tools +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: System :: Software Distribution +Classifier: Topic :: Utilities diff --git a/setup/installer/cx_Freeze/README.txt b/setup/installer/cx_Freeze/README.txt new file mode 100644 index 0000000000..1ac67dc749 --- /dev/null +++ b/setup/installer/cx_Freeze/README.txt @@ -0,0 +1,12 @@ +Please see cx_Freeze.html for documentation on how to use cx_Freeze. + +To build: + +python setup.py build +python setup.py install + +On Windows I have used the MinGW compiler (http://www.mingw.org) + +python setup.py build --compiler=mingw32 +python setup.py build --compiler=mingw32 install + diff --git a/setup/installer/cx_Freeze/cx_Freeze/__init__.py b/setup/installer/cx_Freeze/cx_Freeze/__init__.py new file mode 100644 index 0000000000..545883eb3e --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/__init__.py @@ -0,0 +1,14 @@ +version = "4.0.1" + +import sys +from dist import * +if sys.platform == "win32" and sys.version_info[:2] >= (2, 5): + from windist import * +from finder import * +from freezer import * +from main import * + +del dist +del finder +del freezer + diff --git a/setup/installer/cx_Freeze/cx_Freeze/dist.py b/setup/installer/cx_Freeze/cx_Freeze/dist.py new file mode 100644 index 0000000000..c2af2ac623 --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/dist.py @@ -0,0 +1,279 @@ +import distutils.command.bdist_rpm +import distutils.command.build +import distutils.command.install +import distutils.core +import distutils.dir_util +import distutils.dist +import distutils.util +import distutils.version +import os +import sys + +import cx_Freeze + +__all__ = [ "bdist_rpm", "build", "build_exe", "install", "install_exe", + "setup" ] + +class Distribution(distutils.dist.Distribution): + + def __init__(self, attrs): + self.executables = [] + distutils.dist.Distribution.__init__(self, attrs) + + +class bdist_rpm(distutils.command.bdist_rpm.bdist_rpm): + + def finalize_options(self): + distutils.command.bdist_rpm.bdist_rpm.finalize_options(self) + self.use_rpm_opt_flags = 1 + + def _make_spec_file(self): + contents = distutils.command.bdist_rpm.bdist_rpm._make_spec_file(self) + return [c for c in contents if c != 'BuildArch: noarch'] + + +class build(distutils.command.build.build): + user_options = distutils.command.build.build.user_options + [ + ('build-exe=', None, 'build directory for executables') + ] + + def get_sub_commands(self): + subCommands = distutils.command.build.build.get_sub_commands(self) + if self.distribution.executables: + subCommands.append("build_exe") + return subCommands + + def initialize_options(self): + distutils.command.build.build.initialize_options(self) + self.build_exe = None + + def finalize_options(self): + distutils.command.build.build.finalize_options(self) + if self.build_exe is None: + dirName = "exe.%s-%s" % \ + (distutils.util.get_platform(), sys.version[0:3]) + self.build_exe = os.path.join(self.build_base, dirName) + + +class build_exe(distutils.core.Command): + description = "build executables from Python scripts" + user_options = [ + ('build-exe=', 'b', + 'directory for built executables'), + ('optimize=', 'O', + 'optimization level: -O1 for "python -O", ' + '-O2 for "python -OO" and -O0 to disable [default: -O0]'), + ('excludes=', 'e', + 'comma-separated list of modules to exclude'), + ('includes=', 'i', + 'comma-separated list of modules to include'), + ('packages=', 'p', + 'comma-separated list of packages to include'), + ('replace-paths=', None, + 'comma-separated list of paths to replace in included modules'), + ('path=', None, + 'comma-separated list of paths to search'), + ('init-script=', 'i', + 'name of script to use during initialization'), + ('base=', None, + 'name of base executable to use'), + ('compressed', 'c', + 'create a compressed zipfile'), + ('copy-dependent-files', None, + 'copy all dependent files'), + ('create-shared-zip', None, + 'create a shared zip file containing shared modules'), + ('append-script-to-exe', None, + 'append the script module to the exe'), + ('include-in-shared-zip', None, + 'include the script module in the shared zip file'), + ('icon', None, + 'include the icon along with the frozen executable(s)'), + ('constants=', None, + 'comma-separated list of constants to include'), + ('include-files=', 'f', + 'list of tuples of additional files to include in distribution'), + ('bin-includes', None, + 'list of names of files to include when determining dependencies'), + ('bin-excludes', None, + 'list of names of files to exclude when determining dependencies') + ] + boolean_options = ["compressed", "copy_dependent_files", + "create_shared_zip", "append_script_to_exe", + "include_in_shared_zip"] + + def _normalize(self, attrName): + value = getattr(self, attrName) + if value is None: + normalizedValue = [] + elif isinstance(value, basestring): + normalizedValue = value.split() + else: + normalizedValue = list(value) + setattr(self, attrName, normalizedValue) + + def initialize_options(self): + self.optimize = 0 + self.build_exe = None + self.excludes = [] + self.includes = [] + self.packages = [] + self.replace_paths = [] + self.compressed = None + self.copy_dependent_files = None + self.init_script = None + self.base = None + self.path = None + self.create_shared_zip = None + self.append_script_to_exe = None + self.include_in_shared_zip = None + self.icon = None + self.constants = [] + self.include_files = [] + self.bin_excludes = [] + self.bin_includes = [] + + def finalize_options(self): + self.set_undefined_options('build', ('build_exe', 'build_exe')) + self.optimize = int(self.optimize) + self._normalize("excludes") + self._normalize("includes") + self._normalize("packages") + self._normalize("constants") + + def run(self): + metadata = self.distribution.metadata + constantsModule = cx_Freeze.ConstantsModule(metadata.version) + for constant in self.constants: + parts = constant.split("=") + if len(parts) == 1: + name = constant + value = None + else: + name, stringValue = parts + value = eval(stringValue) + constantsModule.values[name] = value + freezer = cx_Freeze.Freezer(self.distribution.executables, + [constantsModule], self.includes, self.excludes, self.packages, + self.replace_paths, self.compressed, self.optimize, + self.copy_dependent_files, self.init_script, self.base, + self.path, self.create_shared_zip, self.append_script_to_exe, + self.include_in_shared_zip, self.build_exe, icon = self.icon, + includeFiles = self.include_files, + binIncludes = self.bin_includes, + binExcludes = self.bin_excludes) + freezer.Freeze() + + +class install(distutils.command.install.install): + user_options = distutils.command.install.install.user_options + [ + ('install-exe=', None, + 'installation directory for executables') + ] + + def expand_dirs(self): + distutils.command.install.install.expand_dirs(self) + self._expand_attrs(['install_exe']) + + def get_sub_commands(self): + subCommands = distutils.command.install.install.get_sub_commands(self) + if self.distribution.executables: + subCommands.append("install_exe") + return [s for s in subCommands if s != "install_egg_info"] + + def initialize_options(self): + distutils.command.install.install.initialize_options(self) + self.install_exe = None + + def finalize_options(self): + if self.prefix is None and sys.platform == "win32": + import _winreg + key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, + r"Software\Microsoft\Windows\CurrentVersion") + prefix = str(_winreg.QueryValueEx(key, "ProgramFilesDir")[0]) + metadata = self.distribution.metadata + dirName = "%s-%s" % (metadata.name, metadata.version) + self.prefix = "%s/%s" % (prefix, dirName) + distutils.command.install.install.finalize_options(self) + self.convert_paths('exe') + if self.root is not None: + self.change_roots('exe') + + def select_scheme(self, name): + distutils.command.install.install.select_scheme(self, name) + if self.install_exe is None: + if sys.platform == "win32": + self.install_exe = '$base' + else: + metadata = self.distribution.metadata + dirName = "%s-%s" % (metadata.name, metadata.version) + self.install_exe = '$base/lib/%s' % dirName + + +class install_exe(distutils.core.Command): + description = "install executables built from Python scripts" + user_options = [ + ('install-dir=', 'd', 'directory to install executables to'), + ('build-dir=', 'b', 'build directory (where to install from)'), + ('force', 'f', 'force installation (overwrite existing files)'), + ('skip-build', None, 'skip the build steps') + ] + + def initialize_options(self): + self.install_dir = None + self.force = 0 + self.build_dir = None + self.skip_build = None + + def finalize_options(self): + self.set_undefined_options('build', ('build_exe', 'build_dir')) + self.set_undefined_options('install', + ('install_exe', 'install_dir'), + ('force', 'force'), + ('skip_build', 'skip_build')) + + def run(self): + if not self.skip_build: + self.run_command('build_exe') + self.outfiles = self.copy_tree(self.build_dir, self.install_dir) + if sys.platform != "win32": + baseDir = os.path.dirname(os.path.dirname(self.install_dir)) + binDir = os.path.join(baseDir, "bin") + if not os.path.exists(binDir): + os.makedirs(binDir) + sourceDir = os.path.join("..", self.install_dir[len(baseDir) + 1:]) + for executable in self.distribution.executables: + name = os.path.basename(executable.targetName) + source = os.path.join(sourceDir, name) + target = os.path.join(binDir, name) + if os.path.exists(target): + os.unlink(target) + os.symlink(source, target) + self.outfiles.append(target) + + def get_inputs(self): + return self.distribution.executables or [] + + def get_outputs(self): + return self.outfiles or [] + + +def _AddCommandClass(commandClasses, name, cls): + if name not in commandClasses: + commandClasses[name] = cls + + +def setup(**attrs): + attrs["distclass"] = Distribution + commandClasses = attrs.setdefault("cmdclass", {}) + if sys.platform == "win32": + if sys.version_info[:2] >= (2, 5): + _AddCommandClass(commandClasses, "bdist_msi", cx_Freeze.bdist_msi) + else: + _AddCommandClass(commandClasses, "bdist_rpm", cx_Freeze.bdist_rpm) + _AddCommandClass(commandClasses, "build", build) + _AddCommandClass(commandClasses, "build_exe", build_exe) + _AddCommandClass(commandClasses, "install", install) + _AddCommandClass(commandClasses, "install_exe", install_exe) + distutils.core.setup(**attrs) + diff --git a/setup/installer/cx_Freeze/cx_Freeze/finder.py b/setup/installer/cx_Freeze/cx_Freeze/finder.py new file mode 100644 index 0000000000..f815db97be --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/finder.py @@ -0,0 +1,455 @@ +""" +Base class for finding modules. +""" + +import dis +import imp +import marshal +import new +import opcode +import os +import sys +import zipfile + +import cx_Freeze.hooks + +BUILD_LIST = opcode.opmap["BUILD_LIST"] +INPLACE_ADD = opcode.opmap["INPLACE_ADD"] +LOAD_CONST = opcode.opmap["LOAD_CONST"] +IMPORT_NAME = opcode.opmap["IMPORT_NAME"] +IMPORT_FROM = opcode.opmap["IMPORT_FROM"] +STORE_NAME = opcode.opmap["STORE_NAME"] +STORE_GLOBAL = opcode.opmap["STORE_GLOBAL"] +STORE_OPS = (STORE_NAME, STORE_GLOBAL) + +__all__ = [ "Module", "ModuleFinder" ] + +class ModuleFinder(object): + + def __init__(self, includeFiles, excludes, path, replacePaths): + self.includeFiles = includeFiles + self.excludes = dict.fromkeys(excludes) + self.replacePaths = replacePaths + self.path = path or sys.path + self.modules = [] + self.aliases = {} + self._modules = dict.fromkeys(excludes) + self._builtinModules = dict.fromkeys(sys.builtin_module_names) + self._badModules = {} + self._zipFileEntries = {} + self._zipFiles = {} + cx_Freeze.hooks.initialize(self) + + def _AddModule(self, name): + """Add a module to the list of modules but if one is already found, + then return it instead; this is done so that packages can be + handled properly.""" + module = self._modules.get(name) + if module is None: + module = self._modules[name] = Module(name) + self.modules.append(module) + if name in self._badModules: + del self._badModules[name] + return module + + def _DetermineParent(self, caller): + """Determine the parent to use when searching packages.""" + if caller is not None: + if caller.path is not None: + return caller + return self._GetParentByName(caller.name) + + def _EnsureFromList(self, caller, packageModule, fromList, + deferredImports): + """Ensure that the from list is satisfied. This is only necessary for + package modules. If the caller is the package itself, actually + attempt to import right then since it must be a submodule; otherwise + defer until after all global names are defined in order to avoid + spurious complaints about missing modules.""" + if caller is not packageModule: + deferredImports.append((packageModule, fromList)) + else: + if fromList == ("*",): + fromList = packageModule.allNames + for name in fromList: + if name in packageModule.globalNames: + continue + subModuleName = "%s.%s" % (packageModule.name, name) + self._ImportModule(subModuleName, deferredImports, caller) + + def _FindModule(self, name, path): + try: + return imp.find_module(name, path) + except ImportError: + if not path: + path = [] + for location in path: + if name in self._zipFileEntries: + break + if location in self._zipFiles: + continue + if os.path.isdir(location) or not zipfile.is_zipfile(location): + self._zipFiles[location] = None + continue + zip = zipfile.ZipFile(location) + for archiveName in zip.namelist(): + baseName, ext = os.path.splitext(archiveName) + if ext not in ('.pyc', '.pyo'): + continue + moduleName = ".".join(baseName.split("/")) + if moduleName in self._zipFileEntries: + continue + self._zipFileEntries[moduleName] = (zip, archiveName) + self._zipFiles[location] = None + info = self._zipFileEntries.get(name) + if info is not None: + zip, archiveName = info + fp = zip.read(archiveName) + info = (".pyc", "rb", imp.PY_COMPILED) + return fp, os.path.join(zip.filename, archiveName), info + raise + + def _GetParentByName(self, name): + """Return the parent module given the name of a module.""" + pos = name.rfind(".") + if pos > 0: + parentName = name[:pos] + return self._modules[parentName] + + def _ImportAllSubModules(self, module, deferredImports, recursive = True): + """Import all sub modules to the given package.""" + suffixes = dict.fromkeys([s[0] for s in imp.get_suffixes()]) + for dir in module.path: + try: + fileNames = os.listdir(dir) + except os.error: + continue + for fileName in fileNames: + name, ext = os.path.splitext(fileName) + if ext not in suffixes: + continue + if name == "__init__": + continue + subModuleName = "%s.%s" % (module.name, name) + subModule, returnError = \ + self._InternalImportModule(subModuleName, + deferredImports) + if returnError and subModule is None: + raise ImportError, "No module named %s" % subModuleName + module.globalNames[name] = None + if subModule.path and recursive: + self._ImportAllSubModules(subModule, deferredImports, + recursive) + + def _ImportDeferredImports(self, deferredImports): + """Import any sub modules that were deferred, if applicable.""" + while deferredImports: + newDeferredImports = [] + for packageModule, subModuleNames in deferredImports: + self._EnsureFromList(packageModule, packageModule, + subModuleNames, newDeferredImports) + deferredImports = newDeferredImports + + def _ImportModule(self, name, deferredImports, caller = None, + relativeImportIndex = 0): + """Attempt to find the named module and return it or None if no module + by that name could be found.""" + + # absolute import (available in Python 2.5 and up) + # the name given is the only name that will be searched + if relativeImportIndex == 0: + module, returnError = self._InternalImportModule(name, + deferredImports) + + # old style relative import (only possibility in Python 2.4 and prior) + # the name given is tried in all parents until a match is found and if + # no match is found, the global namespace is searched + elif relativeImportIndex < 0: + parent = self._DetermineParent(caller) + while parent is not None: + fullName = "%s.%s" % (parent.name, name) + module, returnError = self._InternalImportModule(fullName, + deferredImports) + if module is not None: + parent.globalNames[name] = None + return module + parent = self._GetParentByName(parent.name) + module, returnError = self._InternalImportModule(name, + deferredImports) + + # new style relative import (available in Python 2.5 and up) + # the index indicates how many levels to traverse and only that level + # is searched for the named module + elif relativeImportIndex > 0: + parent = caller + if parent.path is not None: + relativeImportIndex -= 1 + while parent is not None and relativeImportIndex > 0: + parent = self._GetParentByName(parent.name) + relativeImportIndex -= 1 + if parent is None: + module = None + returnError = True + elif not name: + module = parent + else: + name = "%s.%s" % (parent.name, name) + module, returnError = self._InternalImportModule(name, + deferredImports) + + # if module not found, track that fact + if module is None: + if caller is None: + raise ImportError, "No module named %s" % name + self._RunHook("missing", name, caller) + if returnError and name not in caller.ignoreNames: + callers = self._badModules.setdefault(name, {}) + callers[caller.name] = None + + return module + + def _InternalImportModule(self, name, deferredImports): + """Internal method used for importing a module which assumes that the + name given is an absolute name. None is returned if the module + cannot be found.""" + try: + return self._modules[name], False + except KeyError: + pass + if name in self._builtinModules: + module = self._AddModule(name) + self._RunHook("load", module.name, module) + return module, False + pos = name.rfind(".") + if pos < 0: + path = self.path + searchName = name + parentModule = None + else: + parentName = name[:pos] + parentModule, returnError = \ + self._InternalImportModule(parentName, deferredImports) + if parentModule is None: + return None, returnError + path = parentModule.path + searchName = name[pos + 1:] + if name in self.aliases: + actualName = self.aliases[name] + module, returnError = \ + self._InternalImportModule(actualName, deferredImports) + self._modules[name] = module + return module, returnError + try: + fp, path, info = self._FindModule(searchName, path) + except ImportError: + self._modules[name] = None + return None, True + module = self._LoadModule(name, fp, path, info, deferredImports, + parentModule) + return module, False + + def _LoadModule(self, name, fp, path, info, deferredImports, + parent = None): + """Load the module, given the information acquired by the finder.""" + suffix, mode, type = info + if type == imp.PKG_DIRECTORY: + return self._LoadPackage(name, path, parent, deferredImports) + module = self._AddModule(name) + module.file = path + module.parent = parent + if type == imp.PY_SOURCE: + module.code = compile(fp.read() + "\n", path, "exec") + elif type == imp.PY_COMPILED: + if isinstance(fp, str): + magic = fp[:4] + else: + magic = fp.read(4) + if magic != imp.get_magic(): + raise ImportError, "Bad magic number in %s" % path + if isinstance(fp, str): + module.code = marshal.loads(fp[8:]) + module.inZipFile = True + else: + fp.read(4) + module.code = marshal.load(fp) + self._RunHook("load", module.name, module) + if module.code is not None: + if self.replacePaths: + topLevelModule = module + while topLevelModule.parent is not None: + topLevelModule = topLevelModule.parent + module.code = self._ReplacePathsInCode(topLevelModule, + module.code) + self._ScanCode(module.code, module, deferredImports) + return module + + def _LoadPackage(self, name, path, parent, deferredImports): + """Load the package, given its name and path.""" + module = self._AddModule(name) + module.path = [path] + fp, path, info = imp.find_module("__init__", module.path) + self._LoadModule(name, fp, path, info, deferredImports, parent) + return module + + def _ReplacePathsInCode(self, topLevelModule, co): + """Replace paths in the code as directed, returning a new code object + with the modified paths in place.""" + origFileName = newFileName = os.path.normpath(co.co_filename) + for searchValue, replaceValue in self.replacePaths: + if searchValue == "*": + searchValue = os.path.dirname(topLevelModule.file) + if topLevelModule.path: + searchValue = os.path.dirname(searchValue) + if searchValue: + searchValue = searchValue + os.pathsep + elif not origFileName.startswith(searchValue): + continue + newFileName = replaceValue + origFileName[len(searchValue):] + break + constants = list(co.co_consts) + for i, value in enumerate(constants): + if isinstance(value, type(co)): + constants[i] = self._ReplacePathsInCode(topLevelModule, value) + return new.code(co.co_argcount, co.co_nlocals, co.co_stacksize, + co.co_flags, co.co_code, tuple(constants), co.co_names, + co.co_varnames, newFileName, co.co_name, co.co_firstlineno, + co.co_lnotab, co.co_freevars, co.co_cellvars) + + def _RunHook(self, hookName, moduleName, *args): + """Run hook for the given module if one is present.""" + name = "%s_%s" % (hookName, moduleName.replace(".", "_")) + method = getattr(cx_Freeze.hooks, name, None) + if method is not None: + method(self, *args) + + def _ScanCode(self, co, module, deferredImports): + """Scan code, looking for imported modules and keeping track of the + constants that have been created in order to better tell which + modules are truly missing.""" + opIndex = 0 + arguments = [] + code = co.co_code + numOps = len(code) + while opIndex < numOps: + op = ord(code[opIndex]) + opIndex += 1 + if op >= dis.HAVE_ARGUMENT: + opArg = ord(code[opIndex]) + ord(code[opIndex + 1]) * 256 + opIndex += 2 + if op == LOAD_CONST: + arguments.append(co.co_consts[opArg]) + elif op == IMPORT_NAME: + name = co.co_names[opArg] + if len(arguments) == 2: + relativeImportIndex, fromList = arguments + else: + relativeImportIndex = -1 + fromList, = arguments + if name not in module.excludeNames: + subModule = self._ImportModule(name, deferredImports, + module, relativeImportIndex) + if subModule is not None: + module.globalNames.update(subModule.globalNames) + if fromList and subModule.path is not None: + self._EnsureFromList(module, subModule, fromList, + deferredImports) + elif op == IMPORT_FROM: + opIndex += 3 + elif op not in (BUILD_LIST, INPLACE_ADD): + if op in STORE_OPS: + name = co.co_names[opArg] + if name == "__all__": + module.allNames.extend(arguments) + module.globalNames[name] = None + arguments = [] + for constant in co.co_consts: + if isinstance(constant, type(co)): + self._ScanCode(constant, module, deferredImports) + + def AddAlias(self, name, aliasFor): + """Add an alias for a particular module; when an attempt is made to + import a module using the alias name, import the actual name + instead.""" + self.aliases[name] = aliasFor + + def ExcludeModule(self, name): + """Exclude the named module from the resulting frozen executable.""" + self.excludes[name] = None + self._modules[name] = None + + def IncludeFile(self, path, moduleName = None): + """Include the named file as a module in the frozen executable.""" + name, ext = os.path.splitext(os.path.basename(path)) + if moduleName is None: + moduleName = name + info = (ext, "r", imp.PY_SOURCE) + deferredImports = [] + module = self._LoadModule(moduleName, file(path, "U"), path, info, + deferredImports) + self._ImportDeferredImports(deferredImports) + return module + + def IncludeFiles(self, sourcePath, targetPath): + """Include the files in the given directory in the target build.""" + self.includeFiles.append((sourcePath, targetPath)) + + def IncludeModule(self, name): + """Include the named module in the frozen executable.""" + deferredImports = [] + module = self._ImportModule(name, deferredImports) + self._ImportDeferredImports(deferredImports) + return module + + def IncludePackage(self, name): + """Include the named package and any submodules in the frozen + executable.""" + deferredImports = [] + module = self._ImportModule(name, deferredImports) + if module.path: + self._ImportAllSubModules(module, deferredImports) + self._ImportDeferredImports(deferredImports) + return module + + def ReportMissingModules(self): + if self._badModules: + print "Missing modules:" + names = self._badModules.keys() + names.sort() + for name in names: + callers = self._badModules[name].keys() + callers.sort() + print "?", name, "imported from", ", ".join(callers) + print + + +class Module(object): + + def __init__(self, name): + self.name = name + self.file = None + self.path = None + self.code = None + self.parent = None + self.globalNames = {} + self.excludeNames = {} + self.ignoreNames = {} + self.allNames = [] + self.inZipFile = False + + def __repr__(self): + parts = ["name=%s" % repr(self.name)] + if self.file is not None: + parts.append("file=%s" % repr(self.file)) + if self.path is not None: + parts.append("path=%s" % repr(self.path)) + return "" % ", ".join(parts) + + def AddGlobalName(self, name): + self.globalNames[name] = None + + def ExcludeName(self, name): + self.excludeNames[name] = None + + def IgnoreName(self, name): + self.ignoreNames[name] = None + diff --git a/setup/installer/cx_Freeze/cx_Freeze/freezer.py b/setup/installer/cx_Freeze/cx_Freeze/freezer.py new file mode 100644 index 0000000000..e0739e8a4e --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/freezer.py @@ -0,0 +1,550 @@ +""" +Base class for freezing scripts into executables. +""" + +import datetime +import distutils.sysconfig +import imp +import marshal +import os +import shutil +import socket +import stat +import struct +import sys +import time +import zipfile + +import cx_Freeze +import cx_Freeze.util + +__all__ = [ "ConfigError", "ConstantsModule", "Executable", "Freezer" ] + +if sys.platform == "win32": + pythonDll = "python%s%s.dll" % sys.version_info[:2] + GLOBAL_BIN_PATH_EXCLUDES = [cx_Freeze.util.GetSystemDir()] + GLOBAL_BIN_INCLUDES = [ + pythonDll, + "gdiplus.dll", + "mfc71.dll", + "msvcp71.dll", + "msvcr71.dll" + ] + GLOBAL_BIN_EXCLUDES = [ + "comctl32.dll", + "oci.dll", + "cx_Logging.pyd" + ] +else: + extension = distutils.sysconfig.get_config_var("SO") + pythonSharedLib = "libpython%s.%s%s" % \ + (sys.version_info[:2] + (extension,)) + GLOBAL_BIN_INCLUDES = [pythonSharedLib] + GLOBAL_BIN_EXCLUDES = [ + "libclntsh.so", + "libwtc9.so" + ] + GLOBAL_BIN_PATH_EXCLUDES = ["/lib", "/lib32", "/lib64", "/usr/lib", + "/usr/lib32", "/usr/lib64"] + + +# NOTE: the try: except: block in this code is not necessary under Python 2.4 +# and higher and can be removed once support for Python 2.3 is no longer needed +EXTENSION_LOADER_SOURCE = \ +""" +import imp, os, sys + +found = False +for p in sys.path: + if not os.path.isdir(p): + continue + f = os.path.join(p, "%s") + if not os.path.exists(f): + continue + try: + m = imp.load_dynamic(__name__, f) + except ImportError: + del sys.modules[__name__] + raise + sys.modules[__name__] = m + found = True + break +if not found: + del sys.modules[__name__] + raise ImportError, "No module named %%s" %% __name__ +""" + + +class Freezer(object): + + def __init__(self, executables, constantsModules = [], includes = [], + excludes = [], packages = [], replacePaths = [], compress = None, + optimizeFlag = 0, copyDependentFiles = None, initScript = None, + base = None, path = None, createLibraryZip = None, + appendScriptToExe = None, appendScriptToLibrary = None, + targetDir = None, binIncludes = [], binExcludes = [], + binPathIncludes = [], binPathExcludes = [], icon = None, + includeFiles = []): + self.executables = executables + self.constantsModules = constantsModules + self.includes = includes + self.excludes = excludes + self.packages = packages + self.replacePaths = replacePaths + self.compress = compress + self.optimizeFlag = optimizeFlag + self.copyDependentFiles = copyDependentFiles + self.initScript = initScript + self.base = base + self.path = path + self.createLibraryZip = createLibraryZip + self.appendScriptToExe = appendScriptToExe + self.appendScriptToLibrary = appendScriptToLibrary + self.targetDir = targetDir + self.binIncludes = [os.path.normcase(n) \ + for n in GLOBAL_BIN_INCLUDES + binIncludes] + self.binExcludes = [os.path.normcase(n) \ + for n in GLOBAL_BIN_EXCLUDES + binExcludes] + self.binPathIncludes = [os.path.normcase(n) for n in binPathIncludes] + self.binPathExcludes = [os.path.normcase(n) \ + for n in GLOBAL_BIN_PATH_EXCLUDES + binPathExcludes] + self.icon = icon + self.includeFiles = includeFiles + self._VerifyConfiguration() + + def _CopyFile(self, source, target, copyDependentFiles, + includeMode = False): + normalizedSource = os.path.normcase(os.path.normpath(source)) + normalizedTarget = os.path.normcase(os.path.normpath(target)) + if normalizedTarget in self.filesCopied: + return + if normalizedSource == normalizedTarget: + return + self._RemoveFile(target) + targetDir = os.path.dirname(target) + self._CreateDirectory(targetDir) + print "copying", source, "->", target + shutil.copyfile(source, target) + if includeMode: + shutil.copymode(source, target) + self.filesCopied[normalizedTarget] = None + if copyDependentFiles: + for source in self._GetDependentFiles(source): + target = os.path.join(targetDir, os.path.basename(source)) + self._CopyFile(source, target, copyDependentFiles) + + def _CreateDirectory(self, path): + if not os.path.isdir(path): + print "creating directory", path + os.makedirs(path) + + def _FreezeExecutable(self, exe): + if self.createLibraryZip: + finder = self.finder + else: + finder = self._GetModuleFinder(exe) + if exe.script is None: + scriptModule = None + else: + scriptModule = finder.IncludeFile(exe.script, exe.moduleName) + self._CopyFile(exe.base, exe.targetName, exe.copyDependentFiles, + includeMode = True) + if exe.icon is not None: + if sys.platform == "win32": + cx_Freeze.util.AddIcon(exe.targetName, exe.icon) + else: + targetName = os.path.join(os.path.dirname(exe.targetName), + os.path.basename(exe.icon)) + self._CopyFile(exe.icon, targetName, + copyDependentFiles = False) + if not os.access(exe.targetName, os.W_OK): + mode = os.stat(exe.targetName).st_mode + os.chmod(exe.targetName, mode | stat.S_IWUSR) + if not exe.appendScriptToLibrary: + if exe.appendScriptToExe: + fileName = exe.targetName + else: + baseFileName, ext = os.path.splitext(exe.targetName) + fileName = baseFileName + ".zip" + self._RemoveFile(fileName) + if not self.createLibraryZip and exe.copyDependentFiles: + scriptModule = None + self._WriteModules(fileName, exe.initScript, finder, exe.compress, + exe.copyDependentFiles, scriptModule) + + def _GetBaseFileName(self, argsSource = None): + if argsSource is None: + argsSource = self + name = argsSource.base + if name is None: + if argsSource.copyDependentFiles: + name = "Console" + else: + name = "ConsoleKeepPath" + argsSource.base = self._GetFileName("bases", name) + if argsSource.base is None: + raise ConfigError("no base named %s", name) + + def _GetDependentFiles(self, path): + dependentFiles = self.dependentFiles.get(path) + if dependentFiles is None: + if sys.platform == "win32": + origPath = os.environ["PATH"] + os.environ["PATH"] = origPath + os.pathsep + \ + os.pathsep.join(sys.path) + dependentFiles = cx_Freeze.util.GetDependentFiles(path) + os.environ["PATH"] = origPath + else: + dependentFiles = [] + for line in os.popen('ldd "%s"' % path): + parts = line.strip().split(" => ") + if len(parts) != 2: + continue + dependentFile = parts[1] + if dependentFile == "not found": + print "WARNING: cannot find", parts[0] + continue + pos = dependentFile.find(" (") + if pos >= 0: + dependentFile = dependentFile[:pos].strip() + if dependentFile: + dependentFiles.append(dependentFile) + dependentFiles = self.dependentFiles[path] = \ + [f for f in dependentFiles if self._ShouldCopyFile(f)] + return dependentFiles + + def _GetFileName(self, dir, name): + if os.path.isabs(name): + return name + name = os.path.normcase(name) + fullDir = os.path.join(os.path.dirname(cx_Freeze.__file__), dir) + if os.path.isdir(fullDir): + for fileName in os.listdir(fullDir): + if name == os.path.splitext(os.path.normcase(fileName))[0]: + return os.path.join(fullDir, fileName) + + def _GetInitScriptFileName(self, argsSource = None): + if argsSource is None: + argsSource = self + name = argsSource.initScript + if name is None: + if argsSource.copyDependentFiles: + name = "Console" + else: + name = "ConsoleKeepPath" + argsSource.initScript = self._GetFileName("initscripts", name) + if argsSource.initScript is None: + raise ConfigError("no initscript named %s", name) + + def _GetModuleFinder(self, argsSource = None): + if argsSource is None: + argsSource = self + finder = cx_Freeze.ModuleFinder(self.includeFiles, argsSource.excludes, + argsSource.path, argsSource.replacePaths) + if argsSource.copyDependentFiles: + finder.IncludeModule("imp") + finder.IncludeModule("os") + finder.IncludeModule("sys") + if argsSource.compress: + finder.IncludeModule("zlib") + for name in argsSource.includes: + finder.IncludeModule(name) + for name in argsSource.packages: + finder.IncludePackage(name) + return finder + + def _PrintReport(self, fileName, modules): + print "writing zip file", fileName + print + print " %-25s %s" % ("Name", "File") + print " %-25s %s" % ("----", "----") + for module in modules: + if module.path: + print "P", + else: + print "m", + print "%-25s" % module.name, module.file or "" + print + + def _RemoveFile(self, path): + if os.path.exists(path): + os.chmod(path, 0777) + os.remove(path) + + def _ShouldCopyFile(self, path): + dir, name = os.path.split(os.path.normcase(path)) + parts = name.split(".") + tweaked = False + while True: + if not parts[-1].isdigit(): + break + parts.pop(-1) + tweaked = True + if tweaked: + name = ".".join(parts) + if name in self.binIncludes: + return True + if name in self.binExcludes: + return False + for path in self.binPathIncludes: + if dir.startswith(path): + return True + for path in self.binPathExcludes: + if dir.startswith(path): + return False + return True + + def _VerifyCanAppendToLibrary(self): + if not self.createLibraryZip: + raise ConfigError("script cannot be appended to library zip if " + "one is not being created") + + def _VerifyConfiguration(self): + if self.compress is None: + self.compress = True + if self.copyDependentFiles is None: + self.copyDependentFiles = True + if self.createLibraryZip is None: + self.createLibraryZip = True + if self.appendScriptToExe is None: + self.appendScriptToExe = False + if self.appendScriptToLibrary is None: + self.appendScriptToLibrary = \ + self.createLibraryZip and not self.appendScriptToExe + if self.targetDir is None: + self.targetDir = os.path.abspath("dist") + self._GetInitScriptFileName() + self._GetBaseFileName() + if self.path is None: + self.path = sys.path + if self.appendScriptToLibrary: + self._VerifyCanAppendToLibrary() + for sourceFileName, targetFileName in self.includeFiles: + if not os.path.exists(sourceFileName): + raise ConfigError("cannot find file/directory named %s", + sourceFileName) + if os.path.isabs(targetFileName): + raise ConfigError("target file/directory cannot be absolute") + for executable in self.executables: + executable._VerifyConfiguration(self) + + def _WriteModules(self, fileName, initScript, finder, compress, + copyDependentFiles, scriptModule = None): + initModule = finder.IncludeFile(initScript, "cx_Freeze__init__") + if scriptModule is None: + for module in self.constantsModules: + module.Create(finder) + modules = [m for m in finder.modules \ + if m.name not in self.excludeModules] + else: + modules = [initModule, scriptModule] + self.excludeModules[initModule.name] = None + self.excludeModules[scriptModule.name] = None + itemsToSort = [(m.name, m) for m in modules] + itemsToSort.sort() + modules = [m for n, m in itemsToSort] + self._PrintReport(fileName, modules) + if scriptModule is None: + finder.ReportMissingModules() + targetDir = os.path.dirname(fileName) + self._CreateDirectory(targetDir) + filesToCopy = [] + if os.path.exists(fileName): + mode = "a" + else: + mode = "w" + outFile = zipfile.PyZipFile(fileName, mode, zipfile.ZIP_DEFLATED) + for module in modules: + if module.code is None and module.file is not None: + fileName = os.path.basename(module.file) + baseFileName, ext = os.path.splitext(fileName) + if baseFileName != module.name and module.name != "zlib": + if "." in module.name: + fileName = module.name + ext + generatedFileName = "ExtensionLoader_%s.py" % \ + module.name.replace(".", "_") + module.code = compile(EXTENSION_LOADER_SOURCE % fileName, + generatedFileName, "exec") + target = os.path.join(targetDir, fileName) + filesToCopy.append((module, target)) + if module.code is None: + continue + fileName = "/".join(module.name.split(".")) + if module.path: + fileName += "/__init__" + if module.file is not None and os.path.exists(module.file): + mtime = os.stat(module.file).st_mtime + else: + mtime = time.time() + zipTime = time.localtime(mtime)[:6] + data = imp.get_magic() + struct.pack("" % self.script + + def _VerifyConfiguration(self, freezer): + if self.path is None: + self.path = freezer.path + if self.targetDir is None: + self.targetDir = freezer.targetDir + if self.includes is None: + self.includes = freezer.includes + if self.excludes is None: + self.excludes = freezer.excludes + if self.packages is None: + self.packages = freezer.packages + if self.replacePaths is None: + self.replacePaths = freezer.replacePaths + if self.compress is None: + self.compress = freezer.compress + if self.copyDependentFiles is None: + self.copyDependentFiles = freezer.copyDependentFiles + if self.appendScriptToExe is None: + self.appendScriptToExe = freezer.appendScriptToExe + if self.appendScriptToLibrary is None: + self.appendScriptToLibrary = freezer.appendScriptToLibrary + if self.initScript is None: + self.initScript = freezer.initScript + else: + freezer._GetInitScriptFileName(self) + if self.base is None: + self.base = freezer.base + else: + freezer._GetBaseFileName(self) + if self.appendScriptToLibrary: + freezer._VerifyCanAppendToLibrary() + if self.icon is None: + self.icon = freezer.icon + if self.script is not None: + name, ext = os.path.splitext(os.path.basename(self.script)) + if self.appendScriptToLibrary: + self.moduleName = "%s__main__" % os.path.normcase(name) + else: + self.moduleName = "__main__" + if self.targetName is None: + baseName, ext = os.path.splitext(self.base) + self.targetName = name + ext + self.targetName = os.path.join(self.targetDir, self.targetName) + + +class ConstantsModule(object): + + def __init__(self, releaseString = None, copyright = None, + moduleName = "BUILD_CONSTANTS", timeFormat = "%B %d, %Y %H:%M:%S"): + self.moduleName = moduleName + self.timeFormat = timeFormat + self.values = {} + self.values["BUILD_RELEASE_STRING"] = releaseString + self.values["BUILD_COPYRIGHT"] = copyright + + def Create(self, finder): + """Create the module which consists of declaration statements for each + of the values.""" + today = datetime.datetime.today() + sourceTimestamp = 0 + for module in finder.modules: + if module.file is None: + continue + if module.inZipFile: + continue + if not os.path.exists(module.file): + raise ConfigError("no file named %s", module.file) + timestamp = os.stat(module.file).st_mtime + sourceTimestamp = max(sourceTimestamp, timestamp) + sourceTimestamp = datetime.datetime.fromtimestamp(sourceTimestamp) + self.values["BUILD_TIMESTAMP"] = today.strftime(self.timeFormat) + self.values["BUILD_HOST"] = socket.gethostname().split(".")[0] + self.values["SOURCE_TIMESTAMP"] = \ + sourceTimestamp.strftime(self.timeFormat) + module = finder._AddModule(self.moduleName) + sourceParts = [] + names = self.values.keys() + names.sort() + for name in names: + value = self.values[name] + sourceParts.append("%s = %r" % (name, value)) + source = "\n".join(sourceParts) + module.code = compile(source, "%s.py" % self.moduleName, "exec") + diff --git a/setup/installer/cx_Freeze/cx_Freeze/hooks.py b/setup/installer/cx_Freeze/cx_Freeze/hooks.py new file mode 100644 index 0000000000..edc2f78788 --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/hooks.py @@ -0,0 +1,281 @@ +import os +import sys + +def initialize(finder): + """upon initialization of the finder, this routine is called to set up some + automatic exclusions for various platforms.""" + finder.ExcludeModule("FCNTL") + finder.ExcludeModule("os.path") + if os.name == "nt": + finder.ExcludeModule("fcntl") + finder.ExcludeModule("grp") + finder.ExcludeModule("pwd") + finder.ExcludeModule("termios") + else: + finder.ExcludeModule("_winreg") + finder.ExcludeModule("msilib") + finder.ExcludeModule("msvcrt") + finder.ExcludeModule("nt") + if os.name not in ("os2", "ce"): + finder.ExcludeModule("ntpath") + finder.ExcludeModule("nturl2path") + finder.ExcludeModule("pythoncom") + finder.ExcludeModule("pywintypes") + finder.ExcludeModule("winerror") + finder.ExcludeModule("winsound") + finder.ExcludeModule("win32api") + finder.ExcludeModule("win32con") + finder.ExcludeModule("win32event") + finder.ExcludeModule("win32file") + finder.ExcludeModule("win32pdh") + finder.ExcludeModule("win32pipe") + finder.ExcludeModule("win32process") + finder.ExcludeModule("win32security") + finder.ExcludeModule("win32service") + finder.ExcludeModule("wx.activex") + if os.name != "posix": + finder.ExcludeModule("posix") + if os.name != "mac": + finder.ExcludeModule("Carbon") + finder.ExcludeModule("gestalt") + finder.ExcludeModule("ic") + finder.ExcludeModule("mac") + finder.ExcludeModule("MacOS") + finder.ExcludeModule("macpath") + finder.ExcludeModule("macurl2path") + if os.name != "nt": + finder.ExcludeModule("EasyDialogs") + if os.name != "os2": + finder.ExcludeModule("os2") + finder.ExcludeModule("os2emxpath") + finder.ExcludeModule("_emx_link") + if os.name != "ce": + finder.ExcludeModule("ce") + if os.name != "riscos": + finder.ExcludeModule("riscos") + finder.ExcludeModule("riscosenviron") + finder.ExcludeModule("riscospath") + finder.ExcludeModule("rourl2path") + if sys.platform[:4] != "java": + finder.ExcludeModule("java.lang") + finder.ExcludeModule("org.python.core") + + +def load_cElementTree(finder, module): + """the cElementTree module implicitly loads the elementtree.ElementTree + module; make sure this happens.""" + finder.IncludeModule("elementtree.ElementTree") + + +def load_ceODBC(finder, module): + """the ceODBC module implicitly imports both datetime and decimal; make + sure this happens.""" + finder.IncludeModule("datetime") + finder.IncludeModule("decimal") + + +def load_cx_Oracle(finder, module): + """the cx_Oracle module implicitly imports datetime; make sure this + happens.""" + finder.IncludeModule("datetime") + + +def load_docutils_frontend(finder, module): + """The optik module is the old name for the optparse module; ignore the + module if it cannot be found.""" + module.IgnoreName("optik") + + +def load_dummy_threading(finder, module): + """the dummy_threading module plays games with the name of the threading + module for its own purposes; ignore that here""" + finder.ExcludeModule("_dummy_threading") + + +def load_email(finder, module): + """the email package has a bunch of aliases as the submodule names were + all changed to lowercase in Python 2.5; mimic that here.""" + if sys.version_info[:2] >= (2, 5): + for name in ("Charset", "Encoders", "Errors", "FeedParser", + "Generator", "Header", "Iterators", "Message", "Parser", + "Utils", "base64MIME", "quopriMIME"): + finder.AddAlias("email.%s" % name, "email.%s" % name.lower()) + + +def load_ftplib(finder, module): + """the ftplib module attempts to import the SOCKS module; ignore this + module if it cannot be found""" + module.IgnoreName("SOCKS") + + +def load_matplotlib(finder, module): + """the matplotlib module requires data to be found in mpl-data in the + same directory as the frozen executable so oblige it""" + dir = os.path.join(module.path[0], "mpl-data") + finder.IncludeFiles(dir, "mpl-data") + + +def load_matplotlib_numerix(finder, module): + """the numpy.numerix module loads a number of modules dynamically""" + for name in ("ma", "fft", "linear_algebra", "random_array", "mlab"): + finder.IncludeModule("%s.%s" % (module.name, name)) + + +def load_numpy_linalg(finder, module): + """the numpy.linalg module implicitly loads the lapack_lite module; make + sure this happens""" + finder.IncludeModule("numpy.linalg.lapack_lite") + + +def load_pty(finder, module): + """The sgi module is not needed for this module to function.""" + module.IgnoreName("sgi") + + +def load_pythoncom(finder, module): + """the pythoncom module is actually contained in a DLL but since those + cannot be loaded directly in Python 2.5 and higher a special module is + used to perform that task; simply use that technique directly to + determine the name of the DLL and ensure it is included as a normal + extension; also load the pywintypes module which is implicitly + loaded.""" + import pythoncom + module.file = pythoncom.__file__ + module.code = None + finder.IncludeModule("pywintypes") + + +def load_pywintypes(finder, module): + """the pywintypes module is actually contained in a DLL but since those + cannot be loaded directly in Python 2.5 and higher a special module is + used to perform that task; simply use that technique directly to + determine the name of the DLL and ensure it is included as a normal + extension.""" + import pywintypes + module.file = pywintypes.__file__ + module.code = None + + +def load_PyQt4_Qt(finder, module): + """the PyQt4.Qt module is an extension module which imports a number of + other modules and injects their namespace into its own. It seems a + foolish way of doing things but perhaps there is some hidden advantage + to this technique over pure Python; ignore the absence of some of + the modules since not every installation includes all of them.""" + finder.IncludeModule("PyQt4.QtCore") + finder.IncludeModule("PyQt4.QtGui") + finder.IncludeModule("sip") + for name in ("PyQt4.QtSvg", "PyQt4.Qsci", "PyQt4.QtAssistant", + "PyQt4.QtNetwork", "PyQt4.QtOpenGL", "PyQt4.QtScript", "PyQt4._qt", + "PyQt4.QtSql", "PyQt4.QtSvg", "PyQt4.QtTest", "PyQt4.QtXml"): + try: + finder.IncludeModule(name) + except ImportError: + pass + + +def load_Tkinter(finder, module): + """the Tkinter module has data files that are required to be loaded so + ensure that they are copied into the directory that is expected at + runtime.""" + import Tkinter + import _tkinter + tk = _tkinter.create() + tclDir = os.path.dirname(tk.call("info", "library")) + tclSourceDir = os.path.join(tclDir, "tcl%s" % _tkinter.TCL_VERSION) + tkSourceDir = os.path.join(tclDir, "tk%s" % _tkinter.TK_VERSION) + finder.IncludeFiles(tclSourceDir, "tcl") + finder.IncludeFiles(tkSourceDir, "tk") + + +def load_tempfile(finder, module): + """the tempfile module attempts to load the fcntl and thread modules but + continues if these modules cannot be found; ignore these modules if they + cannot be found.""" + module.IgnoreName("fcntl") + module.IgnoreName("thread") + + +def load_time(finder, module): + """the time module implicitly loads _strptime; make sure this happens.""" + finder.IncludeModule("_strptime") + + +def load_win32api(finder, module): + """the win32api module implicitly loads the pywintypes module; make sure + this happens.""" + finder.IncludeModule("pywintypes") + + +def load_win32com(finder, module): + """the win32com package manipulates its search path at runtime to include + the sibling directory called win32comext; simulate that by changing the + search path in a similar fashion here.""" + baseDir = os.path.dirname(os.path.dirname(module.file)) + module.path.append(os.path.join(baseDir, "win32comext")) + + +def load_win32file(finder, module): + """the win32api module implicitly loads the pywintypes module; make sure + this happens.""" + finder.IncludeModule("pywintypes") + + +def load_xml(finder, module): + """the builtin xml package attempts to load the _xmlplus module to see if + that module should take its role instead; ignore the failure to find + this module, though.""" + module.IgnoreName("_xmlplus") + + +def load_xml_etree_cElementTree(finder, module): + """the xml.etree.cElementTree module implicitly loads the + xml.etree.ElementTree module; make sure this happens.""" + finder.IncludeModule("xml.etree.ElementTree") + +def load_IPython(finder, module): + ipy = os.path.join(os.path.dirname(module.file), 'Extensions') + extensions = set([]) + for m in os.listdir(ipy): + extensions.add(os.path.splitext(m)[0]) + extensions.remove('__init__') + for m in extensions: + finder.IncludeModule('IPython.Extensions.'+m) + +def load_lxml(finder, module): + finder.IncludeModule('lxml._elementpath') + +def load_cherrypy(finder, module): + finder.IncludeModule('cherrypy.lib.encoding') + +def missing_cElementTree(finder, caller): + """the cElementTree has been incorporated into the standard library in + Python 2.5 so ignore its absence if it cannot found.""" + if sys.version_info[:2] >= (2, 5): + caller.IgnoreName("cElementTree") + + +def missing_EasyDialogs(finder, caller): + """the EasyDialogs module is not normally present on Windows but it also + may be so instead of excluding it completely, ignore it if it can't be + found""" + if sys.platform == "win32": + caller.IgnoreName("EasyDialogs") + + +def missing_readline(finder, caller): + """the readline module is not normally present on Windows but it also may + be so instead of excluding it completely, ignore it if it can't be + found""" + if sys.platform == "win32": + caller.IgnoreName("readline") + + +def missing_xml_etree(finder, caller): + """the xml.etree package is new for Python 2.5 but it is common practice + to use a try..except.. block in order to support versions earlier than + Python 2.5 transparently; ignore the absence of the package in this + situation.""" + if sys.version_info[:2] < (2, 5): + caller.IgnoreName("xml.etree") + diff --git a/setup/installer/cx_Freeze/cx_Freeze/main.py b/setup/installer/cx_Freeze/cx_Freeze/main.py new file mode 100644 index 0000000000..1704c598d2 --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/main.py @@ -0,0 +1,171 @@ +import optparse +import os +import shutil +import stat +import sys + +import cx_Freeze + +__all__ = ["main"] + +USAGE = \ +""" +%prog [options] [SCRIPT] + +Freeze a Python script and all of its referenced modules to a base +executable which can then be distributed without requiring a Python +installation.""" + +VERSION = \ +""" +%%prog %s +Copyright (c) 2007-2008 Colt Engineering. All rights reserved. +Copyright (c) 2001-2006 Computronix Corporation. All rights reserved.""" % \ + cx_Freeze.version + + +def ParseCommandLine(): + parser = optparse.OptionParser(version = VERSION.strip(), + usage = USAGE.strip()) + parser.add_option("-O", + action = "count", + default = 0, + dest = "optimized", + help = "optimize generated bytecode as per PYTHONOPTIMIZE; " + "use -OO in order to remove doc strings") + parser.add_option("-c", "--compress", + action = "store_true", + dest = "compress", + help = "compress byte code in zip files") + parser.add_option("--base-name", + dest = "baseName", + metavar = "NAME", + help = "file on which to base the target file; if the name of the " + "file is not an absolute file name, the subdirectory bases " + "(rooted in the directory in which the freezer is found) " + "will be searched for a file matching the name") + parser.add_option("--init-script", + dest = "initScript", + metavar = "NAME", + help = "script which will be executed upon startup; if the name " + "of the file is not an absolute file name, the " + "subdirectory initscripts (rooted in the directory in " + "which the cx_Freeze package is found) will be searched " + "for a file matching the name") + parser.add_option("--target-dir", "--install-dir", + dest = "targetDir", + metavar = "DIR", + help = "the directory in which to place the target file and " + "any dependent files") + parser.add_option("--target-name", + dest = "targetName", + metavar = "NAME", + help = "the name of the file to create instead of the base name " + "of the script and the extension of the base binary") + parser.add_option("--no-copy-deps", + dest = "copyDeps", + default = True, + action = "store_false", + help = "do not copy the dependent files (extensions, shared " + "libraries, etc.) to the target directory; this also " + "modifies the default init script to ConsoleKeepPath.py " + "and means that the target executable requires a Python " + "installation to execute properly") + parser.add_option("--default-path", + action = "append", + dest = "defaultPath", + metavar = "DIRS", + help = "list of paths separated by the standard path separator " + "for the platform which will be used to initialize " + "sys.path prior to running the module finder") + parser.add_option("--include-path", + action = "append", + dest = "includePath", + metavar = "DIRS", + help = "list of paths separated by the standard path separator " + "for the platform which will be used to modify sys.path " + "prior to running the module finder") + parser.add_option("--replace-paths", + dest = "replacePaths", + metavar = "DIRECTIVES", + help = "replace all the paths in modules found in the given paths " + "with the given replacement string; multiple values are " + "separated by the standard path separator and each value " + "is of the form path=replacement_string; path can be * " + "which means all paths not already specified") + parser.add_option("--include-modules", + dest = "includeModules", + metavar = "NAMES", + help = "comma separated list of modules to include") + parser.add_option("--exclude-modules", + dest = "excludeModules", + metavar = "NAMES", + help = "comma separated list of modules to exclude") + parser.add_option("--ext-list-file", + dest = "extListFile", + metavar = "NAME", + help = "name of file in which to place the list of dependent files " + "which were copied into the target directory") + parser.add_option("-z", "--zip-include", + dest = "zipIncludes", + action = "append", + default = [], + metavar = "SPEC", + help = "name of file to add to the zip file or a specification of " + "the form name=arcname which will specify the archive name " + "to use; multiple --zip-include arguments can be used") + options, args = parser.parse_args() + if len(args) == 0: + options.script = None + elif len(args) == 1: + options.script, = args + else: + parser.error("only one script can be specified") + if not args and options.includeModules is None and options.copyDeps: + parser.error("script or a list of modules must be specified") + if not args and options.targetName is None: + parser.error("script or a target name must be specified") + if options.excludeModules: + options.excludeModules = options.excludeModules.split(",") + else: + options.excludeModules = [] + if options.includeModules: + options.includeModules = options.includeModules.split(",") + else: + options.includeModules = [] + replacePaths = [] + if options.replacePaths: + for directive in options.replacePaths.split(os.pathsep): + fromPath, replacement = directive.split("=") + replacePaths.append((fromPath, replacement)) + options.replacePaths = replacePaths + if options.defaultPath is not None: + sys.path = [p for mp in options.defaultPath \ + for p in mp.split(os.pathsep)] + if options.includePath is not None: + paths = [p for mp in options.includePath for p in mp.split(os.pathsep)] + sys.path = paths + sys.path + if options.script is not None: + sys.path.insert(0, os.path.dirname(options.script)) + return options + + +def main(): + options = ParseCommandLine() + executables = [cx_Freeze.Executable(options.script, + targetName = options.targetName)] + freezer = cx_Freeze.Freezer(executables, + includes = options.includeModules, + excludes = options.excludeModules, + replacePaths = options.replacePaths, + compress = options.compress, + optimizeFlag = options.optimized, + copyDependentFiles = options.copyDeps, + initScript = options.initScript, + base = options.baseName, + path = None, + createLibraryZip = False, + appendScriptToExe = True, + targetDir = options.targetDir) + freezer.Freeze() + diff --git a/setup/installer/cx_Freeze/cx_Freeze/windist.py b/setup/installer/cx_Freeze/cx_Freeze/windist.py new file mode 100644 index 0000000000..51af544771 --- /dev/null +++ b/setup/installer/cx_Freeze/cx_Freeze/windist.py @@ -0,0 +1,337 @@ +import distutils.command.bdist_msi +import msilib +import os + +__all__ = [ "bdist_msi" ] + +# force the remove existing products action to happen first since Windows +# installer appears to be braindead and doesn't handle files shared between +# different "products" very well +sequence = msilib.sequence.InstallExecuteSequence +for index, info in enumerate(sequence): + if info[0] == u'RemoveExistingProducts': + sequence[index] = (info[0], info[1], 1450) + + +class bdist_msi(distutils.command.bdist_msi.bdist_msi): + user_options = distutils.command.bdist_msi.bdist_msi.user_options + [ + ('add-to-path=', None, 'add target dir to PATH environment variable'), + ('upgrade-code=', None, 'upgrade code to use') + ] + x = y = 50 + width = 370 + height = 300 + title = "[ProductName] Setup" + modeless = 1 + modal = 3 + + def add_config(self, fullname): + initialTargetDir = self.get_initial_target_dir(fullname) + if self.add_to_path is None: + self.add_to_path = False + for executable in self.distribution.executables: + if os.path.basename(executable.base).startswith("Console"): + self.add_to_path = True + break + if self.add_to_path: + msilib.add_data(self.db, 'Environment', + [("E_PATH", "Path", r"[~];[TARGETDIR]", "TARGETDIR")]) + msilib.add_data(self.db, 'CustomAction', + [("InitialTargetDir", 256 + 51, "TARGETDIR", initialTargetDir) + ]) + msilib.add_data(self.db, 'InstallExecuteSequence', + [("InitialTargetDir", 'TARGETDIR=""', 401)]) + msilib.add_data(self.db, 'InstallUISequence', + [("PrepareDlg", None, 140), + ("InitialTargetDir", 'TARGETDIR=""', 401), + ("SelectDirectoryDlg", "not Installed", 1230), + ("MaintenanceTypeDlg", + "Installed and not Resume and not Preselected", 1250), + ("ProgressDlg", None, 1280) + ]) + + def add_cancel_dialog(self): + dialog = msilib.Dialog(self.db, "CancelDlg", 50, 10, 260, 85, 3, + self.title, "No", "No", "No") + dialog.text("Text", 48, 15, 194, 30, 3, + "Are you sure you want to cancel [ProductName] installation?") + button = dialog.pushbutton("Yes", 72, 57, 56, 17, 3, "Yes", "No") + button.event("EndDialog", "Exit") + button = dialog.pushbutton("No", 132, 57, 56, 17, 3, "No", "Yes") + button.event("EndDialog", "Return") + + def add_error_dialog(self): + dialog = msilib.Dialog(self.db, "ErrorDlg", 50, 10, 330, 101, 65543, + self.title, "ErrorText", None, None) + dialog.text("ErrorText", 50, 9, 280, 48, 3, "") + for text, x in [("No", 120), ("Yes", 240), ("Abort", 0), + ("Cancel", 42), ("Ignore", 81), ("Ok", 159), ("Retry", 198)]: + button = dialog.pushbutton(text[0], x, 72, 81, 21, 3, text, None) + button.event("EndDialog", "Error%s" % text) + + def add_exit_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, "ExitDialog", + self.x, self.y, self.width, self.height, self.modal, + self.title, "Finish", "Finish", "Finish") + dialog.title("Completing the [ProductName] installer") + dialog.back("< Back", "Finish", active = False) + dialog.cancel("Cancel", "Back", active = False) + dialog.text("Description", 15, 235, 320, 20, 0x30003, + "Click the Finish button to exit the installer.") + button = dialog.next("Finish", "Cancel", name = "Finish") + button.event("EndDialog", "Return") + + def add_fatal_error_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, "FatalError", + self.x, self.y, self.width, self.height, self.modal, + self.title, "Finish", "Finish", "Finish") + dialog.title("[ProductName] installer ended prematurely") + dialog.back("< Back", "Finish", active = False) + dialog.cancel("Cancel", "Back", active = False) + dialog.text("Description1", 15, 70, 320, 80, 0x30003, + "[ProductName] setup ended prematurely because of an error. " + "Your system has not been modified. To install this program " + "at a later time, please run the installation again.") + dialog.text("Description2", 15, 155, 320, 20, 0x30003, + "Click the Finish button to exit the installer.") + button = dialog.next("Finish", "Cancel", name = "Finish") + button.event("EndDialog", "Exit") + + def add_files_in_use_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, "FilesInUse", + self.x, self.y, self.width, self.height, 19, self.title, + "Retry", "Retry", "Retry", bitmap = False) + dialog.text("Title", 15, 6, 200, 15, 0x30003, + r"{\DlgFontBold8}Files in Use") + dialog.text("Description", 20, 23, 280, 20, 0x30003, + "Some files that need to be updated are currently in use.") + dialog.text("Text", 20, 55, 330, 50, 3, + "The following applications are using files that need to be " + "updated by this setup. Close these applications and then " + "click Retry to continue the installation or Cancel to exit " + "it.") + dialog.control("List", "ListBox", 20, 107, 330, 130, 7, + "FileInUseProcess", None, None, None) + button = dialog.back("Exit", "Ignore", name = "Exit") + button.event("EndDialog", "Exit") + button = dialog.next("Ignore", "Retry", name = "Ignore") + button.event("EndDialog", "Ignore") + button = dialog.cancel("Retry", "Exit", name = "Retry") + button.event("EndDialog", "Retry") + + def add_maintenance_type_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, + "MaintenanceTypeDlg", self.x, self.y, self.width, self.height, + self.modal, self.title, "Next", "Next", "Cancel") + dialog.title("Welcome to the [ProductName] Setup Wizard") + dialog.text("BodyText", 15, 63, 330, 42, 3, + "Select whether you want to repair or remove [ProductName].") + group = dialog.radiogroup("RepairRadioGroup", 15, 108, 330, 60, 3, + "MaintenanceForm_Action", "", "Next") + group.add("Repair", 0, 18, 300, 17, "&Repair [ProductName]") + group.add("Remove", 0, 36, 300, 17, "Re&move [ProductName]") + dialog.back("< Back", None, active = False) + button = dialog.next("Finish", "Cancel") + button.event("[REINSTALL]", "ALL", + 'MaintenanceForm_Action="Repair"', 5) + button.event("[Progress1]", "Repairing", + 'MaintenanceForm_Action="Repair"', 6) + button.event("[Progress2]", "repairs", + 'MaintenanceForm_Action="Repair"', 7) + button.event("Reinstall", "ALL", + 'MaintenanceForm_Action="Repair"', 8) + button.event("[REMOVE]", "ALL", + 'MaintenanceForm_Action="Remove"', 11) + button.event("[Progress1]", "Removing", + 'MaintenanceForm_Action="Remove"', 12) + button.event("[Progress2]", "removes", + 'MaintenanceForm_Action="Remove"', 13) + button.event("Remove", "ALL", + 'MaintenanceForm_Action="Remove"', 14) + button.event("EndDialog", "Return", + 'MaintenanceForm_Action<>"Change"', 20) + button = dialog.cancel("Cancel", "RepairRadioGroup") + button.event("SpawnDialog", "CancelDlg") + + def add_prepare_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, "PrepareDlg", + self.x, self.y, self.width, self.height, self.modeless, + self.title, "Cancel", "Cancel", "Cancel") + dialog.text("Description", 15, 70, 320, 40, 0x30003, + "Please wait while the installer prepares to guide you through" + "the installation.") + dialog.title("Welcome to the [ProductName] installer") + text = dialog.text("ActionText", 15, 110, 320, 20, 0x30003, + "Pondering...") + text.mapping("ActionText", "Text") + text = dialog.text("ActionData", 15, 135, 320, 30, 0x30003, None) + text.mapping("ActionData", "Text") + dialog.back("Back", None, active = False) + dialog.next("Next", None, active = False) + button = dialog.cancel("Cancel", None) + button.event("SpawnDialog", "CancelDlg") + + def add_progress_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, "ProgressDlg", + self.x, self.y, self.width, self.height, self.modeless, + self.title, "Cancel", "Cancel", "Cancel", bitmap = False) + dialog.text("Title", 20, 15, 200, 15, 0x30003, + r"{\DlgFontBold8}[Progress1] [ProductName]") + dialog.text("Text", 35, 65, 300, 30, 3, + "Please wait while the installer [Progress2] [ProductName].") + dialog.text("StatusLabel", 35, 100 ,35, 20, 3, "Status:") + text = dialog.text("ActionText", 70, 100, self.width - 70, 20, 3, + "Pondering...") + text.mapping("ActionText", "Text") + control = dialog.control("ProgressBar", "ProgressBar", 35, 120, 300, + 10, 65537, None, "Progress done", None, None) + control.mapping("SetProgress", "Progress") + dialog.back("< Back", "Next", active = False) + dialog.next("Next >", "Cancel", active = False) + button = dialog.cancel("Cancel", "Back") + button.event("SpawnDialog", "CancelDlg") + + def add_properties(self): + metadata = self.distribution.metadata + props = [ + ('DistVersion', metadata.get_version()), + ('DefaultUIFont', 'DlgFont8'), + ('ErrorDialog', 'ErrorDlg'), + ('Progress1', 'Install'), + ('Progress2', 'installs'), + ('MaintenanceForm_Action', 'Repair') + ] + email = metadata.author_email or metadata.maintainer_email + if email: + props.append(("ARPCONTACT", email)) + if metadata.url: + props.append(("ARPURLINFOABOUT", metadata.url)) + if self.upgrade_code is not None: + props.append(("UpgradeCode", self.upgrade_code)) + msilib.add_data(self.db, 'Property', props) + + def add_select_directory_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, + "SelectDirectoryDlg", self.x, self.y, self.width, self.height, + self.modal, self.title, "Next", "Next", "Cancel") + dialog.title("Select destination directory") + dialog.back("< Back", None, active = False) + button = dialog.next("Next >", "Cancel") + button.event("SetTargetPath", "TARGETDIR", ordering = 1) + button.event("SpawnWaitDialog", "WaitForCostingDlg", ordering = 2) + button.event("EndDialog", "Return", ordering = 3) + button = dialog.cancel("Cancel", "DirectoryCombo") + button.event("SpawnDialog", "CancelDlg") + dialog.control("DirectoryCombo", "DirectoryCombo", 15, 70, 272, 80, + 393219, "TARGETDIR", None, "DirectoryList", None) + dialog.control("DirectoryList", "DirectoryList", 15, 90, 308, 136, 3, + "TARGETDIR", None, "PathEdit", None) + dialog.control("PathEdit", "PathEdit", 15, 230, 306, 16, 3, + "TARGETDIR", None, "Next", None) + button = dialog.pushbutton("Up", 306, 70, 18, 18, 3, "Up", None) + button.event("DirectoryListUp", "0") + button = dialog.pushbutton("NewDir", 324, 70, 30, 18, 3, "New", None) + button.event("DirectoryListNew", "0") + + def add_text_styles(self): + msilib.add_data(self.db, 'TextStyle', + [("DlgFont8", "Tahoma", 9, None, 0), + ("DlgFontBold8", "Tahoma", 8, None, 1), + ("VerdanaBold10", "Verdana", 10, None, 1), + ("VerdanaRed9", "Verdana", 9, 255, 0) + ]) + + def add_ui(self): + self.add_text_styles() + self.add_error_dialog() + self.add_fatal_error_dialog() + self.add_cancel_dialog() + self.add_exit_dialog() + self.add_user_exit_dialog() + self.add_files_in_use_dialog() + self.add_wait_for_costing_dialog() + self.add_prepare_dialog() + self.add_select_directory_dialog() + self.add_progress_dialog() + self.add_maintenance_type_dialog() + + def add_upgrade_config(self, sversion): + if self.upgrade_code is not None: + msilib.add_data(self.db, 'Upgrade', + [(self.upgrade_code, None, sversion, None, 513, None, + "REMOVEOLDVERSION"), + (self.upgrade_code, sversion, None, None, 257, None, + "REMOVENEWVERSION") + ]) + + def add_user_exit_dialog(self): + dialog = distutils.command.bdist_msi.PyDialog(self.db, "UserExit", + self.x, self.y, self.width, self.height, self.modal, + self.title, "Finish", "Finish", "Finish") + dialog.title("[ProductName] installer was interrupted") + dialog.back("< Back", "Finish", active = False) + dialog.cancel("Cancel", "Back", active = False) + dialog.text("Description1", 15, 70, 320, 80, 0x30003, + "[ProductName] setup was interrupted. Your system has not " + "been modified. To install this program at a later time, " + "please run the installation again.") + dialog.text("Description2", 15, 155, 320, 20, 0x30003, + "Click the Finish button to exit the installer.") + button = dialog.next("Finish", "Cancel", name = "Finish") + button.event("EndDialog", "Exit") + + def add_wait_for_costing_dialog(self): + dialog = msilib.Dialog(self.db, "WaitForCostingDlg", 50, 10, 260, 85, + self.modal, self.title, "Return", "Return", "Return") + dialog.text("Text", 48, 15, 194, 30, 3, + "Please wait while the installer finishes determining your " + "disk space requirements.") + button = dialog.pushbutton("Return", 102, 57, 56, 17, 3, "Return", + None) + button.event("EndDialog", "Exit") + + def get_initial_target_dir(self, fullname): + return r"[ProgramFilesFolder]\%s" % fullname + + def get_installer_filename(self, fullname): + return os.path.join(self.dist_dir, "%s.msi" % fullname) + + def initialize_options(self): + distutils.command.bdist_msi.bdist_msi.initialize_options(self) + self.upgrade_code = None + self.add_to_path = None + + def run(self): + if not self.skip_build: + self.run_command('build') + install = self.reinitialize_command('install', reinit_subcommands = 1) + install.prefix = self.bdist_dir + install.skip_build = self.skip_build + install.warn_dir = 0 + distutils.log.info("installing to %s", self.bdist_dir) + install.ensure_finalized() + install.run() + self.mkpath(self.dist_dir) + fullname = self.distribution.get_fullname() + filename = os.path.abspath(self.get_installer_filename(fullname)) + if os.path.exists(filename): + os.unlink(filename) + metadata = self.distribution.metadata + author = metadata.author or metadata.maintainer or "UNKNOWN" + version = metadata.get_version() + sversion = "%d.%d.%d" % \ + distutils.version.StrictVersion(version).version + self.db = msilib.init_database(filename, msilib.schema, + self.distribution.metadata.name, msilib.gen_uuid(), sversion, + author) + msilib.add_tables(self.db, msilib.sequence) + self.add_properties() + self.add_config(fullname) + self.add_upgrade_config(sversion) + self.add_ui() + self.add_files() + self.db.Commit() + if not self.keep_temp: + distutils.dir_util.remove_tree(self.bdist_dir, + dry_run = self.dry_run) + diff --git a/setup/installer/cx_Freeze/cxfreeze b/setup/installer/cx_Freeze/cxfreeze new file mode 100755 index 0000000000..acd6789833 --- /dev/null +++ b/setup/installer/cx_Freeze/cxfreeze @@ -0,0 +1,6 @@ +#!/usr/bin/python + +from cx_Freeze import main + +main() + diff --git a/setup/installer/cx_Freeze/initscripts/Console.py b/setup/installer/cx_Freeze/initscripts/Console.py new file mode 100755 index 0000000000..e10649d722 --- /dev/null +++ b/setup/installer/cx_Freeze/initscripts/Console.py @@ -0,0 +1,35 @@ +#------------------------------------------------------------------------------ +# Console.py +# Initialization script for cx_Freeze which manipulates the path so that the +# directory in which the executable is found is searched for extensions but +# no other directory is searched. It also sets the attribute sys.frozen so that +# the Win32 extensions behave as expected. +#------------------------------------------------------------------------------ + +import encodings +import os +import sys +import warnings +import zipimport + +sys.frozen = True +sys.path = sys.path[:4] + +os.environ["TCL_LIBRARY"] = os.path.join(DIR_NAME, "tcl") +os.environ["TK_LIBRARY"] = os.path.join(DIR_NAME, "tk") + +m = __import__("__main__") +importer = zipimport.zipimporter(INITSCRIPT_ZIP_FILE_NAME) +if INITSCRIPT_ZIP_FILE_NAME != SHARED_ZIP_FILE_NAME: + moduleName = m.__name__ +else: + name, ext = os.path.splitext(os.path.basename(os.path.normcase(FILE_NAME))) + moduleName = "%s__main__" % name +code = importer.get_code(moduleName) +exec code in m.__dict__ + +if sys.version_info[:2] >= (2, 5): + module = sys.modules.get("threading") + if module is not None: + module._shutdown() + diff --git a/setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py b/setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py new file mode 100755 index 0000000000..60151a1ff6 --- /dev/null +++ b/setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py @@ -0,0 +1,19 @@ +#------------------------------------------------------------------------------ +# ConsoleKeepPath.py +# Initialization script for cx_Freeze which leaves the path alone and does +# not set the sys.frozen attribute. +#------------------------------------------------------------------------------ + +import sys +import zipimport + +m = __import__("__main__") +importer = zipimport.zipimporter(INITSCRIPT_ZIP_FILE_NAME) +code = importer.get_code(m.__name__) +exec code in m.__dict__ + +if sys.version_info[:2] >= (2, 5): + module = sys.modules.get("threading") + if module is not None: + module._shutdown() + diff --git a/setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py b/setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py new file mode 100755 index 0000000000..b558652c0a --- /dev/null +++ b/setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py @@ -0,0 +1,38 @@ +#------------------------------------------------------------------------------ +# ConsoleSetLibPath.py +# Initialization script for cx_Freeze which manipulates the path so that the +# directory in which the executable is found is searched for extensions but +# no other directory is searched. The environment variable LD_LIBRARY_PATH is +# manipulated first, however, to ensure that shared libraries found in the +# target directory are found. This requires a restart of the executable because +# the environment variable LD_LIBRARY_PATH is only checked at startup. +#------------------------------------------------------------------------------ + +import encodings +import os +import sys +import warnings +import zipimport + +paths = os.environ.get("LD_LIBRARY_PATH", "").split(os.pathsep) +if DIR_NAME not in paths: + paths.insert(0, DIR_NAME) + os.environ["LD_LIBRARY_PATH"] = os.pathsep.join(paths) + os.execv(sys.executable, sys.argv) + +sys.frozen = True +sys.path = sys.path[:4] + +os.environ["TCL_LIBRARY"] = os.path.join(DIR_NAME, "tcl") +os.environ["TK_LIBRARY"] = os.path.join(DIR_NAME, "tk") + +m = __import__("__main__") +importer = zipimport.zipimporter(INITSCRIPT_ZIP_FILE_NAME) +code = importer.get_code(m.__name__) +exec code in m.__dict__ + +if sys.version_info[:2] >= (2, 5): + module = sys.modules.get("threading") + if module is not None: + module._shutdown() + diff --git a/setup/installer/cx_Freeze/initscripts/SharedLib.py b/setup/installer/cx_Freeze/initscripts/SharedLib.py new file mode 100755 index 0000000000..0445367010 --- /dev/null +++ b/setup/installer/cx_Freeze/initscripts/SharedLib.py @@ -0,0 +1,20 @@ +#------------------------------------------------------------------------------ +# SharedLib.py +# Initialization script for cx_Freeze which behaves similarly to the one for +# console based applications but must handle the case where Python has already +# been initialized and another DLL of this kind has been loaded. As such it +# does not block the path unless sys.frozen is not already set. +#------------------------------------------------------------------------------ + +import encodings +import os +import sys +import warnings + +if not hasattr(sys, "frozen"): + sys.frozen = True + sys.path = sys.path[:4] + +os.environ["TCL_LIBRARY"] = os.path.join(DIR_NAME, "tcl") +os.environ["TK_LIBRARY"] = os.path.join(DIR_NAME, "tk") + diff --git a/setup/installer/cx_Freeze/initscripts/SharedLibSource.py b/setup/installer/cx_Freeze/initscripts/SharedLibSource.py new file mode 100755 index 0000000000..3edae93694 --- /dev/null +++ b/setup/installer/cx_Freeze/initscripts/SharedLibSource.py @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------------ +# SharedLibSource.py +# Initialization script for cx_Freeze which imports the site module (as per +# normal processing of a Python script) and then searches for a file with the +# same name as the shared library but with the extension .pth. The entries in +# this file are used to modify the path to use for subsequent imports. +#------------------------------------------------------------------------------ + +import os +import sys +import warnings + +# the site module must be imported for normal behavior to take place; it is +# done dynamically so that cx_Freeze will not add all modules referenced by +# the site module to the frozen executable +__import__("site") + +# now locate the pth file to modify the path appropriately +baseName, ext = os.path.splitext(FILE_NAME) +pathFileName = baseName + ".pth" +sys.path = [s.strip() for s in file(pathFileName).read().splitlines()] + \ + sys.path + diff --git a/setup/installer/cx_Freeze/samples/advanced/advanced_1.py b/setup/installer/cx_Freeze/samples/advanced/advanced_1.py new file mode 100644 index 0000000000..2f1b68bceb --- /dev/null +++ b/setup/installer/cx_Freeze/samples/advanced/advanced_1.py @@ -0,0 +1,7 @@ +import sys + +print "Hello from cx_Freeze Advanced #1" +print + +module = __import__("testfreeze_1") + diff --git a/setup/installer/cx_Freeze/samples/advanced/advanced_2.py b/setup/installer/cx_Freeze/samples/advanced/advanced_2.py new file mode 100644 index 0000000000..1a6fe37e62 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/advanced/advanced_2.py @@ -0,0 +1,7 @@ +import sys + +print "Hello from cx_Freeze Advanced #2" +print + +module = __import__("testfreeze_2") + diff --git a/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py b/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py new file mode 100644 index 0000000000..6157b72a69 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py @@ -0,0 +1 @@ +print "Test freeze module #1" diff --git a/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py b/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py new file mode 100644 index 0000000000..ca133a7d58 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py @@ -0,0 +1 @@ +print "Test freeze module #2" diff --git a/setup/installer/cx_Freeze/samples/advanced/setup.py b/setup/installer/cx_Freeze/samples/advanced/setup.py new file mode 100644 index 0000000000..3a79cf23af --- /dev/null +++ b/setup/installer/cx_Freeze/samples/advanced/setup.py @@ -0,0 +1,31 @@ +# An advanced setup script to create multiple executables and demonstrate a few +# of the features available to setup scripts +# +# hello.py is a very simple "Hello, world" type script which also displays the +# environment in which the script runs +# +# Run the build process by running the command 'python setup.py build' +# +# If everything works well you should find a subdirectory in the build +# subdirectory that contains the files needed to run the script without Python + +import sys +from cx_Freeze import setup, Executable + +executables = [ + Executable("advanced_1.py"), + Executable("advanced_2.py") +] + +buildOptions = dict( + compressed = True, + includes = ["testfreeze_1", "testfreeze_2"], + path = sys.path + ["modules"]) + +setup( + name = "advanced_cx_Freeze_sample", + version = "0.1", + description = "Advanced sample cx_Freeze script", + options = dict(build_exe = buildOptions), + executables = executables) + diff --git a/setup/installer/cx_Freeze/samples/matplotlib/setup.py b/setup/installer/cx_Freeze/samples/matplotlib/setup.py new file mode 100644 index 0000000000..54bd97fc3f --- /dev/null +++ b/setup/installer/cx_Freeze/samples/matplotlib/setup.py @@ -0,0 +1,27 @@ +# A simple setup script to create an executable using matplotlib. +# +# test_matplotlib.py is a very simple matplotlib application that demonstrates +# its use. +# +# Run the build process by running the command 'python setup.py build' +# +# If everything works well you should find a subdirectory in the build +# subdirectory that contains the files needed to run the application + +import cx_Freeze +import sys + +base = None +if sys.platform == "win32": + base = "Win32GUI" + +executables = [ + cx_Freeze.Executable("test_matplotlib.py", base = base) +] + +cx_Freeze.setup( + name = "test_matplotlib", + version = "0.1", + description = "Sample matplotlib script", + executables = executables) + diff --git a/setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py b/setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py new file mode 100644 index 0000000000..2029845ca5 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py @@ -0,0 +1,48 @@ +from numpy import arange, sin, pi +import matplotlib +matplotlib.use('WXAgg') +from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas +from matplotlib.backends.backend_wx import NavigationToolbar2Wx +from matplotlib.figure import Figure +from wx import * + +class CanvasFrame(Frame): + def __init__(self): + Frame.__init__(self,None,-1, 'CanvasFrame',size=(550,350)) + self.SetBackgroundColour(NamedColor("WHITE")) + self.figure = Figure() + self.axes = self.figure.add_subplot(111) + t = arange(0.0,3.0,0.01) + s = sin(2*pi*t) + self.axes.plot(t,s) + self.canvas = FigureCanvas(self, -1, self.figure) + self.sizer = BoxSizer(VERTICAL) + self.sizer.Add(self.canvas, 1, LEFT | TOP | GROW) + self.SetSizerAndFit(self.sizer) + self.add_toolbar() + + def add_toolbar(self): + self.toolbar = NavigationToolbar2Wx(self.canvas) + self.toolbar.Realize() + if Platform == '__WXMAC__': + self.SetToolBar(self.toolbar) + else: + tw, th = self.toolbar.GetSizeTuple() + fw, fh = self.canvas.GetSizeTuple() + self.toolbar.SetSize(Size(fw, th)) + self.sizer.Add(self.toolbar, 0, LEFT | EXPAND) + self.toolbar.update() + + def OnPaint(self, event): + self.canvas.draw() + +class App(App): + def OnInit(self): + 'Create the main window and insert the custom frame' + frame = CanvasFrame() + frame.Show(True) + return True + +app = App(0) +app.MainLoop() + diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py new file mode 100644 index 0000000000..5a170fd2dd --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py @@ -0,0 +1,3 @@ +print "importing pkg1" +from . import sub1 +from . import pkg2 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py new file mode 100644 index 0000000000..71e0b1fbe6 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py @@ -0,0 +1,3 @@ +print "importing pkg1.pkg2" +from . import sub3 +from .. import sub4 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py new file mode 100644 index 0000000000..1719aadb41 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py @@ -0,0 +1,3 @@ +print "importing pkg1.pkg2.sub3" +from . import sub5 +from .. import sub6 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py new file mode 100644 index 0000000000..1c91b8fa23 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py @@ -0,0 +1 @@ +print "importing pkg1.pkg2.sub5" diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py new file mode 100644 index 0000000000..514bd88a87 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py @@ -0,0 +1,2 @@ +print "importing pkg1.sub1" +from . import sub2 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py new file mode 100644 index 0000000000..63a0838b25 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py @@ -0,0 +1 @@ +print "importing pkg1.sub2" diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py new file mode 100644 index 0000000000..3a8e760e43 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py @@ -0,0 +1 @@ +print 'importing pkg1.sub4' diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py new file mode 100644 index 0000000000..1e7d7955d6 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py @@ -0,0 +1 @@ +print "importing pkg1.sub6" diff --git a/setup/installer/cx_Freeze/samples/relimport/relimport.py b/setup/installer/cx_Freeze/samples/relimport/relimport.py new file mode 100644 index 0000000000..39cb50c91d --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/relimport.py @@ -0,0 +1 @@ +import pkg1 diff --git a/setup/installer/cx_Freeze/samples/relimport/setup.py b/setup/installer/cx_Freeze/samples/relimport/setup.py new file mode 100644 index 0000000000..b8b3f3853b --- /dev/null +++ b/setup/installer/cx_Freeze/samples/relimport/setup.py @@ -0,0 +1,16 @@ +# relimport.py is a very simple script that tests importing using relative +# imports (available in Python 2.5 and up) +# +# Run the build process by running the command 'python setup.py build' +# +# If everything works well you should find a subdirectory in the build +# subdirectory that contains the files needed to run the script without Python + +from cx_Freeze import setup, Executable + +setup( + name = "relimport", + version = "0.1", + description = "Sample cx_Freeze script for relative imports", + executables = [Executable("relimport.py")]) + diff --git a/setup/installer/cx_Freeze/samples/simple/hello.py b/setup/installer/cx_Freeze/samples/simple/hello.py new file mode 100644 index 0000000000..0fb32405bc --- /dev/null +++ b/setup/installer/cx_Freeze/samples/simple/hello.py @@ -0,0 +1,19 @@ +import sys + +print "Hello from cx_Freeze" +print + +print "sys.executable", sys.executable +print "sys.prefix", sys.prefix +print + +print "ARGUMENTS:" +for a in sys.argv: + print a +print + +print "PATH:" +for p in sys.path: + print p +print + diff --git a/setup/installer/cx_Freeze/samples/simple/setup.py b/setup/installer/cx_Freeze/samples/simple/setup.py new file mode 100644 index 0000000000..25de838b10 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/simple/setup.py @@ -0,0 +1,18 @@ +# A very simple setup script to create a single executable +# +# hello.py is a very simple "Hello, world" type script which also displays the +# environment in which the script runs +# +# Run the build process by running the command 'python setup.py build' +# +# If everything works well you should find a subdirectory in the build +# subdirectory that contains the files needed to run the script without Python + +from cx_Freeze import setup, Executable + +setup( + name = "hello", + version = "0.1", + description = "Sample cx_Freeze script", + executables = [Executable("hello.py")]) + diff --git a/setup/installer/cx_Freeze/samples/wx/setup.py b/setup/installer/cx_Freeze/samples/wx/setup.py new file mode 100644 index 0000000000..9412996859 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/wx/setup.py @@ -0,0 +1,25 @@ +# A simple setup script to create an executable running wxPython. This also +# demonstrates the method for creating a Windows executable that does not have +# an associated console. +# +# wxapp.py is a very simple "Hello, world" type wxPython application +# +# Run the build process by running the command 'python setup.py build' +# +# If everything works well you should find a subdirectory in the build +# subdirectory that contains the files needed to run the application + +import sys + +from cx_Freeze import setup, Executable + +base = None +if sys.platform == "win32": + base = "Win32GUI" + +setup( + name = "hello", + version = "0.1", + description = "Sample cx_Freeze wxPython script", + executables = [Executable("wxapp.py", base = base)]) + diff --git a/setup/installer/cx_Freeze/samples/wx/wxapp.py b/setup/installer/cx_Freeze/samples/wx/wxapp.py new file mode 100644 index 0000000000..7baa90b8d1 --- /dev/null +++ b/setup/installer/cx_Freeze/samples/wx/wxapp.py @@ -0,0 +1,42 @@ +import wx + +class Frame(wx.Frame): + + def __init__(self): + wx.Frame.__init__(self, parent = None, title = "Hello from cx_Freeze") + panel = wx.Panel(self) + closeMeButton = wx.Button(panel, -1, "Close Me") + wx.EVT_BUTTON(self, closeMeButton.GetId(), self.OnCloseMe) + wx.EVT_CLOSE(self, self.OnCloseWindow) + pushMeButton = wx.Button(panel, -1, "Push Me") + wx.EVT_BUTTON(self, pushMeButton.GetId(), self.OnPushMe) + sizer = wx.BoxSizer(wx.HORIZONTAL) + sizer.Add(closeMeButton, flag = wx.ALL, border = 20) + sizer.Add(pushMeButton, flag = wx.ALL, border = 20) + panel.SetSizer(sizer) + topSizer = wx.BoxSizer(wx.VERTICAL) + topSizer.Add(panel, flag = wx.ALL | wx.EXPAND) + topSizer.Fit(self) + + def OnCloseMe(self, event): + self.Close(True) + + def OnPushMe(self, event): + 1 / 0 + + def OnCloseWindow(self, event): + self.Destroy() + + +class App(wx.App): + + def OnInit(self): + frame = Frame() + frame.Show(True) + self.SetTopWindow(frame) + return True + + +app = App(1) +app.MainLoop() + diff --git a/setup/installer/cx_Freeze/setup.py b/setup/installer/cx_Freeze/setup.py new file mode 100755 index 0000000000..b51453aa7a --- /dev/null +++ b/setup/installer/cx_Freeze/setup.py @@ -0,0 +1,197 @@ +""" +Distutils script for cx_Freeze. +""" + +import distutils.command.bdist_rpm +import distutils.command.build_ext +import distutils.command.build_scripts +import distutils.command.install +import distutils.command.install_data +import distutils.sysconfig +import os +import sys + +from distutils.core import setup +from distutils.extension import Extension + +class bdist_rpm(distutils.command.bdist_rpm.bdist_rpm): + + # rpm automatically byte compiles all Python files in a package but we + # don't want that to happen for initscripts and samples so we tell it to + # ignore those files + def _make_spec_file(self): + specFile = distutils.command.bdist_rpm.bdist_rpm._make_spec_file(self) + specFile.insert(0, "%define _unpackaged_files_terminate_build 0%{nil}") + return specFile + + def run(self): + distutils.command.bdist_rpm.bdist_rpm.run(self) + specFile = os.path.join(self.rpm_base, "SPECS", + "%s.spec" % self.distribution.get_name()) + queryFormat = "%{name}-%{version}-%{release}.%{arch}.rpm" + command = "rpm -q --qf '%s' --specfile %s" % (queryFormat, specFile) + origFileName = os.popen(command).read() + parts = origFileName.split("-") + parts.insert(2, "py%s%s" % sys.version_info[:2]) + newFileName = "-".join(parts) + self.move_file(os.path.join("dist", origFileName), + os.path.join("dist", newFileName)) + + +class build_ext(distutils.command.build_ext.build_ext): + + def build_extension(self, ext): + if ext.name.find("bases") < 0: + distutils.command.build_ext.build_ext.build_extension(self, ext) + return + os.environ["LD_RUN_PATH"] = "${ORIGIN}:${ORIGIN}/../lib" + objects = self.compiler.compile(ext.sources, + output_dir = self.build_temp, + include_dirs = ext.include_dirs, + debug = self.debug, + depends = ext.depends) + fileName = os.path.splitext(self.get_ext_filename(ext.name))[0] + fullName = os.path.join(self.build_lib, fileName) + libraryDirs = ext.library_dirs or [] + libraries = self.get_libraries(ext) + extraArgs = ext.extra_link_args or [] + if sys.platform != "win32": + vars = distutils.sysconfig.get_config_vars() + libraryDirs.append(vars["LIBPL"]) + libraries.append("python%s.%s" % sys.version_info[:2]) + if vars["LINKFORSHARED"]: + extraArgs.extend(vars["LINKFORSHARED"].split()) + if vars["LIBS"]: + extraArgs.extend(vars["LIBS"].split()) + if vars["LIBM"]: + extraArgs.append(vars["LIBM"]) + if vars["BASEMODLIBS"]: + extraArgs.extend(vars["BASEMODLIBS"].split()) + if vars["LOCALMODLIBS"]: + extraArgs.extend(vars["LOCALMODLIBS"].split()) + extraArgs.append("-s") + self.compiler.link_executable(objects, fullName, + libraries = libraries, + library_dirs = libraryDirs, + runtime_library_dirs = ext.runtime_library_dirs, + extra_postargs = extraArgs, + debug = self.debug) + + def get_ext_filename(self, name): + fileName = distutils.command.build_ext.build_ext.get_ext_filename(self, + name) + if name.find("bases") < 0: + return fileName + ext = self.compiler.exe_extension or "" + return os.path.splitext(fileName)[0] + ext + + +class build_scripts(distutils.command.build_scripts.build_scripts): + + def copy_scripts(self): + distutils.command.build_scripts.build_scripts.copy_scripts(self) + if sys.platform == "win32": + for script in self.scripts: + batFileName = os.path.join(self.build_dir, script + ".bat") + fullScriptName = r"%s\Scripts\%s" % \ + (os.path.dirname(sys.executable), script) + command = "%s %s %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9" % \ + (sys.executable, fullScriptName) + file(batFileName, "w").write("@echo off\n\n%s" % command) + + +class install(distutils.command.install.install): + + def get_sub_commands(self): + subCommands = distutils.command.install.install.get_sub_commands(self) + subCommands.append("install_packagedata") + return subCommands + + +class install_packagedata(distutils.command.install_data.install_data): + + def run(self): + installCommand = self.get_finalized_command("install") + installDir = getattr(installCommand, "install_lib") + sourceDirs = ["samples", "initscripts"] + while sourceDirs: + sourceDir = sourceDirs.pop(0) + targetDir = os.path.join(installDir, "cx_Freeze", sourceDir) + self.mkpath(targetDir) + for name in os.listdir(sourceDir): + if name == "build" or name.startswith("."): + continue + fullSourceName = os.path.join(sourceDir, name) + if os.path.isdir(fullSourceName): + sourceDirs.append(fullSourceName) + else: + fullTargetName = os.path.join(targetDir, name) + self.copy_file(fullSourceName, fullTargetName) + self.outfiles.append(fullTargetName) + + +commandClasses = dict( + build_ext = build_ext, + build_scripts = build_scripts, + bdist_rpm = bdist_rpm, + install = install, + install_packagedata = install_packagedata) + +if sys.platform == "win32": + libraries = ["imagehlp"] +else: + libraries = [] +utilModule = Extension("cx_Freeze.util", ["source/util.c"], + libraries = libraries) +depends = ["source/bases/Common.c"] +if sys.platform == "win32": + if sys.version_info[:2] >= (2, 6): + extraSources = ["source/bases/manifest.rc"] + else: + extraSources = ["source/bases/dummy.rc"] +else: + extraSources = [] +console = Extension("cx_Freeze.bases.Console", + ["source/bases/Console.c"] + extraSources, depends = depends) +consoleKeepPath = Extension("cx_Freeze.bases.ConsoleKeepPath", + ["source/bases/ConsoleKeepPath.c"] + extraSources, depends = depends) +extensions = [utilModule, console, consoleKeepPath] +if sys.platform == "win32": + gui = Extension("cx_Freeze.bases.Win32GUI", + ["source/bases/Win32GUI.c"] + extraSources, + depends = depends, extra_link_args = ["-mwindows"]) + extensions.append(gui) + +docFiles = "LICENSE.txt README.txt HISTORY.txt doc/cx_Freeze.html" + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: Python Software Foundation License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: C", + "Programming Language :: Python", + "Topic :: Software Development :: Build Tools", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: System :: Software Distribution", + "Topic :: Utilities" +] + +setup(name = "cx_Freeze", + description = "create standalone executables from Python scripts", + long_description = "create standalone executables from Python scripts", + version = "4.0.1", + cmdclass = commandClasses, + options = dict(bdist_rpm = dict(doc_files = docFiles), + install = dict(optimize = 1)), + ext_modules = extensions, + packages = ['cx_Freeze'], + maintainer="Anthony Tuininga", + maintainer_email="anthony.tuininga@gmail.com", + url = "http://cx-freeze.sourceforge.net", + scripts = ["cxfreeze"], + classifiers = classifiers, + keywords = "freeze", + license = "Python Software Foundation License") + diff --git a/setup/installer/cx_Freeze/source/bases/Common.c b/setup/installer/cx_Freeze/source/bases/Common.c new file mode 100644 index 0000000000..ce1e137ebb --- /dev/null +++ b/setup/installer/cx_Freeze/source/bases/Common.c @@ -0,0 +1,262 @@ +//----------------------------------------------------------------------------- +// Common.c +// Routines which are common to running frozen executables. +//----------------------------------------------------------------------------- + +#include +#include +#include + +// global variables (used for simplicity) +static PyObject *g_FileName = NULL; +static PyObject *g_DirName = NULL; +static PyObject *g_ExclusiveZipFileName = NULL; +static PyObject *g_SharedZipFileName = NULL; +static PyObject *g_InitScriptZipFileName = NULL; + +//----------------------------------------------------------------------------- +// GetDirName() +// Return the directory name of the given path. +//----------------------------------------------------------------------------- +static int GetDirName( + const char *path, // path to calculate dir name for + PyObject **dirName) // directory name (OUT) +{ + int i; + + for (i = strlen(path); i > 0 && path[i] != SEP; --i); + *dirName = PyString_FromStringAndSize(path, i); + if (!*dirName) + return FatalError("cannot create string for directory name"); + return 0; +} + + +//----------------------------------------------------------------------------- +// SetExecutableName() +// Set the script to execute and calculate the directory in which the +// executable is found as well as the exclusive (only for this executable) and +// shared zip file names. +//----------------------------------------------------------------------------- +static int SetExecutableName( + const char *fileName) // script to execute +{ + char temp[MAXPATHLEN + 12], *ptr; +#ifndef WIN32 + char linkData[MAXPATHLEN + 1]; + struct stat statData; + size_t linkSize, i; + PyObject *dirName; +#endif + + // store file name + g_FileName = PyString_FromString(fileName); + if (!g_FileName) + return FatalError("cannot create string for file name"); + +#ifndef WIN32 + for (i = 0; i < 25; i++) { + if (lstat(fileName, &statData) < 0) { + PyErr_SetFromErrnoWithFilename(PyExc_OSError, (char*) fileName); + return FatalError("unable to stat file"); + } + if (!S_ISLNK(statData.st_mode)) + break; + linkSize = readlink(fileName, linkData, sizeof(linkData)); + if (linkSize < 0) { + PyErr_SetFromErrnoWithFilename(PyExc_OSError, (char*) fileName); + return FatalError("unable to stat file"); + } + if (linkData[0] == '/') { + Py_DECREF(g_FileName); + g_FileName = PyString_FromStringAndSize(linkData, linkSize); + } else { + if (GetDirName(PyString_AS_STRING(g_FileName), &dirName) < 0) + return -1; + if (PyString_GET_SIZE(dirName) + linkSize + 1 > MAXPATHLEN) { + Py_DECREF(dirName); + return FatalError("cannot dereference link, path too large"); + } + strcpy(temp, PyString_AS_STRING(dirName)); + strcat(temp, "/"); + strcat(temp, linkData); + Py_DECREF(g_FileName); + g_FileName = PyString_FromString(temp); + } + if (!g_FileName) + return FatalError("cannot create string for linked file name"); + fileName = PyString_AS_STRING(g_FileName); + } +#endif + + // calculate and store directory name + if (GetDirName(fileName, &g_DirName) < 0) + return -1; + + // calculate and store exclusive zip file name + strcpy(temp, fileName); + ptr = temp + strlen(temp) - 1; + while (ptr > temp && *ptr != SEP && *ptr != '.') + ptr--; + if (*ptr == '.') + *ptr = '\0'; + strcat(temp, ".zip"); + g_ExclusiveZipFileName = PyString_FromString(temp); + if (!g_ExclusiveZipFileName) + return FatalError("cannot create string for exclusive zip file name"); + + // calculate and store shared zip file name + strcpy(temp, PyString_AS_STRING(g_DirName)); + ptr = temp + strlen(temp); + *ptr++ = SEP; + strcpy(ptr, "library.zip"); + g_SharedZipFileName = PyString_FromString(temp); + if (!g_SharedZipFileName) + return FatalError("cannot create string for shared zip file name"); + + return 0; +} + + +//----------------------------------------------------------------------------- +// SetPathToSearch() +// Set the path to search. This includes the file (for those situations where +// a zip file is attached to the executable itself), the directory where the +// executable is found (to search for extensions), the exclusive zip file +// name and the shared zip file name. +//----------------------------------------------------------------------------- +static int SetPathToSearch(void) +{ + PyObject *pathList; + + pathList = PySys_GetObject("path"); + if (!pathList) + return FatalError("cannot acquire sys.path"); + if (PyList_Insert(pathList, 0, g_FileName) < 0) + return FatalError("cannot insert file name into sys.path"); + if (PyList_Insert(pathList, 1, g_DirName) < 0) + return FatalError("cannot insert directory name into sys.path"); + if (PyList_Insert(pathList, 2, g_ExclusiveZipFileName) < 0) + return FatalError("cannot insert exclusive zip name into sys.path"); + if (PyList_Insert(pathList, 3, g_SharedZipFileName) < 0) + return FatalError("cannot insert shared zip name into sys.path"); + return 0; +} + + +//----------------------------------------------------------------------------- +// GetImporterHelper() +// Helper which is used to locate the importer for the initscript. +//----------------------------------------------------------------------------- +static PyObject *GetImporterHelper( + PyObject *module, // zipimport module + PyObject *fileName) // name of file to search +{ + PyObject *importer; + + importer = PyObject_CallMethod(module, "zipimporter", "O", fileName); + if (importer) + g_InitScriptZipFileName = fileName; + else + PyErr_Clear(); + return importer; +} + + +//----------------------------------------------------------------------------- +// GetImporter() +// Return the importer which will be used for importing the initialization +// script. The executable itself is searched first, followed by the exclusive +// zip file and finally by the shared zip file. +//----------------------------------------------------------------------------- +static int GetImporter( + PyObject **importer) // importer (OUT) +{ + PyObject *module; + + module = PyImport_ImportModule("zipimport"); + if (!module) + return FatalError("cannot import zipimport module"); + *importer = GetImporterHelper(module, g_FileName); + if (!*importer) { + *importer = GetImporterHelper(module, g_ExclusiveZipFileName); + if (!*importer) + *importer = GetImporterHelper(module, g_SharedZipFileName); + } + Py_DECREF(module); + if (!*importer) + return FatalError("cannot get zipimporter instance"); + return 0; +} + + +//----------------------------------------------------------------------------- +// PopulateInitScriptDict() +// Return the dictionary used by the initialization script. +//----------------------------------------------------------------------------- +static int PopulateInitScriptDict( + PyObject *dict) // dictionary to populate +{ + if (!dict) + return FatalError("unable to create temporary dictionary"); + if (PyDict_SetItemString(dict, "__builtins__", PyEval_GetBuiltins()) < 0) + return FatalError("unable to set __builtins__"); + if (PyDict_SetItemString(dict, "FILE_NAME", g_FileName) < 0) + return FatalError("unable to set FILE_NAME"); + if (PyDict_SetItemString(dict, "DIR_NAME", g_DirName) < 0) + return FatalError("unable to set DIR_NAME"); + if (PyDict_SetItemString(dict, "EXCLUSIVE_ZIP_FILE_NAME", + g_ExclusiveZipFileName) < 0) + return FatalError("unable to set EXCLUSIVE_ZIP_FILE_NAME"); + if (PyDict_SetItemString(dict, "SHARED_ZIP_FILE_NAME", + g_SharedZipFileName) < 0) + return FatalError("unable to set SHARED_ZIP_FILE_NAME"); + if (PyDict_SetItemString(dict, "INITSCRIPT_ZIP_FILE_NAME", + g_InitScriptZipFileName) < 0) + return FatalError("unable to set INITSCRIPT_ZIP_FILE_NAME"); + return 0; +} + + + + +//----------------------------------------------------------------------------- +// ExecuteScript() +// Execute the script found within the file. +//----------------------------------------------------------------------------- +static int ExecuteScript( + const char *fileName) // name of file containing Python code +{ + PyObject *importer, *dict, *code, *temp; + + if (SetExecutableName(fileName) < 0) + return -1; + if (SetPathToSearch() < 0) + return -1; + importer = NULL; + if (GetImporter(&importer) < 0) + return -1; + + // create and populate dictionary for initscript module + dict = PyDict_New(); + if (PopulateInitScriptDict(dict) < 0) { + Py_XDECREF(dict); + Py_DECREF(importer); + return -1; + } + + // locate and execute script + code = PyObject_CallMethod(importer, "get_code", "s", "cx_Freeze__init__"); + Py_DECREF(importer); + if (!code) + return FatalError("unable to locate initialization module"); + temp = PyEval_EvalCode( (PyCodeObject*) code, dict, dict); + Py_DECREF(code); + Py_DECREF(dict); + if (!temp) + return FatalScriptError(); + Py_DECREF(temp); + + return 0; +} + diff --git a/setup/installer/cx_Freeze/source/bases/Console.c b/setup/installer/cx_Freeze/source/bases/Console.c new file mode 100644 index 0000000000..d6a8a515a0 --- /dev/null +++ b/setup/installer/cx_Freeze/source/bases/Console.c @@ -0,0 +1,72 @@ +//----------------------------------------------------------------------------- +// Console.c +// Main routine for frozen programs which run in a console. +//----------------------------------------------------------------------------- + +#include +#ifdef __WIN32__ +#include +#endif + +//----------------------------------------------------------------------------- +// FatalError() +// Prints a fatal error. +//----------------------------------------------------------------------------- +static int FatalError( + const char *message) // message to print +{ + PyErr_Print(); + Py_FatalError(message); + return -1; +} + + +//----------------------------------------------------------------------------- +// FatalScriptError() +// Prints a fatal error in the initialization script. +//----------------------------------------------------------------------------- +static int FatalScriptError(void) +{ + PyErr_Print(); + return -1; +} + + +#include "Common.c" + + +//----------------------------------------------------------------------------- +// main() +// Main routine for frozen programs. +//----------------------------------------------------------------------------- +int main(int argc, char **argv) +{ + const char *fileName; + char *encoding; + + // initialize Python + Py_NoSiteFlag = 1; + Py_FrozenFlag = 1; + Py_IgnoreEnvironmentFlag = 1; + + encoding = getenv("PYTHONIOENCODING"); + if (encoding != NULL) { + Py_FileSystemDefaultEncoding = strndup(encoding, 100); + } + + Py_SetPythonHome(""); + Py_SetProgramName(argv[0]); + fileName = Py_GetProgramFullPath(); + + Py_Initialize(); + PySys_SetArgv(argc, argv); + + + // do the work + if (ExecuteScript(fileName) < 0) + return 1; + + Py_Finalize(); + return 0; +} + diff --git a/setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c b/setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c new file mode 100644 index 0000000000..3ad00f8488 --- /dev/null +++ b/setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c @@ -0,0 +1,60 @@ +//----------------------------------------------------------------------------- +// ConsoleKeepPath.c +// Main routine for frozen programs which need a Python installation to do +// their work. +//----------------------------------------------------------------------------- + +#include +#ifdef __WIN32__ +#include +#endif + +//----------------------------------------------------------------------------- +// FatalError() +// Prints a fatal error. +//----------------------------------------------------------------------------- +static int FatalError( + const char *message) // message to print +{ + PyErr_Print(); + Py_FatalError(message); + return -1; +} + + +//----------------------------------------------------------------------------- +// FatalScriptError() +// Prints a fatal error in the initialization script. +//----------------------------------------------------------------------------- +static int FatalScriptError(void) +{ + PyErr_Print(); + return -1; +} + + +#include "Common.c" + + +//----------------------------------------------------------------------------- +// main() +// Main routine for frozen programs. +//----------------------------------------------------------------------------- +int main(int argc, char **argv) +{ + const char *fileName; + + // initialize Python + Py_SetProgramName(argv[0]); + fileName = Py_GetProgramFullPath(); + Py_Initialize(); + PySys_SetArgv(argc, argv); + + // do the work + if (ExecuteScript(fileName) < 0) + return 1; + + Py_Finalize(); + return 0; +} + diff --git a/setup/installer/cx_Freeze/source/bases/Win32GUI.c b/setup/installer/cx_Freeze/source/bases/Win32GUI.c new file mode 100644 index 0000000000..f5bbe74dba --- /dev/null +++ b/setup/installer/cx_Freeze/source/bases/Win32GUI.c @@ -0,0 +1,242 @@ +//----------------------------------------------------------------------------- +// Win32GUI.c +// Main routine for frozen programs written for the Win32 GUI subsystem. +//----------------------------------------------------------------------------- + +#include +#include + +//----------------------------------------------------------------------------- +// FatalError() +// Handle a fatal error. +//----------------------------------------------------------------------------- +static int FatalError( + char *a_Message) // message to display +{ + MessageBox(NULL, a_Message, "cx_Freeze Fatal Error", MB_ICONERROR); + Py_Finalize(); + return -1; +} + + +//----------------------------------------------------------------------------- +// StringifyObject() +// Stringify a Python object. +//----------------------------------------------------------------------------- +static char *StringifyObject( + PyObject *object, // object to stringify + PyObject **stringRep) // string representation +{ + if (object) { + *stringRep = PyObject_Str(object); + if (*stringRep) + return PyString_AS_STRING(*stringRep); + return "Unable to stringify"; + } + + // object is NULL + *stringRep = NULL; + return "None"; +} + + +//----------------------------------------------------------------------------- +// FatalPythonErrorNoTraceback() +// Handle a fatal Python error without traceback. +//----------------------------------------------------------------------------- +static int FatalPythonErrorNoTraceback( + PyObject *origType, // exception type + PyObject *origValue, // exception value + char *message) // message to display +{ + PyObject *typeStrRep, *valueStrRep, *origTypeStrRep, *origValueStrRep; + char *totalMessage, *typeStr, *valueStr, *origTypeStr, *origValueStr; + PyObject *type, *value, *traceback; + int totalMessageLength; + char *messageFormat; + + // fetch error and string representations of the error + PyErr_Fetch(&type, &value, &traceback); + origTypeStr = StringifyObject(origType, &origTypeStrRep); + origValueStr = StringifyObject(origValue, &origValueStrRep); + typeStr = StringifyObject(type, &typeStrRep); + valueStr = StringifyObject(value, &valueStrRep); + + // fill out the message to be displayed + messageFormat = "Type: %s\nValue: %s\nOther Type: %s\nOtherValue: %s\n%s"; + totalMessageLength = strlen(origTypeStr) + strlen(origValueStr) + + strlen(typeStr) + strlen(valueStr) + strlen(message) + + strlen(messageFormat) + 1; + totalMessage = malloc(totalMessageLength); + if (!totalMessage) + return FatalError("Out of memory!"); + sprintf(totalMessage, messageFormat, typeStr, valueStr, origTypeStr, + origValueStr, message); + + // display the message + MessageBox(NULL, totalMessage, + "cx_Freeze: Python error in main script (traceback unavailable)", + MB_ICONERROR); + free(totalMessage); + return -1; +} + + +//----------------------------------------------------------------------------- +// ArgumentValue() +// Return a suitable argument value by replacing NULL with Py_None. +//----------------------------------------------------------------------------- +static PyObject *ArgumentValue( + PyObject *object) // argument to massage +{ + if (object) { + Py_INCREF(object); + return object; + } + Py_INCREF(Py_None); + return Py_None; +} + + +//----------------------------------------------------------------------------- +// HandleSystemExitException() +// Handles a system exit exception differently. If an integer value is passed +// through then that becomes the exit value; otherwise the string value of the +// value passed through is displayed in a message box. +//----------------------------------------------------------------------------- +static void HandleSystemExitException() +{ + PyObject *type, *value, *traceback, *valueStr; + int exitCode = 0; + char *message; + + PyErr_Fetch(&type, &value, &traceback); + if (PyInstance_Check(value)) { + PyObject *code = PyObject_GetAttrString(value, "code"); + if (code) { + Py_DECREF(value); + value = code; + if (value == Py_None) + Py_Exit(0); + } + } + if (PyInt_Check(value)) + exitCode = PyInt_AsLong(value); + else { + message = StringifyObject(value, &valueStr); + MessageBox(NULL, message, "cx_Freeze: Application Terminated", + MB_ICONERROR); + Py_XDECREF(valueStr); + exitCode = 1; + } + Py_Exit(exitCode); +} + + +//----------------------------------------------------------------------------- +// FatalScriptError() +// Handle a fatal Python error with traceback. +//----------------------------------------------------------------------------- +static int FatalScriptError() +{ + PyObject *type, *value, *traceback, *argsTuple, *module, *method, *result; + int tracebackLength, i; + char *tracebackStr; + + // if a system exception, handle it specially + if (PyErr_ExceptionMatches(PyExc_SystemExit)) + HandleSystemExitException(); + + // get the exception details + PyErr_Fetch(&type, &value, &traceback); + + // import the traceback module + module = PyImport_ImportModule("traceback"); + if (!module) + return FatalPythonErrorNoTraceback(type, value, + "Cannot import traceback module."); + + // get the format_exception method + method = PyObject_GetAttrString(module, "format_exception"); + Py_DECREF(module); + if (!method) + return FatalPythonErrorNoTraceback(type, value, + "Cannot get format_exception method."); + + // create a tuple for the arguments + argsTuple = PyTuple_New(3); + if (!argsTuple) { + Py_DECREF(method); + return FatalPythonErrorNoTraceback(type, value, + "Cannot create arguments tuple for traceback."); + } + PyTuple_SET_ITEM(argsTuple, 0, ArgumentValue(type)); + PyTuple_SET_ITEM(argsTuple, 1, ArgumentValue(value)); + PyTuple_SET_ITEM(argsTuple, 2, ArgumentValue(traceback)); + + // call the format_exception method + result = PyObject_CallObject(method, argsTuple); + Py_DECREF(method); + Py_DECREF(argsTuple); + if (!result) + return FatalPythonErrorNoTraceback(type, value, + "Failed calling format_exception method."); + + // determine length of string representation of formatted traceback + tracebackLength = 1; + for (i = 0; i < PyList_GET_SIZE(result); i++) + tracebackLength += PyString_GET_SIZE(PyList_GET_ITEM(result, i)); + + // create a string representation of the formatted traceback + tracebackStr = malloc(tracebackLength); + if (!tracebackStr) { + Py_DECREF(result); + return FatalError("Out of memory!"); + } + tracebackStr[0] = '\0'; + for (i = 0; i < PyList_GET_SIZE(result); i++) + strcat(tracebackStr, PyString_AS_STRING(PyList_GET_ITEM(result, i))); + Py_DECREF(result); + + // bring up the error + MessageBox(NULL, tracebackStr, "cx_Freeze: Python error in main script", + MB_ICONERROR); + Py_Finalize(); + return 1; +} + + +#include "Common.c" + + +//----------------------------------------------------------------------------- +// WinMain() +// Main routine for the executable in Windows. +//----------------------------------------------------------------------------- +int WINAPI WinMain( + HINSTANCE instance, // handle to application + HINSTANCE prevInstance, // previous handle to application + LPSTR commandLine, // command line + int showFlag) // show flag +{ + const char *fileName; + + // initialize Python + Py_NoSiteFlag = 1; + Py_FrozenFlag = 1; + Py_IgnoreEnvironmentFlag = 1; + Py_SetPythonHome(""); + Py_SetProgramName(__argv[0]); + fileName = Py_GetProgramFullPath(); + Py_Initialize(); + PySys_SetArgv(__argc, __argv); + + // do the work + if (ExecuteScript(fileName) < 0) + return 1; + + // terminate Python + Py_Finalize(); + return 0; +} + diff --git a/setup/installer/cx_Freeze/source/bases/dummy.rc b/setup/installer/cx_Freeze/source/bases/dummy.rc new file mode 100644 index 0000000000..5c1fa1a194 --- /dev/null +++ b/setup/installer/cx_Freeze/source/bases/dummy.rc @@ -0,0 +1,5 @@ +STRINGTABLE +{ + 1, "Just to ensure that buggy EndUpdateResource doesn't fall over." +} + diff --git a/setup/installer/cx_Freeze/source/bases/manifest.rc b/setup/installer/cx_Freeze/source/bases/manifest.rc new file mode 100644 index 0000000000..2b7ee27ab5 --- /dev/null +++ b/setup/installer/cx_Freeze/source/bases/manifest.rc @@ -0,0 +1,3 @@ +#include "dummy.rc" + +1 24 source/bases/manifest.txt diff --git a/setup/installer/cx_Freeze/source/util.c b/setup/installer/cx_Freeze/source/util.c new file mode 100644 index 0000000000..1c8eb0c0ca --- /dev/null +++ b/setup/installer/cx_Freeze/source/util.c @@ -0,0 +1,418 @@ +//----------------------------------------------------------------------------- +// util.c +// Shared library for use by cx_Freeze. +//----------------------------------------------------------------------------- + +#include + +#ifdef WIN32 +#include +#include + +#pragma pack(2) + +typedef struct { + BYTE bWidth; // Width, in pixels, of the image + BYTE bHeight; // Height, in pixels, of the image + BYTE bColorCount; // Number of colors in image + BYTE bReserved; // Reserved ( must be 0) + WORD wPlanes; // Color Planes + WORD wBitCount; // Bits per pixel + DWORD dwBytesInRes; // How many bytes in this resource? + DWORD dwImageOffset; // Where in the file is this image? +} ICONDIRENTRY; + +typedef struct { + WORD idReserved; // Reserved (must be 0) + WORD idType; // Resource Type (1 for icons) + WORD idCount; // How many images? + ICONDIRENTRY idEntries[0]; // An entry for each image +} ICONDIR; + +typedef struct { + BYTE bWidth; // Width, in pixels, of the image + BYTE bHeight; // Height, in pixels, of the image + BYTE bColorCount; // Number of colors in image + BYTE bReserved; // Reserved ( must be 0) + WORD wPlanes; // Color Planes + WORD wBitCount; // Bits per pixel + DWORD dwBytesInRes; // How many bytes in this resource? + WORD nID; // resource ID +} GRPICONDIRENTRY; + +typedef struct { + WORD idReserved; // Reserved (must be 0) + WORD idType; // Resource Type (1 for icons) + WORD idCount; // How many images? + GRPICONDIRENTRY idEntries[0]; // An entry for each image +} GRPICONDIR; +#endif + +//----------------------------------------------------------------------------- +// Globals +//----------------------------------------------------------------------------- +#ifdef WIN32 +static PyObject *g_BindErrorException = NULL; +static PyObject *g_ImageNames = NULL; +#endif + + +#ifdef WIN32 +//----------------------------------------------------------------------------- +// BindStatusRoutine() +// Called by BindImageEx() at various points. This is used to determine the +// dependency tree which is later examined by cx_Freeze. +//----------------------------------------------------------------------------- +static BOOL __stdcall BindStatusRoutine( + IMAGEHLP_STATUS_REASON reason, // reason called + PSTR imageName, // name of image being examined + PSTR dllName, // name of DLL + ULONG virtualAddress, // computed virtual address + ULONG parameter) // parameter (value depends on reason) +{ + char fileName[MAX_PATH + 1]; + + switch (reason) { + case BindImportModule: + if (!SearchPath(NULL, dllName, NULL, sizeof(fileName), fileName, + NULL)) + return FALSE; + Py_INCREF(Py_None); + if (PyDict_SetItemString(g_ImageNames, fileName, Py_None) < 0) + return FALSE; + break; + default: + break; + } + return TRUE; +} + + +//----------------------------------------------------------------------------- +// GetFileData() +// Return the data for the given file. +//----------------------------------------------------------------------------- +static int GetFileData( + const char *fileName, // name of file to read + char **data) // pointer to data (OUT) +{ + DWORD numberOfBytesRead, dataSize; + HANDLE file; + + file = CreateFile(fileName, GENERIC_READ, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (file == INVALID_HANDLE_VALUE) + return -1; + dataSize = GetFileSize(file, NULL); + if (dataSize == INVALID_FILE_SIZE) { + CloseHandle(file); + return -1; + } + *data = PyMem_Malloc(dataSize); + if (!*data) { + CloseHandle(file); + return -1; + } + if (!ReadFile(file, *data, dataSize, &numberOfBytesRead, NULL)) { + CloseHandle(file); + return -1; + } + CloseHandle(file); + return 0; +} + + +//----------------------------------------------------------------------------- +// CreateGroupIconResource() +// Return the group icon resource given the icon file data. +//----------------------------------------------------------------------------- +static GRPICONDIR *CreateGroupIconResource( + ICONDIR *iconDir, // icon information + DWORD *resourceSize) // size of resource (OUT) +{ + GRPICONDIR *groupIconDir; + int i; + + *resourceSize = sizeof(GRPICONDIR) + + sizeof(GRPICONDIRENTRY) * iconDir->idCount; + groupIconDir = PyMem_Malloc(*resourceSize); + if (!groupIconDir) + return NULL; + groupIconDir->idReserved = iconDir->idReserved; + groupIconDir->idType = iconDir->idType; + groupIconDir->idCount = iconDir->idCount; + for (i = 0; i < iconDir->idCount; i++) { + groupIconDir->idEntries[i].bWidth = iconDir->idEntries[i].bWidth; + groupIconDir->idEntries[i].bHeight = iconDir->idEntries[i].bHeight; + groupIconDir->idEntries[i].bColorCount = + iconDir->idEntries[i].bColorCount; + groupIconDir->idEntries[i].bReserved = iconDir->idEntries[i].bReserved; + groupIconDir->idEntries[i].wPlanes = iconDir->idEntries[i].wPlanes; + groupIconDir->idEntries[i].wBitCount = iconDir->idEntries[i].wBitCount; + groupIconDir->idEntries[i].dwBytesInRes = + iconDir->idEntries[i].dwBytesInRes; + groupIconDir->idEntries[i].nID = i + 1; + } + + return groupIconDir; +} + + +//----------------------------------------------------------------------------- +// ExtAddIcon() +// Add the icon as a resource to the specified file. +//----------------------------------------------------------------------------- +static PyObject *ExtAddIcon( + PyObject *self, // passthrough argument + PyObject *args) // arguments +{ + char *executableName, *iconName, *data, *iconData; + GRPICONDIR *groupIconDir; + DWORD resourceSize; + ICONDIR *iconDir; + BOOL succeeded; + HANDLE handle; + int i; + + if (!PyArg_ParseTuple(args, "ss", &executableName, &iconName)) + return NULL; + + // begin updating the executable + handle = BeginUpdateResource(executableName, FALSE); + if (!handle) { + PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, + GetLastError(), executableName); + return NULL; + } + + // first attempt to get the data from the icon file + data = NULL; + succeeded = TRUE; + groupIconDir = NULL; + if (GetFileData(iconName, &data) < 0) + succeeded = FALSE; + iconDir = (ICONDIR*) data; + + // next, attempt to add a group icon resource + if (succeeded) { + groupIconDir = CreateGroupIconResource(iconDir, &resourceSize); + if (groupIconDir) + succeeded = UpdateResource(handle, RT_GROUP_ICON, + MAKEINTRESOURCE(1), + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), + groupIconDir, resourceSize); + else succeeded = FALSE; + } + + // next, add each icon as a resource + if (succeeded) { + for (i = 0; i < iconDir->idCount; i++) { + iconData = &data[iconDir->idEntries[i].dwImageOffset]; + resourceSize = iconDir->idEntries[i].dwBytesInRes; + succeeded = UpdateResource(handle, RT_ICON, MAKEINTRESOURCE(i + 1), + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), iconData, + resourceSize); + if (!succeeded) + break; + } + } + + // finish writing the resource (or discarding the changes upon an error) + if (!EndUpdateResource(handle, !succeeded)) { + if (succeeded) { + succeeded = FALSE; + PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, + GetLastError(), executableName); + } + } + + // clean up + if (groupIconDir) + PyMem_Free(groupIconDir); + if (data) + PyMem_Free(data); + if (!succeeded) + return NULL; + + Py_INCREF(Py_None); + return Py_None; +} + + +//----------------------------------------------------------------------------- +// ExtBeginUpdateResource() +// Wrapper for BeginUpdateResource(). +//----------------------------------------------------------------------------- +static PyObject *ExtBeginUpdateResource( + PyObject *self, // passthrough argument + PyObject *args) // arguments +{ + BOOL deleteExistingResources; + char *fileName; + HANDLE handle; + + deleteExistingResources = TRUE; + if (!PyArg_ParseTuple(args, "s|i", &fileName, &deleteExistingResources)) + return NULL; + handle = BeginUpdateResource(fileName, deleteExistingResources); + if (!handle) { + PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, + GetLastError(), fileName); + return NULL; + } + return PyInt_FromLong((long) handle); +} + + +//----------------------------------------------------------------------------- +// ExtUpdateResource() +// Wrapper for UpdateResource(). +//----------------------------------------------------------------------------- +static PyObject *ExtUpdateResource( + PyObject *self, // passthrough argument + PyObject *args) // arguments +{ + int resourceType, resourceId, resourceDataSize; + char *resourceData; + HANDLE handle; + + if (!PyArg_ParseTuple(args, "iiis#", &handle, &resourceType, &resourceId, + &resourceData, &resourceDataSize)) + return NULL; + if (!UpdateResource(handle, MAKEINTRESOURCE(resourceType), + MAKEINTRESOURCE(resourceId), + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), resourceData, + resourceDataSize)) { + PyErr_SetExcFromWindowsErr(PyExc_WindowsError, GetLastError()); + return NULL; + } + + Py_INCREF(Py_None); + return Py_None; +} + + +//----------------------------------------------------------------------------- +// ExtEndUpdateResource() +// Wrapper for EndUpdateResource(). +//----------------------------------------------------------------------------- +static PyObject *ExtEndUpdateResource( + PyObject *self, // passthrough argument + PyObject *args) // arguments +{ + BOOL discardChanges; + HANDLE handle; + + discardChanges = FALSE; + if (!PyArg_ParseTuple(args, "i|i", &handle, &discardChanges)) + return NULL; + if (!EndUpdateResource(handle, discardChanges)) { + PyErr_SetExcFromWindowsErr(PyExc_WindowsError, GetLastError()); + return NULL; + } + + Py_INCREF(Py_None); + return Py_None; +} + + +//----------------------------------------------------------------------------- +// ExtGetDependentFiles() +// Return a list of files that this file depends on. +//----------------------------------------------------------------------------- +static PyObject *ExtGetDependentFiles( + PyObject *self, // passthrough argument + PyObject *args) // arguments +{ + PyObject *results; + char *imageName; + + if (!PyArg_ParseTuple(args, "s", &imageName)) + return NULL; + g_ImageNames = PyDict_New(); + if (!g_ImageNames) + return NULL; + if (!BindImageEx(BIND_NO_BOUND_IMPORTS | BIND_NO_UPDATE | BIND_ALL_IMAGES, + imageName, NULL, NULL, BindStatusRoutine)) { + Py_DECREF(g_ImageNames); + PyErr_SetExcFromWindowsErrWithFilename(g_BindErrorException, + GetLastError(), imageName); + return NULL; + } + results = PyDict_Keys(g_ImageNames); + Py_DECREF(g_ImageNames); + return results; +} + + +//----------------------------------------------------------------------------- +// ExtGetSystemDir() +// Return the Windows directory (C:\Windows for example). +//----------------------------------------------------------------------------- +static PyObject *ExtGetSystemDir( + PyObject *self, // passthrough argument + PyObject *args) // arguments (ignored) +{ + char dir[MAX_PATH + 1]; + + if (GetSystemDirectory(dir, sizeof(dir))) + return PyString_FromString(dir); + PyErr_SetExcFromWindowsErr(PyExc_RuntimeError, GetLastError()); + return NULL; +} +#endif + + +//----------------------------------------------------------------------------- +// ExtSetOptimizeFlag() +// Set the optimize flag as needed. +//----------------------------------------------------------------------------- +static PyObject *ExtSetOptimizeFlag( + PyObject *self, // passthrough argument + PyObject *args) // arguments +{ + if (!PyArg_ParseTuple(args, "i", &Py_OptimizeFlag)) + return NULL; + Py_INCREF(Py_None); + return Py_None; +} + + +//----------------------------------------------------------------------------- +// Methods +//----------------------------------------------------------------------------- +static PyMethodDef g_ModuleMethods[] = { + { "SetOptimizeFlag", ExtSetOptimizeFlag, METH_VARARGS }, +#ifdef WIN32 + { "BeginUpdateResource", ExtBeginUpdateResource, METH_VARARGS }, + { "UpdateResource", ExtUpdateResource, METH_VARARGS }, + { "EndUpdateResource", ExtEndUpdateResource, METH_VARARGS }, + { "AddIcon", ExtAddIcon, METH_VARARGS }, + { "GetDependentFiles", ExtGetDependentFiles, METH_VARARGS }, + { "GetSystemDir", ExtGetSystemDir, METH_NOARGS }, +#endif + { NULL } +}; + + +//----------------------------------------------------------------------------- +// initutil() +// Initialization routine for the shared libary. +//----------------------------------------------------------------------------- +void initutil(void) +{ + PyObject *module; + + module = Py_InitModule("cx_Freeze.util", g_ModuleMethods); + if (!module) + return; +#ifdef WIN32 + g_BindErrorException = PyErr_NewException("cx_Freeze.util.BindError", + NULL, NULL); + if (!g_BindErrorException) + return; + if (PyModule_AddObject(module, "BindError", g_BindErrorException) < 0) + return; +#endif +} + diff --git a/setup/installer/linux/freeze.py b/setup/installer/linux/freeze.py index 382c7ffeee..954033fb1b 100644 --- a/setup/installer/linux/freeze.py +++ b/setup/installer/linux/freeze.py @@ -48,7 +48,7 @@ class LinuxFreeze(Command): '/usr/lib/libsqlite3.so.0', '/usr/lib/libsqlite3.so.0', '/usr/lib/libmng.so.1', - '/usr/lib/libpodofo.so.0.8.1', + '/usr/lib/libpodofo.so.0.8.2', '/lib/libz.so.1', '/lib/libuuid.so.1', '/usr/lib/libtiff.so.5', @@ -116,6 +116,10 @@ class LinuxFreeze(Command): glob.glob('src/calibre/gui2/convert/*.py')] includes += ['calibre.gui2.catalog.'+x.split('/')[-1].rpartition('.')[0] for x in \ glob.glob('src/calibre/gui2/catalog/*.py')] + includes += ['calibre.gui2.actions.'+x.split('/')[-1].rpartition('.')[0] for x in \ + glob.glob('src/calibre/gui2/actions/*.py')] + includes += ['calibre.gui2.preferences.'+x.split('/')[-1].rpartition('.')[0] for x in \ + glob.glob('src/calibre/gui2/preferences/*.py')] LOADER = '/tmp/loader.py' diff --git a/setup/installer/osx/app/main.py b/setup/installer/osx/app/main.py index c95be6752c..565b5dd07d 100644 --- a/setup/installer/osx/app/main.py +++ b/setup/installer/osx/app/main.py @@ -373,6 +373,7 @@ class Py2App(object): CFBundleName=APPNAME, CFBundleIdentifier='net.kovidgoyal.calibre', CFBundleVersion=VERSION, + CFBundleShortVersionString=VERSION, CFBundlePackageType='APPL', CFBundleSignature='????', CFBundleExecutable='calibre', @@ -400,7 +401,7 @@ class Py2App(object): @flush def add_podofo(self): info('\nAdding PoDoFo') - pdf = join(SW, 'lib', 'libpodofo.0.8.1.dylib') + pdf = join(SW, 'lib', 'libpodofo.0.8.2.dylib') self.install_dylib(pdf) @flush diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index 8f1cc80bb5..f41b7215b5 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -230,14 +230,14 @@ SET(WANT_LIB64 FALSE) SET(PODOFO_BUILD_SHARED TRUE) SET(PODOFO_BUILD_STATIC FALSE) -cp build/podofo/build/src/Release/podofo.dll bin/ -cp build/podofo/build/src/Release/podofo.lib lib/ -cp build/podofo/build/src/Release/podofo.exp lib/ +cp build/podofo-*/build/src/Release/podofo.dll bin/ +cp build/podofo-*/build/src/Release/podofo.lib lib/ +cp build/podofo-*/build/src/Release/podofo.exp lib/ -cp build/podofo/build/podofo_config.h include/podofo/ -cp -r build/podofo/src/* include/podofo/ +cp build/podofo-*/build/podofo_config.h include/podofo/ +cp -r build/podofo-*/src/* include/podofo/ -You have to use >0.8.1 (>= revision 1269) +You have to use >=0.8.2 The following patch (against -r1269) was required to get it to compile: diff --git a/src/calibre/constants.py b/src/calibre/constants.py index f8d6253912..49ce83864e 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.7.14' +__version__ = '0.7.16' __author__ = "Kovid Goyal " import re @@ -84,6 +84,9 @@ if plugins is None: # }}} # config_dir {{{ + +CONFIG_DIR_MODE = 0700 + if os.environ.has_key('CALIBRE_CONFIG_DIRECTORY'): config_dir = os.path.abspath(os.environ['CALIBRE_CONFIG_DIRECTORY']) elif iswindows: @@ -98,5 +101,20 @@ elif isosx: else: bdir = os.path.abspath(os.path.expanduser(os.environ.get('XDG_CONFIG_HOME', '~/.config'))) config_dir = os.path.join(bdir, 'calibre') + try: + os.makedirs(config_dir, mode=CONFIG_DIR_MODE) + except: + pass + if not os.access(config_dir, os.W_OK) or not os.access(config_dir, os.X_OK): + print 'No write acces to', config_dir, 'using a temporary dir instead' + import tempfile, atexit + config_dir = tempfile.mkdtemp(prefix='calibre-config-') + def cleanup_cdir(): + try: + import shutil + shutil.rmtree(config_dir) + except: + pass + atexit.register(cleanup_cdir) # }}} diff --git a/src/calibre/customize/__init__.py b/src/calibre/customize/__init__.py index 88c9324239..2b7c476579 100644 --- a/src/calibre/customize/__init__.py +++ b/src/calibre/customize/__init__.py @@ -8,7 +8,7 @@ from calibre.constants import numeric_version from calibre.ptempfile import PersistentTemporaryFile -class Plugin(object): +class Plugin(object): # {{{ ''' A calibre plugin. Useful members include: @@ -147,9 +147,9 @@ class Plugin(object): if hasattr(it, '__exit__'): it.__exit__(*args) +# }}} - -class FileTypePlugin(Plugin): +class FileTypePlugin(Plugin): # {{{ ''' A plugin that is associated with a particular set of file types. ''' @@ -191,7 +191,9 @@ class FileTypePlugin(Plugin): # Default implementation does nothing return path_to_ebook -class MetadataReaderPlugin(Plugin): +# }}} + +class MetadataReaderPlugin(Plugin): # {{{ ''' A plugin that implements reading metadata from a set of file types. ''' @@ -219,8 +221,9 @@ class MetadataReaderPlugin(Plugin): :return: A :class:`calibre.ebooks.metadata.MetaInformation` object ''' return None +# }}} -class MetadataWriterPlugin(Plugin): +class MetadataWriterPlugin(Plugin): # {{{ ''' A plugin that implements reading metadata from a set of file types. ''' @@ -249,7 +252,9 @@ class MetadataWriterPlugin(Plugin): ''' pass -class CatalogPlugin(Plugin): +# }}} + +class CatalogPlugin(Plugin): # {{{ ''' A plugin that implements a catalog generator. ''' @@ -352,7 +357,9 @@ class CatalogPlugin(Plugin): raise NotImplementedError('CatalogPlugin.generate_catalog() default ' 'method, should be overridden in subclass') -class InterfaceActionBase(Plugin): +# }}} + +class InterfaceActionBase(Plugin): # {{{ supported_platforms = ['windows', 'osx', 'linux'] author = 'Kovid Goyal' @@ -360,3 +367,44 @@ class InterfaceActionBase(Plugin): can_be_disabled = False actual_plugin = None +# }}} + +class PreferencesPlugin(Plugin): # {{{ + + supported_platforms = ['windows', 'osx', 'linux'] + author = 'Kovid Goyal' + type = _('Preferences') + can_be_disabled = False + + #: Import path to module that contains a class named ConfigWidget + #: which implements the ConfigWidgetInterface. Used by + #: :meth:`create_widget`. + config_widget = None + + #: Where in the list of categories the :attr:`category` of this plugin should be. + category_order = 100 + + #: Where in the list of names in a category, the :attr:`gui_name` of this + #: plugin should be + name_order = 100 + + #: The category this plugin should be in + category = None + + #: The name displayed to the user for this plugin + gui_name = None + + def create_widget(self, parent=None): + ''' + Create and return the actual Qt widget used for setting this group of + preferences. The widget must implement the ConfigWidgetInterface. + + The default implementation uses :attr:`config_widget` to instantiate + the widget. + ''' + base = __import__(self.config_widget, fromlist=[1]) + widget = base.ConfigWidget(parent) + return widget + +# }}} + diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 35d7c846d0..f7bc29784e 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -5,7 +5,8 @@ __copyright__ = '2008, Kovid Goyal ' import textwrap import os import glob -from calibre.customize import FileTypePlugin, MetadataReaderPlugin, MetadataWriterPlugin +from calibre.customize import FileTypePlugin, MetadataReaderPlugin, \ + MetadataWriterPlugin, PreferencesPlugin, InterfaceActionBase from calibre.constants import numeric_version from calibre.ebooks.metadata.archive import ArchiveExtract, get_cbz_metadata @@ -438,7 +439,7 @@ from calibre.ebooks.txt.output import TXTOutput from calibre.customize.profiles import input_profiles, output_profiles from calibre.devices.apple.driver import ITUNES -from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX +from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX, SPECTRA from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.cybook.driver import CYBOOK from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ @@ -460,7 +461,7 @@ from calibre.devices.hanvon.driver import N516, EB511, ALEX, AZBOOKA, THEBOOK from calibre.devices.edge.driver import EDGE from calibre.devices.teclast.driver import TECLAST_K3, NEWSMY, IPAPYRUS from calibre.devices.sne.driver import SNE -from calibre.devices.misc import PALMPRE, AVANT, SWEEX, PDNOVEL +from calibre.devices.misc import PALMPRE, AVANT, SWEEX, PDNOVEL, KOGAN from calibre.devices.folder_device.driver import FOLDER_DEVICE_FOR_CONFIG from calibre.devices.kobo.driver import KOBO @@ -566,7 +567,9 @@ plugins += [ AVANT, MENTOR, SWEEX, + KOGAN, PDNOVEL, + SPECTRA, ITUNES, ] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ @@ -575,7 +578,7 @@ plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ x.__name__.endswith('MetadataWriter')] plugins += input_profiles + output_profiles -from calibre.customize import InterfaceActionBase +# Interface Actions {{{ class ActionAdd(InterfaceActionBase): name = 'Add Books' @@ -668,3 +671,20 @@ plugins += [ActionAdd, ActionFetchAnnotations, ActionGenerateCatalog, ActionSendToDevice, ActionHelp, ActionPreferences, ActionSimilarBooks, ActionAddToLibrary, ActionEditCollections, ActionChooseLibrary, ActionCopyToLibrary] + +# }}} + +# Preferences Plugins {{{ + +class LookAndFeel(PreferencesPlugin): + name = 'Look & Feel' + gui_name = _('Look and Feel') + category = _('Interface') + category_order = 1 + name_order = 1 + config_widget = 'calibre.gui2.preferences.look_feel' + +plugins += [LookAndFeel] + +#}}} + diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py index b720964c92..265b42bad2 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py @@ -7,7 +7,8 @@ from contextlib import closing from calibre.customize import Plugin, CatalogPlugin, FileTypePlugin, \ MetadataReaderPlugin, MetadataWriterPlugin, \ - InterfaceActionBase as InterfaceAction + InterfaceActionBase as InterfaceAction, \ + PreferencesPlugin from calibre.customize.conversion import InputFormatPlugin, OutputFormatPlugin from calibre.customize.profiles import InputProfile, OutputProfile from calibre.customize.builtins import plugins as builtin_plugins @@ -257,6 +258,17 @@ def interface_actions(): yield plugin # }}} +# Preferences Plugins # {{{ + +def preferences_plugins(): + customization = config['plugin_customization'] + for plugin in _initialized_plugins: + if isinstance(plugin, PreferencesPlugin): + if not is_disabled(plugin): + plugin.site_customization = customization.get(plugin.name, '') + yield plugin +# }}} + # Metadata read/write {{{ _metadata_readers = {} _metadata_writers = {} diff --git a/src/calibre/devices/android/driver.py b/src/calibre/devices/android/driver.py index 969fdfbd19..7a451112c0 100644 --- a/src/calibre/devices/android/driver.py +++ b/src/calibre/devices/android/driver.py @@ -20,7 +20,7 @@ class ANDROID(USBMS): VENDOR_ID = { # HTC 0x0bb4 : { 0x0c02 : [0x100, 0x0227], 0x0c01 : [0x100, 0x0227], 0x0ff9 - : [0x0100, 0x0227, 0x0226]}, + : [0x0100, 0x0227, 0x0226], 0x0c87: [0x0100, 0x0227, 0x0226]}, # Motorola 0x22b8 : { 0x41d9 : [0x216], 0x2d67 : [0x100], 0x41db : [0x216], @@ -41,7 +41,7 @@ class ANDROID(USBMS): 0x502 : { 0x3203 : [0x0100]}, # Dell - 0x413c : { 0xb007 : [0x0100]}, + 0x413c : { 0xb007 : [0x0100, 0x0224]}, # Eken? 0x040d : { 0x0851 : [0x0001]}, diff --git a/src/calibre/devices/folder_device/driver.py b/src/calibre/devices/folder_device/driver.py index 1d00b32864..552e713ad8 100644 --- a/src/calibre/devices/folder_device/driver.py +++ b/src/calibre/devices/folder_device/driver.py @@ -16,7 +16,7 @@ class FOLDER_DEVICE_FOR_CONFIG(USBMS): description = _('Use an arbitrary folder as a device.') author = 'John Schember/Charles Haley' supported_platforms = ['windows', 'osx', 'linux'] - FORMATS = ['epub', 'fb2', 'mobi', 'lrf', 'tcr', 'pmlz', 'lit', 'rtf', 'rb', 'pdf', 'oeb', 'txt', 'pdb'] + FORMATS = ['epub', 'fb2', 'mobi', 'azw', 'lrf', 'tcr', 'pmlz', 'lit', 'rtf', 'rb', 'pdf', 'oeb', 'txt', 'pdb'] VENDOR_ID = 0xffff PRODUCT_ID = 0xffff BCD = 0xffff @@ -30,7 +30,7 @@ class FOLDER_DEVICE(USBMS): description = _('Use an arbitrary folder as a device.') author = 'John Schember/Charles Haley' supported_platforms = ['windows', 'osx', 'linux'] - FORMATS = ['epub', 'fb2', 'mobi', 'lrf', 'tcr', 'pmlz', 'lit', 'rtf', 'rb', 'pdf', 'oeb', 'txt', 'pdb'] + FORMATS = ['epub', 'fb2', 'mobi', 'azw', 'lrf', 'tcr', 'pmlz', 'lit', 'rtf', 'rb', 'pdf', 'oeb', 'txt', 'pdb'] VENDOR_ID = 0xffff PRODUCT_ID = 0xffff diff --git a/src/calibre/devices/hanlin/driver.py b/src/calibre/devices/hanlin/driver.py index 10dd333b8d..37f8430a66 100644 --- a/src/calibre/devices/hanlin/driver.py +++ b/src/calibre/devices/hanlin/driver.py @@ -86,7 +86,9 @@ class SPECTRA(HANLINV3): gui_name = 'Spectra' PRODUCT_ID = [0xa4a5] - FORMATS = ['epub', 'mobi', 'fb2', 'lit', 'prc', 'djvu', 'pdf', 'rtf', 'txt'] + FORMATS = ['epub', 'mobi', 'fb2', 'lit', 'prc', 'chm', 'djvu', 'pdf', 'rtf', 'txt'] + + SUPPORTS_SUB_DIRS = True class HANLINV5(HANLINV3): name = 'Hanlin V5 driver' diff --git a/src/calibre/devices/jetbook/driver.py b/src/calibre/devices/jetbook/driver.py index 6a3bc635ff..0d2e35e4fc 100644 --- a/src/calibre/devices/jetbook/driver.py +++ b/src/calibre/devices/jetbook/driver.py @@ -50,6 +50,8 @@ class JETBOOK(USBMS): def filename_callback(self, fname, mi): fileext = os.path.splitext(os.path.basename(fname))[1] + if fileext.lower() not in ('txt', 'pdf', 'fb2'): + return fname title = mi.title if mi.title else 'Unknown' title = title.replace(' ', '_') au = mi.format_authors() diff --git a/src/calibre/devices/kindle/driver.py b/src/calibre/devices/kindle/driver.py index 98e16bd207..a369b04929 100644 --- a/src/calibre/devices/kindle/driver.py +++ b/src/calibre/devices/kindle/driver.py @@ -25,7 +25,8 @@ system/userannotationlog collections.json refers to books via a SHA1 hash of the absolute path to the book (prefix is /mnt/us on my Kindle). The SHA1 hash may or may not be prefixed -by some characters, use the last 40 characters. +by some characters, use the last 40 characters. For books from Amazon, the ASIN +is used instead. Changing the metadata and resending the file doesn't seem to affect collections @@ -165,11 +166,11 @@ class KINDLE(USBMS): class KINDLE2(KINDLE): - name = 'Kindle 2 Device Interface' - description = _('Communicate with the Kindle 2 eBook reader.') + name = 'Kindle 2/3 Device Interface' + description = _('Communicate with the Kindle 2/3 eBook reader.') FORMATS = KINDLE.FORMATS + ['pdf'] - PRODUCT_ID = [0x0002] + PRODUCT_ID = [0x0002, 0x0004] BCD = [0x0100] def books(self, oncard=None, end_session=True): diff --git a/src/calibre/devices/kobo/books.py b/src/calibre/devices/kobo/books.py index a5b2e98d2f..9da99d75c8 100644 --- a/src/calibre/devices/kobo/books.py +++ b/src/calibre/devices/kobo/books.py @@ -20,10 +20,10 @@ class Book(MetaInformation): 'title_sort', 'comments', 'category', 'publisher', 'series', 'series_index', 'rating', 'isbn', 'language', 'application_id', 'book_producer', 'lccn', 'lcc', 'ddc', 'rights', 'publication_type', - 'uuid', + 'uuid', 'device_collections', ] - def __init__(self, prefix, lpath, title, authors, mime, date, ContentType, thumbnail_name, other=None): + def __init__(self, prefix, lpath, title, authors, mime, date, ContentType, thumbnail_name, size=None, other=None): MetaInformation.__init__(self, '') self.device_collections = [] @@ -42,10 +42,8 @@ class Book(MetaInformation): else: self.authors = [authors] self.mime = mime - try: - self.size = os.path.getsize(self.path) - except OSError: - self.size = 0 + + self.size = size # will be set later if None try: if ContentType == '6': self.datetime = time.strptime(date, "%Y-%m-%dT%H:%M:%S.%f") diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index 74468845f6..5e1c752c76 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -72,7 +72,7 @@ class KOBO(USBMS): for idx,b in enumerate(bl): bl_cache[b.lpath] = idx - def update_booklist(prefix, path, title, authors, mime, date, ContentType, ImageID): + def update_booklist(prefix, path, title, authors, mime, date, ContentType, ImageID, readstatus): changed = False # if path_to_ext(path) in self.FORMATS: try: @@ -82,26 +82,35 @@ class KOBO(USBMS): lpath = lpath.replace('\\', '/') # print "LPATH: " + lpath + playlist_map = {} + + if readstatus == 1: + if lpath not in playlist_map: + playlist_map[lpath] = [] + playlist_map[lpath].append("I\'m Reading") + path = self.normalize_path(path) # print "Normalized FileName: " + path idx = bl_cache.get(lpath, None) if idx is not None: + bl_cache[lpath] = None if ImageID is not None: imagename = self.normalize_path(self._main_prefix + '.kobo/images/' + ImageID + ' - NickelBookCover.parsed') #print "Image name Normalized: " + imagename if imagename is not None: bl[idx].thumbnail = ImageWrapper(imagename) - bl_cache[lpath] = None if ContentType != '6': if self.update_metadata_item(bl[idx]): # print 'update_metadata_item returned true' changed = True + bl[idx].device_collections = playlist_map.get(lpath, []) else: - book = Book(prefix, lpath, title, authors, mime, date, ContentType, ImageID) + book = self.book_from_path(prefix, lpath, title, authors, mime, date, ContentType, ImageID) # print 'Update booklist' if bl.add_book(book, replace_metadata=False): changed = True + book.device_collections = playlist_map.get(book.lpath, []) except: # Probably a path encoding error import traceback traceback.print_exc() @@ -117,7 +126,7 @@ class KOBO(USBMS): #cursor.close() query= 'select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ - 'ImageID from content where BookID is Null' + 'ImageID, ReadStatus from content where BookID is Null' cursor.execute (query) @@ -129,10 +138,10 @@ class KOBO(USBMS): mime = mime_type_ext(path_to_ext(row[3])) if oncard != 'carda' and oncard != 'cardb' and not row[3].startswith("file:///mnt/sd/"): - changed = update_booklist(self._main_prefix, path, row[0], row[1], mime, row[2], row[5], row[6]) + changed = update_booklist(self._main_prefix, path, row[0], row[1], mime, row[2], row[5], row[6], row[7]) # print "shortbook: " + path elif oncard == 'carda' and row[3].startswith("file:///mnt/sd/"): - changed = update_booklist(self._card_a_prefix, path, row[0], row[1], mime, row[2], row[5], row[6]) + changed = update_booklist(self._card_a_prefix, path, row[0], row[1], mime, row[2], row[5], row[6], row[7]) if changed: need_sync = True @@ -193,7 +202,7 @@ class KOBO(USBMS): connection.commit() cursor.close() - if ImageID != None: + if ImageID == None: print "Error condition ImageID was not found" print "You likely tried to delete a book that the kobo has not yet added to the database" @@ -307,10 +316,10 @@ class KOBO(USBMS): lpath = lpath[1:] #print "path: " + lpath #book = self.book_class(prefix, lpath, other=info) - lpath = self.normalize_path(prefix + lpath) book = Book(prefix, lpath, '', '', '', '', '', '', other=info) if book.size is None: book.size = os.stat(self.normalize_path(path)).st_size + book._new_book = True # Must be before add_book booklists[blist].add_book(book, replace_metadata=True) self.report_progress(1.0, _('Adding books to device metadata listing...')) @@ -371,3 +380,19 @@ class KOBO(USBMS): return USBMS.get_file(self, path, *args, **kwargs) + @classmethod + def book_from_path(cls, prefix, lpath, title, authors, mime, date, ContentType, ImageID): + from calibre.ebooks.metadata import MetaInformation + + if cls.settings().read_metadata or cls.MUST_READ_METADATA: + mi = cls.metadata_from_path(cls.normalize_path(os.path.join(prefix, lpath))) + else: + from calibre.ebooks.metadata.meta import metadata_from_filename + mi = metadata_from_filename(cls.normalize_path(os.path.basename(lpath)), + cls.build_template_regexp()) + if mi is None: + mi = MetaInformation(os.path.splitext(os.path.basename(lpath))[0], + [_('Unknown')]) + size = os.stat(cls.normalize_path(os.path.join(prefix, lpath))).st_size + book = Book(prefix, lpath, title, authors, mime, date, ContentType, ImageID, size=size, other=mi) + return book diff --git a/src/calibre/devices/misc.py b/src/calibre/devices/misc.py index 488867a438..7e8f5fbdd3 100644 --- a/src/calibre/devices/misc.py +++ b/src/calibre/devices/misc.py @@ -72,6 +72,15 @@ class SWEEX(USBMS): EBOOK_DIR_MAIN = '' SUPPORTS_SUB_DIRS = True +class KOGAN(SWEEX): + + name = 'Kogan Device Interface' + gui_name = 'Kogan' + description = _('Communicate with the Kogan') + VENDOR_NAME = 'LINUX' + WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'FILE-STOR_GADGET' + EBOOK_DIR_MAIN = 'Kogan eBooks' + class PDNOVEL(USBMS): name = 'Pandigital Novel device interface' gui_name = 'PD Novel' diff --git a/src/calibre/devices/prs505/sony_cache.py b/src/calibre/devices/prs505/sony_cache.py index a444c9e5e2..f05d9c0311 100644 --- a/src/calibre/devices/prs505/sony_cache.py +++ b/src/calibre/devices/prs505/sony_cache.py @@ -15,7 +15,8 @@ from calibre.devices.errors import DeviceError from calibre.devices.usbms.driver import debug_print from calibre.constants import DEBUG, preferred_encoding from calibre.ebooks.chardet import xml_to_unicode -from calibre.ebooks.metadata import authors_to_string, title_sort +from calibre.ebooks.metadata import authors_to_string, title_sort, \ + authors_to_sort_string # Utility functions {{{ EMPTY_CARD_CACHE = '''\ @@ -347,25 +348,29 @@ class XMLCache(object): # Update XML from JSON {{{ def update(self, booklists, collections_attributes): debug_print('Starting update', collections_attributes) + use_tz_var = False for i, booklist in booklists.items(): playlist_map = self.build_id_playlist_map(i) debug_print('Updating XML Cache:', i) root = self.record_roots[i] lpath_map = self.build_lpath_map(root) gtz_count = ltz_count = 0 + use_tz_var = False for book in booklist: path = os.path.join(self.prefixes[i], *(book.lpath.split('/'))) record = lpath_map.get(book.lpath, None) if record is None: record = self.create_text_record(root, i, book.lpath) - (gtz_count, ltz_count) = self.update_text_record(record, book, - path, i, gtz_count, ltz_count) + (gtz_count, ltz_count, use_tz_var) = \ + self.update_text_record(record, book, path, i, + gtz_count, ltz_count, use_tz_var) # Ensure the collections in the XML database are recorded for # this book if book.device_collections is None: book.device_collections = [] book.device_collections = playlist_map.get(book.lpath, []) - debug_print('Timezone votes: %d GMT, %d LTZ'%(gtz_count, ltz_count)) + debug_print('Timezone votes: %d GMT, %d LTZ, use_tz_var=%s'% + (gtz_count, ltz_count, use_tz_var)) self.update_playlists(i, root, booklist, collections_attributes) # Update the device collections because update playlist could have added # some new ones. @@ -463,21 +468,27 @@ class XMLCache(object): root.append(ans) return ans - def update_text_record(self, record, book, path, bl_index, gtz_count, ltz_count): + def update_text_record(self, record, book, path, bl_index, + gtz_count, ltz_count, use_tz_var): ''' Update the Sony database from the book. This is done if the timestamp in the db differs from the timestamp on the file. ''' # It seems that a Sony device can sometimes know what timezone it is in, - # and apparently converts the dates to GMT when it writes them to the - # db. Unfortunately, we can't tell when it does this, so we use a - # horrible heuristic. First, set dates only for new books, trying to - # avoid upsetting the sony. Use the timezone determined through the - # voting described next. Second, voting: if a book is not new, compare - # its Sony DB date against localtime and gmtime. Count the matches. When - # we must set a date, use the one with the most matches. Use localtime - # if the case of a tie, and hope it is right. + # and apparently converts the dates to GMT when it writes them to its + # DB. We can detect that a device is timezone-aware because there is a + # 'tz' variable in the Sony DB, which we can set to "0" to tell the + # device to ignore its own timezone when comparing mtime to the date in + # the DB. + + # Unfortunately, if there is no tz variable in the DB, then we can't + # tell when the device applies a timezone conversion. We use a horrible + # heuristic to work around this problem. First, set dates only for new + # books, trying to avoid upsetting the sony. Second, voting: if a book + # is not new, compare its Sony DB date against localtime and gmtime. + # Count the matches. When we must set a date, use the one with the most + # matches. Use localtime if the case of a tie, and hope it is right. timestamp = os.path.getmtime(path) rec_date = record.get('date', None) @@ -488,20 +499,25 @@ class XMLCache(object): return x if not getattr(book, '_new_book', False): # book is not new - if strftime(timestamp, zone=time.gmtime) == rec_date: - gtz_count += 1 - elif strftime(timestamp, zone=time.localtime) == rec_date: - ltz_count += 1 + if record.get('tz', None) is not None: + use_tz_var = True + if strftime(timestamp, zone=time.gmtime) == rec_date: + gtz_count += 1 + elif strftime(timestamp, zone=time.localtime) == rec_date: + ltz_count += 1 else: # book is new. Set the time using the current votes - if ltz_count >= gtz_count: + if use_tz_var: tz = time.localtime - debug_print("Using localtime TZ for new book", book.lpath) + record.set('tz', '0') + debug_print("Use localtime TZ and tz='0' for new book", book.lpath) + elif ltz_count >= gtz_count: + tz = time.localtime + debug_print("Use localtime TZ for new book", book.lpath) else: tz = time.gmtime - debug_print("Using GMT TZ for new book", book.lpath) + debug_print("Use GMT TZ for new book", book.lpath) date = strftime(timestamp, zone=tz) record.set('date', clean(date)) - record.set('size', clean(str(os.stat(path).st_size))) title = book.title if book.title else _('Unknown') record.set('title', clean(title)) @@ -509,8 +525,13 @@ class XMLCache(object): if not ts: ts = title_sort(title) record.set('titleSorter', clean(ts)) - if self.use_author_sort and book.author_sort is not None: - record.set('author', clean(book.author_sort)) + if self.use_author_sort: + if book.author_sort: + aus = book.author_sort + else: + debug_print('Author_sort is None for book', book.lpath) + aus = authors_to_sort_string(book.authors) + record.set('author', clean(aus)) else: record.set('author', clean(authors_to_string(book.authors))) ext = os.path.splitext(path)[1] @@ -526,7 +547,7 @@ class XMLCache(object): if 'id' not in record.attrib: num = self.max_id(record.getroottree().getroot()) record.set('id', str(num+1)) - return (gtz_count, ltz_count) + return (gtz_count, ltz_count, use_tz_var) # }}} # Writing the XML files {{{ diff --git a/src/calibre/devices/usbms/books.py b/src/calibre/devices/usbms/books.py index cdba980642..959f26199c 100644 --- a/src/calibre/devices/usbms/books.py +++ b/src/calibre/devices/usbms/books.py @@ -181,7 +181,9 @@ class CollectionsBookList(BookList): if lpath not in collections_lpaths[category]: collections_lpaths[category].add(lpath) collections[category].append(book) - if attr == 'series': + if attr == 'series' or \ + ('series' in collection_attributes and + getattr(book, 'series', None) == category): series_categories.add(category) # Sort collections for category, books in collections.items(): diff --git a/src/calibre/ebooks/conversion/preprocess.py b/src/calibre/ebooks/conversion/preprocess.py index 3a18d38b22..973e508746 100644 --- a/src/calibre/ebooks/conversion/preprocess.py +++ b/src/calibre/ebooks/conversion/preprocess.py @@ -5,8 +5,7 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import functools -import re +import functools, re from calibre import entity_to_unicode @@ -54,7 +53,7 @@ def chap_head(match): if not title: return '

'+chap+'


\n' else: - return '

'+chap+'
\n'+title+'


\n' + return '

'+chap+'

\n

'+title+'

\n' def wrap_lines(match): ital = match.group('ital') @@ -63,7 +62,7 @@ def wrap_lines(match): else: return ital+' ' -def line_length(raw, percent): +def line_length(format, raw, percent): ''' raw is the raw text to find the line length to use for wrapping. percentage is a decimal number, 0 - 1 which is used to determine @@ -72,7 +71,10 @@ def line_length(raw, percent): median value. ''' raw = raw.replace(' ', ' ') - linere = re.compile('(?<=
).*?(?=
)', re.DOTALL) + if format == 'html': + linere = re.compile('(?<=)', re.DOTALL) + elif format == 'pdf': + linere = re.compile('(?<=
).*?(?=
)', re.DOTALL) lines = linere.findall(raw) lengths = [] @@ -202,11 +204,8 @@ class HTMLPreProcessor(object): # Remove gray background (re.compile(r']+>'), lambda match : ''), - # Remove non breaking spaces - (re.compile(ur'\u00a0'), lambda match : ' '), - # Detect Chapters to match default XPATH in GUI - (re.compile(r'(?=<(/?br|p))(<(/?br|p)[^>]*)?>\s*(?P(||)?(Chapter|Epilogue|Prologue|Book|Part)\s*([\d\w-]+)?(||)?)(]*>|]*>)\n?((?=()?\s*\w+(\s+\w+)?()?(]*>|]*>))((?P(<i>)?\s*\w+(\s+\w+)?(</i>)?)(<br[^>]*>|</?p[^>]*>)))?', re.IGNORECASE), chap_head), + (re.compile(r'(?=<(/?br|p))(<(/?br|p)[^>]*)?>\s*(?P<chap>(<(i|b)>(<(i|b)>)?)?(.?Chapter|Epilogue|Prologue|Book|Part)\s*([\d\w-]+(\s\w+)?)?(</(i|b)>(</(i|b)>)?)?)</?(br|p)[^>]*>\s*(?P<title>(<(i|b)>)?\s*\w+(\s*\w+)?\s*(</(i|b)>)?\s*(</?(br|p)[^>]*>))?', re.IGNORECASE), chap_head), (re.compile(r'(?=<(/?br|p))(<(/?br|p)[^>]*)?>\s*(?P<chap>([A-Z \'"!]{5,})\s*(\d+|\w+)?)(</?p[^>]*>|<br[^>]*>)\n?((?=(<i>)?\s*\w+(\s+\w+)?(</i>)?(<br[^>]*>|</?p[^>]*>))((?P<title>.*)(<br[^>]*>|</?p[^>]*>)))?'), chap_head), # Have paragraphs show better @@ -251,20 +250,27 @@ class HTMLPreProcessor(object): def is_pdftohtml(self, src): return '<!-- created by calibre\'s pdftohtml -->' in src[:1000] - def __call__(self, html, remove_special_chars=None): + def __call__(self, html, remove_special_chars=None, + get_preprocess_html=False): if remove_special_chars is not None: html = remove_special_chars.sub('', html) html = html.replace('\0', '') + is_pdftohtml = self.is_pdftohtml(html) if self.is_baen(html): rules = [] elif self.is_book_designer(html): rules = self.BOOK_DESIGNER - elif self.is_pdftohtml(html): + elif is_pdftohtml: rules = self.PDFTOHTML else: rules = [] - if not self.extra_opts.keep_ligatures: + start_rules = [] + if is_pdftohtml: + # Remove non breaking spaces + start_rules.append((re.compile(ur'\u00a0'), lambda match : ' ')) + + if not getattr(self.extra_opts, 'keep_ligatures', False): html = _ligpat.sub(lambda m:LIGATURES[m.group()], html) end_rules = [] @@ -289,16 +295,42 @@ class HTMLPreProcessor(object): traceback.print_exc() if getattr(self.extra_opts, 'unwrap_factor', 0.0) > 0.01: - length = line_length(html, getattr(self.extra_opts, 'unwrap_factor')) + length = line_length('pdf', html, getattr(self.extra_opts, 'unwrap_factor')) if length: end_rules.append( # Un wrap using punctuation (re.compile(r'(?<=.{%i}[a-z\.,;:)\-IA])\s*(?P<ital></(i|b|u)>)?\s*(<p.*?>)\s*(?=(<(i|b|u)>)?\s*[\w\d(])' % length, re.UNICODE), wrap_lines), ) - for rule in self.PREPROCESS + rules + end_rules: + for rule in self.PREPROCESS + start_rules: html = rule[0].sub(rule[1], html) + if get_preprocess_html: + return html + + def dump(raw, where): + import os + dp = getattr(self.extra_opts, 'debug_pipeline', None) + if dp and os.path.exists(dp): + odir = os.path.join(dp, 'input') + if os.path.exists(odir): + odir = os.path.join(odir, where) + if not os.path.exists(odir): + os.makedirs(odir) + name, i = None, 0 + while not name or os.path.exists(os.path.join(odir, name)): + i += 1 + name = '%04d.html'%i + with open(os.path.join(odir, name), 'wb') as f: + f.write(raw.encode('utf-8')) + + #dump(html, 'pre-preprocess') + + for rule in rules + end_rules: + html = rule[0].sub(rule[1], html) + + #dump(html, 'post-preprocess') + # Handle broken XHTML w/ SVG (ugh) if 'svg:' in html and SVG_NS not in html: html = html.replace( diff --git a/src/calibre/ebooks/epub/fix/__init__.py b/src/calibre/ebooks/epub/fix/__init__.py index 5bdbd7c7f6..3eae56484e 100644 --- a/src/calibre/ebooks/epub/fix/__init__.py +++ b/src/calibre/ebooks/epub/fix/__init__.py @@ -11,6 +11,14 @@ from calibre.customize import Plugin class InvalidEpub(ValueError): pass +class ParseError(ValueError): + + def __init__(self, name, desc): + self.name = name + self.desc = desc + ValueError.__init__(self, + _('Failed to parse: %s with error: %s')%(name, desc)) + class ePubFixer(Plugin): supported_platforms = ['windows', 'osx', 'linux'] diff --git a/src/calibre/ebooks/epub/fix/container.py b/src/calibre/ebooks/epub/fix/container.py index b9af66d708..539d886312 100644 --- a/src/calibre/ebooks/epub/fix/container.py +++ b/src/calibre/ebooks/epub/fix/container.py @@ -8,8 +8,9 @@ __docformat__ = 'restructuredtext en' import os, posixpath, urllib, sys, re from lxml import etree +from lxml.etree import XMLSyntaxError -from calibre.ebooks.epub.fix import InvalidEpub +from calibre.ebooks.epub.fix import InvalidEpub, ParseError from calibre import guess_type, prepare_string_for_xml from calibre.ebooks.chardet import xml_to_unicode from calibre.constants import iswindows @@ -148,7 +149,10 @@ class Container(object): return self.cache[name] raw = self.get_raw(name) if name in self.mime_map: - raw = self._parse(raw, self.mime_map[name]) + try: + raw = self._parse(raw, self.mime_map[name]) + except XMLSyntaxError, err: + raise ParseError(name, unicode(err)) self.cache[name] = raw return raw diff --git a/src/calibre/ebooks/epub/fix/main.py b/src/calibre/ebooks/epub/fix/main.py index 3f9ca260b3..fbfe80551d 100644 --- a/src/calibre/ebooks/epub/fix/main.py +++ b/src/calibre/ebooks/epub/fix/main.py @@ -14,6 +14,8 @@ from calibre.utils.zipfile import ZipFile from calibre.utils.logging import default_log from calibre.customize.ui import epub_fixers from calibre.ebooks.epub.fix.container import Container +from calibre.ebooks.epub.fix import ParseError + def option_parser(): parser = OptionParser(usage=_( @@ -50,7 +52,11 @@ def main(args=sys.argv): default_log.error(_('You must specify an epub file')) return epub = os.path.abspath(args[1]) - run(epub, opts, default_log) + try: + run(epub, opts, default_log) + except ParseError, err: + default_log.error(unicode(err)) + raise SystemExit(1) if __name__ == '__main__': main() diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py index d61f4369e6..d0b680009a 100644 --- a/src/calibre/ebooks/fb2/fb2ml.py +++ b/src/calibre/ebooks/fb2/fb2ml.py @@ -86,11 +86,14 @@ class FB2MLizer(object): output.append(self.fb2_footer()) output = ''.join(output).replace(u'ghji87yhjko0Caliblre-toc-placeholder-for-insertion-later8ujko0987yjk', self.get_toc()) output = self.clean_text(output) + if self.opts.sectionize_chapters: + output = self.sectionize_chapters(output) return u'<?xml version="1.0" encoding="UTF-8"?>\n%s' % etree.tostring(etree.fromstring(output), encoding=unicode, pretty_print=True) def clean_text(self, text): - text = re.sub('<p>[ ]*</p>', '', text) - + text = re.sub(r'(?miu)<p>\s*</p>', '', text) + text = re.sub(r'(?miu)\s+</p>', '</p>', text) + text = re.sub(r'(?miu)</p><p>', '</p>\n\n<p>', text) return text def fb2_header(self): @@ -149,6 +152,11 @@ class FB2MLizer(object): self.oeb.warn('Ignoring toc item: %s not found in document.' % item) return ''.join(toc) + def sectionize_chapters(self, text): + text = re.sub(r'(?imsu)(?P<anchor><a\s+id="calibre_link-\d+"\s*/>)\s*(?P<strong>(<p>)*\s*<strong>.+?</strong>\s*(</p>)*)', lambda mo: '</section><section>%s<title>%s' % (mo.group('anchor'), mo.group('strong')), text) + text = re.sub(r'(?imsu)

\s*(?P)\s*

\s*(?P(

)*\s*.+?\s*(

)*)', lambda mo: '
%s%s' % (mo.group('anchor'), mo.group('strong')), text) + return text + def get_text(self): text = [] for item in self.oeb_book.spine: diff --git a/src/calibre/ebooks/fb2/output.py b/src/calibre/ebooks/fb2/output.py index 2bb49318af..d0125afe89 100644 --- a/src/calibre/ebooks/fb2/output.py +++ b/src/calibre/ebooks/fb2/output.py @@ -19,6 +19,12 @@ class FB2Output(OutputFormatPlugin): OptionRecommendation(name='inline_toc', recommended_value=False, level=OptionRecommendation.LOW, help=_('Add Table of Contents to beginning of the book.')), + OptionRecommendation(name='sectionize_chapters', + recommended_value=False, level=OptionRecommendation.LOW, + help=_('Try to turn chapters into individual sections. ' \ + 'WARNING: ' \ + 'This option is experimental. It can cause conversion ' \ + 'to fail. It can also produce unexpected output.')), ]) def convert(self, oeb_book, output_path, input_plugin, opts, log): diff --git a/src/calibre/ebooks/html/input.py b/src/calibre/ebooks/html/input.py index 73bc22be66..d57bfddd3e 100644 --- a/src/calibre/ebooks/html/input.py +++ b/src/calibre/ebooks/html/input.py @@ -24,6 +24,7 @@ from calibre.constants import islinux, isfreebsd, iswindows from calibre import unicode_path from calibre.utils.localization import get_lang from calibre.utils.filenames import ascii_filename +from calibre.ebooks.conversion.preprocess import line_length class Link(object): ''' @@ -489,5 +490,21 @@ class HTMLInput(InputFormatPlugin): return (None, None) return (None, raw) - - + def preprocess_html(self, html): + if not hasattr(self, 'log'): + from calibre.utils.logging import default_log + self.log = default_log + self.log("********* Preprocessing HTML *********") + # Detect Chapters to match the xpath in the GUI + chapdetect = re.compile(r'(?=]*>)?\s*(?P(<(i|b)><(i|b)>|<(i|b)>)?(.?Chapter|Epilogue|Prologue|Book|Part|Dedication)\s*([\d\w-]+(\s\w+)?)?(|)?)(]*>)', re.IGNORECASE) + html = chapdetect.sub('

'+'\g'+'

\n', html) + # Unwrap lines using punctation if the median length of all lines is less than 150 + # + # Insert extra line feeds so the line length regex functions properly + html = re.sub(r"

", "

\n", html) + length = line_length('html', html, 0.4) + self.log.debug("*** Median length is " + str(length) + " ***") + unwrap = re.compile(r"(?<=.{%i}[a-z,;:\IA])\s*\s*()?\s*(?P<(p|span|div)[^>]*>\s*(<(p|span|div)[^>]*>\s*\s*)\s*){0,3}\s*<(span|div|p)[^>]*>\s*(<(span|div|p)[^>]*>)?\s*" % length, re.UNICODE) + if length < 150: + html = unwrap.sub(' ', html) + return html diff --git a/src/calibre/ebooks/lit/input.py b/src/calibre/ebooks/lit/input.py index 89873196c9..9bf20fb1d4 100644 --- a/src/calibre/ebooks/lit/input.py +++ b/src/calibre/ebooks/lit/input.py @@ -6,7 +6,10 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' +import re + from calibre.customize.conversion import InputFormatPlugin +from calibre.ebooks.conversion.preprocess import line_length class LITInput(InputFormatPlugin): @@ -19,6 +22,7 @@ class LITInput(InputFormatPlugin): accelerators): from calibre.ebooks.lit.reader import LitReader from calibre.ebooks.conversion.plumber import create_oebbook + self.log = log return create_oebbook(log, stream, options, self, reader=LitReader) def postprocess_book(self, oeb, opts, log): @@ -49,3 +53,20 @@ class LITInput(InputFormatPlugin): ne = copy.deepcopy(elem) pre.append(ne) + + def preprocess_html(self, html): + self.log("********* Preprocessing HTML *********") + # Detect Chapters to match the xpath in the GUI + chapdetect = re.compile(r'(?=]*>)?\s*(?P(<(i|b)><(i|b)>|<(i|b)>)?(.?Chapter|Epilogue|Prologue|Book|Part|Dedication)\s*([\d\w-]+(\s\w+)?)?(|)?)(]*>)', re.IGNORECASE) + html = chapdetect.sub('

'+'\g'+'

\n', html) + # Unwrap lines using punctation if the median length of all lines is less than 150 + # + # Insert extra line feeds so the line length regex functions properly + html = re.sub(r"

", "

\n", html) + length = line_length('html', html, 0.4) + self.log("*** Median length is " + str(length) + " ***") + unwrap = re.compile(r"(?<=.{%i}[a-z,;:\IA])\s*\s*()?\s*(?P<(p|span|div)[^>]*>\s*(<(p|span|div)[^>]*>\s*\s*)\s*){0,3}\s*<(span|div|p)[^>]*>\s*(<(span|div|p)[^>]*>)?\s*" % length, re.UNICODE) + if length < 150: + html = unwrap.sub(' ', html) + return html + diff --git a/src/calibre/ebooks/metadata/__init__.py b/src/calibre/ebooks/metadata/__init__.py index 8ce81c73d5..d4a21e2c8c 100644 --- a/src/calibre/ebooks/metadata/__init__.py +++ b/src/calibre/ebooks/metadata/__init__.py @@ -46,8 +46,12 @@ def authors_to_sort_string(authors): return ' & '.join(map(author_to_author_sort, authors)) _title_pat = re.compile('^(A|The|An)\s+', re.IGNORECASE) +_ignore_starts = u'\'"'+u''.join(unichr(x) for x in range(0x2018, 0x201e)+[0x2032, 0x2033]) def title_sort(title): + title = title.strip() + if title and title[0] in _ignore_starts: + title = title[1:] match = _title_pat.search(title) if match: prep = match.group(1) diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index 10f1ee32d6..410bf6e789 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -2151,6 +2151,26 @@ class MobiWriter(object): indxt.write(decint(self._ctoc_map[index]['titleOffset'], DECINT_FORWARD)) # vwi title offset in CNCX indxt.write(decint(0, DECINT_FORWARD)) # unknown byte + def _write_subchapter_node(self, indxt, indices, index, offset, length, count): + # This style works without a parent chapter, mimicking what KindleGen does, + # using a value of 0x0B for parentIndex + # Writes an INDX1 NCXEntry of entryType 0x1F - subchapter + if self.opts.verbose > 2: + # *** GR: Turn this off while I'm developing my code + #self._oeb.log.debug('Writing TOC node to IDXT:', node.title, 'href:', node.href) + pass + + pos = 0xc0 + indxt.tell() + indices.write(pack('>H', pos)) # Save the offset for IDXTIndices + name = "%04X"%count + indxt.write(chr(len(name)) + name) # Write the name + indxt.write(INDXT['subchapter']) # entryType [0x0F | 0xDF | 0xFF | 0x3F] + indxt.write(decint(offset, DECINT_FORWARD)) # offset + indxt.write(decint(length, DECINT_FORWARD)) # length + indxt.write(decint(self._ctoc_map[index]['titleOffset'], DECINT_FORWARD)) # vwi title offset in CNCX + indxt.write(decint(0, DECINT_FORWARD)) # unknown byte + indxt.write(decint(0xb, DECINT_FORWARD)) # parentIndex - null + def _compute_offset_length(self, i, node, entries) : h = node.href if h not in self._id_offsets: diff --git a/src/calibre/ebooks/oeb/stylizer.py b/src/calibre/ebooks/oeb/stylizer.py index f465935376..d10ea12394 100644 --- a/src/calibre/ebooks/oeb/stylizer.py +++ b/src/calibre/ebooks/oeb/stylizer.py @@ -168,12 +168,18 @@ class Stylizer(object): item.href)) continue stylesheets.append(sitem.data) - for x in (extra_css, user_css): + csses = {'extra_css':extra_css, 'user_css':user_css} + for w, x in csses.items(): if x: - text = XHTML_CSS_NAMESPACE + x - stylesheet = parser.parseString(text, href=cssname) - stylesheet.namespaces['h'] = XHTML_NS - stylesheets.append(stylesheet) + try: + text = XHTML_CSS_NAMESPACE + x + stylesheet = parser.parseString(text, href=cssname) + stylesheet.namespaces['h'] = XHTML_NS + stylesheets.append(stylesheet) + except: + self.logger.exception('Failed to parse %s, ignoring.'%w) + self.logger.debug('Bad css: ') + self.logger.debug(x) rules = [] index = 0 self.stylesheets = set() diff --git a/src/calibre/ebooks/rtf/input.py b/src/calibre/ebooks/rtf/input.py index 5447e69403..adda8794ca 100644 --- a/src/calibre/ebooks/rtf/input.py +++ b/src/calibre/ebooks/rtf/input.py @@ -7,6 +7,7 @@ import os, glob, re, textwrap from lxml import etree from calibre.customize.conversion import InputFormatPlugin +from calibre.ebooks.conversion.preprocess import line_length class InlineClass(etree.XSLTExtension): @@ -184,6 +185,7 @@ class RTFInput(InputFormatPlugin): from calibre.ebooks.metadata.meta import get_metadata from calibre.ebooks.metadata.opf2 import OPFCreator from calibre.ebooks.rtf2xml.ParseRtf import RtfInvalidCodeException + self.options = options self.log = log self.log('Converting RTF to XML...') #Name of the preprocesssed RTF file @@ -226,6 +228,17 @@ class RTFInput(InputFormatPlugin): with open(html, 'wb') as f: res = transform.tostring(result) res = res[:100].replace('xmlns:html', 'xmlns') + res[100:] + if self.options.preprocess_html: + self.log("********* Preprocessing HTML *********") + # Detect Chapters to match the xpath in the GUI + chapdetect = re.compile(r']*>\s*]*>\s*(?P(<(i|b)><(i|b)>|<(i|b)>)?(.?Chapter|Epilogue|Prologue|Book|Part|Dedication)\s*([\d\w-]+(\s\w+)?)?(|)?)\s*\s*

', re.IGNORECASE) + res = chapdetect.sub('

'+'\g'+'

\n', res) + # Unwrap lines using punctation if the median length of all lines is less than 150 + length = line_length('html', res, 0.4) + self.log("*** Median length is " + str(length) + " ***") + unwrap = re.compile(r"(?<=.{%i}[a-z,;:\IA])\s*\s*(

)?\s*(?P]*>\s*(]*>\s*\s*)

\s*){0,3}\s*]*>\s*(]*>)?\s*" % length, re.UNICODE) + if length < 150: + res = unwrap.sub(' ', res) f.write(res) self.write_inline_css(inline_class) stream.seek(0) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 062e4eeab9..5ffd8d723a 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -19,8 +19,40 @@ from calibre.ebooks.metadata.meta import get_metadata, metadata_from_formats from calibre.ebooks.metadata import MetaInformation from calibre.utils.date import UNDEFINED_DATE +# Setup gprefs {{{ gprefs = JSONConfig('gui') +gprefs.defaults['action-layout-toolbar'] = ( + 'Add Books', 'Edit Metadata', None, 'Convert Books', 'View', None, + 'Choose Library', 'Donate', None, 'Fetch News', 'Save To Disk', + 'Connect Share', None, 'Remove Books', None, 'Help', 'Preferences', + ) + +gprefs.defaults['action-layout-toolbar-device'] = ( + 'Add Books', 'Edit Metadata', None, 'Convert Books', 'View', + 'Send To Device', None, None, 'Location Manager', None, None, + 'Fetch News', 'Save To Disk', 'Connect Share', None, + 'Remove Books', None, 'Help', 'Preferences', + ) + +gprefs.defaults['action-layout-context-menu'] = ( + 'Edit Metadata', 'Send To Device', 'Save To Disk', + 'Connect Share', 'Copy To Library', None, + 'Convert Books', 'View', 'Open Folder', 'Show Book Details', + 'Similar Books', None, 'Remove Books', + ) + +gprefs.defaults['action-layout-context-menu-device'] = ( + 'View', 'Save To Disk', None, 'Remove Books', None, + 'Add To Library', 'Edit Collections', + ) + +gprefs.defaults['show_splash_screen'] = True +gprefs.defaults['toolbar_icon_size'] = 'medium' +gprefs.defaults['toolbar_text'] = 'auto' + +# }}} + NONE = QVariant() #: Null value to return from the data function of item models UNDEFINED_QDATE = QDate(UNDEFINED_DATE) @@ -66,8 +98,6 @@ def _config(): c.add_opt('default_send_to_device_action', default=None, help=_('Default action to perform when send to device button is ' 'clicked')) - c.add_opt('show_donate_button', default=True, - help='Show donation button') c.add_opt('asked_library_thing_password', default=False, help='Asked library thing password at least once.') c.add_opt('search_as_you_type', default=True, diff --git a/src/calibre/gui2/actions/__init__.py b/src/calibre/gui2/actions/__init__.py index 9c20f2adef..57ad900fba 100644 --- a/src/calibre/gui2/actions/__init__.py +++ b/src/calibre/gui2/actions/__init__.py @@ -60,6 +60,17 @@ class InterfaceAction(QObject): #: shortcut must be a translated string if not None action_spec = ('text', 'icon', None, None) + #: Set of locations to which this action must not be added. + #: See :attr:`all_locations` for a list of possible locations + dont_add_to = frozenset([]) + + #: Set of locations from which this action must not be removed. + #: See :attr:`all_locations` for a list of possible locations + dont_remove_from = frozenset([]) + + all_locations = frozenset(['toolbar', 'toolbar-device', 'context-menu', + 'context-menu-device']) + def __init__(self, parent, site_customization): QObject.__init__(self, parent) self.setObjectName(self.name) diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py index deb03021c5..95fdb9a6c6 100644 --- a/src/calibre/gui2/actions/add.py +++ b/src/calibre/gui2/actions/add.py @@ -22,7 +22,9 @@ from calibre.gui2.actions import InterfaceAction class AddAction(InterfaceAction): name = 'Add Books' - action_spec = (_('Add books'), 'add_book.svg', None, _('A')) + action_spec = (_('Add books'), 'add_book.svg', + _('Add books to the calibre library/device from files on your computer') + , _('A')) def genesis(self): self._add_filesystem_book = self.Dispatcher(self.__add_filesystem_book) diff --git a/src/calibre/gui2/actions/add_to_library.py b/src/calibre/gui2/actions/add_to_library.py index b2d1091dbb..7771fa7ed6 100644 --- a/src/calibre/gui2/actions/add_to_library.py +++ b/src/calibre/gui2/actions/add_to_library.py @@ -10,12 +10,16 @@ from calibre.gui2.actions import InterfaceAction class AddToLibraryAction(InterfaceAction): name = 'Add To Library' - action_spec = (_('Add books to library'), 'add_book.svg', None, None) + action_spec = (_('Add books to library'), 'add_book.svg', + _('Add books to your calibre library from the connected device'), None) + dont_add_to = frozenset(['toolbar', 'context-menu']) + + def genesis(self): + self.qaction.triggered.connect(self.add_books_to_library) def location_selected(self, loc): enabled = loc != 'library' self.qaction.setEnabled(enabled) - self.qaction.triggered.connect(self.add_books_to_library) def add_books_to_library(self, *args): self.gui.iactions['Add Books'].add_books_from_device( diff --git a/src/calibre/gui2/actions/catalog.py b/src/calibre/gui2/actions/catalog.py index 6807d7717e..6feaec978d 100644 --- a/src/calibre/gui2/actions/catalog.py +++ b/src/calibre/gui2/actions/catalog.py @@ -18,6 +18,7 @@ class GenerateCatalogAction(InterfaceAction): name = 'Generate Catalog' action_spec = (_('Create catalog of books in your calibre library'), None, None, None) + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def generate_catalog(self): rows = self.gui.library_view.selectionModel().selectedRows() diff --git a/src/calibre/gui2/actions/choose_library.py b/src/calibre/gui2/actions/choose_library.py index 7bdbcf748a..955c751d19 100644 --- a/src/calibre/gui2/actions/choose_library.py +++ b/src/calibre/gui2/actions/choose_library.py @@ -5,15 +5,16 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os +import os, shutil from functools import partial -from PyQt4.Qt import QMenu +from PyQt4.Qt import QMenu, Qt, QInputDialog from calibre import isbytestring from calibre.constants import filesystem_encoding from calibre.utils.config import prefs -from calibre.gui2 import gprefs, warning_dialog +from calibre.gui2 import gprefs, warning_dialog, Dispatcher, error_dialog, \ + question_dialog from calibre.gui2.actions import InterfaceAction class LibraryUsageStats(object): @@ -66,35 +67,52 @@ class LibraryUsageStats(object): loc = loc[:-1] return loc.split('/')[-1] + def rename(self, location, newloc): + newloc = self.canonicalize_path(newloc) + stats = self.stats.pop(location, None) + if stats is not None: + self.stats[newloc] = stats + self.write_stats() + class ChooseLibraryAction(InterfaceAction): name = 'Choose Library' action_spec = (_('%d books'), 'lt.png', _('Choose calibre library to work with'), None) + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def genesis(self): self.count_changed(0) - self.qaction.triggered.connect(self.choose_library) + self.qaction.triggered.connect(self.choose_library, + type=Qt.QueuedConnection) self.stats = LibraryUsageStats() - self.create_action(spec=(_('Switch to library...'), 'lt.png', None, + self.create_action(spec=(_('Switch/create library...'), 'lt.png', None, None), attr='action_choose') - self.action_choose.triggered.connect(self.choose_library) + self.action_choose.triggered.connect(self.choose_library, + type=Qt.QueuedConnection) self.choose_menu = QMenu(self.gui) self.choose_menu.addAction(self.action_choose) self.qaction.setMenu(self.choose_menu) self.quick_menu = QMenu(_('Quick switch')) self.quick_menu_action = self.choose_menu.addMenu(self.quick_menu) - self.qs_separator = self.choose_menu.addSeparator() + self.rename_menu = QMenu(_('Rename library')) + self.rename_menu_action = self.choose_menu.addMenu(self.rename_menu) + self.delete_menu = QMenu(_('Delete library')) + self.delete_menu_action = self.choose_menu.addMenu(self.delete_menu) + + self.rename_separator = self.choose_menu.addSeparator() + self.switch_actions = [] for i in range(5): ac = self.create_action(spec=('', None, None, None), attr='switch_action%d'%i) self.switch_actions.append(ac) ac.setVisible(False) - ac.triggered.connect(partial(self.qs_requested, i)) + ac.triggered.connect(partial(self.qs_requested, i), + type=Qt.QueuedConnection) self.choose_menu.addAction(ac) def library_name(self): @@ -119,9 +137,15 @@ class ChooseLibraryAction(InterfaceAction): ac.setVisible(False) self.quick_menu.clear() self.qs_locations = [i[1] for i in locations] + self.rename_menu.clear() + self.delete_menu.clear() for name, loc in locations: - self.quick_menu.addAction(name, partial(self.switch_requested, - loc)) + self.quick_menu.addAction(name, Dispatcher(partial(self.switch_requested, + loc))) + self.rename_menu.addAction(name, Dispatcher(partial(self.rename_requested, + name, loc))) + self.delete_menu.addAction(name, Dispatcher(partial(self.delete_requested, + name, loc))) for i, x in enumerate(locations[:len(self.switch_actions)]): name, loc = x @@ -130,13 +154,53 @@ class ChooseLibraryAction(InterfaceAction): ac.setVisible(True) self.quick_menu_action.setVisible(bool(locations)) + self.rename_menu_action.setVisible(bool(locations)) + self.delete_menu_action.setVisible(bool(locations)) def location_selected(self, loc): enabled = loc == 'library' self.qaction.setEnabled(enabled) + def rename_requested(self, name, location): + loc = location.replace('/', os.sep) + base = os.path.dirname(loc) + newname, ok = QInputDialog.getText(self.gui, _('Rename') + ' ' + name, + '

'+_('Choose a new name for the library %s. ')%name + + '

'+_('Note that the actual library folder will be renamed.'), + text=name) + newname = unicode(newname) + if not ok or not newname or newname == name: + return + newloc = os.path.join(base, newname) + if os.path.exists(newloc): + return error_dialog(self.gui, _('Already exists'), + _('The folder %s already exists. Delete it first.') % + newloc, show=True) + os.rename(loc, newloc) + self.stats.rename(location, newloc) + self.build_menus() + + def delete_requested(self, name, location): + loc = location.replace('/', os.sep) + if not question_dialog(self.gui, _('Are you sure?'), '

'+ + _('All files from %s will be ' + 'permanently deleted. Are you sure?') % loc, + show_copy_button=False): + return + exists = self.gui.library_view.model().db.exists_at(loc) + if exists: + try: + shutil.rmtree(loc, ignore_errors=True) + except: + pass + self.stats.remove(location) + self.build_menus() + + def switch_requested(self, location): + if not self.change_library_allowed(): + return loc = location.replace('/', os.sep) exists = self.gui.library_view.model().db.exists_at(loc) if not exists: @@ -164,9 +228,23 @@ class ChooseLibraryAction(InterfaceAction): a.setWhatsThis(tooltip) def choose_library(self, *args): + if not self.change_library_allowed(): + return from calibre.gui2.dialogs.choose_library import ChooseLibrary db = self.gui.library_view.model().db c = ChooseLibrary(db, self.gui.library_moved, self.gui) c.exec_() + def change_library_allowed(self): + if self.gui.device_connected: + warning_dialog(self.gui, _('Not allowed'), + _('You cannot change libraries when a device is' + ' connected.'), show=True) + return False + if self.gui.job_manager.has_jobs(): + warning_dialog(self.gui, _('Not allowed'), + _('You cannot change libraries while jobs' + ' are running.'), show=True) + return False + return True diff --git a/src/calibre/gui2/actions/convert.py b/src/calibre/gui2/actions/convert.py index ef8a8688c5..20f5bc457a 100644 --- a/src/calibre/gui2/actions/convert.py +++ b/src/calibre/gui2/actions/convert.py @@ -20,6 +20,7 @@ class ConvertAction(InterfaceAction): name = 'Convert Books' action_spec = (_('Convert books'), 'convert.svg', None, _('C')) + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def genesis(self): cm = QMenu() diff --git a/src/calibre/gui2/actions/copy_to_library.py b/src/calibre/gui2/actions/copy_to_library.py index 5b9e885cec..3988c9663d 100644 --- a/src/calibre/gui2/actions/copy_to_library.py +++ b/src/calibre/gui2/actions/copy_to_library.py @@ -5,17 +5,140 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from PyQt4.Qt import QMenu +import os +from functools import partial +from threading import Thread + +from PyQt4.Qt import QMenu, QToolButton from calibre.gui2.actions import InterfaceAction +from calibre.gui2 import error_dialog, Dispatcher +from calibre.gui2.dialogs.progress import ProgressDialog +from calibre.utils.config import prefs + +class Worker(Thread): + + def __init__(self, ids, db, loc, progress, done): + Thread.__init__(self) + self.ids = ids + self.db = db + self.loc = loc + self.error = None + self.progress = progress + self.done = done + + def run(self): + try: + self.doit() + except Exception, err: + import traceback + try: + err = unicode(err) + except: + err = repr(err) + self.error = (err, traceback.format_exc()) + + self.done() + + def add_formats(self, id, paths, newdb, replace=True): + for path in paths: + fmt = os.path.splitext(path)[-1].replace('.', '').upper() + with open(path, 'rb') as f: + newdb.add_format(id, fmt, f, index_is_id=True, + notify=False, replace=replace) + + def doit(self): + from calibre.library.database2 import LibraryDatabase2 + newdb = LibraryDatabase2(self.loc) + for i, x in enumerate(self.ids): + mi = self.db.get_metadata(x, index_is_id=True, get_cover=True) + self.progress(i, mi.title) + fmts = self.db.formats(x, index_is_id=True) + if not fmts: fmts = [] + else: fmts = fmts.split(',') + paths = [self.db.format_abspath(x, fmt, index_is_id=True) for fmt in + fmts] + added = False + if prefs['add_formats_to_existing']: + identical_book_list = newdb.find_identical_books(mi) + if identical_book_list: # books with same author and nearly same title exist in newdb + added = True + for identical_book in identical_book_list: + self.add_formats(identical_book, paths, newdb, replace=False) + if not added: + newdb.import_book(mi, paths, notify=False, import_hooks=False) + co = self.db.conversion_options(x, 'PIPE') + if co is not None: + newdb.set_conversion_options(x, 'PIPE', co) + class CopyToLibraryAction(InterfaceAction): name = 'Copy To Library' action_spec = (_('Copy to library'), 'lt.png', _('Copy selected books to the specified library'), None) + popup_type = QToolButton.InstantPopup + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def genesis(self): self.menu = QMenu(self.gui) + self.qaction.setMenu(self.menu) + + @property + def stats(self): + return self.gui.iactions['Choose Library'].stats + + def library_changed(self, db): + self.build_menus() + + def initialization_complete(self): + self.library_changed(self.gui.library_view.model().db) + + def location_selected(self, loc): + enabled = loc == 'library' + self.qaction.setEnabled(enabled) + + def build_menus(self): + self.menu.clear() + db = self.gui.library_view.model().db + locations = list(self.stats.locations(db)) + for name, loc in locations: + self.menu.addAction(name, partial(self.copy_to_library, + loc)) + self.qaction.setVisible(bool(locations)) + + def copy_to_library(self, loc): + rows = self.gui.library_view.selectionModel().selectedRows() + if not rows or len(rows) == 0: + return error_dialog(self.gui, _('Cannot copy'), + _('No books selected'), show=True) + ids = list(map(self.gui.library_view.model().id, rows)) + db = self.gui.library_view.model().db + if not db.exists_at(loc): + return error_dialog(self.gui, _('No library'), + _('No library found at %s')%loc, show=True) + + + self.pd = ProgressDialog(_('Copying'), min=0, max=len(ids)-1, + parent=self.gui, cancelable=False) + + def progress(idx, title): + self.pd.set_msg(_('Copying') + ' ' + title) + self.pd.set_value(idx) + + self.worker = Worker(ids, db, loc, Dispatcher(progress), Dispatcher(self.pd.accept)) + self.worker.start() + + self.pd.exec_() + + if self.worker.error is not None: + e, tb = self.worker.error + error_dialog(self.gui, _('Failed'), _('Could not copy books: ') + e, + det_msg=tb, show=True) + else: + self.gui.status_bar.show_message(_('Copied %d books to %s') % + (len(ids), loc), 2000) + + diff --git a/src/calibre/gui2/actions/device.py b/src/calibre/gui2/actions/device.py index f8b2e751f1..e71b2d1f45 100644 --- a/src/calibre/gui2/actions/device.py +++ b/src/calibre/gui2/actions/device.py @@ -19,6 +19,7 @@ class ShareConnMenu(QMenu): # {{{ connect_to_itunes = pyqtSignal() config_email = pyqtSignal() toggle_server = pyqtSignal() + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def __init__(self, parent=None): QMenu.__init__(self, parent) @@ -95,6 +96,8 @@ class SendToDeviceAction(InterfaceAction): name = 'Send To Device' action_spec = (_('Send to device'), 'sync.svg', None, _('D')) + dont_remove_from = frozenset(['toolbar-device']) + dont_add_to = frozenset(['toolbar', 'context-menu']) def genesis(self): self.qaction.triggered.connect(self.do_sync) diff --git a/src/calibre/gui2/actions/edit_collections.py b/src/calibre/gui2/actions/edit_collections.py index 8f13b012e2..e45d36fc62 100644 --- a/src/calibre/gui2/actions/edit_collections.py +++ b/src/calibre/gui2/actions/edit_collections.py @@ -10,12 +10,16 @@ from calibre.gui2.actions import InterfaceAction class EditCollectionsAction(InterfaceAction): name = 'Edit Collections' - action_spec = (_('Manage collections'), None, None, None) + action_spec = (_('Manage collections'), None, + _('Manage the collections on this device'), None) + dont_add_to = frozenset(['toolbar', 'context-menu']) + + def genesis(self): + self.qaction.triggered.connect(self.edit_collections) def location_selected(self, loc): enabled = loc != 'library' self.qaction.setEnabled(enabled) - self.qaction.triggered.connect(self.edit_collections) def edit_collections(self, *args): oncard = None diff --git a/src/calibre/gui2/actions/edit_metadata.py b/src/calibre/gui2/actions/edit_metadata.py index 9d1066ee40..bb07cfda3d 100644 --- a/src/calibre/gui2/actions/edit_metadata.py +++ b/src/calibre/gui2/actions/edit_metadata.py @@ -16,6 +16,7 @@ from calibre.gui2.dialogs.metadata_bulk import MetadataBulkDialog from calibre.gui2.dialogs.confirm_delete import confirm from calibre.gui2.dialogs.tag_list_editor import TagListEditor from calibre.gui2.actions import InterfaceAction +from calibre.gui2.dialogs.progress import BlockingBusy class EditMetadataAction(InterfaceAction): @@ -95,18 +96,19 @@ class EditMetadataAction(InterfaceAction): x = _('social metadata') else: x = _('covers') if covers and not set_metadata else _('metadata') - self.gui.progress_indicator.start( - _('Downloading %s for %d book(s)')%(x, len(ids))) self._book_metadata_download_check = QTimer(self.gui) self._book_metadata_download_check.timeout.connect(self.book_metadata_download_check, type=Qt.QueuedConnection) self._book_metadata_download_check.start(100) + self._bb_dialog = BlockingBusy(_('Downloading %s for %d book(s)')%(x, + len(ids)), parent=self.gui) + self._bb_dialog.exec_() def book_metadata_download_check(self): if self._download_book_metadata.is_alive(): return self._book_metadata_download_check.stop() - self.gui.progress_indicator.stop() + self._bb_dialog.accept() cr = self.gui.library_view.currentIndex().row() x = self._download_book_metadata self._download_book_metadata = None diff --git a/src/calibre/gui2/actions/open.py b/src/calibre/gui2/actions/open.py index 40fc6372b7..2c7da7b669 100644 --- a/src/calibre/gui2/actions/open.py +++ b/src/calibre/gui2/actions/open.py @@ -13,6 +13,7 @@ class OpenFolderAction(InterfaceAction): name = 'Open Folder' action_spec = (_('Open containing folder'), 'document_open.svg', None, _('O')) + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def genesis(self): self.qaction.triggered.connect(self.gui.iactions['View'].view_folder) diff --git a/src/calibre/gui2/actions/preferences.py b/src/calibre/gui2/actions/preferences.py index d047e51dac..267cabf9f3 100644 --- a/src/calibre/gui2/actions/preferences.py +++ b/src/calibre/gui2/actions/preferences.py @@ -15,6 +15,7 @@ class PreferencesAction(InterfaceAction): name = 'Preferences' action_spec = (_('Preferences'), 'config.svg', None, _('Ctrl+P')) + dont_remove_from = frozenset(['toolbar']) def genesis(self): pm = QMenu() @@ -55,6 +56,8 @@ class PreferencesAction(InterfaceAction): self.gui.tags_view.recount() self.gui.create_device_menu() self.gui.set_device_menu_items_state(bool(self.gui.device_connected)) + self.gui.tool_bar.build_bar() + self.gui.build_context_menus() self.gui.tool_bar.apply_settings() diff --git a/src/calibre/gui2/actions/show_book_details.py b/src/calibre/gui2/actions/show_book_details.py index 06c63714a7..40ea29bd3b 100644 --- a/src/calibre/gui2/actions/show_book_details.py +++ b/src/calibre/gui2/actions/show_book_details.py @@ -15,6 +15,7 @@ class ShowBookDetailsAction(InterfaceAction): name = 'Show Book Details' action_spec = (_('Show book details'), 'dialog_information.svg', None, _('I')) + dont_add_to = frozenset(['toolbar-device', 'context-menu-device']) def genesis(self): self.qaction.triggered.connect(self.show_book_info) diff --git a/src/calibre/gui2/actions/similar_books.py b/src/calibre/gui2/actions/similar_books.py index 5ce74fd2dc..c36eb4915b 100644 --- a/src/calibre/gui2/actions/similar_books.py +++ b/src/calibre/gui2/actions/similar_books.py @@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en' from functools import partial -from PyQt4.Qt import QMenu +from PyQt4.Qt import QMenu, QToolButton from calibre.gui2.actions import InterfaceAction @@ -15,18 +15,20 @@ class SimilarBooksAction(InterfaceAction): name = 'Similar Books' action_spec = (_('Similar books...'), None, None, None) + popup_type = QToolButton.InstantPopup def genesis(self): m = QMenu(self.gui) for text, icon, target, shortcut in [ (_('Books by same author'), 'user_profile.svg', 'authors', _('Alt+A')), - (_('Books in this series'), 'books_in_series.svg', 'series', _('Alt+S')), + (_('Books in this series'), 'books_in_series.svg', 'series', + _('Alt+Shift+S')), (_('Books by this publisher'), 'publisher.png', 'publisher', _('Alt+P')), (_('Books with the same tags'), 'tags.svg', 'tag', _('Alt+T')),]: ac = self.create_action(spec=(text, icon, None, shortcut), attr=target) m.addAction(ac) - m.triggered.connect(partial(self.show_similar_books, target)) + ac.triggered.connect(partial(self.show_similar_books, target)) self.qaction.setMenu(m) self.similar_menu = m diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py index 04d60525f1..5b9fb35be3 100644 --- a/src/calibre/gui2/add.py +++ b/src/calibre/gui2/add.py @@ -1,7 +1,7 @@ ''' UI for adding books to the database and saving books to disk ''' -import os, shutil, time, re +import os, shutil, time from Queue import Queue, Empty from threading import Thread @@ -94,14 +94,6 @@ class DBAdder(Thread): # {{{ self.daemon = True self.input_queue = Queue() self.output_queue = Queue() - self.fuzzy_title_patterns = [(re.compile(pat), repl) for pat, repl in - [ - (r'[\[\](){}<>\'";,:#]', ''), - (r'^(the|a|an) ', ''), - (r'[-._]', ' '), - (r'\s+', ' ') - ] - ] self.merged_books = set([]) def run(self): @@ -138,33 +130,6 @@ class DBAdder(Thread): # {{{ fmts[-1] = fmt return fmts - def fuzzy_title(self, title): - title = title.strip().lower() - for pat, repl in self.fuzzy_title_patterns: - title = pat.sub(repl, title) - return title - - def find_identical_books(self, mi): - identical_book_ids = set([]) - if mi.authors: - try: - query = u' and '.join([u'author:"=%s"'%(a.replace('"', '')) for a in - mi.authors]) - except ValueError: - return identical_book_ids - try: - book_ids = self.db.data.parse(query) - except: - import traceback - traceback.print_exc() - return identical_book_ids - for book_id in book_ids: - fbook_title = self.db.title(book_id, index_is_id=True) - fbook_title = self.fuzzy_title(fbook_title) - mbook_title = self.fuzzy_title(mi.title) - if fbook_title == mbook_title: - identical_book_ids.add(book_id) - return identical_book_ids def add(self, id, opf, cover, name): formats = self.ids.pop(id) @@ -191,7 +156,7 @@ class DBAdder(Thread): # {{{ orig_formats = formats formats = [f for f in formats if not f.lower().endswith('.opf')] if prefs['add_formats_to_existing']: - identical_book_list = self.find_identical_books(mi) + identical_book_list = self.db.find_identical_books(mi) if identical_book_list: # books with same author and nearly same title exist in db self.merged_books.add(mi.title) @@ -280,19 +245,17 @@ class Adder(QObject): # {{{ self.pd.set_min(0) self.pd.set_max(len(self.ids)) self.pd.value = 0 - self.timer = QTimer(self) self.db_adder = DBAdder(self.db, self.ids, self.nmap) self.db_adder.start() - self.connect(self.timer, SIGNAL('timeout()'), self.update) self.last_added_at = time.time() self.entry_count = len(self.ids) - self.timer.start(200) + self.continue_updating = True + QTimer.singleShot(200, self.update) def canceled(self): + self.continue_updating = False if self.rfind is not None: self.rfind.canceled = True - if self.timer is not None: - self.timer.stop() if self.worker is not None: self.worker.canceled = True if hasattr(self, 'db_adder'): @@ -312,7 +275,7 @@ class Adder(QObject): # {{{ def update(self): if self.entry_count <= 0: - self.timer.stop() + self.continue_updating = False self.pd.hide() self.process_duplicates() return @@ -334,18 +297,21 @@ class Adder(QObject): # {{{ pass if (time.time() - self.last_added_at) > self.ADD_TIMEOUT: - self.timer.stop() + self.continue_updating = False self.pd.hide() self.db_adder.end = True if not self.callback_called: - self.callback([], [], []) - self.callback_called = True + self.callback([], [], []) + self.callback_called = True error_dialog(self._parent, _('Adding failed'), _('The add books process seems to have hung.' ' Try restarting calibre and adding the ' 'books in smaller increments, until you ' 'find the problem book.'), show=True) + if self.continue_updating: + QTimer.singleShot(200, self.update) + def process_duplicates(self): duplicates = self.db_adder.duplicates diff --git a/src/calibre/gui2/catalog/catalog_bibtex.py b/src/calibre/gui2/catalog/catalog_bibtex.py index ea222603b7..6bbe85833c 100644 --- a/src/calibre/gui2/catalog/catalog_bibtex.py +++ b/src/calibre/gui2/catalog/catalog_bibtex.py @@ -19,7 +19,7 @@ class PluginWidget(QWidget, Ui_Form): ('bib_entry', 0), #mixed ('bibfile_enc', 0), #utf-8 ('bibfile_enctag', 0), #strict - ('impcit', True) ] + ('impcit', True) ] sync_enabled = False formats = set(['bib']) @@ -52,7 +52,7 @@ class PluginWidget(QWidget, Ui_Form): getattr(self, opt[0]).setText(opt_value) def options(self): - + # Save the currently activated fields fields = [] for x in xrange(self.db_fields.count()): @@ -66,7 +66,7 @@ class PluginWidget(QWidget, Ui_Form): opts_dict = {'fields':[unicode(item.text()) for item in self.db_fields.selectedItems()]} else: opts_dict = {'fields':['all']} - + # Save/return the current options # bib_cit stores as text # 'bibfile_enc','bibfile_enctag' stores as int (Indexes) @@ -78,7 +78,7 @@ class PluginWidget(QWidget, Ui_Form): else : opt_value = unicode(getattr(self, opt[0]).text()) gprefs.set(self.name + '_' + opt[0], opt_value) - + opts_dict[opt[0]] = opt_value return opts_dict diff --git a/src/calibre/gui2/convert/fb2_output.py b/src/calibre/gui2/convert/fb2_output.py index 55c708c2a4..145b14f8c9 100644 --- a/src/calibre/gui2/convert/fb2_output.py +++ b/src/calibre/gui2/convert/fb2_output.py @@ -16,6 +16,6 @@ class PluginWidget(Widget, Ui_Form): COMMIT_NAME = 'fb2_output' def __init__(self, parent, get_option, get_help, db=None, book_id=None): - Widget.__init__(self, parent, ['inline_toc']) + Widget.__init__(self, parent, ['inline_toc', 'sectionize_chapters']) self.db, self.book_id = db, book_id self.initialize_options(get_option, get_help, db, book_id) diff --git a/src/calibre/gui2/convert/fb2_output.ui b/src/calibre/gui2/convert/fb2_output.ui index 007af454c4..a43a8b72ea 100644 --- a/src/calibre/gui2/convert/fb2_output.ui +++ b/src/calibre/gui2/convert/fb2_output.ui @@ -14,7 +14,7 @@ Form - + Qt::Vertical @@ -34,6 +34,13 @@ + + + + Sectionize Chapters (Use with care!) + + + diff --git a/src/calibre/gui2/convert/regex_builder.py b/src/calibre/gui2/convert/regex_builder.py index b10772b86c..c5c8d84a88 100644 --- a/src/calibre/gui2/convert/regex_builder.py +++ b/src/calibre/gui2/convert/regex_builder.py @@ -14,7 +14,7 @@ from calibre.gui2.convert.regex_builder_ui import Ui_RegexBuilder from calibre.gui2.convert.xexp_edit_ui import Ui_Form as Ui_Edit from calibre.gui2 import error_dialog, choose_files from calibre.ebooks.oeb.iterator import EbookIterator -from calibre.ebooks.conversion.preprocess import convert_entities +from calibre.ebooks.conversion.preprocess import HTMLPreProcessor from calibre.gui2.dialogs.choose_format import ChooseFormatDialog class RegexBuilder(QDialog, Ui_RegexBuilder): @@ -91,10 +91,10 @@ class RegexBuilder(QDialog, Ui_RegexBuilder): self.iterator = EbookIterator(pathtoebook) self.iterator.__enter__(only_input_plugin=True) text = [u''] - ent_pat = re.compile(r'&(\S+?);') + preprocessor = HTMLPreProcessor(None, False) for path in self.iterator.spine: html = open(path, 'rb').read().decode('utf-8', 'replace') - html = ent_pat.sub(convert_entities, html) + html = preprocessor(html, get_preprocess_html=True) text.append(html) self.preview.setPlainText('\n---\n'.join(text)) diff --git a/src/calibre/gui2/custom_column_widgets.py b/src/calibre/gui2/custom_column_widgets.py index 3ed7d0c4ad..0e89358c53 100644 --- a/src/calibre/gui2/custom_column_widgets.py +++ b/src/calibre/gui2/custom_column_widgets.py @@ -11,7 +11,7 @@ from functools import partial from PyQt4.Qt import QComboBox, QLabel, QSpinBox, QDoubleSpinBox, QDateEdit, \ QDate, QGroupBox, QVBoxLayout, QPlainTextEdit, QSizePolicy, \ QSpacerItem, QIcon, QCheckBox, QWidget, QHBoxLayout, SIGNAL, \ - QPushButton, QCoreApplication + QPushButton from calibre.utils.date import qt_to_dt, now from calibre.gui2.widgets import TagsLineEdit, EnComboBox @@ -32,11 +32,17 @@ class Base(object): val = self.normalize_db_val(val) self.setter(val) + @property + def gui_val(self): + return self.getter() + + def commit(self, book_id, notify=False): - val = self.getter() + val = self.gui_val val = self.normalize_ui_val(val) if val != self.initial_val: - self.db.set_custom(book_id, val, num=self.col_id, notify=notify) + self.db.set_custom(book_id, val, num=self.col_id, notify=notify, + commit=False) def normalize_db_val(self, val): return val @@ -284,10 +290,14 @@ class Series(Base): if idx is not None: self.widgets[1].setCurrentIndex(idx) + def getter(self): + n = unicode(self.name_widget.currentText()).strip() + i = self.idx_widget.value() + return n, i + def commit(self, book_id, notify=False): - val = unicode(self.name_widget.currentText()).strip() + val, s_index = self.gui_val val = self.normalize_ui_val(val) - s_index = self.idx_widget.value() if val != self.initial_val or s_index != self.initial_index: if s_index == 0.0: if tweaks['series_index_auto_increment'] == 'next': @@ -296,7 +306,7 @@ class Series(Base): else: s_index = None self.db.set_custom(book_id, val, extra=s_index, - num=self.col_id, notify=notify) + num=self.col_id, notify=notify, commit=False) widgets = { 'bool' : Bool, @@ -378,6 +388,13 @@ def populate_metadata_page(layout, db, book_id, bulk=False, two_column=False, pa class BulkBase(Base): + @property + def gui_val(self): + if not hasattr(self, '_cached_gui_val_'): + self._cached_gui_val_ = self.getter() + return self._cached_gui_val_ + + def get_initial_value(self, book_ids): values = set([]) for book_id in book_ids: @@ -394,30 +411,16 @@ class BulkBase(Base): ans = list(ans) return ans - def process_each_book(self): - return False - def initialize(self, book_ids): - if not self.process_each_book(): - self.initial_val = val = self.get_initial_value(book_ids) - val = self.normalize_db_val(val) - self.setter(val) + self.initial_val = val = self.get_initial_value(book_ids) + val = self.normalize_db_val(val) + self.setter(val) def commit(self, book_ids, notify=False): - if self.process_each_book(): - for book_id in book_ids: - QCoreApplication.processEvents() - val = self.db.get_custom(book_id, num=self.col_id, index_is_id=True) - new_val = self.getter(val) - if set(val) != new_val: - self.db.set_custom(book_id, new_val, num=self.col_id, notify=notify) - else: - val = self.getter() - val = self.normalize_ui_val(val) - if val != self.initial_val: - for book_id in book_ids: - QCoreApplication.processEvents() - self.db.set_custom(book_id, val, num=self.col_id, notify=notify) + val = self.gui_val + val = self.normalize_ui_val(val) + if val != self.initial_val: + self.db.set_custom_bulk(book_ids, val, num=self.col_id, notify=notify) class BulkBool(BulkBase, Bool): pass @@ -455,28 +458,31 @@ class BulkSeries(BulkBase): self.name_widget.addItem(c) self.name_widget.setEditText('') + def getter(self): + n = unicode(self.name_widget.currentText()).strip() + i = self.idx_widget.checkState() + return n, i + def commit(self, book_ids, notify=False): - val = unicode(self.name_widget.currentText()).strip() + val, update_indices = self.gui_val val = self.normalize_ui_val(val) - update_indices = self.idx_widget.checkState() if val != '': + extras = [] + next_index = self.db.get_next_cc_series_num_for(val, num=self.col_id) for book_id in book_ids: - QCoreApplication.processEvents() if update_indices: if tweaks['series_index_auto_increment'] == 'next': - s_index = self.db.get_next_cc_series_num_for\ - (val, num=self.col_id) + s_index = next_index + next_index += 1 else: s_index = 1.0 else: s_index = self.db.get_custom_extra(book_id, num=self.col_id, index_is_id=True) - self.db.set_custom(book_id, val, extra=s_index, + extras.append(s_index) + self.db.set_custom_bulk(book_ids, val, extras=extras, num=self.col_id, notify=notify) - def process_each_book(self): - return True - class RemoveTags(QWidget): def __init__(self, parent, values): @@ -539,21 +545,35 @@ class BulkText(BulkBase): if idx is not None: self.widgets[1].setCurrentIndex(idx) - def process_each_book(self): - return self.col_metadata['is_multiple'] - - def getter(self, original_value = None): + def commit(self, book_ids, notify=False): if self.col_metadata['is_multiple']: - if self.removing_widget.checkbox.isChecked(): - ans = set() + remove_all, adding, rtext = self.gui_val + remove = set() + if remove_all: + remove = set(self.db.all_custom(num=self.col_id)) else: - ans = set(original_value) - ans -= set([v.strip() for v in - unicode(self.removing_widget.tags_box.text()).split(',')]) - txt = unicode(self.adding_widget.text()) + txt = rtext + if txt: + remove = set([v.strip() for v in txt.split(',')]) + txt = adding if txt: - ans |= set([v.strip() for v in txt.split(',')]) - return ans # returning a set instead of a list works, for now at least. + add = set([v.strip() for v in txt.split(',')]) + else: + add = set() + self.db.set_custom_bulk_multiple(book_ids, add=add, remove=remove, + num=self.col_id) + else: + val = self.gui_val + val = self.normalize_ui_val(val) + if val != self.initial_val: + self.db.set_custom_bulk(book_ids, val, num=self.col_id, notify=notify) + + def getter(self): + if self.col_metadata['is_multiple']: + return self.removing_widget.checkbox.isChecked(), \ + unicode(self.adding_widget.text()), \ + unicode(self.removing_widget.tags_box.text()) + val = unicode(self.widgets[1].currentText()).strip() if not val: val = None diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index a9beb317a2..bc79a3c9de 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -33,7 +33,7 @@ from calibre.devices.apple.driver import ITUNES_ASYNC from calibre.devices.folder_device.driver import FOLDER_DEVICE from calibre.ebooks.metadata.meta import set_metadata from calibre.constants import DEBUG -from calibre.utils.config import prefs +from calibre.utils.config import prefs, tweaks # }}} @@ -613,6 +613,8 @@ class DeviceMixin(object): # {{{ self.device_manager = DeviceManager(Dispatcher(self.device_detected), self.job_manager, Dispatcher(self.status_bar.show_message)) self.device_manager.start() + if tweaks['auto_connect_to_folder']: + self.connect_to_folder_named(tweaks['auto_connect_to_folder']) def set_default_thumbnail(self, height): r = QSvgRenderer(I('book.svg')) @@ -624,6 +626,11 @@ class DeviceMixin(object): # {{{ self.default_thumbnail = (pixmap.width(), pixmap.height(), pixmap_to_data(pixmap)) + def connect_to_folder_named(self, folder): + if os.path.exists(folder) and os.path.isdir(folder): + self.device_manager.mount_device(kls=FOLDER_DEVICE, kind='folder', + path=folder) + def connect_to_folder(self): dir = choose_dir(self, 'Select Device Folder', _('Select folder to open as device')) diff --git a/src/calibre/gui2/dialogs/config/__init__.py b/src/calibre/gui2/dialogs/config/__init__.py index 20c7843aa8..1f04c50e19 100644 --- a/src/calibre/gui2/dialogs/config/__init__.py +++ b/src/calibre/gui2/dialogs/config/__init__.py @@ -14,6 +14,7 @@ from PyQt4.Qt import QDialog, QListWidgetItem, QIcon, \ from calibre.constants import iswindows, isosx from calibre.gui2.dialogs.config.config_ui import Ui_Dialog from calibre.gui2.dialogs.config.create_custom_column import CreateCustomColumn +from calibre.gui2.dialogs.config.toolbar import ToolbarLayout from calibre.gui2 import error_dialog, config, gprefs, \ open_url, open_local_file, \ ALL_COLUMNS, NONE, info_dialog, choose_files, \ @@ -36,6 +37,7 @@ from calibre.gui2.convert.structure_detection import StructureDetectionWidget from calibre.ebooks.conversion.plumber import Plumber from calibre.utils.logging import Log from calibre.gui2.convert.toc import TOCWidget +from calibre.utils.search_query_parser import saved_searches class ConfigTabs(QTabWidget): @@ -355,7 +357,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): input_map = prefs['input_format_order'] all_formats = set() - for fmt in all_input_formats(): + for fmt in all_input_formats().union(set(['ZIP', 'RAR'])): all_formats.add(fmt.upper()) for format in input_map + list(all_formats.difference(input_map)): item = QListWidgetItem(format, self.input_order) @@ -493,8 +495,15 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): if x == config['gui_layout']: li = i self.opt_gui_layout.setCurrentIndex(li) + restrictions = sorted(saved_searches().names(), + cmp=lambda x,y: cmp(x.lower(), y.lower())) + restrictions.insert(0, '') + for x in ('gui', 'cs'): + w = getattr(self, 'opt_%s_restriction'%x) + w.addItems(restrictions) + idx = w.findText(self.db.prefs.get(x+'_restriction', '')) + w.setCurrentIndex(0 if idx < 0 else idx) self.opt_disable_animations.setChecked(config['disable_animations']) - self.opt_show_donate_button.setChecked(config['show_donate_button']) idx = 0 for i, x in enumerate([(_('Small'), 'small'), (_('Medium'), 'medium'), (_('Large'), 'large')]): @@ -515,6 +524,9 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): self.current_tweaks.setPlainText(curt.decode('utf-8')) self.default_tweaks.setPlainText(deft.decode('utf-8')) self.restore_tweaks_to_default_button.clicked.connect(self.restore_tweaks_to_default) + self.toolbar_cm_widget = ToolbarLayout(parent, parent) + self.toolbar_cm_tab.addTab(self.toolbar_cm_widget, + _('Toolbars/Context menus')) self.category_view.setCurrentIndex(self.category_view.model().index_for_name(initial_category)) @@ -879,6 +891,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): wl = self.opt_worker_limit.value() if wl%2 != 0: wl += 1 + self.toolbar_cm_widget.commit() config['worker_limit'] = wl config['use_roman_numerals_for_series_number'] = bool(self.roman_numerals.isChecked()) @@ -914,7 +927,6 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): config['overwrite_author_title_metadata'] = self.opt_overwrite_author_title_metadata.isChecked() config['enforce_cpu_limit'] = bool(self.opt_enforce_cpu_limit.isChecked()) config['disable_animations'] = bool(self.opt_disable_animations.isChecked()) - config['show_donate_button'] = bool(self.opt_show_donate_button.isChecked()) gprefs['show_splash_screen'] = bool(self.show_splash_screen.isChecked()) for x in ('toolbar_icon_size', 'toolbar_text'): w = getattr(self, 'opt_'+x) @@ -927,6 +939,9 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): config['internally_viewed_formats'] = fmts val = self.opt_gui_layout.itemData(self.opt_gui_layout.currentIndex()).toString() config['gui_layout'] = unicode(val) + for x in ('gui', 'cs'): + w = getattr(self, 'opt_%s_restriction'%x) + self.db.prefs.set(x+'_restriction', unicode(w.currentText())) if must_restart: warning_dialog(self, _('Must restart'), diff --git a/src/calibre/gui2/dialogs/config/config.ui b/src/calibre/gui2/dialogs/config/config.ui index 1359278512..988960615d 100644 --- a/src/calibre/gui2/dialogs/config/config.ui +++ b/src/calibre/gui2/dialogs/config/config.ui @@ -7,7 +7,7 @@ 0 0 - 1000 + 1001 730 @@ -89,8 +89,8 @@ 0 0 - 720 - 679 + 725 + 683 @@ -294,332 +294,364 @@ - - - - - Use &Roman numerals for series number + + + + + 0 - - true - - - - - - - Enable system &tray icon (needs restart) - - - - - - - Show &notifications in system tray - - - - - - - Show &splash screen at startup - - - - - - - Show cover &browser in a separate window (needs restart) - - - - - - - Show &average ratings in the tags browser - - - true - - - - - - - Search as you type - - - true - - - - - - - Automatically send downloaded &news to ebook reader - - - - - - - &Delete news from library when it is automatically sent to reader - - - - - - - - - &Number of covers to show in browse mode (needs restart): - - - cover_browse - - - - - - - - - - - - - - Select visible &columns in library view - - - - - - - - true + + + &Miscellaneous + + + + + + User Interface &layout (needs restart): + + + opt_gui_layout + + + + + + + + 250 + 16777215 + + + + + + + + &Number of covers to show in browse mode (needs restart): + + + cover_browse + + + + + + + + + + Restriction to apply when the current library is opened: + + + opt_gui_restriction + + + + + + + + 250 + 16777215 + + + + 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. + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 15 + + + + + + + Disable all animations. Useful if you have a slow/old computer. + + + Disable &animations + + + + + + + &Toolbar + + + + + + + + + &Icon size: - - QAbstractItemView::SelectRows + + opt_toolbar_icon_size - - + + + + + + + Show &text under icons: + + + opt_toolbar_text + + + + + + + + + + &Delete news from library when it is automatically sent to reader + + + + + + + + + Select visible &columns in library view + + - - - ... - - - - :/images/arrow-up.svg:/images/arrow-up.svg - - + + + + + true + + + QAbstractItemView::SelectRows + + + + + + + + + ... + + + + :/images/arrow-up.svg:/images/arrow-up.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Remove a user-defined column + + + ... + + + + :/images/minus.svg:/images/minus.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Add a user-defined column + + + ... + + + + :/images/plus.svg:/images/plus.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Edit settings of a user-defined column + + + ... + + + + :/images/edit_input.svg:/images/edit_input.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + ... + + + + :/images/arrow-down.svg:/images/arrow-down.svg + + + + + + - - - - Qt::Vertical + + + + + + + Use internal &viewer for: + + + + + + true - - - 20 - 40 - - - - - - - - Remove a user-defined column - - - ... - - - - :/images/minus.svg:/images/minus.svg - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Add a user-defined column - - - ... - - - - :/images/plus.svg:/images/plus.svg - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Edit settings of a user-defined column - - - ... - - - - :/images/edit_input.svg:/images/edit_input.svg - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - ... - - - - :/images/arrow-down.svg:/images/arrow-down.svg + + QAbstractItemView::NoSelection - - - - - - - - - - Use internal &viewer for: - - - - - - true - - - QAbstractItemView::NoSelection - - - - - - - - - - - - User Interface &layout (needs restart): - - - opt_gui_layout - - - - - - - - 250 - 16777215 - - - - - - - - Disable all animations. Useful if you have a slow/old computer. - - - Disable &animations - - - - - - - Show &donate button (restart) - - - - - - - &Toolbar - - - - - - - - - &Icon size: - - - opt_toolbar_icon_size - - - - - - - - - - Show &text under icons: - - - opt_toolbar_text - - - - + + + + + + + + Search as you type + + + true + + + + + + + Use &Roman numerals for series + + + true + + + + + + + Enable system &tray icon (needs restart) + + + + + + + Show &average ratings in the tags browser + + + true + + + + + + + Automatically send downloaded &news to ebook reader + + + + + + + Show &splash screen at startup + + + + + + + Show cover &browser in a separate window (needs restart) + + + + + + + Show &notifications in system tray + + + + + @@ -1040,6 +1072,26 @@ + + + + Restriction (saved search) to apply: + + + + + + + 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). + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 20 + + + diff --git a/src/calibre/gui2/dialogs/config/create_custom_column.py b/src/calibre/gui2/dialogs/config/create_custom_column.py index fdf093b6d5..c0f17b8cba 100644 --- a/src/calibre/gui2/dialogs/config/create_custom_column.py +++ b/src/calibre/gui2/dialogs/config/create_custom_column.py @@ -105,6 +105,8 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): return self.simple_error('', _('No lookup name was provided')) if re.match('^\w*$', col) is None or not col[0].isalpha() or col.lower() != col: return self.simple_error('', _('The lookup name must contain only lower case letters, digits and underscores, and start with a letter')) + if col.endswith('_index'): + return self.simple_error('', _('Lookup names cannot end with _index, because these names are reserved for the index of a series column.')) col_heading = unicode(self.column_heading_box.text()) col_type = self.column_types[self.column_type_box.currentIndex()]['datatype'] if col_type == '*text': diff --git a/src/calibre/gui2/dialogs/config/toolbar.py b/src/calibre/gui2/dialogs/config/toolbar.py new file mode 100644 index 0000000000..5d5b0e1bfc --- /dev/null +++ b/src/calibre/gui2/dialogs/config/toolbar.py @@ -0,0 +1,295 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai + +__license__ = 'GPL v3' +__copyright__ = '2010, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from functools import partial + +from PyQt4.Qt import QWidget, QAbstractListModel, Qt, QIcon, \ + QVariant, QItemSelectionModel + +from calibre.gui2.dialogs.config.toolbar_ui import Ui_Form +from calibre.gui2 import gprefs, NONE, warning_dialog + + +class FakeAction(object): + + def __init__(self, name, icon, tooltip=None, + dont_add_to=frozenset([]), dont_remove_from=frozenset([])): + self.name = name + self.action_spec = (name, icon, tooltip, None) + self.dont_remove_from = dont_remove_from + self.dont_add_to = dont_add_to + +class BaseModel(QAbstractListModel): + + def name_to_action(self, name, gui): + if name == 'Donate': + return FakeAction(name, 'donate.svg', + dont_add_to=frozenset(['context-menu', + 'context-menu-device'])) + if name == 'Location Manager': + return FakeAction(name, None, + _('Switch between library and device views'), + dont_remove_from=set(['toolbar-device'])) + if name is None: + return FakeAction('--- '+_('Separator')+' ---', None) + return gui.iactions[name] + + def rowCount(self, parent): + return len(self._data) + + def data(self, index, role): + row = index.row() + action = self._data[row].action_spec + if role == Qt.DisplayRole: + text = action[0] + text = text.replace('&', '') + if text == _('%d books'): + text = _('Choose library') + return QVariant(text) + if role == Qt.DecorationRole: + ic = action[1] + if ic is None: + ic = 'blank.svg' + return QVariant(QIcon(I(ic))) + if role == Qt.ToolTipRole and action[2] is not None: + return QVariant(action[2]) + return NONE + + def names(self, indexes): + rows = [i.row() for i in indexes] + ans = [] + for i in rows: + n = self._data[i].name + if n.startswith('---'): + n = None + ans.append(n) + return ans + + +class AllModel(BaseModel): + + def __init__(self, key, gui): + BaseModel.__init__(self) + self.gprefs_name = 'action-layout-'+key + current = gprefs[self.gprefs_name] + self.gui = gui + self.key = key + self._data = self.get_all_actions(current) + + def get_all_actions(self, current): + all = list(self.gui.iactions.keys()) + ['Donate'] + all = [x for x in all if x not in current] + [None] + all = [self.name_to_action(x, self.gui) for x in all] + all = [x for x in all if self.key not in x.dont_add_to] + all.sort() + return all + + def add(self, names): + actions = [] + for name in names: + if name is None or name.startswith('---'): continue + actions.append(self.name_to_action(name, self.gui)) + self._data.extend(actions) + self._data.sort() + self.reset() + + def remove(self, indices, allowed): + rows = [i.row() for i in indices] + remove = set([]) + for row in rows: + ac = self._data[row] + if ac.name.startswith('---'): continue + if ac.name in allowed: + remove.add(row) + ndata = [] + for i, ac in enumerate(self._data): + if i not in remove: + ndata.append(ac) + self._data = ndata + self.reset() + + def restore_defaults(self): + current = gprefs.defaults[self.gprefs_name] + self._data = self.get_all_actions(current) + self.reset() + +class CurrentModel(BaseModel): + + def __init__(self, key, gui): + BaseModel.__init__(self) + self.gprefs_name = 'action-layout-'+key + current = gprefs[self.gprefs_name] + self._data = [self.name_to_action(x, gui) for x in current] + self.key = key + self.gui = gui + + def move(self, idx, delta): + row = idx.row() + if row < 0 or row >= len(self._data): + return + nrow = row + delta + if nrow < 0 or nrow >= len(self._data): + return + t = self._data[row] + self._data[row] = self._data[nrow] + self._data[nrow] = t + ni = self.index(nrow) + self.dataChanged.emit(idx, idx) + self.dataChanged.emit(ni, ni) + return ni + + def add(self, names): + actions = [] + reject = set([]) + for name in names: + ac = self.name_to_action(name, self.gui) + if self.key in ac.dont_add_to: + reject.add(ac) + else: + actions.append(ac) + + self._data.extend(actions) + self.reset() + return reject + + def remove(self, indices): + rows = [i.row() for i in indices] + remove, rejected = set([]), set([]) + for row in rows: + ac = self._data[row] + if self.key in ac.dont_remove_from: + rejected.add(ac) + continue + remove.add(row) + ndata = [] + for i, ac in enumerate(self._data): + if i not in remove: + ndata.append(ac) + self._data = ndata + self.reset() + return rejected + + def commit(self): + old = gprefs[self.gprefs_name] + new = [] + for x in self._data: + n = x.name + if n.startswith('---'): + n = None + new.append(n) + new = tuple(new) + if new != old: + defaults = gprefs.defaults[self.gprefs_name] + if defaults == new: + del gprefs[self.gprefs_name] + else: + gprefs[self.gprefs_name] = new + + def restore_defaults(self): + current = gprefs.defaults[self.gprefs_name] + self._data = [self.name_to_action(x, self.gui) for x in current] + self.reset() + + +class ToolbarLayout(QWidget, Ui_Form): + + LOCATIONS = [ + ('toolbar', _('The main toolbar')), + ('toolbar-device', _('The main toolbar when a device is connected')), + ('context-menu', _('The context menu for the books in the ' + 'calibre library')), + ('context-menu-device', _('The context menu for the books on ' + 'the device')) + ] + + def __init__(self, gui, parent=None): + QWidget.__init__(self, parent) + self.setupUi(self) + + self.models = {} + for key, text in self.LOCATIONS: + self.what.addItem(text, key) + all_model = AllModel(key, gui) + current_model = CurrentModel(key, gui) + self.models[key] = (all_model, current_model) + self.what.setCurrentIndex(0) + self.what.currentIndexChanged[int].connect(self.what_changed) + self.what_changed(0) + + self.add_action_button.clicked.connect(self.add_action) + self.remove_action_button.clicked.connect(self.remove_action) + self.restore_defaults_button.clicked.connect(self.restore_defaults) + self.action_up_button.clicked.connect(partial(self.move, -1)) + self.action_down_button.clicked.connect(partial(self.move, 1)) + + def what_changed(self, idx): + key = unicode(self.what.itemData(idx).toString()) + self.all_actions.setModel(self.models[key][0]) + self.current_actions.setModel(self.models[key][1]) + + def add_action(self, *args): + x = self.all_actions.selectionModel().selectedIndexes() + names = self.all_actions.model().names(x) + if names: + not_added = self.current_actions.model().add(names) + ns = set([x.name for x in not_added]) + added = set(names) - ns + self.all_actions.model().remove(x, added) + if not_added: + warning_dialog(self, _('Cannot add'), + _('Cannot add the actions %s to this location') % + ','.join([a.action_spec[0] for a in not_added]), + show=True) + if added: + ca = self.current_actions + idx = ca.model().index(ca.model().rowCount(None)-1) + ca.scrollTo(idx) + + def remove_action(self, *args): + x = self.current_actions.selectionModel().selectedIndexes() + names = self.current_actions.model().names(x) + if names: + not_removed = self.current_actions.model().remove(x) + ns = set([x.name for x in not_removed]) + removed = set(names) - ns + self.all_actions.model().add(removed) + if not_removed: + warning_dialog(self, _('Cannot remove'), + _('Cannot remove the actions %s from this location') % + ','.join([a.action_spec[0] for a in not_removed]), + show=True) + + def move(self, delta, *args): + ci = self.current_actions.currentIndex() + m = self.current_actions.model() + if ci.isValid(): + ni = m.move(ci, delta) + if ni is not None: + self.current_actions.setCurrentIndex(ni) + self.current_actions.selectionModel().select(ni, + QItemSelectionModel.ClearAndSelect) + + def commit(self): + for am, cm in self.models.values(): + cm.commit() + + def restore_defaults(self, *args): + for am, cm in self.models.values(): + cm.restore_defaults() + am.restore_defaults() + + +if __name__ == '__main__': + from PyQt4.Qt import QApplication + from calibre.gui2.ui import Main + app=QApplication([]) + m = Main(None) + a = ToolbarLayout(m) + a.show() + app.exec_() + a.commit() + diff --git a/src/calibre/gui2/dialogs/config/toolbar.ui b/src/calibre/gui2/dialogs/config/toolbar.ui new file mode 100644 index 0000000000..091f21c4ae --- /dev/null +++ b/src/calibre/gui2/dialogs/config/toolbar.ui @@ -0,0 +1,223 @@ + + + Form + + + + 0 + 0 + 831 + 553 + + + + Form + + + + + + Customize the actions in: + + + + + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 20 + + + + + + + A&vailable actions + + + + + + QAbstractItemView::MultiSelection + + + + 32 + 32 + + + + 10 + + + true + + + + + + + + + + &Current actions + + + + + + QAbstractItemView::MultiSelection + + + + 32 + 32 + + + + 10 + + + true + + + + + + + + + Move selected action up + + + ... + + + + :/images/arrow-up.svg:/images/arrow-up.svg + + + + 24 + 24 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Move selected action down + + + ... + + + + :/images/arrow-down.svg:/images/arrow-down.svg + + + + 24 + 24 + + + + Ctrl+S + + + + + + + + + + + + + + Add selected actions to toolbar + + + ... + + + + :/images/forward.svg:/images/forward.svg + + + + 24 + 24 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 40 + + + + + + + + Remove selected actions from toolbar + + + ... + + + + :/images/back.svg:/images/back.svg + + + + 24 + 24 + + + + + + + + + + Restore to &default + + + + + + + + + + diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 29ba22a5ac..de483720fc 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -3,15 +3,101 @@ __copyright__ = '2008, Kovid Goyal ' '''Dialog to edit metadata in bulk''' -from PyQt4.Qt import SIGNAL, QObject, QDialog, QGridLayout, \ - QCoreApplication +from threading import Thread + +from PyQt4.Qt import QDialog, QGridLayout from calibre.gui2.dialogs.metadata_bulk_ui import Ui_MetadataBulkDialog from calibre.gui2.dialogs.tag_editor import TagEditor from calibre.ebooks.metadata import string_to_authors, \ authors_to_string from calibre.gui2.custom_column_widgets import populate_metadata_page -from calibre.gui2.dialogs.progress import ProgressDialog +from calibre.gui2.dialogs.progress import BlockingBusy +from calibre.gui2 import error_dialog, Dispatcher + +class Worker(Thread): + + def __init__(self, args, db, ids, cc_widgets, callback): + Thread.__init__(self) + self.args = args + self.db = db + self.ids = ids + self.error = None + self.callback = callback + self.cc_widgets = cc_widgets + + def doit(self): + remove, add, au, aus, do_aus, rating, pub, do_series, \ + do_autonumber, do_remove_format, remove_format, do_swap_ta, \ + do_remove_conv, do_auto_author, series = self.args + + # first loop: do author and title. These will commit at the end of each + # operation, because each operation modifies the file system. We want to + # try hard to keep the DB and the file system in sync, even in the face + # of exceptions or forced exits. + for id in self.ids: + if do_swap_ta: + title = self.db.title(id, index_is_id=True) + aum = self.db.authors(id, index_is_id=True) + if aum: + aum = [a.strip().replace('|', ',') for a in aum.split(',')] + new_title = authors_to_string(aum) + self.db.set_title(id, new_title, notify=False) + if title: + new_authors = string_to_authors(title) + self.db.set_authors(id, new_authors, notify=False) + + if au: + self.db.set_authors(id, string_to_authors(au), notify=False) + + # All of these just affect the DB, so we can tolerate a total rollback + for id in self.ids: + if do_auto_author: + x = self.db.author_sort_from_book(id, index_is_id=True) + if x: + self.db.set_author_sort(id, x, notify=False, commit=False) + + if aus and do_aus: + self.db.set_author_sort(id, aus, notify=False, commit=False) + + if rating != -1: + self.db.set_rating(id, 2*rating, notify=False, commit=False) + + if pub: + self.db.set_publisher(id, pub, notify=False, commit=False) + + if do_series: + next = self.db.get_next_series_num_for(series) + self.db.set_series(id, series, notify=False, commit=False) + num = next if do_autonumber and series else 1.0 + self.db.set_series_index(id, num, notify=False, commit=False) + + if do_remove_format: + self.db.remove_format(id, remove_format, index_is_id=True, notify=False, commit=False) + + if do_remove_conv: + self.db.delete_conversion_options(id, 'PIPE', commit=False) + self.db.commit() + + for w in self.cc_widgets: + w.commit(self.ids) + self.db.bulk_modify_tags(self.ids, add=add, remove=remove, + notify=False) + self.db.clean() + + def run(self): + try: + self.doit() + except Exception, err: + import traceback + try: + err = unicode(err) + except: + err = repr(err) + self.error = (err, traceback.format_exc()) + + self.callback() + class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): @@ -38,9 +124,9 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.remove_format.setCurrentIndex(-1) - QObject.connect(self.series, SIGNAL('currentIndexChanged(int)'), self.series_changed) - QObject.connect(self.series, SIGNAL('editTextChanged(QString)'), self.series_changed) - QObject.connect(self.tag_editor_button, SIGNAL('clicked()'), self.tag_editor) + self.series.currentIndexChanged[int].connect(self.series_changed) + self.series.editTextChanged.connect(self.series_changed) + self.tag_editor_button.clicked.connect(self.tag_editor) if len(db.custom_column_label_map) == 0: self.central_widget.tabBar().setVisible(False) else: @@ -94,7 +180,7 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.publisher.addItem(name) self.publisher.setEditText('') - def tag_editor(self): + def tag_editor(self, *args): d = TagEditor(self, self.db, None) d.exec_() if d.result() == QDialog.Accepted: @@ -107,96 +193,50 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): if len(self.ids) < 1: return QDialog.accept(self) - pd = ProgressDialog(_('Working'), - _('Applying changes to %d books. This may take a while.')%len(self.ids), - 0, 0, self, cancelable=False) - pd.setModal(True) - pd.show() - def upd(): - QCoreApplication.processEvents() + self.changed = bool(self.ids) + # Cache values from GUI so that Qt widgets are not used in + # non GUI thread + for w in getattr(self, 'custom_column_widgets', []): + w.gui_val - try: + if self.remove_all_tags.isChecked(): + remove = self.db.all_tags() + else: remove = unicode(self.remove_tags.text()).strip().split(',') - add = unicode(self.tags.text()).strip().split(',') - au = unicode(self.authors.text()) - aus = unicode(self.author_sort.text()) - do_aus = self.author_sort.isEnabled() - rating = self.rating.value() - pub = unicode(self.publisher.text()) - do_series = self.write_series - series = unicode(self.series.currentText()).strip() - do_autonumber = self.autonumber_series.isChecked() - do_remove_format = self.remove_format.currentIndex() > -1 - remove_format = unicode(self.remove_format.currentText()) - do_swap_ta = self.swap_title_and_author.isChecked() - do_remove_conv = self.remove_conversion_settings.isChecked() - do_auto_author = self.auto_author_sort.isChecked() + add = unicode(self.tags.text()).strip().split(',') + au = unicode(self.authors.text()) + aus = unicode(self.author_sort.text()) + do_aus = self.author_sort.isEnabled() + rating = self.rating.value() + pub = unicode(self.publisher.text()) + do_series = self.write_series + series = unicode(self.series.currentText()).strip() + do_autonumber = self.autonumber_series.isChecked() + do_remove_format = self.remove_format.currentIndex() > -1 + remove_format = unicode(self.remove_format.currentText()) + do_swap_ta = self.swap_title_and_author.isChecked() + do_remove_conv = self.remove_conversion_settings.isChecked() + do_auto_author = self.auto_author_sort.isChecked() - upd() - self.changed = bool(self.ids) - for id in self.ids: - upd() - if do_swap_ta: - title = self.db.title(id, index_is_id=True) - aum = self.db.authors(id, index_is_id=True) - if aum: - aum = [a.strip().replace('|', ',') for a in aum.split(',')] - new_title = authors_to_string(aum) - self.db.set_title(id, new_title, notify=False) - if title: - new_authors = string_to_authors(title) - self.db.set_authors(id, new_authors, notify=False) - upd() + args = (remove, add, au, aus, do_aus, rating, pub, do_series, + do_autonumber, do_remove_format, remove_format, do_swap_ta, + do_remove_conv, do_auto_author, series) - if au: - self.db.set_authors(id, string_to_authors(au), notify=False) - upd() - - if do_auto_author: - x = self.db.author_sort_from_book(id, index_is_id=True) - if x: - self.db.set_author_sort(id, x, notify=False) - upd() - - if aus and do_aus: - self.db.set_author_sort(id, aus, notify=False) - upd() - - if rating != -1: - self.db.set_rating(id, 2*rating, notify=False) - - if pub: - self.db.set_publisher(id, pub, notify=False) - upd() - - if do_series: - next = self.db.get_next_series_num_for(series) - self.db.set_series(id, series, notify=False) - num = next if do_autonumber and series else 1.0 - self.db.set_series_index(id, num, notify=False) - upd() - - if do_remove_format: - self.db.remove_format(id, remove_format, index_is_id=True, notify=False) - upd() - - if do_remove_conv: - self.db.delete_conversion_options(id, 'PIPE') - - upd() - for w in getattr(self, 'custom_column_widgets', []): - w.commit(self.ids) - self.db.bulk_modify_tags(self.ids, add=add, remove=remove, - notify=False) - upd() - - - finally: - pd.hide() + bb = BlockingBusy(_('Applying changes to %d books. This may take a while.') + %len(self.ids), parent=self) + self.worker = Worker(args, self.db, self.ids, + getattr(self, 'custom_column_widgets', []), + Dispatcher(bb.accept, parent=bb)) + self.worker.start() + bb.exec_() + if self.worker.error is not None: + return error_dialog(self, _('Failed'), + self.worker.error[0], det_msg=self.worker.error[1], + show=True) return QDialog.accept(self) - def series_changed(self): + def series_changed(self, *args): self.write_series = True diff --git a/src/calibre/gui2/dialogs/metadata_bulk.ui b/src/calibre/gui2/dialogs/metadata_bulk.ui index 2cdef2b12a..4287ca5c79 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.ui +++ b/src/calibre/gui2/dialogs/metadata_bulk.ui @@ -140,7 +140,7 @@ - + true @@ -191,14 +191,23 @@ - + Comma separated list of tags to remove from the books. - + + + + Remove all + + + Check this box to remove all tags from the books. + + + &Series: diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index 50223923c1..3e07422967 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -668,9 +668,9 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.tags.setText(', '.join(book.tags)) if book.series is not None: if self.series.text() is None or self.series.text() == '': - self.series.setText(book.series) - if book.series_index is not None: - self.series_index.setValue(book.series_index) + self.series.setText(book.series) + if book.series_index is not None: + self.series_index.setValue(book.series_index) else: error_dialog(self, _('Cannot fetch metadata'), _('You must specify at least one of ISBN, Title, ' @@ -719,24 +719,31 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.db.set_authors(self.id, string_to_authors(au), notify=False) aus = unicode(self.author_sort.text()) if aus: - self.db.set_author_sort(self.id, aus, notify=False) + self.db.set_author_sort(self.id, aus, notify=False, commit=False) self.db.set_isbn(self.id, - re.sub(r'[^0-9a-zA-Z]', '', unicode(self.isbn.text())), notify=False) - self.db.set_rating(self.id, 2*self.rating.value(), notify=False) - self.db.set_publisher(self.id, unicode(self.publisher.currentText()), notify=False) + re.sub(r'[^0-9a-zA-Z]', '', unicode(self.isbn.text())), + notify=False, commit=False) + self.db.set_rating(self.id, 2*self.rating.value(), notify=False, + commit=False) + self.db.set_publisher(self.id, unicode(self.publisher.currentText()), + notify=False, commit=False) self.db.set_tags(self.id, [x.strip() for x in - unicode(self.tags.text()).split(',')], notify=False) + unicode(self.tags.text()).split(',')], notify=False, commit=False) self.db.set_series(self.id, - unicode(self.series.currentText()).strip(), notify=False) - self.db.set_series_index(self.id, self.series_index.value(), notify=False) - self.db.set_comment(self.id, unicode(self.comments.toPlainText()), notify=False) + unicode(self.series.currentText()).strip(), notify=False, + commit=False) + self.db.set_series_index(self.id, self.series_index.value(), + notify=False, commit=False) + self.db.set_comment(self.id, unicode(self.comments.toPlainText()), + notify=False, commit=False) d = self.pubdate.date() d = qt_to_dt(d) - self.db.set_pubdate(self.id, d, notify=False) + self.db.set_pubdate(self.id, d, notify=False, commit=False) d = self.date.date() d = qt_to_dt(d) if d.date() != self.orig_timestamp.date(): - self.db.set_timestamp(self.id, d, notify=False) + self.db.set_timestamp(self.id, d, notify=False, commit=False) + self.db.commit() if self.cover_changed: if self.cover_data is not None: @@ -745,6 +752,7 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.db.remove_cover(self.id) for w in getattr(self, 'custom_column_widgets', []): w.commit(self.id) + self.db.commit() except IOError, err: if err.errno == 13: # Permission denied fname = err.filename if err.filename else 'file' @@ -769,9 +777,9 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): wg = dynamic.get('metasingle_window_geometry', None) ss = dynamic.get('metasingle_splitter_state', None) if wg is not None: - self.restoreGeometry(wg) + self.restoreGeometry(wg) if ss is not None: - self.splitter.restoreState(ss) + self.splitter.restoreState(ss) def save_state(self): dynamic.set('metasingle_window_geometry', bytes(self.saveGeometry())) diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui index 19ae89bfba..a943425a89 100644 --- a/src/calibre/gui2/dialogs/metadata_single.ui +++ b/src/calibre/gui2/dialogs/metadata_single.ui @@ -613,12 +613,9 @@ - - - Browse for an image to use as the cover of this book. - + - ... + &Browse @@ -750,7 +747,6 @@ button_set_metadata formats cover_path - cover_button reset_cover fetch_cover_button generate_cover_button diff --git a/src/calibre/gui2/dialogs/progress.py b/src/calibre/gui2/dialogs/progress.py index 3afa8dd633..553ee4b03b 100644 --- a/src/calibre/gui2/dialogs/progress.py +++ b/src/calibre/gui2/dialogs/progress.py @@ -5,9 +5,10 @@ __docformat__ = 'restructuredtext en' '''''' -from PyQt4.Qt import QDialog, pyqtSignal, Qt +from PyQt4.Qt import QDialog, pyqtSignal, Qt, QVBoxLayout, QLabel, QFont from calibre.gui2.dialogs.progress_ui import Ui_Dialog +from calibre.gui2.progress_indicator import ProgressIndicator class ProgressDialog(QDialog, Ui_Dialog): @@ -69,3 +70,37 @@ class ProgressDialog(QDialog, Ui_Dialog): self._canceled() else: QDialog.keyPressEvent(self, ev) + +class BlockingBusy(QDialog): + + def __init__(self, msg, parent=None, window_title=_('Working')): + QDialog.__init__(self, parent) + + self._layout = QVBoxLayout() + self.setLayout(self._layout) + self.msg = QLabel(msg) + #self.msg.setWordWrap(True) + self.font = QFont() + self.font.setPointSize(self.font.pointSize() + 8) + self.msg.setFont(self.font) + self.pi = ProgressIndicator(self) + self.pi.setDisplaySize(100) + self._layout.addWidget(self.pi, 0, Qt.AlignHCenter) + self._layout.addSpacing(15) + self._layout.addWidget(self.msg, 0, Qt.AlignHCenter) + self.start() + self.setWindowTitle(window_title) + self.resize(self.sizeHint()) + + def start(self): + self.pi.startAnimation() + + def stop(self): + self.pi.stopAnimation() + + def accept(self): + self.stop() + return QDialog.accept(self) + + def reject(self): + pass # Cannot cancel this dialog diff --git a/src/calibre/gui2/dialogs/tag_categories.py b/src/calibre/gui2/dialogs/tag_categories.py index 1344150c22..e3f1c17f3c 100644 --- a/src/calibre/gui2/dialogs/tag_categories.py +++ b/src/calibre/gui2/dialogs/tag_categories.py @@ -21,7 +21,7 @@ class Item: return 'name=%s, label=%s, index=%s, exists='%(self.name, self.label, self.index, self.exists) class TagCategories(QDialog, Ui_TagCategories): - category_labels_orig = ['', 'authors', 'series', 'publishers', 'tags'] + category_labels_orig = ['', 'authors', 'series', 'publisher', 'tags'] def __init__(self, window, db, on_category=None): QDialog.__init__(self, window) diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index 73de77b13b..c983e111d4 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -13,7 +13,7 @@ from PyQt4.Qt import Qt, QStackedWidget, QMenu, \ from calibre.utils.config import prefs from calibre.constants import isosx, __appname__, preferred_encoding, \ __version__ -from calibre.gui2 import config, is_widescreen +from calibre.gui2 import config, is_widescreen, gprefs from calibre.gui2.library.views import BooksView, DeviceBooksView from calibre.gui2.widgets import Splitter from calibre.gui2.tag_view import TagBrowserWidget @@ -27,34 +27,10 @@ def partial(*args, **kwargs): _keep_refs.append(ans) return ans -LIBRARY_CONTEXT_MENU = ( - 'Edit Metadata', 'Send To Device', 'Save To Disk', 'Connect Share', None, - 'Convert Books', 'View', 'Open Folder', 'Show Book Details', None, - 'Remove Books', - ) - -DEVICE_CONTEXT_MENU = ('View', 'Save To Disk', None, 'Remove Books', None, - 'Add To Library', 'Edit Collections', - ) class LibraryViewMixin(object): # {{{ def __init__(self, db): - lm = QMenu(self) - def populate_menu(m, items): - for what in items: - if what is None: - m.addSeparator() - elif what in self.iactions: - m.addAction(self.iactions[what].qaction) - populate_menu(lm, LIBRARY_CONTEXT_MENU) - dm = QMenu(self) - populate_menu(dm, DEVICE_CONTEXT_MENU) - ec = self.iactions['Edit Collections'].qaction - self.library_view.set_context_menu(lm, ec) - for v in (self.memory_view, self.card_a_view, self.card_b_view): - v.set_context_menu(dm, ec) - self.library_view.files_dropped.connect(self.iactions['Add Books'].files_dropped, type=Qt.QueuedConnection) for func, args in [ ('connect_to_search_box', (self.search, @@ -84,6 +60,23 @@ class LibraryViewMixin(object): # {{{ view = getattr(self, view+'_view') view.verticalHeader().sectionDoubleClicked.connect(self.iactions['View'].view_specific_book) + self.build_context_menus() + + def build_context_menus(self): + lm = QMenu(self) + def populate_menu(m, items): + for what in items: + if what is None: + m.addSeparator() + elif what in self.iactions: + m.addAction(self.iactions[what].qaction) + populate_menu(lm, gprefs['action-layout-context-menu']) + dm = QMenu(self) + populate_menu(dm, gprefs['action-layout-context-menu-device']) + ec = self.iactions['Edit Collections'].qaction + self.library_view.set_context_menu(lm, ec) + for v in (self.memory_view, self.card_a_view, self.card_b_view): + v.set_context_menu(dm, ec) def search_done(self, view, ok): diff --git a/src/calibre/gui2/layout.py b/src/calibre/gui2/layout.py index 6c87fe9da3..4eccf597c2 100644 --- a/src/calibre/gui2/layout.py +++ b/src/calibre/gui2/layout.py @@ -15,23 +15,10 @@ from PyQt4.Qt import QIcon, Qt, QWidget, QToolBar, QSize, \ from calibre.constants import __appname__ from calibre.gui2.search_box import SearchBox2, SavedSearchBox from calibre.gui2.throbber import ThrobbingButton -from calibre.gui2 import config, gprefs +from calibre.gui2 import gprefs from calibre.gui2.widgets import ComboBoxWithHelp from calibre import human_readable -TOOLBAR_NO_DEVICE = ( - 'Add Books', 'Edit Metadata', None, 'Convert Books', 'View', None, - 'Choose Library', 'Donate', None, 'Fetch News', 'Save To Disk', - 'Connect Share', None, 'Remove Books', None, 'Help', 'Preferences', - ) - -TOOLBAR_DEVICE = ( - 'Add Books', 'Edit Metadata', None, 'Convert Books', 'View', - 'Send To Device', None, None, 'Location Manager', None, None, - 'Fetch News', 'Save To Disk', 'Connect Share', None, - 'Remove Books', None, 'Help', 'Preferences', - ) - class LocationManager(QObject): # {{{ locations_changed = pyqtSignal() @@ -110,6 +97,7 @@ class LocationManager(QObject): # {{{ self.free[2] = fs[2] if fs[2] is not None and cpb is not None else -1 self.update_tooltips() if self.has_device != had_device: + self.location_library.setChecked(True) self.locations_changed.emit() if not self.has_device: self.location_library.trigger() @@ -220,35 +208,34 @@ class ToolBar(QToolBar): # {{{ self.setOrientation(Qt.Horizontal) self.setAllowedAreas(Qt.TopToolBarArea|Qt.BottomToolBarArea) self.setStyleSheet('QToolButton:checked { font-weight: bold }') - self.donate = donate + self.donate_button = donate self.apply_settings() self.location_manager = location_manager self.location_manager.locations_changed.connect(self.build_bar) - self.d_widget = QWidget() - self.d_widget.setLayout(QVBoxLayout()) - self.d_widget.layout().addWidget(donate) donate.setAutoRaise(True) donate.setCursor(Qt.PointingHandCursor) self.build_bar() self.preferred_width = self.sizeHint().width() def apply_settings(self): - sz = gprefs.get('toolbar_icon_size', 'medium') + sz = gprefs['toolbar_icon_size'] sz = {'small':24, 'medium':48, 'large':64}[sz] self.setIconSize(QSize(sz, sz)) style = Qt.ToolButtonTextUnderIcon - if gprefs.get('toolbar_text', 'auto') == 'never': + if gprefs['toolbar_text'] == 'never': style = Qt.ToolButtonIconOnly self.setToolButtonStyle(style) - self.donate.set_normal_icon_size(sz, sz) + self.donate_button.set_normal_icon_size(sz, sz) def contextMenuEvent(self, *args): pass def build_bar(self): + self.showing_donate = False showing_device = self.location_manager.has_device - actions = TOOLBAR_DEVICE if showing_device else TOOLBAR_NO_DEVICE + actions = '-device' if showing_device else '' + actions = gprefs['action-layout-toolbar'+actions] self.clear() @@ -259,8 +246,12 @@ class ToolBar(QToolBar): # {{{ for ac in self.location_manager.available_actions: self.addAction(ac) self.setup_tool_button(ac, QToolButton.MenuButtonPopup) - elif what == 'Donate' and config['show_donate_button']: + elif what == 'Donate': + self.d_widget = QWidget() + self.d_widget.setLayout(QVBoxLayout()) + self.d_widget.layout().addWidget(self.donate_button) self.addWidget(self.d_widget) + self.showing_donate = True elif what in self.gui.iactions: action = self.gui.iactions[what] self.addAction(action.qaction) @@ -276,7 +267,7 @@ class ToolBar(QToolBar): # {{{ def resizeEvent(self, ev): QToolBar.resizeEvent(self, ev) style = Qt.ToolButtonTextUnderIcon - p = gprefs.get('toolbar_text', 'auto') + p = gprefs['toolbar_text'] if p == 'never': style = Qt.ToolButtonIconOnly @@ -290,7 +281,7 @@ class ToolBar(QToolBar): # {{{ # }}} -class MainWindowMixin(object): +class MainWindowMixin(object): # {{{ def __init__(self, db): self.setObjectName('MainWindow') @@ -303,7 +294,7 @@ class MainWindowMixin(object): self._central_widget_layout = QVBoxLayout() self.centralwidget.setLayout(self._central_widget_layout) self.resize(1012, 740) - self.donate_button = ThrobbingButton(self.centralwidget) + self.donate_button = ThrobbingButton() self.location_manager = LocationManager(self) self.iactions['Fetch News'].init_scheduler(db) @@ -316,7 +307,7 @@ class MainWindowMixin(object): l = self.centralwidget.layout() l.addWidget(self.search_bar) - +# }}} diff --git a/src/calibre/gui2/library/delegates.py b/src/calibre/gui2/library/delegates.py index 40f7a2e4e0..d98d9a240b 100644 --- a/src/calibre/gui2/library/delegates.py +++ b/src/calibre/gui2/library/delegates.py @@ -98,14 +98,14 @@ class DateDelegate(QStyledItemDelegate): # {{{ d = val.toDate() if d <= UNDEFINED_QDATE: return '' - return format_date(d.toPyDate(), 'dd MMM yyyy') + format = tweaks['gui_timestamp_display_format'] + if format is None: + format = 'dd MMM yyyy' + return format_date(d.toPyDate(), format) def createEditor(self, parent, option, index): qde = QStyledItemDelegate.createEditor(self, parent, option, index) - stdformat = unicode(qde.displayFormat()) - if 'yyyy' not in stdformat: - stdformat = stdformat.replace('yy', 'yyyy') - qde.setDisplayFormat(stdformat) + qde.setDisplayFormat('dd MMM yyyy') qde.setMinimumDate(UNDEFINED_QDATE) qde.setSpecialValueText(_('Undefined')) qde.setCalendarPopup(True) diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 389208fdcd..966180467c 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -229,6 +229,8 @@ class BooksView(QTableView): # {{{ def cleanup_sort_history(self, sort_history): history = [] for col, order in sort_history: + if col == 'date': + col = 'timestamp' if col in self.column_map and (not history or history[0][0] != col): history.append([col, order]) return history diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index f9d7d80b24..24ba7ef47c 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -241,7 +241,7 @@ class GuiRunner(QObject): QApplication.instance().processEvents() def initialize(self, *args): - if gprefs.get('show_splash_screen', True): + if gprefs['show_splash_screen']: self.show_splash_screen() self.library_path = get_library_path(parent=self.splash_screen) diff --git a/src/calibre/gui2/preferences/__init__.py b/src/calibre/gui2/preferences/__init__.py new file mode 100644 index 0000000000..3baba75609 --- /dev/null +++ b/src/calibre/gui2/preferences/__init__.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai + +__license__ = 'GPL v3' +__copyright__ = '2010, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from PyQt4.Qt import QWidget, pyqtSignal, QCheckBox, QAbstractSpinBox, \ + QLineEdit, QComboBox, QVariant + +from calibre.customize.ui import preferences_plugins + +class ConfigWidgetInterface(object): + + changed_signal = None + + def genesis(self, gui): + raise NotImplementedError() + + def restore_defaults(self): + pass + + def commit(self): + pass + +class Setting(object): + + def __init__(self, name, config_obj, widget, gui_name=None, + empty_string_is_None=True, choices=None): + self.name, self.gui_name = name, gui_name + self.empty_string_is_None = empty_string_is_None + self.choices = choices + if gui_name is None: + self.gui_name = 'opt_'+name + self.config_obj = config_obj + self.gui_obj = getattr(widget, self.gui_name) + + if isinstance(self.gui_obj, QCheckBox): + self.datatype = 'bool' + self.gui_obj.stateChanged.connect(lambda x: + widget.changed_signal.emit()) + elif isinstance(self.gui_obj, QAbstractSpinBox): + self.datatype = 'number' + self.gui_obj.valueChanged.connect(lambda x: + widget.changed_signal.emit()) + elif isinstance(self.gui_obj, QLineEdit): + self.datatype = 'string' + self.gui_obj.textChanged.connect(lambda x: + widget.changed_signal.emit()) + elif isinstance(self.gui_obj, QComboBox): + self.datatype = 'choice' + self.gui_obj.editTextChanged.connect(lambda x: + widget.changed_signal.emit()) + self.gui_obj.currentIndexChanged.connect(lambda x: + widget.changed_signal.emit()) + else: + raise ValueError('Unknown data type') + + def initialize(self): + self.gui_obj.blockSignals(True) + if self.datatype == 'choices': + self.gui_obj.clear() + for x in self.choices: + if isinstance(x, basestring): + x = (x, x) + self.gui_obj.addItem(x[0], QVariant(x[1])) + self.set_gui_val(self.get_config_val(default=False)) + self.gui_obj.blockSignals(False) + + def commit(self): + self.set_config_val(self.get_gui_val()) + + def restore_defaults(self): + self.set_gui_val(self.get_config_val(default=True)) + + def get_config_val(self, default=False): + if default: + val = self.config_obj.defaults[self.name] + else: + val = self.config_obj[self.name] + return val + + def set_config_val(self, val): + self.config_obj[self.name] = val + + def set_gui_val(self, val): + if self.datatype == 'bool': + self.gui_obj.setChecked(bool(val)) + elif self.datatype == 'number': + self.gui_obj.setValue(val) + elif self.datatype == 'string': + self.gui_obj.setText(val if val else '') + elif self.datatype == 'choices': + idx = self.gui_obj.findData(QVariant(val)) + if idx == -1: + idx = 0 + self.gui_obj.setCurrentIndex(idx) + + def get_gui_val(self): + if self.datatype == 'bool': + val = bool(self.gui_obj.isChecked()) + elif self.datatype == 'number': + val = self.gui_obj.value(val) + elif self.datatype == 'string': + val = unicode(self.gui_name.text()).strip() + if self.empty_string_is_None and not val: + val = None + elif self.datatype == 'choices': + idx = self.gui_obj.currentIndex() + if idx < 0: idx = 0 + val = unicode(self.gui_obj.itemData(idx).toString()) + return val + + +class ConfigWidgetBase(QWidget, ConfigWidgetInterface): + + changed_signal = pyqtSignal() + + def __init__(self, parent=None): + QWidget.__init__(self, parent) + if hasattr(self, 'setupUi'): + self.setupUi(self) + self.settings = {} + + def register(self, name, config_obj, gui_name=None, choices=None, setting=Setting): + setting = setting(name, config_obj, self, gui_name=gui_name, + choices=choices) + self.register_setting(setting) + + def register_setting(self, setting): + self.settings[setting.name] = setting + return setting + + def initialize(self): + for setting in self.settings.values(): + setting.initialize() + + def commit(self): + for setting in self.settings.values(): + setting.commit() + + def restore_defaults(self, *args): + for setting in self.settings.values(): + setting.restore_defaults() + + + +def get_plugin(category, name): + for plugin in preferences_plugins(): + if plugin.category == category and plugin.name == name: + return plugin + raise ValueError( + 'No Preferences Plugin with category: %s and name: %s found' % + (category, name)) + +def test_widget(category, name, gui=None): # {{{ + from PyQt4.Qt import QDialog, QVBoxLayout, QDialogButtonBox + pl = get_plugin(category, name) + d = QDialog() + d.resize(750, 550) + bb = QDialogButtonBox(d) + bb.setStandardButtons(bb.Apply|bb.Cancel|bb.RestoreDefaults) + bb.accepted.connect(d.accept) + bb.rejected.connect(d.reject) + w = pl.create_widget(d) + bb.button(bb.RestoreDefaults).clicked.connect(w.restore_defaults) + bb.button(bb.Apply).setEnabled(False) + w.changed_signal.connect(lambda : bb.button(bb.Apply).setEnable(True)) + l = QVBoxLayout() + d.setLayout(l) + l.addWidget(w) + l.addWidget(bb) + if gui is None: + from calibre.gui2.ui import Main + from calibre.gui2.main import option_parser + from calibre.library import db + parser = option_parser() + opts, args = parser.parse_args([]) + actions = tuple(Main.create_application_menubar()) + db = db() + gui = Main(opts) + gui.initialize(db.library_path, db, None, actions, show_gui=False) + w.genesis(gui) + if d.exec_() == QDialog.Accepted: + w.commit() +# }}} + diff --git a/src/calibre/gui2/preferences/behavior.ui b/src/calibre/gui2/preferences/behavior.ui new file mode 100644 index 0000000000..09d83f29de --- /dev/null +++ b/src/calibre/gui2/preferences/behavior.ui @@ -0,0 +1,263 @@ + + + Form + + + + 0 + 0 + 672 + 563 + + + + Form + + + + + + &Overwrite author and title by default when fetching metadata + + + + + + + Download &social metadata (tags/ratings/etc.) by default + + + + + + + Show notification when &new version is available + + + + + + + Automatically send downloaded &news to ebook reader + + + + + + + &Delete news from library when it is automatically sent to reader + + + + + + + + + Default network &timeout: + + + timeout + + + + + + + Set the default timeout for network fetches (i.e. anytime we go out to the internet to get information) + + + seconds + + + 2 + + + 120 + + + 5 + + + + + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 20 + + + + Normal + + + + + High + + + + + Low + + + + + + + + Job &priority: + + + priority + + + + + + + Preferred &output format: + + + output_format + + + + + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 10 + + + + + + + Restriction to apply when the current library is opened: + + + opt_gui_restriction + + + + + + + + 250 + 16777215 + + + + 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. + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 15 + + + + + + + + + Reset all disabled &confirmation dialogs + + + + + + + Preferred &input format order: + + + + + + + + true + + + QAbstractItemView::SelectRows + + + + + + + + + ... + + + + :/images/arrow-up.svg:/images/arrow-up.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + ... + + + + :/images/arrow-down.svg:/images/arrow-down.svg + + + + + + + + + + + + + + Use internal &viewer for: + + + + + + true + + + QAbstractItemView::NoSelection + + + + + + + + + + + + + diff --git a/src/calibre/gui2/preferences/custom_columns.ui b/src/calibre/gui2/preferences/custom_columns.ui new file mode 100644 index 0000000000..3f26838a07 --- /dev/null +++ b/src/calibre/gui2/preferences/custom_columns.ui @@ -0,0 +1,170 @@ + + + Form + + + + 0 + 0 + 504 + 399 + + + + Form + + + + + + 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. + + + true + + + + + + + true + + + QAbstractItemView::SelectRows + + + + + + + + + ... + + + + :/images/arrow-up.svg:/images/arrow-up.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Remove a user-defined column + + + ... + + + + :/images/minus.svg:/images/minus.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Add a user-defined column + + + ... + + + + :/images/plus.svg:/images/plus.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Edit settings of a user-defined column + + + ... + + + + :/images/edit_input.svg:/images/edit_input.svg + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + ... + + + + :/images/arrow-down.svg:/images/arrow-down.svg + + + + + + + + + Add &custom column + + + + + + + + + + diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py new file mode 100644 index 0000000000..eb13dd5429 --- /dev/null +++ b/src/calibre/gui2/preferences/look_feel.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai + +__license__ = 'GPL v3' +__copyright__ = '2010, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + + +from calibre.gui2.preferences import ConfigWidgetBase, test_widget +from calibre.gui2.preferences.look_feel_ui import Ui_Form +from calibre.gui2 import config, gprefs +from calibre.utils.localization import available_translations, \ + get_language, get_lang +from calibre.utils.config import prefs + +class ConfigWidget(ConfigWidgetBase, Ui_Form): + + def genesis(self, gui): + self.gui = gui + + r = self.register + + r('gui_layout', config, choices= + [(_('Wide'), 'wide'), (_('Narrow'), 'narrow')]) + + r('cover_flow_queue_length', config) + + lang = get_lang() + if lang is None or lang not in available_translations(): + lang = 'en' + items = [(l, get_language(l)) for l in available_translations() \ + if l != lang] + if lang != 'en': + items.append(('en', get_language('en'))) + items.sort(cmp=lambda x, y: cmp(x[1], y[1])) + choices = [(y, x) for x, y in items] + # Default language is the autodetected one + choices = [get_language(lang), lang] + choices + r('language', prefs, choices=choices) + + r('show_avg_rating', config) + r('disable_animations', config) + r('systray_icon', config) + r('show_splash_screen', gprefs) + r('disable_tray_notification', config) + r('use_roman_numerals_for_series_number', config) + r('separate_cover_flow', config) + r('search_as_you_type', config) + + choices = [(_('Small'), 'small'), (_('Medium'), 'medium'), + (_('Large'), 'large')] + r('toolbar_icon_size', gprefs, choices=choices) + + choices = [(_('Automatic'), 'auto'), (_('Always'), 'always'), + (_('Never'), 'never')] + r('toolbar_text', gprefs, choices=choices) + +if __name__ == '__main__': + from PyQt4.Qt import QApplication + app = QApplication([]) + test_widget('Interface', 'Look & Feel') + diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui new file mode 100644 index 0000000000..7c6c736b24 --- /dev/null +++ b/src/calibre/gui2/preferences/look_feel.ui @@ -0,0 +1,196 @@ + + + Form + + + + 0 + 0 + 670 + 385 + + + + Form + + + + + + User Interface &layout (needs restart): + + + opt_gui_layout + + + + + + + + 250 + 16777215 + + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 20 + + + + + + + &Number of covers to show in browse mode (needs restart): + + + opt_cover_flow_queue_length + + + + + + + + + + Choose &language (requires restart): + + + opt_language + + + + + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + 20 + + + + + + + Show &average ratings in the tags browser + + + true + + + + + + + Disable all animations. Useful if you have a slow/old computer. + + + Disable &animations + + + + + + + Enable system &tray icon (needs restart) + + + + + + + Show &splash screen at startup + + + + + + + Disable &notifications in system tray + + + + + + + Use &Roman numerals for series + + + true + + + + + + + Show cover &browser in a separate window (needs restart) + + + + + + + Search as you type + + + true + + + + + + + &Toolbar + + + + + + + + + &Icon size: + + + opt_toolbar_icon_size + + + + + + + + + + Show &text under icons: + + + opt_toolbar_text + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + diff --git a/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp b/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp index ce4e4364ad..24d69bc164 100644 --- a/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp +++ b/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp @@ -1,124 +1,124 @@ -#include "QProgressIndicator.h" - -#include - -QProgressIndicator::QProgressIndicator(QWidget* parent, int size) - : QWidget(parent), - m_angle(0), - m_timerId(-1), - m_delay(80), - m_displayedWhenStopped(true), - m_displaySize(size), - m_color(Qt::black) -{ - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setFocusPolicy(Qt::NoFocus); -} - -bool QProgressIndicator::isAnimated () const -{ - return (m_timerId != -1); -} - -void QProgressIndicator::setDisplayedWhenStopped(bool state) -{ - m_displayedWhenStopped = state; - - update(); -} - -void QProgressIndicator::setDisplaySize(int size) -{ - m_displaySize = size; - update(); -} - - -bool QProgressIndicator::isDisplayedWhenStopped() const -{ - return m_displayedWhenStopped; -} - -void QProgressIndicator::startAnimation() -{ - m_angle = 0; - - if (m_timerId == -1) - m_timerId = startTimer(m_delay); -} - -void QProgressIndicator::stopAnimation() -{ - if (m_timerId != -1) - killTimer(m_timerId); - - m_timerId = -1; - - update(); -} - -void QProgressIndicator::setAnimationDelay(int delay) -{ - if (m_timerId != -1) - killTimer(m_timerId); - - m_delay = delay; - - if (m_timerId != -1) - m_timerId = startTimer(m_delay); -} - -void QProgressIndicator::setColor(const QColor & color) -{ - m_color = color; - - update(); -} - -QSize QProgressIndicator::sizeHint() const -{ - return QSize(m_displaySize, m_displaySize); -} - -int QProgressIndicator::heightForWidth(int w) const -{ - return w; -} - -void QProgressIndicator::timerEvent(QTimerEvent * /*event*/) -{ - m_angle = (m_angle+30)%360; - - update(); -} - -void QProgressIndicator::paintEvent(QPaintEvent * /*event*/) -{ - if (!m_displayedWhenStopped && !isAnimated()) - return; - - int width = qMin(this->width(), this->height()); - - QPainter p(this); - p.setRenderHint(QPainter::Antialiasing); - - int outerRadius = (width-1)*0.5; - int innerRadius = (width-1)*0.5*0.38; - - int capsuleHeight = outerRadius - innerRadius; - int capsuleWidth = (width > 32 ) ? capsuleHeight *.23 : capsuleHeight *.35; - int capsuleRadius = capsuleWidth/2; - - for (int i=0; i<12; i++) - { - QColor color = m_color; - color.setAlphaF(1.0f - (i/12.0f)); - p.setPen(Qt::NoPen); - p.setBrush(color); - p.save(); - p.translate(rect().center()); - p.rotate(m_angle - i*30.0f); - p.drawRoundedRect(-capsuleWidth*0.5, -(innerRadius+capsuleHeight), capsuleWidth, capsuleHeight, capsuleRadius, capsuleRadius); - p.restore(); - } -} +#include "QProgressIndicator.h" + +#include + +QProgressIndicator::QProgressIndicator(QWidget* parent, int size) + : QWidget(parent), + m_angle(0), + m_timerId(-1), + m_delay(80), + m_displaySize(size), + m_displayedWhenStopped(true), + m_color(Qt::black) +{ + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + setFocusPolicy(Qt::NoFocus); +} + +bool QProgressIndicator::isAnimated () const +{ + return (m_timerId != -1); +} + +void QProgressIndicator::setDisplayedWhenStopped(bool state) +{ + m_displayedWhenStopped = state; + + update(); +} + +void QProgressIndicator::setDisplaySize(int size) +{ + m_displaySize = size; + update(); +} + + +bool QProgressIndicator::isDisplayedWhenStopped() const +{ + return m_displayedWhenStopped; +} + +void QProgressIndicator::startAnimation() +{ + m_angle = 0; + + if (m_timerId == -1) + m_timerId = startTimer(m_delay); +} + +void QProgressIndicator::stopAnimation() +{ + if (m_timerId != -1) + killTimer(m_timerId); + + m_timerId = -1; + + update(); +} + +void QProgressIndicator::setAnimationDelay(int delay) +{ + if (m_timerId != -1) + killTimer(m_timerId); + + m_delay = delay; + + if (m_timerId != -1) + m_timerId = startTimer(m_delay); +} + +void QProgressIndicator::setColor(const QColor & color) +{ + m_color = color; + + update(); +} + +QSize QProgressIndicator::sizeHint() const +{ + return QSize(m_displaySize, m_displaySize); +} + +int QProgressIndicator::heightForWidth(int w) const +{ + return w; +} + +void QProgressIndicator::timerEvent(QTimerEvent * /*event*/) +{ + m_angle = (m_angle+30)%360; + + update(); +} + +void QProgressIndicator::paintEvent(QPaintEvent * /*event*/) +{ + if (!m_displayedWhenStopped && !isAnimated()) + return; + + int width = qMin(this->width(), this->height()); + + QPainter p(this); + p.setRenderHint(QPainter::Antialiasing); + + int outerRadius = (width-1)*0.5; + int innerRadius = (width-1)*0.5*0.38; + + int capsuleHeight = outerRadius - innerRadius; + int capsuleWidth = (width > 32 ) ? capsuleHeight *.23 : capsuleHeight *.35; + int capsuleRadius = capsuleWidth/2; + + for (int i=0; i<12; i++) + { + QColor color = m_color; + color.setAlphaF(1.0f - (i/12.0f)); + p.setPen(Qt::NoPen); + p.setBrush(color); + p.save(); + p.translate(rect().center()); + p.rotate(m_angle - i*30.0f); + p.drawRoundedRect(-capsuleWidth*0.5, -(innerRadius+capsuleHeight), capsuleWidth, capsuleHeight, capsuleRadius, capsuleRadius); + p.restore(); + } +} diff --git a/src/calibre/gui2/progress_indicator/QProgressIndicator.h b/src/calibre/gui2/progress_indicator/QProgressIndicator.h index e7e84cf95a..c2098ffe64 100644 --- a/src/calibre/gui2/progress_indicator/QProgressIndicator.h +++ b/src/calibre/gui2/progress_indicator/QProgressIndicator.h @@ -1,93 +1,93 @@ -#pragma once - -#include -#include - -/*! - \class QProgressIndicator - \brief The QProgressIndicator class lets an application display a progress indicator to show that a lengthy task is under way. - - Progress indicators are indeterminate and do nothing more than spin to show that the application is busy. - \sa QProgressBar -*/ -class QProgressIndicator : public QWidget -{ - Q_OBJECT - Q_PROPERTY(int delay READ animationDelay WRITE setAnimationDelay) - Q_PROPERTY(bool displayedWhenStopped READ isDisplayedWhenStopped WRITE setDisplayedWhenStopped) - Q_PROPERTY(QColor color READ color WRITE setColor) - Q_PROPERTY(int displaySize READ displaySize WRITE setDisplaySize) -public: - QProgressIndicator(QWidget* parent = 0, int size = 64); - - /*! Returns the delay between animation steps. - \return The number of milliseconds between animation steps. By default, the animation delay is set to 80 milliseconds. - \sa setAnimationDelay - */ - int animationDelay() const { return m_delay; } - - /*! Returns a Boolean value indicating whether the component is currently animated. - \return Animation state. - \sa startAnimation stopAnimation - */ - bool isAnimated () const; - - /*! Returns a Boolean value indicating whether the receiver shows itself even when it is not animating. - \return Return true if the progress indicator shows itself even when it is not animating. By default, it returns false. - \sa setDisplayedWhenStopped - */ - bool isDisplayedWhenStopped() const; - - /*! Returns the color of the component. - \sa setColor - */ - const QColor & color() const { return m_color; } - - virtual QSize sizeHint() const; - int heightForWidth(int w) const; - int displaySize() const { return m_displaySize; } -public slots: - /*! Starts the spin animation. - \sa stopAnimation isAnimated - */ - void startAnimation(); - - /*! Stops the spin animation. - \sa startAnimation isAnimated - */ - void stopAnimation(); - - /*! Sets the delay between animation steps. - Setting the \a delay to a value larger than 40 slows the animation, while setting the \a delay to a smaller value speeds it up. - \param delay The delay, in milliseconds. - \sa animationDelay - */ - void setAnimationDelay(int delay); - - /*! Sets whether the component hides itself when it is not animating. - \param state The animation state. Set false to hide the progress indicator when it is not animating; otherwise true. - \sa isDisplayedWhenStopped - */ - void setDisplayedWhenStopped(bool state); - - /*! Sets the color of the components to the given color. - \sa color - */ - void setColor(const QColor & color); - - /*! Set the size of this widget (used by sizeHint) - * \sa displaySize - */ - void setDisplaySize(int size); -protected: - virtual void timerEvent(QTimerEvent * event); - virtual void paintEvent(QPaintEvent * event); -private: - int m_angle; - int m_timerId; - int m_delay; - int m_displaySize; - bool m_displayedWhenStopped; - QColor m_color; -}; - +#pragma once + +#include +#include + +/*! + \class QProgressIndicator + \brief The QProgressIndicator class lets an application display a progress indicator to show that a lengthy task is under way. + + Progress indicators are indeterminate and do nothing more than spin to show that the application is busy. + \sa QProgressBar +*/ +class QProgressIndicator : public QWidget +{ + Q_OBJECT + Q_PROPERTY(int delay READ animationDelay WRITE setAnimationDelay) + Q_PROPERTY(bool displayedWhenStopped READ isDisplayedWhenStopped WRITE setDisplayedWhenStopped) + Q_PROPERTY(QColor color READ color WRITE setColor) + Q_PROPERTY(int displaySize READ displaySize WRITE setDisplaySize) +public: + QProgressIndicator(QWidget* parent = 0, int size = 64); + + /*! Returns the delay between animation steps. + \return The number of milliseconds between animation steps. By default, the animation delay is set to 80 milliseconds. + \sa setAnimationDelay + */ + int animationDelay() const { return m_delay; } + + /*! Returns a Boolean value indicating whether the component is currently animated. + \return Animation state. + \sa startAnimation stopAnimation + */ + bool isAnimated () const; + + /*! Returns a Boolean value indicating whether the receiver shows itself even when it is not animating. + \return Return true if the progress indicator shows itself even when it is not animating. By default, it returns false. + \sa setDisplayedWhenStopped + */ + bool isDisplayedWhenStopped() const; + + /*! Returns the color of the component. + \sa setColor + */ + const QColor & color() const { return m_color; } + + virtual QSize sizeHint() const; + int heightForWidth(int w) const; + int displaySize() const { return m_displaySize; } +public slots: + /*! Starts the spin animation. + \sa stopAnimation isAnimated + */ + void startAnimation(); + + /*! Stops the spin animation. + \sa startAnimation isAnimated + */ + void stopAnimation(); + + /*! Sets the delay between animation steps. + Setting the \a delay to a value larger than 40 slows the animation, while setting the \a delay to a smaller value speeds it up. + \param delay The delay, in milliseconds. + \sa animationDelay + */ + void setAnimationDelay(int delay); + + /*! Sets whether the component hides itself when it is not animating. + \param state The animation state. Set false to hide the progress indicator when it is not animating; otherwise true. + \sa isDisplayedWhenStopped + */ + void setDisplayedWhenStopped(bool state); + + /*! Sets the color of the components to the given color. + \sa color + */ + void setColor(const QColor & color); + + /*! Set the size of this widget (used by sizeHint) + * \sa displaySize + */ + void setDisplaySize(int size); +protected: + virtual void timerEvent(QTimerEvent * event); + virtual void paintEvent(QPaintEvent * event); +private: + int m_angle; + int m_timerId; + int m_delay; + int m_displaySize; + bool m_displayedWhenStopped; + QColor m_color; +}; + diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index 562292c2f6..8986346dbc 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -373,6 +373,7 @@ class SearchBoxMixin(object): self.set_number_of_books_shown() def search_box_changed(self): + self.saved_search.clear_to_help() self.tags_view.clear() def do_advanced_search(self, *args): @@ -382,8 +383,7 @@ class SearchBoxMixin(object): class SavedSearchBoxMixin(object): - def __init__(self, db): - self.db = db + def __init__(self): self.connect(self.saved_search, SIGNAL('changed()'), self.saved_searches_changed) self.saved_searches_changed() self.connect(self.clear_button, SIGNAL('clicked()'), self.saved_search.clear_to_help) @@ -402,26 +402,16 @@ class SavedSearchBoxMixin(object): b = getattr(self, x+'_search_button') b.setStatusTip(b.toolTip()) - def set_database(self, db): - self.db = db - self.saved_searches_changed() - def saved_searches_changed(self): - p = saved_searches().names() - p.sort() + p = sorted(saved_searches().names(), cmp=lambda x,y: cmp(x.lower(), y.lower())) t = unicode(self.search_restriction.currentText()) self.search_restriction.clear() # rebuild the restrictions combobox using current saved searches self.search_restriction.addItem('') self.tags_view.recount() for s in p: self.search_restriction.addItem(s) - if t: - if t in p: # redo the current restriction, if there was one - self.search_restriction.setCurrentIndex(self.search_restriction.findText(t)) - # self.tags_view.set_search_restriction(t) - else: - self.search_restriction.setCurrentIndex(0) - self.apply_search_restriction('') + if t: # redo the search restriction if there was one + self.apply_named_search_restriction(t) def do_saved_search_edit(self, search): d = SavedSearchEditor(self, search) diff --git a/src/calibre/gui2/search_restriction_mixin.py b/src/calibre/gui2/search_restriction_mixin.py index a4186ad8d1..139d7c551d 100644 --- a/src/calibre/gui2/search_restriction_mixin.py +++ b/src/calibre/gui2/search_restriction_mixin.py @@ -29,6 +29,16 @@ class SearchRestrictionMixin(object): if self.restriction_in_effect: self.set_number_of_books_shown() + def apply_named_search_restriction(self, name): + if not name: + r = 0 + else: + r = self.search_restriction.findText(name) + if r < 0: + r = 0 + self.search_restriction.setCurrentIndex(r) + self.apply_search_restriction(r) + def apply_search_restriction(self, i): r = unicode(self.search_restriction.currentText()) if r is not None and r != '': diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 95cccb72a5..c42cf7d6c3 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -50,6 +50,8 @@ class Listener(Thread): # {{{ self.start() def run(self): + if self.listener is None: + return while self._run: try: conn = self.listener.accept() @@ -108,7 +110,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ self.iactions = acmap - def initialize(self, library_path, db, listener, actions): + def initialize(self, library_path, db, listener, actions, show_gui=True): opts = self.opts self.preferences_action, self.quit_action = actions self.library_path = library_path @@ -195,13 +197,14 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ UpdateMixin.__init__(self, opts) ####################### Search boxes ######################## - SavedSearchBoxMixin.__init__(self, db) + SavedSearchBoxMixin.__init__(self) SearchBoxMixin.__init__(self) ####################### Library view ######################## LibraryViewMixin.__init__(self, db) - self.show() + if show_gui: + self.show() if self.system_tray_icon.isVisible() and opts.start_in_tray: self.hide_windows() @@ -230,6 +233,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ ######################### Search Restriction ########################## SearchRestrictionMixin.__init__(self) + self.apply_named_search_restriction(db.prefs.get('gui_restriction', '')) ########################### Cover Flow ################################ @@ -248,7 +252,8 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ self.read_settings() self.finalize_layout() - self.donate_button.start_animation() + if self.tool_bar.showing_donate: + self.donate_button.start_animation() self.set_window_title() for ac in self.iactions.values(): @@ -371,6 +376,9 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ for action in self.iactions.values(): action.library_changed(db) self.set_window_title() + self.apply_named_search_restriction('') # reset restriction to null + self.saved_searches_changed() # reload the search restrictions combo box + self.apply_named_search_restriction(db.prefs.get('gui_restriction', '')) def set_window_title(self): self.setWindowTitle(__appname__ + u' - ||%s||'%self.iactions['Choose Library'].library_name()) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 4653529095..75f95b1a90 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -81,7 +81,8 @@ class ConfigDialog(QDialog, Ui_Dialog): self.css.setToolTip(_('Set the user CSS stylesheet. This can be used to customize the look of all books.')) self.max_view_width.setValue(opts.max_view_width) pats = [os.path.basename(x).split('.')[0] for x in - glob.glob(P('viewer/hyphenate/patterns/*.js'))] + glob.glob(P('viewer/hyphenate/patterns/*.js', + allow_user_override=False))] names = list(map(get_language, pats)) pmap = {} for i in range(len(pats)): diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index dbb3947d4c..ae7f8d259e 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -11,7 +11,7 @@ from PyQt4.Qt import QIcon, QFont, QLabel, QListWidget, QAction, \ QPixmap, QSplitterHandle, QToolButton, \ QAbstractListModel, QVariant, Qt, SIGNAL, pyqtSignal, \ QRegExp, QSettings, QSize, QSplitter, \ - QPainter, QLineEdit, QComboBox, \ + QPainter, QLineEdit, QComboBox, QPen, \ QMenu, QStringListModel, QCompleter, QStringList, \ QTimer, QRect @@ -151,11 +151,14 @@ class FormatList(QListWidget): class ImageView(QWidget): + BORDER_WIDTH = 1 + def __init__(self, parent=None): QWidget.__init__(self, parent) self._pixmap = QPixmap(self) self.setMinimumSize(QSize(150, 200)) self.setAcceptDrops(True) + self.draw_border = True # Drag 'n drop {{{ DROPABBLE_EXTENSIONS = IMAGE_EXTENSIONS @@ -229,6 +232,11 @@ class ImageView(QWidget): p = QPainter(self) p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform) p.drawPixmap(target, pmap) + pen = QPen() + pen.setWidth(self.BORDER_WIDTH) + p.setPen(pen) + if self.draw_border: + p.drawRect(target) p.end() diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index fa07ed8b83..ca66d28ddb 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -609,26 +609,24 @@ class ResultCache(SearchQueryParser): self._map.sort(cmp=fcmp, reverse=not ascending) self._map_filtered = [id for id in self._map if id in self._map_filtered] - def search(self, query, return_matches=False, - ignore_search_restriction=False): - q = '' - if not query or not query.strip(): - if not ignore_search_restriction: - q = self.search_restriction - else: - q = query - if not ignore_search_restriction and self.search_restriction: - q = u'%s (%s)' % (self.search_restriction, query) - if not q: - if return_matches: - return list(self._map) # when return_matches, do not update the maps! - self._map_filtered = list(self._map) - return - matches = sorted(self.parse(q)) - ans = [id for id in self._map if id in matches] + def search(self, query, return_matches=False): + ans = self.search_getting_ids(query, self.search_restriction) if return_matches: return ans self._map_filtered = ans + def search_getting_ids(self, query, search_restriction): + q = '' + if not query or not query.strip(): + q = search_restriction + else: + q = query + if search_restriction: + q = u'%s (%s)' % (search_restriction, query) + if not q: + return list(self._map) + matches = sorted(self.parse(q)) + return [id for id in self._map if id in matches] + def set_search_restriction(self, s): self.search_restriction = s diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index 058b879b55..ea42fe5998 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -799,10 +799,66 @@ def command_remove_custom_column(args, dbpath): do_remove_custom_column(get_db(dbpath, opts), args[0], opts.force) return 0 +def saved_searches_option_parser(): + parser = get_parser(_( + ''' + %prog saved_searches [options] list + %prog saved_searches add name search + %prog saved_searches remove name + + Manage the saved searches stored in this database. + If you try to add a query with a name that already exists, it will be + replaced. + ''')) + return parser + +def command_saved_searches(args, dbpath): + parser = saved_searches_option_parser() + opts, args = parser.parse_args(args) + if len(args) < 1: + parser.print_help() + print + prints(_('Error: You must specify an action (add|remove|list)'), file=sys.stderr) + return 1 + from calibre.utils.search_query_parser import saved_searches + db = get_db(dbpath, opts) + db + ss = saved_searches() + if args[0] == 'list': + for name in ss.names(): + prints(_('Name:'), name) + prints(_('Search string:'), ss.lookup(name)) + print + elif args[0] == 'add': + if len(args) < 3: + parser.print_help() + print + prints(_('Error: You must specify a name and a search string'), file=sys.stderr) + return 1 + ss.add(args[1], args[2]) + prints(args[1], _('added')) + elif args[0] == 'remove': + if len(args) < 2: + parser.print_help() + print + prints(_('Error: You must specify a name'), file=sys.stderr) + return 1 + ss.delete(args[1]) + prints(args[1], _('removed')) + else: + parser.print_help() + print + prints(_('Error: Action %s not recognized, must be one ' + 'of: (add|remove|list)') % args[1], file=sys.stderr) + return 1 + + return 0 + COMMANDS = ('list', 'add', 'remove', 'add_format', 'remove_format', 'show_metadata', 'set_metadata', 'export', 'catalog', - 'add_custom_column', 'custom_columns', 'remove_custom_column', 'set_custom') + 'saved_searches', 'add_custom_column', 'custom_columns', + 'remove_custom_column', 'set_custom') def option_parser(): diff --git a/src/calibre/library/custom_columns.py b/src/calibre/library/custom_columns.py index b8e0f8d3b6..4ba664dadc 100644 --- a/src/calibre/library/custom_columns.py +++ b/src/calibre/library/custom_columns.py @@ -313,7 +313,112 @@ class CustomColumns(object): self.conn.commit() return changed - def set_custom(self, id_, val, label=None, num=None, + def set_custom_bulk_multiple(self, ids, add=[], remove=[], + label=None, num=None, notify=False): + ''' + Fast algorithm for updating custom column is_multiple datatypes. + Do not use with other custom column datatypes. + ''' + if label is not None: + data = self.custom_column_label_map[label] + if num is not None: + data = self.custom_column_num_map[num] + if not data['editable']: + raise ValueError('Column %r is not editable'%data['label']) + if data['datatype'] != 'text' or not data['is_multiple']: + raise ValueError('Column %r is not text/multiple'%data['label']) + + add = self.cleanup_tags(add) + remove = self.cleanup_tags(remove) + remove = set(remove) - set(add) + if not ids or (not add and not remove): + return + # get custom table names + cust_table, link_table = self.custom_table_names(data['num']) + + # Add tags that do not already exist into the custom cust_table + all_tags = self.all_custom(num=data['num']) + lt = [t.lower() for t in all_tags] + new_tags = [t for t in add if t.lower() not in lt] + if new_tags: + self.conn.executemany('INSERT INTO %s(value) VALUES (?)'%cust_table, + [(x,) for x in new_tags]) + + # Create the temporary temp_tables to store the ids for books and tags + # to be operated on + temp_tables = ('temp_bulk_tag_edit_books', 'temp_bulk_tag_edit_add', + 'temp_bulk_tag_edit_remove') + drops = '\n'.join(['DROP TABLE IF EXISTS %s;'%t for t in temp_tables]) + creates = '\n'.join(['CREATE TEMP TABLE %s(id INTEGER PRIMARY KEY);'%t + for t in temp_tables]) + self.conn.executescript(drops + creates) + + # Populate the books temp cust_table + self.conn.executemany( + 'INSERT INTO temp_bulk_tag_edit_books VALUES (?)', + [(x,) for x in ids]) + + # Populate the add/remove tags temp temp_tables + for table, tags in enumerate([add, remove]): + if not tags: + continue + table = temp_tables[table+1] + insert = ('INSERT INTO {tt}(id) SELECT {ct}.id FROM {ct} WHERE value=?' + ' COLLATE PYNOCASE LIMIT 1').format(tt=table, ct=cust_table) + self.conn.executemany(insert, [(x,) for x in tags]) + + # now do the real work -- removing and adding the tags + if remove: + self.conn.execute( + '''DELETE FROM %s WHERE + book IN (SELECT id FROM %s) AND + value IN (SELECT id FROM %s)''' + % (link_table, temp_tables[0], temp_tables[2])) + if add: + self.conn.execute( + ''' + INSERT OR REPLACE INTO {0}(book, value) SELECT {1}.id, {2}.id FROM {1}, {2} + '''.format(link_table, temp_tables[0], temp_tables[1]) + ) + # get rid of the temp tables + self.conn.executescript(drops) + self.conn.commit() + + # set the in-memory copies of the tags + for x in ids: + tags = self.conn.get( + 'SELECT custom_%s FROM meta2 WHERE id=?'%data['num'], + (x,), all=False) + self.data.set(x, self.FIELD_MAP[data['num']], tags, row_is_id=True) + + if notify: + self.notify('metadata', ids) + + def set_custom_bulk(self, ids, val, label=None, num=None, + append=False, notify=True, extras=None): + ''' + Change the value of a column for a set of books. The ids parameter is a + list of book ids to change. The extra field must be None or a list the + same length as ids. + ''' + if extras is not None and len(extras) != len(ids): + raise ValueError('Lentgh of ids and extras is not the same') + ev = None + for idx,id in enumerate(ids): + if extras is not None: + ev = extras[idx] + self._set_custom(id, val, label=label, num=num, append=append, + notify=notify, extra=ev) + self.conn.commit() + + def set_custom(self, id, val, label=None, num=None, + append=False, notify=True, extra=None, commit=True): + self._set_custom(id, val, label=label, num=num, append=append, + notify=notify, extra=extra) + if commit: + self.conn.commit() + + def _set_custom(self, id_, val, label=None, num=None, append=False, notify=True, extra=None): if label is not None: data = self.custom_column_label_map[label] @@ -369,7 +474,6 @@ class CustomColumns(object): self.conn.execute( '''INSERT INTO %s(book, value) VALUES (?,?)'''%lt, (id_, xid)) - self.conn.commit() nval = self.conn.get( 'SELECT custom_%s FROM meta2 WHERE id=?'%data['num'], (id_,), all=False) @@ -381,7 +485,6 @@ class CustomColumns(object): self.conn.execute( 'INSERT INTO %s(book,value) VALUES (?,?)'%table, (id_, val)) - self.conn.commit() nval = self.conn.get( 'SELECT custom_%s FROM meta2 WHERE id=?'%data['num'], (id_,), all=False) diff --git a/src/calibre/library/database.py b/src/calibre/library/database.py index 6147101567..28a0de2153 100644 --- a/src/calibre/library/database.py +++ b/src/calibre/library/database.py @@ -1080,9 +1080,11 @@ ALTER TABLE books ADD COLUMN isbn TEXT DEFAULT "" COLLATE NOCASE; return cPickle.loads(str(data)) return None - def delete_conversion_options(self, id, format): + def delete_conversion_options(self, id, format, commit=True): self.conn.execute('DELETE FROM conversion_options WHERE book=? AND format=?', (id, format.upper())) + if commit: + self.conn.commit() def add_format(self, index, ext, stream, index_is_id=False): diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index b8ac065760..44c5cfcabb 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -6,7 +6,7 @@ __docformat__ = 'restructuredtext en' ''' The database used to store ebook metadata ''' -import os, sys, shutil, cStringIO, glob, time, functools, traceback +import os, sys, shutil, cStringIO, glob, time, functools, traceback, re from itertools import repeat from math import floor @@ -264,7 +264,11 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): # account for the series index column. Field_metadata knows that # the series index is one larger than the series. If you change # it here, be sure to change it there as well. - self.FIELD_MAP[str(col)+'_s_index'] = base = base+1 + self.FIELD_MAP[str(col)+'_index'] = base = base+1 + self.field_metadata.set_field_record_index( + self.custom_column_num_map[col]['label']+'_index', + base, + prefer_custom=True) self.FIELD_MAP['cover'] = base+1 self.field_metadata.set_field_record_index('cover', base+1, prefer_custom=False) @@ -296,6 +300,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.book_on_device_func = None self.data = ResultCache(self.FIELD_MAP, self.field_metadata) self.search = self.data.search + self.search_getting_ids = self.data.search_getting_ids self.refresh = functools.partial(self.data.refresh, self) self.sort = self.data.sort self.index = self.data.index @@ -388,7 +393,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): path = path.lower() return path - def set_path(self, index, index_is_id=False): + def set_path(self, index, index_is_id=False, commit=True): ''' Set the path to the directory containing this books files based on its current title and author. If there was a previous directory, its contents @@ -427,7 +432,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): stream = cStringIO.StringIO(f) self.add_format(id, format, stream, index_is_id=True, path=tpath) self.conn.execute('UPDATE books SET path=? WHERE id=?', (path, id)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['path'], path, row_is_id=True) # Delete not needed directories if current_path and os.path.exists(spath): @@ -544,6 +550,43 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): return bool(self.conn.get('SELECT id FROM books where title=?', (title,), all=False)) return False + def find_identical_books(self, mi): + fuzzy_title_patterns = [(re.compile(pat), repl) for pat, repl in + [ + (r'[\[\](){}<>\'";,:#]', ''), + (r'^(the|a|an) ', ''), + (r'[-._]', ' '), + (r'\s+', ' ') + ] + ] + + def fuzzy_title(title): + title = title.strip().lower() + for pat, repl in fuzzy_title_patterns: + title = pat.sub(repl, title) + return title + + identical_book_ids = set([]) + if mi.authors: + try: + query = u' and '.join([u'author:"=%s"'%(a.replace('"', '')) for a in + mi.authors]) + except ValueError: + return identical_book_ids + try: + book_ids = self.data.parse(query) + except: + import traceback + traceback.print_exc() + return identical_book_ids + for book_id in book_ids: + fbook_title = self.title(book_id, index_is_id=True) + fbook_title = fuzzy_title(fbook_title) + mbook_title = fuzzy_title(mi.title) + if fbook_title == mbook_title: + identical_book_ids.add(book_id) + return identical_book_ids + def has_cover(self, index, index_is_id=False): id = index if index_is_id else self.id(index) path = os.path.join(self.library_path, self.path(id, index_is_id=True), 'cover.jpg') @@ -728,7 +771,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if notify: self.notify('delete', [id]) - def remove_format(self, index, format, index_is_id=False, notify=True): + def remove_format(self, index, format, index_is_id=False, notify=True, commit=True): id = index if index_is_id else self.id(index) name = self.conn.get('SELECT name FROM data WHERE book=? AND format=?', (id, format), all=False) if name: @@ -738,7 +781,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): except: traceback.print_exc() self.conn.execute('DELETE FROM data WHERE book=? AND format=?', (id, format.upper())) - self.conn.commit() + if commit: + self.conn.commit() self.refresh_ids([id]) if notify: self.notify('metadata', [id]) @@ -1015,7 +1059,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if mi.series: doit(self.set_series, id, mi.series, notify=False) if mi.cover_data[1] is not None: - doit(self.set_cover, id, mi.cover_data[1]) + doit(self.set_cover, id, mi.cover_data[1]) # doesn't use commit elif mi.cover is not None and os.access(mi.cover, os.R_OK): doit(self.set_cover, id, open(mi.cover, 'rb')) if mi.tags: @@ -1091,7 +1135,6 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): (id, aid)) except IntegrityError: # Sometimes books specify the same author twice in their metadata pass - self.conn.commit() ss = self.author_sort_from_book(id, index_is_id=True) self.conn.execute('UPDATE books SET author_sort=? WHERE id=?', (ss, id)) @@ -1120,24 +1163,26 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if notify: self.notify('metadata', [id]) - def set_timestamp(self, id, dt, notify=True): + def set_timestamp(self, id, dt, notify=True, commit=True): if dt: self.conn.execute('UPDATE books SET timestamp=? WHERE id=?', (dt, id)) self.data.set(id, self.FIELD_MAP['timestamp'], dt, row_is_id=True) - self.conn.commit() + if commit: + self.conn.commit() if notify: self.notify('metadata', [id]) - def set_pubdate(self, id, dt, notify=True): + def set_pubdate(self, id, dt, notify=True, commit=True): if dt: self.conn.execute('UPDATE books SET pubdate=? WHERE id=?', (dt, id)) self.data.set(id, self.FIELD_MAP['pubdate'], dt, row_is_id=True) - self.conn.commit() + if commit: + self.conn.commit() if notify: self.notify('metadata', [id]) - def set_publisher(self, id, publisher, notify=True): + def set_publisher(self, id, publisher, notify=True, commit=True): self.conn.execute('DELETE FROM books_publishers_link WHERE book=?',(id,)) self.conn.execute('DELETE FROM publishers WHERE (SELECT COUNT(id) FROM books_publishers_link WHERE publisher=publishers.id) < 1') if publisher: @@ -1149,7 +1194,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): else: aid = self.conn.execute('INSERT INTO publishers(name) VALUES (?)', (publisher,)).lastrowid self.conn.execute('INSERT INTO books_publishers_link(book, publisher) VALUES (?,?)', (id, aid)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['publisher'], publisher, row_is_id=True) if notify: self.notify('metadata', [id]) @@ -1433,7 +1479,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if add: self.conn.execute( ''' - INSERT INTO books_tags_link(book, tag) SELECT {0}.id, {1}.id FROM + INSERT OR REPLACE INTO books_tags_link(book, tag) SELECT {0}.id, {1}.id FROM {0}, {1} '''.format(tables[0], tables[1]) ) @@ -1446,7 +1492,10 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if notify: self.notify('metadata', ids) - def set_tags(self, id, tags, append=False, notify=True): + def commit(self): + self.conn.commit() + + def set_tags(self, id, tags, append=False, notify=True, commit=True): ''' @param tags: list of strings @param append: If True existing tags are not removed @@ -1480,7 +1529,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): (id, tid), all=False): self.conn.execute('INSERT INTO books_tags_link(book, tag) VALUES (?,?)', (id, tid)) - self.conn.commit() + if commit: + self.conn.commit() tags = u','.join(self.get_tags(id)) self.data.set(id, self.FIELD_MAP['tags'], tags, row_is_id=True) if notify: @@ -1519,7 +1569,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.conn.execute('DELETE FROM tags WHERE id=?', (id,)) self.conn.commit() - def set_series(self, id, series, notify=True): + def set_series(self, id, series, notify=True, commit=True): self.conn.execute('DELETE FROM books_series_link WHERE book=?',(id,)) self.conn.execute('DELETE FROM series WHERE (SELECT COUNT(id) FROM books_series_link WHERE series=series.id) < 1') if series: @@ -1533,12 +1583,13 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): else: aid = self.conn.execute('INSERT INTO series(name) VALUES (?)', (series,)).lastrowid self.conn.execute('INSERT INTO books_series_link(book, series) VALUES (?,?)', (id, aid)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['series'], series, row_is_id=True) if notify: self.notify('metadata', [id]) - def set_series_index(self, id, idx, notify=True): + def set_series_index(self, id, idx, notify=True, commit=True): if idx is None: idx = 1.0 try: @@ -1546,40 +1597,45 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): except: idx = 1.0 self.conn.execute('UPDATE books SET series_index=? WHERE id=?', (idx, id)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['series_index'], idx, row_is_id=True) if notify: self.notify('metadata', [id]) - def set_rating(self, id, rating, notify=True): + def set_rating(self, id, rating, notify=True, commit=True): rating = int(rating) self.conn.execute('DELETE FROM books_ratings_link WHERE book=?',(id,)) rat = self.conn.get('SELECT id FROM ratings WHERE rating=?', (rating,), all=False) rat = rat if rat else self.conn.execute('INSERT INTO ratings(rating) VALUES (?)', (rating,)).lastrowid self.conn.execute('INSERT INTO books_ratings_link(book, rating) VALUES (?,?)', (id, rat)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['rating'], rating, row_is_id=True) if notify: self.notify('metadata', [id]) - def set_comment(self, id, text, notify=True): + def set_comment(self, id, text, notify=True, commit=True): self.conn.execute('DELETE FROM comments WHERE book=?', (id,)) self.conn.execute('INSERT INTO comments(book,text) VALUES (?,?)', (id, text)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['comments'], text, row_is_id=True) if notify: self.notify('metadata', [id]) - def set_author_sort(self, id, sort, notify=True): + def set_author_sort(self, id, sort, notify=True, commit=True): self.conn.execute('UPDATE books SET author_sort=? WHERE id=?', (sort, id)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['author_sort'], sort, row_is_id=True) if notify: self.notify('metadata', [id]) - def set_isbn(self, id, isbn, notify=True): + def set_isbn(self, id, isbn, notify=True, commit=True): self.conn.execute('UPDATE books SET isbn=? WHERE id=?', (isbn, id)) - self.conn.commit() + if commit: + self.conn.commit() self.data.set(id, self.FIELD_MAP['isbn'], isbn, row_is_id=True) if notify: self.notify('metadata', [id]) @@ -1739,7 +1795,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): return (paths, formats, metadata), len(ids) return None, len(ids) - def import_book(self, mi, formats, notify=True): + def import_book(self, mi, formats, notify=True, import_hooks=True): series_index = 1.0 if mi.series_index is None else mi.series_index if not mi.title: mi.title = _('Unknown') @@ -1764,7 +1820,11 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): ext = os.path.splitext(path)[1][1:].lower() if ext == 'opf': continue - self.add_format_with_hooks(id, ext, path, index_is_id=True) + if import_hooks: + self.add_format_with_hooks(id, ext, path, index_is_id=True) + else: + with open(path, 'rb') as f: + self.add_format(id, ext, f, index_is_id=True) self.conn.commit() self.data.refresh_ids(self, [id]) # Needed to update format list and size if notify: diff --git a/src/calibre/library/field_metadata.py b/src/calibre/library/field_metadata.py index f29b432eec..2a79c3a75b 100644 --- a/src/calibre/library/field_metadata.py +++ b/src/calibre/library/field_metadata.py @@ -36,7 +36,7 @@ class FieldMetadata(dict): treated as a single term. If not None, it contains a string, and the field is assumed to contain a list of terms separated by that string - kind == standard: is a db field. + kind == field: is a db field. kind == category: standard tag category that isn't a field. see news. kind == user: user-defined tag category. kind == search: saved-searches category. @@ -239,7 +239,7 @@ class FieldMetadata(dict): 'is_multiple':None, 'kind':'field', 'name':None, - 'search_terms':[], + 'search_terms':['series_index'], 'is_custom':False, 'is_category':False}), ('sort', {'table':None, @@ -395,6 +395,18 @@ class FieldMetadata(dict): 'is_editable': is_editable,} self._add_search_terms_to_map(key, [key]) self.custom_label_to_key_map[label] = key + if datatype == 'series': + key += '_index' + self._tb_cats[key] = {'table':None, 'column':None, + 'datatype':'float', 'is_multiple':False, + 'kind':'field', 'name':'', + 'search_terms':[key], 'label':label+'_index', + 'colnum':None, 'display':{}, + 'is_custom':False, 'is_category':False, + 'link_column':None, 'category_sort':None, + 'is_editable': False,} + self._add_search_terms_to_map(key, [key]) + self.custom_label_to_key_map[label+'_index'] = key def remove_custom_fields(self): for key in self.get_custom_fields(): diff --git a/src/calibre/library/prefs.py b/src/calibre/library/prefs.py index ff9733aaa3..b125fe9067 100644 --- a/src/calibre/library/prefs.py +++ b/src/calibre/library/prefs.py @@ -15,6 +15,7 @@ class DBPrefs(dict): def __init__(self, db): dict.__init__(self) self.db = db + self.defaults = {} for key, val in self.db.conn.get('SELECT key,val FROM preferences'): val = self.raw_to_object(val) dict.__setitem__(self, key, val) @@ -28,7 +29,10 @@ class DBPrefs(dict): return json.dumps(val, indent=2, default=to_json) def __getitem__(self, key): - return dict.__getitem__(self, key) + try: + return dict.__getitem__(self, key) + except KeyError: + return self.defaults[key] def __delitem__(self, key): dict.__delitem__(self, key) diff --git a/src/calibre/library/server/base.py b/src/calibre/library/server/base.py index 0097276348..e949c712d4 100644 --- a/src/calibre/library/server/base.py +++ b/src/calibre/library/server/base.py @@ -95,9 +95,19 @@ class LibraryServer(ContentServer, MobileServer, XMLServer, OPDSServer, Cache): 'tools.digest_auth.users' : {opts.username.strip():opts.password.strip()}, } + sr = getattr(opts, 'restriction', None) + sr = db.prefs.get('cs_restriction', '') if sr is None else sr + self.set_search_restriction(sr) + self.is_running = False self.exception = None + def set_search_restriction(self, restriction): + if restriction: + self.search_restriction = 'search:"%s"'%restriction + else: + self.search_restriction = '' + def setup_loggers(self): access_file = log_access_file error_file = log_error_file diff --git a/src/calibre/library/server/cache.py b/src/calibre/library/server/cache.py index 9fec2c2737..94e4a1c041 100644 --- a/src/calibre/library/server/cache.py +++ b/src/calibre/library/server/cache.py @@ -17,8 +17,7 @@ class Cache(object): def search_cache(self, search): old = self._search_cache.pop(search, None) if old is None or old[0] <= self.db.last_modified(): - matches = self.db.data.search(search, return_matches=True, - ignore_search_restriction=True) + matches = self.db.data.search_getting_ids(search, self.search_restriction) if not matches: matches = [] self._search_cache[search] = (utcnow(), frozenset(matches)) diff --git a/src/calibre/library/server/main.py b/src/calibre/library/server/main.py index 5ca82c6b98..54dd205b35 100644 --- a/src/calibre/library/server/main.py +++ b/src/calibre/library/server/main.py @@ -32,6 +32,10 @@ def option_parser(): help=_('Write process PID to the specified file')) parser.add_option('--daemonize', default=False, action='store_true', help='Run process in background as a daemon. No effect on windows.') + parser.add_option('--restriction', default=None, + help=_('Specifies a restriction to be used for this invocation. ' + 'This option overrides any per-library settings specified' + ' in the GUI')) return parser def daemonize(stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'): diff --git a/src/calibre/library/server/mobile.py b/src/calibre/library/server/mobile.py index c3667a2077..aa7a740972 100644 --- a/src/calibre/library/server/mobile.py +++ b/src/calibre/library/server/mobile.py @@ -181,7 +181,9 @@ class MobileServer(object): num = int(num) except ValueError: raise cherrypy.HTTPError(400, 'num: %s is not an integer'%num) - ids = self.db.data.parse(search) if search and search.strip() else self.db.data.universal_set() + if not search: + search = '' + ids = self.db.search_getting_ids(search.strip(), self.search_restriction) FM = self.db.FIELD_MAP items = [r for r in iter(self.db) if r[FM['id']] in ids] if sort is not None: diff --git a/src/calibre/library/server/opds.py b/src/calibre/library/server/opds.py index f32e5ad47a..c3a1d68749 100644 --- a/src/calibre/library/server/opds.py +++ b/src/calibre/library/server/opds.py @@ -19,6 +19,7 @@ from calibre.ebooks.metadata import fmt_sidx from calibre.library.comments import comments_to_html from calibre import guess_type from calibre.utils.ordered_dict import OrderedDict +from calibre.utils.date import format_date BASE_HREFS = { 0 : '/stanza', @@ -99,17 +100,19 @@ def html_to_lxml(raw): raw = etree.tostring(root, encoding=None) return etree.fromstring(raw) -def CATALOG_ENTRY(item, base_href, version, updated, ignore_count=False): +def CATALOG_ENTRY(item, item_kind, base_href, version, updated, + ignore_count=False, add_kind=False): id_ = 'calibre:category:'+item.name iid = 'N' + item.name if item.id is not None: iid = 'I' + str(item.id) + iid += ':'+item_kind link = NAVLINK(href = base_href + '/' + hexlify(iid)) - count = _('%d books')%item.count + count = (_('%d books') if item.count > 1 else _('%d book'))%item.count if ignore_count: count = '' return E.entry( - TITLE(item.name), + TITLE(item.name + ('' if not add_kind else ' (%s)'%item_kind)), ID(id_), UPDATED(updated), E.content(count, type='text'), @@ -128,7 +131,7 @@ def CATALOG_GROUP_ENTRY(item, category, base_href, version, updated): link ) -def ACQUISITION_ENTRY(item, version, FM, updated): +def ACQUISITION_ENTRY(item, version, FM, updated, CFM, CKEYS): title = item[FM['title']] if not title: title = _('Unknown') @@ -151,6 +154,21 @@ def ACQUISITION_ENTRY(item, version, FM, updated): extra.append(_('SERIES: %s [%s]
')%\ (series, fmt_sidx(float(item[FM['series_index']])))) + for key in CKEYS: + val = item[CFM[key]['rec_index']] + if val is not None: + name = CFM[key]['name'] + datatype = CFM[key]['datatype'] + if datatype == 'text' and CFM[key]['is_multiple']: + extra.append('%s: %s
'%(name, ', '.join(val.split('|')))) + elif datatype == 'series': + extra.append('%s: %s [%s]
'%(name, val, + fmt_sidx(item[CFM.cc_series_index_column_for(key)]))) + elif datatype == 'datetime': + extra.append('%s: %s
'%(name, + format_date(val, CFM[key]['display'].get('date_format','dd MMM yyyy')))) + else: + extra.append('%s: %s
' % (CFM[key]['name'], val)) comments = item[FM['comments']] if comments: comments = comments_to_html(comments) @@ -258,22 +276,41 @@ class NavFeed(Feed): class AcquisitionFeed(NavFeed): def __init__(self, updated, id_, items, offsets, page_url, up_url, version, - FM): + FM, CFM): NavFeed.__init__(self, id_, updated, version, offsets, page_url, up_url) + CKEYS = [key for key in sorted(CFM.get_custom_fields(), + cmp=lambda x,y: cmp(CFM[x]['name'].lower(), + CFM[y]['name'].lower()))] for item in items: - self.root.append(ACQUISITION_ENTRY(item, version, FM, updated)) + self.root.append(ACQUISITION_ENTRY(item, version, FM, updated, + CFM, CKEYS)) class CategoryFeed(NavFeed): - def __init__(self, items, which, id_, updated, version, offsets, page_url, up_url): + def __init__(self, items, which, id_, updated, version, offsets, page_url, up_url, db): NavFeed.__init__(self, id_, updated, version, offsets, page_url, up_url) base_href = self.base_href + '/category/' + hexlify(which) ignore_count = False if which == 'search': ignore_count = True + uc = None + if which.endswith(':'): + # We have a user category. Translate back to original categories + uc = {} + try: + ucs = db.prefs['user_categories'] + ucs = ucs.get(which[:-1]) + for name, category, index in ucs: + uc[name] = category + except: + import traceback + traceback.print_exc() + uc = None for item in items: - self.root.append(CATALOG_ENTRY(item, base_href, version, updated, - ignore_count=ignore_count)) + if uc: which = uc.get(item.name, which) + self.root.append(CATALOG_ENTRY(item, which, base_href, version, + updated, ignore_count=ignore_count, + add_kind=uc is not None)) class CategoryGroupFeed(NavFeed): @@ -343,7 +380,7 @@ class OPDSServer(object): cherrypy.response.headers['Last-Modified'] = self.last_modified(updated) cherrypy.response.headers['Content-Type'] = 'application/atom+xml;profile=opds-catalog' return str(AcquisitionFeed(updated, id_, items, offsets, - page_url, up_url, version, self.db.FIELD_MAP)) + page_url, up_url, version, self.db.FIELD_MAP, self.db.field_metadata)) def opds_search(self, query=None, version=0, offset=0): try: @@ -418,7 +455,7 @@ class OPDSServer(object): cherrypy.response.headers['Content-Type'] = 'application/atom+xml' return str(CategoryFeed(items, category, id_, updated, version, offsets, - page_url, up_url)) + page_url, up_url, self.db)) def opds_navcatalog(self, which=None, version=0, offset=0): @@ -461,7 +498,7 @@ class OPDSServer(object): offsets = OPDSOffsets(offset, max_items, len(items)) items = list(items)[offsets.offset:offsets.offset+max_items] ans = CategoryFeed(items, which, id_, updated, version, offsets, - page_url, up_url) + page_url, up_url, self.db) else: class Group: def __init__(self, text, count): @@ -507,7 +544,9 @@ class OPDSServer(object): which = which[1:] if type_ == 'I': try: - which = int(which) + p = which.index(':') + category = which[p+1:] + which = int(which[:p]) except: raise cherrypy.HTTPError(404, 'Tag %r not found'%which) @@ -518,7 +557,7 @@ class OPDSServer(object): if category == 'search': try: - ids = self.search_cache(which) + ids = self.search_cache('search:"%s"'%which) except: raise cherrypy.HTTPError(404, 'Search: %r not understood'%which) return self.get_opds_acquisition_feed(ids, offset, page_url, @@ -549,7 +588,12 @@ class OPDSServer(object): (_('Newest'), _('Date'), 'Onewest'), (_('Title'), _('Title'), 'Otitle'), ] - for category in categories: + def getter(x): + return category_meta[x]['name'].lower() + for category in sorted(categories, + cmp=lambda x,y: cmp(getter(x), getter(y))): + if len(categories[category]) == 0: + continue if category == 'formats': continue meta = category_meta.get(category, None) diff --git a/src/calibre/library/server/xml.py b/src/calibre/library/server/xml.py index 036a2051bf..9db786953e 100644 --- a/src/calibre/library/server/xml.py +++ b/src/calibre/library/server/xml.py @@ -45,7 +45,10 @@ class XMLServer(object): order = order.lower().strip() == 'ascending' - ids = self.db.data.parse(search) if search and search.strip() else self.db.data.universal_set() + if not search: + search = '' + + ids = self.db.search_getting_ids(search.strip(), self.search_restriction) FM = self.db.FIELD_MAP @@ -53,7 +56,6 @@ class XMLServer(object): if sort is not None: self.sort(items, sort, order) - books = [] def serialize(x): diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index deb693c199..efc05a3f38 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -81,7 +81,7 @@ Device Integration What devices does |app| support? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/DX, Entourage Edge, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, Teclast K3, SpringDesign Alex, Kobo Reader, various Android phones and the iPhone/iPad. In addition, using the :guilabel:`Save to disk` function you can use it with any ebook reader that exports itself as a USB disk. +At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/3/DX/DXG, Entourage Edge, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, Teclast K3, SpringDesign Alex, Kobo Reader, various Android phones and the iPhone/iPad. In addition, using the :guilabel:`Save to disk` function you can use it with any ebook reader that exports itself as a USB disk. How can I help get my device supported in |app|? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -338,6 +338,16 @@ Why does |app| show only some of my fonts on OS X? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There can be several causes for this: + * If you get an error about calibre not being able to open a file because it is in use by another program, do the following: + + * Uninstall calibre + * Reboot your computer + * Re-install calibre. But do not start calibre from the installation wizard. + * Temporarily disable your antivirus program (disconnect from the internet before doing so, to be safe) + * Look inside the folder you chose for your calibre library. If you see a file named metadata.db, delete it. + * Start calibre + * From now on you should be able to start calibre normally. + * If you get an error about a Python function terminating unexpectedly after upgrading calibre, first uninstall calibre, then delete the folders (if they exists) :file:`C:\\Program Files\\Calibre` and :file:`C:\\Program Files\\Calibre2`. Now re-install and you should be fine. * If you get an error in the welcome wizard on an initial run of calibre, try choosing a folder like :file:`C:\\library` as the calibre library (calibre sometimes @@ -394,4 +404,8 @@ Can I include |app| on a CD to be distributed with my product/magazine? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |app| is licensed under the GNU General Public License v3 (an open source license). This means that you are free to redistribute |app| as long as you make the source code available. So if you want to put |app| on a CD with your product, you must also put the |app| source code on the CD. The source code is available for download `from googlecode `_. +How do I run calibre from my USB stick? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A portable version of calibre is available at: `portableapps.com `_. However, this is usually out of date. You can also setup your own portable calibre install by following :ref:`these instructions `. diff --git a/src/calibre/manual/gui.rst b/src/calibre/manual/gui.rst index 7ffc77575e..e9573e91be 100644 --- a/src/calibre/manual/gui.rst +++ b/src/calibre/manual/gui.rst @@ -166,7 +166,7 @@ Search & Sort The Search & Sort section allows you to perform several powerful actions on your book collections. - * You can sort them by title, author, date, rating etc. by clicking on the column titles. + * You can sort them by title, author, date, rating etc. by clicking on the column titles. You can also sub-sort (i.e. sort on multiple columns). For example, if you click on the title column and then the author column, the book will be sorted by author and then all the entries for the same author will be sorted by title. * You can search for a particular book or set of books using the search bar. More on that below. @@ -212,9 +212,10 @@ metadata. You can build advanced search queries easily using the :guilabel:`Advanced Search Dialog`, accessed by clicking the button |sbi|. -Available fields for searching are: ``tag, title, author, publisher, series, rating, cover, comments, format, -isbn, date, pubdate, search, size`` and custom columns. If a device is plugged in, the ``ondevice`` field -becomes available. To find the search name for a custom column, hover your mouse over the column header. +Available fields for searching are: ``tag, title, author, publisher, series, series_index, rating, cover, +comments, format, isbn, date, pubdate, search, size`` and custom columns. If a device is plugged in, the +``ondevice`` field becomes available. To find the search name for a custom column, hover your mouse over the +column header. The syntax for searching for dates is:: @@ -223,9 +224,8 @@ The syntax for searching for dates is:: pubdate:=2009 Will find all books published in 2009 If the date is ambiguous, the current locale is used for date comparison. For example, in an mm/dd/yyyy -locale, 2/1/2009 is interpreted as 1 Feb 2009. In a dd/mm/yyyy locale, it is interpreted as 2 Jan 2009. - -Some special date strings are available. The string ``today`` translates to today's date, whatever it is. The +locale, 2/1/2009 is interpreted as 1 Feb 2009. In a dd/mm/yyyy locale, it is interpreted as 2 Jan 2009. Some +special date strings are available. The string ``today`` translates to today's date, whatever it is. The strings `yesterday`` and ``thismonth`` also work. In addition, the string ``daysago`` can be used to compare to a date some number of days ago, for example: date:>10daysago, date:<=45daysago. @@ -234,9 +234,15 @@ You can search for books that have a format of a certain size like this:: size:>1.1M Will find books with a format larger than 1.1MB size:<=1K Will find books with a format smaller than 1KB -Dates and numeric fields support the operators ``=`` (equals), ``>`` (greater than), ``>=`` (greater than or -equal to), ``<`` (less than), ``<=`` (less than or equal to), and ``!=`` (not equal to). Rating fields are -considered to be numeric. For example, the search ``rating:>=3`` will find all books rated 3 or higher. +Dates and numeric fields support the relational operators ``=`` (equals), ``>`` (greater than), ``>=`` +(greater than or equal to), ``<`` (less than), ``<=`` (less than or equal to), and ``!=`` (not equal to). +Rating fields are considered to be numeric. For example, the search ``rating:>=3`` will find all books rated 3 +or higher. + +Series indices are searchable. For the standard series, the search name is 'series_index'. For +custom series columns, use the column search name followed by _index. For example, to search the indices for a +custom series column named ``#my_series``, you would use the search name ``#my_series_index``. +Series indices are numbers, so you can use the relational operators described above. The special field ``search`` is used for saved searches. So if you save a search with the name "My spouse's books" you can enter ``search:"My spouse's books"`` in the search bar to reuse the saved @@ -310,6 +316,70 @@ Jobs The Jobs panel shows you the number of currently running jobs. Jobs are tasks that run in a separate process, they include converting ebooks and talking to your reader device. You can click on the jobs panel to access the list of jobs. Once a job has completed, by double-clicking it in the list, you can see a detailed log from that job. This is useful to debug jobs that may not have completed successfully. +Keyboard Shortcuts +--------------------- + +Calibre has several keyboard shortcuts to save you time and mouse movement. These shortcuts are active in the book list view (when you're not editing the details of a particular book), and most of them affect the title you have selected. The |app| e-book viewer has its own shortcuts, which can be customised by clicking the Preferences button in the viewer. + +.. note:: + + Note: The Calibre keyboard shortcuts do not require a modifier key (Command, Option, Control etc.), unless specifically noted. You only need to press the letter key, e.g. E to edit. + +.. list-table:: Keyboard Shortcuts + :widths: 10 100 + :header-rows: 1 + + * - Keyboard Shortcut + - Action + * - :kbd:`A` + - Add Books + * - :kbd:`C` + - Convert selected Books + * - :kbd:`D` + - Send to device + * - :kbd:`Del` + - Remove selected Books + * - :kbd:`E` + - Edit metadata of selected books + * - :kbd:`I` + - Show book details + * - :kbd:`M` + - Merge selected records + * - :kbd:`O` + - Open containing folder + * - :kbd:`S` + - Save to Disk + * - :kbd:`V` + - View + * - :kbd:`Alt+V/Cmd+V in OS X` + - View specific format + * - :kbd:`Alt+Shift+J` + - Toggle jobs list + * - :kbd:`Alt+Shift+B` + - Toggle Cover Browser + * - :kbd:`Alt+Shift+T` + - Toggle Tag Browser + * - :kbd:`Alt+A` + - Show books by the Same author as the current book + * - :kbd:`Alt+T` + - Show books with the same tags as current book + * - :kbd:`Alt+P` + - Show books by the same publisher as current book + * - :kbd:`Alt+Shift+S` + - Show books in the same series as current book + * - :kbd:`/, Ctrl+F` + - Focus the search bar + * - :kbd:`Ctrl+D` + - Download metadata and shortcuts + * - :kbd:`Ctrl+R` + - Restart calibre + * - :kbd:`Ctrl+Q` + - Quit calibre + + + + + diff --git a/src/calibre/manual/portable.rst b/src/calibre/manual/portable.rst new file mode 100644 index 0000000000..2a88107842 --- /dev/null +++ b/src/calibre/manual/portable.rst @@ -0,0 +1,74 @@ + +.. include:: global.rst + +.. _portablecalibre: + +Creating your own portable/customized calibre install +======================================================= + +You can "install" calibre onto a USB stick that you can take with you and use on any computer. The magic is in a .bat file called calibre-portable.bat found in the resources folder in your calibre install. Typical uses of this files are: + + * Run a Mobile Calibre installation with both the Calibre binaries and your ebook library resident on a USB disk or other portable media. In particular it is not necessary to have Calibre installed on the Windows PC that is to run Calibre. This batch file also does not care what drive letter is assigned when you plug in the USB device. It also will not affect any settings on the host machine being a completely self-contained Calibre installation. + * Run a networked Calibre installation optimised for performance when the ebook files are located on a networked share. + + +This calibre-portable.bat file is intended for use on Windows based systems, but the principles are easily adapted for use on Linux or OS X based systems. Note that calibre requires the Microsoft Visual C++ 2008 runtimes to run. Most windows computers have them installed already, but it may be a good idea to have the installer for installing them on your USB stick. The installer is available from `Microsoft `_. + +Assumptions +------------ + +The calibre-portable.bat file makes the following assumptions about the folder layout that is being used:: + + Calibre_Root_Folder + calibre-portable.bat The batch file used to start Calibre + Calibre2 The Calibre binaries + CalibreLibrary The Calibre Library + CalibreConfig The Calibre user preferences + CalibreSource The calibre source (optional) if running a development environment. + +If you want to use a different folder layout then the calibre-portable.bat file will need editing appropriately. This file can be edited using any appropriate text editor. + +Preparation +------------ + +The steps required to prepare the USB stick are as follows: + + * Decide what folder will be used to hold all the Calibre related files. If the portable media is to be dedicated to Calibre use then this can be the root folder, but if not is suggested that a folder called Calibre should be created – this will then be the Calibre_Root_Folder mentioned above and in the following steps. + * Copy the calibre-portable.bat file into the Calibre_Root_Folder. + * Create the Calibre2 folder inside the Calibre_Root_Folder to hold the Calibre binaries. There are 2 ways of populating the contents of this folder: + + * The easiest is to simply copy an existing Calibre installation. Typically this would involve copying the contents of the C:\Program Files\Calibre2 folder + * Run the Calibre Windows installer: + + * Tick the box to accept the GNU GPL license + * Select the Advanced option + * Change the install location to be the Calibre2 folder on the USB drive + * Deselect the options for creating Menu shortcuts; creating a calibre shortcut on the desktop; and adding Calibre to the path + + * Create the CalibreLibrary folder inside the Calibre_Root_Folder. If you have an existing Calibre library copy it and all its contents to the CalibreLibrary folder. If you do not already have a library do not worry as a new one will be created at this location when Calibre is started. + * Create the CalibreConfig folder inside the Calibre_Root_Folder. This will hold your personal Calibre configuration settings. If you have an existing Calibre installation and want to copy the current settings then copy the contents of your current configuration folder to the CalibreConfig folder. You can find the location of your current configuration folder by going to Preferences->Advanced and clicking the “Open calibre configuration Directory” button. + * When you have started Calibre, go into Preferences->General and check that you have set the Job Priority to ‘Low’. This setting keeps single-processor Windows systems responsive without affecting Calibre performance to any noticeable degree. On multi-processor or multi-core systems this setting does not matter as much, but setting it will do no harm. + +Using calibre-portable.bat +--------------------------- + +Once you have got the USB stick set up then the steps to use Calibre are: + + * Plug the USB stick into the host machine + * Use Windows Explorer to navigate to the location of the calibre-portable.bat file on the USB stick + * Start Calibre by double-clicking the calibre-portable.bat file + * A Command Window will be opened showing the settings that are about to be used. If you are not happy with these setting use CTRL-C to abandon the batch file without starting Calibre. If you are happy then press any other key to launch Calibre with the specified settings. Once you are happy with your setup you may wish to edit the calibre-portable.bat file to eliminate this pause (add REM to the start of the line) but it a useful check that you are running with the expected settings. + +Networked Installations +-------------------------- + +The performance of Calibre can be severely degraded if running with the Calibre library on a network share. This is primarily due to the fact that the access to the metadata.db file is slow across a network. The calibre-portable.bat file is designed to help in such scenarios. To use the calibre-portable.bat file in such a scenario the following deviations from those detailed above for the Mobile Calibre installation are needed: + + * Edit the calibre-portable.bat file to specify the location of your Calibre library on the network. + * Create a CalibreMetadata folder in the Calibre_Root_Folder location. If you have an existing Calibre library then copy the metadata.db files from there to the CalibreMetadata folder. + * You can now run Calibre using the calibre-portable.bat file as specified in the previous section. One thing you should remember is to periodically copy the metadata.db file from the CalibreMetadatqa folder back to your Calibre library located on the network share. + +Precautions +-------------- + +Portable media can occasionally fail so you should make periodic backups of you Calibre library. This can be done by making a copy of the CalibreLibrary folder and all its contents. There are many freely available tools around that can optimise such back processes, well known ones being RoboCopy and RichCopy. However you can simply use a Windows copy facility if you cannot be bothered to use a specialised tools. diff --git a/src/calibre/ptempfile.py b/src/calibre/ptempfile.py index b7b4d49509..ca7343ee9b 100644 --- a/src/calibre/ptempfile.py +++ b/src/calibre/ptempfile.py @@ -5,18 +5,36 @@ __copyright__ = '2008, Kovid Goyal ' Provides platform independent temporary files that persist even after being closed. """ -import tempfile, os, atexit, shutil +import tempfile, os, atexit from calibre import __version__, __appname__ def cleanup(path): try: - import os - if os.path.exists(path): - os.remove(path) + import os as oss + if oss.path.exists(path): + oss.remove(path) except: pass + +_base_dir = None + +def remove_dir(x): + try: + import shutil + shutil.rmtree(x, ignore_errors=True) + except: + pass + +def base_dir(): + global _base_dir + if _base_dir is None: + _base_dir = tempfile.mkdtemp(prefix='%s_%s_tmp_'%(__appname__, + __version__)) + atexit.register(remove_dir, _base_dir) + return _base_dir + class PersistentTemporaryFile(object): """ A file-like object that is a temporary file that is available even after being closed on @@ -27,6 +45,8 @@ class PersistentTemporaryFile(object): def __init__(self, suffix="", prefix="", dir=None, mode='w+b'): if prefix == None: prefix = "" + if dir is None: + dir = base_dir() fd, name = tempfile.mkstemp(suffix, __appname__+"_"+ __version__+"_" + prefix, dir=dir) self._file = os.fdopen(fd, mode) @@ -56,8 +76,10 @@ def PersistentTemporaryDirectory(suffix='', prefix='', dir=None): Return the path to a newly created temporary directory that will be automatically deleted on application exit. ''' + if dir is None: + dir = base_dir() tdir = tempfile.mkdtemp(suffix, __appname__+"_"+ __version__+"_" +prefix, dir) - atexit.register(shutil.rmtree, tdir, True) + atexit.register(remove_dir, tdir) return tdir class TemporaryDirectory(object): @@ -67,6 +89,8 @@ class TemporaryDirectory(object): def __init__(self, suffix='', prefix='', dir=None, keep=False): self.suffix = suffix self.prefix = prefix + if dir is None: + dir = base_dir() self.dir = dir self.keep = keep @@ -76,7 +100,7 @@ class TemporaryDirectory(object): def __exit__(self, *args): if not self.keep and os.path.exists(self.tdir): - shutil.rmtree(self.tdir, ignore_errors=True) + remove_dir(self.tdir) class TemporaryFile(object): @@ -85,6 +109,8 @@ class TemporaryFile(object): prefix = '' if suffix is None: suffix = '' + if dir is None: + dir = base_dir() self.prefix, self.suffix, self.dir, self.mode = prefix, suffix, dir, mode self._file = None diff --git a/src/calibre/trac/bzr_commit_plugin.py b/src/calibre/trac/bzr_commit_plugin.py index c39131cccb..f2a40e6266 100644 --- a/src/calibre/trac/bzr_commit_plugin.py +++ b/src/calibre/trac/bzr_commit_plugin.py @@ -112,6 +112,6 @@ class cmd_commit(_cmd_commit): server = xmlrpclib.ServerProxy(url) server.ticket.update(int(bug), msg, {'status':'closed', 'resolution':'fixed'}, - False) + True) bzrlib.commands.register_command(cmd_commit) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 3df48f782f..9bd380d661 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: 2010-08-07 01:39+0000\n" -"PO-Revision-Date: 2010-08-06 22:33+0000\n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-22 19:43+0000\n" "Last-Translator: Kovid Goyal \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: 2010-08-08 03:40+0000\n" +"X-Launchpad-Export-Date: 2010-08-23 03:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,12 +27,12 @@ msgstr "لا يفعل شيءً" #: /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:506 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:402 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 @@ -49,7 +49,7 @@ msgstr "لا يفعل شيءً" #: /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/fb2.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:332 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 #: /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 @@ -102,24 +102,24 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:826 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:829 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 @@ -127,20 +127,20 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:356 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:368 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:976 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1045 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1646 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1648 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1770 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 @@ -170,6 +170,10 @@ msgstr "كاتب دليل المعلومات" msgid "Catalog generator" msgstr "مولد الكاتالوج" +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " @@ -247,7 +251,7 @@ msgstr "ضبط دليل المعلومات من ملفات %s" msgid "Conversion Input" msgstr "دخل التحويل" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -258,11 +262,11 @@ msgstr "" "متجاوزاً خيارات المستند, هذا الخيار للمستندان التي لا تعلن عن ترميزها أو " "التي ليس لها ترميز خاطىء." -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "خرج التحويل" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:251 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 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." @@ -420,11 +424,11 @@ msgstr "" msgid "No valid plugin found in " msgstr "لا يجد ملحق صالح " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "فشل استهلال الملحق %s مع اقتفاء الأثر:" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -436,29 +440,29 @@ msgstr "" " المقدرة على التخصيص بتحميل الملحقات الخارجية .\n" " " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "إضافة ملحق يتخصيص مسار إلى ملف zip الذي يحتويه." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:519 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "حذف الملحق المخصص عن طريق اسمه. لا يؤثر على الملحقات المضمنة" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "تخصيص الملحق . حدد اسم الملحق وسلسلة التخصيص وفرقهما بفاصلة." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "قائمة كل الملحقات المثبتة" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:525 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "تمكين الملحق المسمى" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:527 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "تعطيل الملحق المسمى" @@ -466,13 +470,13 @@ msgstr "تعطيل الملحق المسمى" msgid "Communicate with Android phones." msgstr "التواصل مع هواتف أندرويد ." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 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:90 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "" @@ -493,14 +497,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2802 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2847 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "" @@ -525,19 +529,19 @@ msgid "" "Click 'Show Details' for a list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2471 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1530 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "الأخبار" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2709 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "" @@ -601,15 +605,15 @@ msgstr "واجهة الجهاز" msgid "Communicate with Hanlin V3 eBook readers." msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanlin V3 ." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanlin V5 ." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى BOOX ." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -716,7 +720,7 @@ msgid "Adding books to device metadata listing..." msgstr "إضافة كتب لقائمة البيانات الوصفية للجهاز ..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 msgid "Not Implemented" msgstr "" @@ -738,7 +742,11 @@ msgstr "" msgid "Communicate with the Sweex MM300" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "" @@ -782,7 +790,7 @@ msgstr "" "ضع علامة الفاصلة للفصل بين مجموعة من البيانات الوصفية لكي تكون مجموعة في " "الجهاز . و تشمل الاحتمالات التالية: " -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "" @@ -792,14 +800,14 @@ msgid "Communicate with the Samsung SNE eBook reader." msgstr "الإتصال مع جهاز قارئ الكتب الالكترونية Samsung SNE ." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "اﻹتصال مع الـ Teclast K3 reader ." +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 +#: /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:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "" @@ -983,15 +991,15 @@ msgstr "تحديد هوية الكتاب" msgid "Set font delta" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "تم تصوير %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "فشل %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1001,44 +1009,44 @@ msgstr "" "\n" "%s ." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "حافظ على نسبة وضوح الصورة . افتراضياً يجب تملأ الشاشة ." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "تعطيل التشحيذ." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 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:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "لا تقسم صور عرضية إلى صورتين طوليتين." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 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:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1046,13 +1054,13 @@ msgstr "" "تستخدم لمنشورات يمين إلى يسار مثل المانغا اليابانية، إلخ. يتسبب بتقسيم صور " "عرضية إلى صور طولية من اليمين إلى اليسار." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1060,23 +1068,23 @@ msgstr "" "لا ترتّب ملفات موجودة في الرسومات أبجدياً، بل استخدم الترتيب المستخدم في " "الرسومات." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:426 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "صفحة" @@ -1518,7 +1526,11 @@ msgstr "" msgid "Creating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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 "" @@ -1534,7 +1546,7 @@ msgid "" "cause significant changes to your epub, complain to the epubcheck project." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1545,7 +1557,7 @@ msgid "" "detected. Use the options to control which errors are automatically fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "" @@ -1887,7 +1899,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "العنوان" @@ -2102,45 +2114,45 @@ msgstr "خطأ في خادم LibraryThing.com. حاول لاحقاً." msgid "Downloads metadata from Douban.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:210 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" @@ -2772,275 +2784,582 @@ msgstr "" msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:245 -msgid "Use library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "إضافة كتب" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" +msgstr "إضافة كتب من دليل واحد" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +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.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:623 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:682 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:719 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:740 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:998 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1116 -msgid "No books selected" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:101 -msgid "Merging user annotations into database" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:129 -msgid "%s
Last Page Read: %d (%d%%)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:135 -msgid "%s
Last Page Read: Location %d (%d%%)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
%s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "كتب" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "كتب EPUB" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "كتب LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "كتب HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "كتب LIT" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "كتب MOBI" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "كتب نصّية" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "كتب PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "الرسومات" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "أرشيفات" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:470 +#: /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/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
Last Page Read: %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
Last Page Read: Location %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
%s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +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:32 +msgid "Create catalog of books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +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:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +msgid "You cannot change libraries while jobs are running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "C" + +#: /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:26 +msgid "Convert individually" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "لا يمكن تحويله" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Del" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "حذف كتب" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:533 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:430 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:432 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:557 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "الكتب المختارة سوف تحذف تماماً من حاسوبك. هل أنت متأكّد؟" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "إرسال لجهاز" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +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_metadata.py:24 +msgid "E" +msgstr "E" + +#: /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:27 +msgid "Merge book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "تحرير الميتاداتا فردياً" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "تحرير الميتاداتا جملةً" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:671 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:602 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:550 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:962 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "خطأ" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:681 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "لا يمكن تحرير الميتاداتا" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:739 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

The second and subsequently selected " @@ -3048,7 +3367,7 @@ msgid "" "proceed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

After merger the second and " @@ -3058,111 +3377,223 @@ msgid "" "from your computer.

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 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.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "F" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "احصل على الأخبار" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 +msgid "Fetching news from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 +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 +msgid "Help" +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:17 +msgid "Ctrl+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "التفضيلات" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +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 +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 "S" + +#: /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:45 +msgid "Save to disk" +msgstr "حفظ إلى القرص" + +#: /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: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: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:90 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:927 +#: /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.py:933 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 msgid "" -"You are tying to save files into the calibre library. This can cause " +"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.py:968 +#: /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.py:969 +#: /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.py:976 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:977 +#: /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 msgid "Could not save some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 msgid "Click the show details button to see which ones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:999 -msgid "No books selected to generate catalog for" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1016 -msgid "Generating %s catalog..." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1021 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 -msgid "No books found" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1022 -msgid "" -"No books to catalog\n" -"Check exclude tags" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1032 -msgid "Catalog generated." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1035 -msgid "Export Catalog Directory" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1036 -msgid "Select destination for %s.%s" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1052 -msgid "Fetching news from " +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "Alt+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1066 -msgid " fetched." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1115 -msgid "Cannot convert" -msgstr "لا يمكن تحويله" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1144 -msgid "Starting conversion of %d book(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "كتب بنفس الوسوم" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "V" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "عرض" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "عرض تهيئة معينة" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3170,11 +3601,11 @@ msgid "" "continue?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "" @@ -3199,7 +3630,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "" @@ -3324,14 +3755,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 @@ -3396,7 +3831,7 @@ msgstr "المسار" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" @@ -3494,6 +3929,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 @@ -3578,8 +4014,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1493 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1511 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "" @@ -3602,7 +4038,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" @@ -3707,7 +4143,7 @@ msgid "&Disable comic processing" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "" @@ -3723,16 +4159,16 @@ msgstr "" msgid "Debug the conversion process." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:57 +#: /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:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "" @@ -3875,15 +4311,15 @@ msgstr "" msgid "Control the look and feel of the output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:30 +#: /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:31 +#: /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:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "" @@ -4014,34 +4450,34 @@ msgid "" "possible." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "إختار الغلاف لـ " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "لا يمكن القراءة" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "خطأ في قراءة الملف" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

There was an error reading from file:
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " ليست صورة صالحة" @@ -4298,18 +4734,18 @@ msgstr "" msgid "Options specific to the input format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "حوار" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "" @@ -4324,39 +4760,39 @@ msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "" @@ -4394,15 +4830,15 @@ msgstr "" msgid "Control the creation/conversion of the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "" @@ -4462,7 +4898,7 @@ msgid "&Maximum line length:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" +msgid "Force maximum line length" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 @@ -4554,20 +4990,20 @@ msgid "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath Tutorial." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 @@ -4576,281 +5012,273 @@ msgstr "" msgid "Undefined" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "احصل على معلومات الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "احصل على قائمة الكتب على الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "ارسل الميتاداتا إلى الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "رفع %d كتاب إلى الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "حذف كتب من الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "تنزيل الكتب من الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "عرض كتاب على الجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:428 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 -msgid "Fetch annotations (experimental)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:669 -msgid "Failed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "خطأ في الاتصال بالجهاز" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 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:718 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "الجهاز: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr " تم كشفه." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:820 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:823 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:824 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:873 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:887 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:917 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1019 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1081 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1200 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1082 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1201 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1114 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1209 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1272 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -4871,8 +5299,24 @@ msgstr "" msgid "Save &template:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" +msgid "Fit &cover within view" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 @@ -4953,6 +5397,14 @@ msgstr "" msgid "No location selected" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "" @@ -5001,47 +5453,47 @@ msgstr "&طور:" msgid "Edit Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "عام" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "الواجهة" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "متقدّم" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" @@ -5049,201 +5501,211 @@ msgstr "" "محتوى\n" "خادم" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "الملحقات" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 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/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "متوسط" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "صغير" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "كبير" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 msgid "Done" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 msgid "Confirmation dialogs have all been reset" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " "port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "مسار الملحق غير صالح" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "%s ليس مسار لملحق صالح" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "إختيار الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "لا يمكن تعطيل الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "الملحق: %s لا يمكن تعطيله" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "لا يمكن تخصيص الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "الملحق: %s لا يحتاج التخصيص" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "لم يمكن حذف الملحق المضمن" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr " لا يمكن حذفه. هذا ملحق مضمن في البرنامج. حاول تعطيله بدلاً من حذفه." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "هل أنت متأكّد؟" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "سجل الأخطاء:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "سجل النفاذ:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:821 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "فشل في تشغيل خادم المحتوى" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "حجم غير صالح" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5381,282 +5843,323 @@ msgstr "" msgid "Sending to &device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:616 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "التفضيلات" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 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/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " ثانية" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "إختر ال&لغة (يحتاج إعادة تشغيل):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "عادي" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "مرتفع" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "منخفض" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 msgid "Reset all disabled &confirmation dialogs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "إرسال الأخبار& التي تم تنزيلها آلياً إلى قارئ الكتب الإلكترونية" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "استخدم المستعرض& الداخلي في:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "&Check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Install command line tools" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Open calibre &configuration directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "&اسم المستخدم:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "&كلمة السرّ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 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/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "إظهار& كلمة السرّ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

Remember to leave calibre running as the server only runs as long as " @@ -5667,33 +6170,33 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "ت&خصيص الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "&حذف الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "إضافة ملحق جديد" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "&ملف الملحق:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "&إضافة" @@ -5734,7 +6237,7 @@ 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:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "تاريخ" @@ -5800,8 +6303,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"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/dialogs/config/create_custom_column.py:116 @@ -5816,11 +6319,6 @@ msgstr "" msgid "The heading %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" @@ -5917,6 +6415,63 @@ msgstr "" msgid "Downloading social metadata, please wait..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "" @@ -5948,10 +6503,29 @@ msgstr "" msgid "Author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +msgid "Sort by author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +msgid "Sort by author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "ترتيب المؤلف" @@ -6046,10 +6620,14 @@ msgstr "" msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "تحرير معلومات الميتا" @@ -6150,136 +6728,136 @@ msgstr "" msgid "Last modified: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:222 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:585 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:590 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:596 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 msgid "" "For the error message from each cover source, click Show details below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:750 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" @@ -6372,10 +6950,14 @@ msgstr "" msgid "Password needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" @@ -6771,12 +7353,12 @@ msgid "%s (was %s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -6818,10 +7400,6 @@ msgstr "" 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:78 -msgid "Ctrl+S" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "" @@ -7100,448 +7678,188 @@ msgstr "ISBN:" msgid "Regular expression (?P)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:33 -msgid "Similar books..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:66 -msgid "Add books to library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:84 -msgid "Manage collections" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 msgid "Cover Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 msgid "version" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 msgid "created by Kovid Goyal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 msgid "Connected " msgstr "متصل " -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:276 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 msgid "Book Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:60 -msgid "Job" +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 +msgid "Job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 msgid "Status" msgstr "الحالة" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 msgid "Progress" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" msgstr "غير متوفر" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:298 -msgid "Click to see list of active jobs." +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:33 -msgid "Save single format to disk..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:85 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 msgid "Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 msgid "Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 msgid "Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 msgid "" "Books display will be restricted to those matching the selected saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 msgid "Advanced search" msgstr "بحث متقدّم" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 msgid "" "

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:191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Copy current search text (instead of search name)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 msgid "Save current search under the name shown in the box" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 msgid "Delete current saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:467 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108 -msgid "%d books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:305 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:468 -msgid "Choose calibre library to work with" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:336 -msgid "Connect to folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:341 -msgid "Connect to iTunes" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:348 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:356 -msgid "Start Content Server" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:358 -msgid "Stop Content Server" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:369 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:377 -msgid "Email to" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:377 -msgid " and delete from library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:389 -msgid "Setup email based sharing of books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:462 -msgid "A" -msgstr "A" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:462 -msgid "Add books" -msgstr "إضافة كتب" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "E" -msgstr "E" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "Edit metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:464 -msgid "C" -msgstr "C" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:464 -msgid "Convert books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -msgid "V" -msgstr "V" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:568 -msgid "View" -msgstr "عرض" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:466 -msgid "Send to device" -msgstr "إرسال لجهاز" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "F" -msgstr "F" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "Fetch news" -msgstr "احصل على الأخبار" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:470 -msgid "S" -msgstr "S" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:551 -msgid "Save to disk" -msgstr "حفظ إلى القرص" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:471 -msgid "Connect/share" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:472 -msgid "Del" -msgstr "Del" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:472 -msgid "Remove books" -msgstr "حذف كتب" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "Browse the calibre User Manual" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "F1" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "Help" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:474 -msgid "Ctrl+P" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:476 -msgid "M" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:476 -msgid "Merge book records" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:477 -msgid "Open containing folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:479 -msgid "Show book details" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:481 -msgid "Books by same author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:483 -msgid "Books in this series" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:485 -msgid "Books by this publisher" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:487 -msgid "Books with the same tags" -msgstr "كتب بنفس الوسوم" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:501 -msgid "Edit metadata individually" -msgstr "تحرير الميتاداتا فردياً" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:504 -msgid "Edit metadata in bulk" -msgstr "تحرير الميتاداتا جملةً" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:507 -msgid "Download metadata and covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:510 -msgid "Download only metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:512 -msgid "Download only covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:515 -msgid "Download only social metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:521 -msgid "Merge into first selected book - delete others" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:524 -msgid "Merge into first selected book - keep others" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:532 -msgid "Add books from a single directory" -msgstr "إضافة كتب من دليل واحد" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:534 -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/layout.py:538 -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/layout.py:541 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:553 -msgid "Save to disk in a single directory" -msgstr "حفظ إلى القرص في دليل واحد" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:555 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:385 -msgid "Save only %s format to disk" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:559 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:388 -msgid "Save only %s format to disk in a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:569 -msgid "View specific format" -msgstr "عرض تهيئة معينة" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:575 -msgid "Remove selected books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:577 -msgid "Remove files of a specific format from selected books.." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:580 -msgid "Remove all formats from selected books, except..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:583 -msgid "Remove covers from selected books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:586 -msgid "Remove matching books from device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:603 -msgid "Convert individually" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:605 -msgid "Bulk convert" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:609 -msgid "Create catalog of books in your calibre library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:617 -msgid "Run welcome wizard" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "N" msgstr "" @@ -7569,7 +7887,7 @@ msgstr "كتاب %s لـ%s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" msgstr "" @@ -7629,7 +7947,7 @@ msgstr "" msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -7660,7 +7978,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 msgid "No matches found" msgstr "" @@ -7677,12 +7995,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:476 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 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:477 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" msgstr "الصفحة السابقة" @@ -7853,24 +8171,24 @@ msgid "No matches found for this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 msgid "Search" msgstr "بحث" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 msgid "Choose saved search or enter name for new saved search" msgstr "" @@ -7879,15 +8197,15 @@ msgid "Restrict to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" msgstr "" @@ -7951,112 +8269,112 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:432 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 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:786 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Convert book %d of %d (%s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:90 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:202 -msgid "Could not convert some books" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 +msgid "Could not convert some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 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:120 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 msgid "Queueing " msgstr "" @@ -8074,89 +8392,64 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Donate to support calibre" msgstr "تبرع& لدعم كاليبر" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 -msgid "&Restart" -msgstr "إعادة تشغيل&" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:362 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:367 -msgid "Cannot configure" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:363 -msgid "Cannot configure while there are running jobs." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 -msgid "Cannot configure before calibre is restarted." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:415 -msgid "No detailed info available" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:416 -msgid "No detailed information is available for books on the device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:468 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 msgid "Conversion Error" msgstr "خطأ في التحويل" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 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:570 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -8329,7 +8622,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 msgid "Remember last used window size" msgstr "" @@ -8384,36 +8677,36 @@ msgstr "قياس خط الأحادي القياس بـpx" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" msgstr "" @@ -8469,88 +8762,88 @@ msgstr "" msgid "Book format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 msgid "Print Preview" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 msgid "Choose ebook" msgstr "إختيار الكتاب الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 msgid "Ebooks" msgstr "كتب إلكترونية" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 msgid "Loading ebook..." msgstr "يتم تحميل الكتاب الإلكتروني..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 msgid "

This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 msgid "Could not open ebook" msgstr "لم يتمكن من فتح الكتاب الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 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:677 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:678 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 msgid "" "%prog [options] file\n" "\n" @@ -8665,14 +8958,18 @@ msgstr "" msgid "Drag to resize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 msgid "Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 msgid "Hide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " @@ -9486,7 +9783,52 @@ msgstr "" msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:809 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "" "%%prog command [options] [arguments]\n" "\n" @@ -9498,35 +9840,45 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:537 +msgid "No label was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 +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:71 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:566 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1796 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1825 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1842 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1935 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1976 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1998 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" msgstr "" @@ -9716,35 +10068,45 @@ msgstr "" msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" msgstr "" @@ -9826,15 +10188,15 @@ msgstr "" msgid "Waiting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:51 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 msgid "Stopped" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Finished" msgstr "انتهى" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:75 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 msgid "Working..." msgstr "" @@ -10219,9 +10581,6 @@ msgstr "" #~ msgid "author" #~ msgstr "المؤلف" -#~ msgid "Alt+S" -#~ msgstr "Alt+S" - #~ msgid "Convert book: " #~ msgstr "Convert book: " @@ -10776,5 +11135,8 @@ msgstr "" #~ msgid "Communicate with the Sony PRS-300/505/500 eBook reader." #~ msgstr "التواصل مع قارئات الكتاب الاليكتروني سوني PRS-300/505/500 ." +#~ msgid "Communicate with the Teclast K3 reader." +#~ msgstr "اﻹتصال مع الـ Teclast K3 reader ." + #~ msgid " " #~ msgstr " " diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 548dfc0254..16eb559cb3 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: 2010-08-07 01:39+0000\n" -"PO-Revision-Date: 2010-08-06 23:15+0000\n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-22 19:36+0000\n" "Last-Translator: Kovid Goyal \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: 2010-08-08 03:40+0000\n" +"X-Launchpad-Export-Date: 2010-08-23 03:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -30,12 +30,12 @@ msgstr "No en fa absolutament res" #: /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:506 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:402 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 @@ -52,7 +52,7 @@ msgstr "No en fa absolutament res" #: /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/fb2.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:332 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 #: /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 @@ -105,24 +105,24 @@ msgstr "No en fa absolutament res" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:826 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:829 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 @@ -130,20 +130,20 @@ msgstr "No en fa absolutament res" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:356 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:368 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:976 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1045 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1646 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1648 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1770 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 @@ -173,6 +173,10 @@ msgstr "Escriptor de metainformació" msgid "Catalog generator" msgstr "Generador del Catàleg" +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " @@ -251,7 +255,7 @@ msgstr "Estableix metainformació des dels fitxers %s" msgid "Conversion Input" msgstr "Entrada per a la conversió" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -263,11 +267,11 @@ msgstr "" "document. És particularment útil per a documents que no indiquen cap joc de " "caràcters o ho fan incorrectament." -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "Sortida de la conversió" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:251 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 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." @@ -428,11 +432,11 @@ msgstr "Connectors permesos" msgid "No valid plugin found in " msgstr "No s'ha trobat cap connector vàlid a " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "No s'ha pogut inicialitzar el connector %s i s'ha generat la traça:" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -444,18 +448,18 @@ msgstr "" " Personalitzeu el calibre carregant connectors externs.\n" " " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" "Afegeix un connector especificiant el camí al fitxer ZIP que el conté" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:519 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Suprimeix un connector personalitzat per nom. No té cap efecte als " "complements integrats" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." @@ -463,15 +467,15 @@ msgstr "" "Personalitza el connector. Especifiqueu el nom del connector i el text que " "desitgeu, separats per una coma." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Fes una llista amb tots els connectors instal·lats" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:525 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Habilita el connector anomenat" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:527 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Inhabilita el connector anomenat" @@ -479,7 +483,7 @@ msgstr "Inhabilita el connector anomenat" msgid "Communicate with Android phones." msgstr "Estableix comunicació amb telèfons Android" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -488,7 +492,7 @@ msgstr "" "dispositiu. S'usarà el primer directori del llistat que ja existeixi al " "dispositiu" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Estableix comunicació amb els telèfons S60." @@ -509,14 +513,14 @@ msgstr "Actualitzant la llista de metadades del dispositiu..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2802 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d de %d" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2847 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "finalitzat" @@ -546,19 +550,19 @@ msgstr "" "Varies portades no s'han pogut convertir.\n" "Clic a 'Veure Detalls' per a més informació." -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2471 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1530 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Notícies" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2709 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "Comunica't amb iTunes" @@ -627,16 +631,16 @@ msgid "Communicate with Hanlin V3 eBook readers." msgstr "" "Estableix comunicació amb el lector de llibres electrònics Hanlin V3." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "" "Estableix comunicació amb el lector de llibres electrònics Hanlin V5." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Estableix comunicació amb el lector de llibres electrònics BOOX." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -754,7 +758,7 @@ msgid "Adding books to device metadata listing..." msgstr "S'estan afegint llibres al llistat de metadades del dispositiu..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 msgid "Not Implemented" msgstr "" @@ -776,7 +780,11 @@ msgstr "Comunicar-se amb Booq Avant" msgid "Communicate with the Sweex MM300" msgstr "Comunicar-se amb el Sweex MM300" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "Comunicar-se amb el Pandigital Novel" @@ -821,7 +829,7 @@ msgstr "" "Llistat on apareixen, separats per coma, els camps de metadades per " "traslladar a les col·leccions del dispositiu. Les possibilitats inclouen: " -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Sense nom" @@ -832,15 +840,14 @@ msgstr "" "Estableix comunicació amb el lector de llibres electrònics Samsung SNE." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." +msgid "Communicate with the Teclast K3/K5 reader." msgstr "" -"Estableix comunicació amb el lector de llibres electrònics Teclast K3." -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "Comunicar-se amb el lector Newsmy." -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "Comunicar-se amb el lector iPapyrus." @@ -1026,15 +1033,15 @@ msgstr "Indiqueu l'ID (identificador) del llibre" msgid "Set font delta" msgstr "Indiqueu la font delta" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "%s renderitzat" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "%s ha fallat" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1044,7 +1051,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1054,24 +1061,24 @@ msgstr "" "defecte: %default. Valors inferiors a 256 podrien causar textos difuminats " "en el vostre dispositiu si esteu creant còmics en format EPUB." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Inhabilita la normalització (millora del contrast) del balanç de colors per " "a les imatges . Per defecte: Desactivat" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Conserva la proporció d'aspecte de la imatge. El valor predeterminat és " "emplenar la pantalla." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Inhabilita l'afinament." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1079,11 +1086,11 @@ msgstr "" "Inhabilita el retallament de pàgines de còmic. Per alguns còmics, el " "retallament podria eliminar el contingut a més de les vores." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "No divideixis les imatges apaïsades en dues imatges verticals" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1091,7 +1098,7 @@ msgstr "" "Conserva la relació d'aspecte i escala la imatge fent servir l'alçada de la " "pantalla com ample de la imatge, per a veure-la en mode apaïsat" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1100,7 +1107,7 @@ msgstr "" "pàgines apaïsades siguin separades en pàgines verticals orientades de dreta " "a esquerra." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1108,7 +1115,7 @@ msgstr "" "Habilita l'eliminació dels pics. Redueix el soroll, en forma de pics. Pot " "incrementar molt el temps de processament." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1116,7 +1123,7 @@ msgstr "" "No ordenis alfabèticament els arxius trobats al còmic. Empra l'ordre en el " "qual hi foren afegits al còmic." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 " @@ -1126,16 +1133,16 @@ msgstr "" "Podeu experimentar quin format us proporciona la millor relació mida-aspecte " "al vostre dispositiu." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "No processis les imatges." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "No converteixis a escala de grisos (blanc i negre)." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:426 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Pàgina" @@ -1719,7 +1726,11 @@ msgstr "S'estàn transformant el llibre electrònic..." msgid "Creating" msgstr "S'està creant" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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 "Reparador d'ePub" @@ -1740,7 +1751,7 @@ msgstr "" "pot causar canvis significatius al seu Epub. Dirigeixi les seves queixes al " "projecte epubcheck." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1759,7 +1770,7 @@ msgstr "" "impresos per cada error detectat. Faci servir les opcions per controlar " "quins errors han estat automàticament arreglats." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "Ha d'especificar un fitxer epub." @@ -2154,7 +2165,7 @@ msgstr "Còmic" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "Tí­tol" @@ -2395,35 +2406,35 @@ msgstr "Error al servidor LibraryThing.com. Provi-ho de nou més tard." msgid "Downloads metadata from Douban.com" msgstr "Descarrega metainformació des de Douban.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "Metadades baixades" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "classificació" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "etiquetes" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "Descripció/sinopsis" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "Descarrega %s des de %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "Descarrega metainformació des de Google Books." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "Descarrega metainformació des de isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2431,11 +2442,11 @@ msgstr "" "Per a fes servir isbndb.com hauria de identificar-se a %sfree compte%s i " "desprès introduir-hi la seva clau d'accés a sota." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:210 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "Descarrega metainformació social des d'amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" "Descarrega informació de series, etiquetes i qualificacions des de " @@ -3105,275 +3116,582 @@ msgstr "Copia" msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "Escull fitxers" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:245 -msgid "Use library only" -msgstr "Fes servir només la llibreria" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "Afegeix llibres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:623 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:682 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:719 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:740 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:998 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1116 -msgid "No books selected" -msgstr "Cap llibre seleccionat" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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.py:101 -msgid "Merging user annotations into database" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +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.py:129 -msgid "%s
Last Page Read: %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:135 -msgid "%s
Last Page Read: Location %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
%s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "Quants llibres buits?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "Quants llibres buits haurien d'afegir-se?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "Pujant llibres a l'aparell." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "Llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "Llibres EPUB" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "Llibres LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "Llibres HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "Llibres LIT" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "Llibres Mobi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "Llibres Topaz" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "Llibres de text" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "Llibres PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "Còmics" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "Arxius" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "Llibres admesos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "Afegeix a la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Cap llibre seleccionat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:470 +#: /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/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "Fes servir només la llibreria" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "Cap llibre seleccionat" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
Last Page Read: %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
Last Page Read: Location %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
%s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +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:32 +msgid "Create catalog of books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "No trobo llibres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "Catàleg generat" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +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:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +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 "Converteix llibres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +msgid "Convert individually" +msgstr "Converteix individualment" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "Converteix tots" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "No puc convertir-lo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Esborra" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "Suprimeix llibres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "No puc esborrar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "No puc esborrar llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "Memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:533 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:430 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "Tarja de memòria A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:432 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "Tarja de memòria B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "Cap llibre per esborrar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:557 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "Envia al dispositiu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +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_metadata.py:24 +msgid "E" +msgstr "E" + +#: /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:27 +msgid "Merge book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "Edita metadades individualment" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "Edita metadades en massa" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "Metadades socials" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "portades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:671 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:602 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:550 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:962 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "Error" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:681 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "No puc editar les meta-dades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:739 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

The second and subsequently selected " @@ -3381,7 +3699,7 @@ msgid "" "proceed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

After merger the second and " @@ -3391,111 +3709,223 @@ msgid "" "from your computer.

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 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.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "Recull notí­cies (RSS)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 +msgid "Fetching news from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 +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 +msgid "Help" +msgstr "Ajuda" + +#: /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:17 +msgid "Ctrl+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "Preferències" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "No puc configurar-lo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "No puc configurar-lo amb treballs processant-se" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +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 +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:45 +msgid "Save to disk" +msgstr "Desa al disc" + +#: /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: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: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:90 msgid "Cannot save to disk" msgstr "No puc desar al disc" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:927 +#: /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.py:933 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 msgid "" -"You are tying to save files into the calibre library. This can cause " +"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.py:968 +#: /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.py:969 +#: /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.py:976 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:977 +#: /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 msgid "Could not save some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 msgid "Click the show details button to see which ones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:999 -msgid "No books selected to generate catalog for" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1016 -msgid "Generating %s catalog..." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1021 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 -msgid "No books found" -msgstr "No trobo llibres" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1022 -msgid "" -"No books to catalog\n" -"Check exclude tags" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1032 -msgid "Catalog generated." -msgstr "Catàleg generat" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1035 -msgid "Export Catalog Directory" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1036 -msgid "Select destination for %s.%s" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1052 -msgid "Fetching news from " +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1066 -msgid " fetched." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1115 -msgid "Cannot convert" -msgstr "No puc convertir-lo" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1144 -msgid "Starting conversion of %d book(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "Mostra" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "No puc mostrar-lo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3503,11 +3933,11 @@ msgid "" "continue?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "" @@ -3532,7 +3962,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "Cap llibre" @@ -3657,14 +4087,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 @@ -3729,7 +4163,7 @@ msgstr "Camí" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" @@ -3827,6 +4261,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 @@ -3911,8 +4346,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1493 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1511 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "Catàleg" @@ -3935,7 +4370,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" @@ -4040,7 +4475,7 @@ msgid "&Disable comic processing" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "" @@ -4056,16 +4491,16 @@ msgstr "" msgid "Debug the conversion process." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:57 +#: /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:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "" @@ -4208,15 +4643,15 @@ msgstr "Aparença" msgid "Control the look and feel of the output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" msgstr "Original" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 +#: /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:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "" @@ -4347,34 +4782,34 @@ msgid "" "possible." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "No pot llegir-se" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "No tens permissos per a llegir l'arxiu: " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "Error llegint l'arxiu" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

There was an error reading from file:
" msgstr "

Error llegint de l'arxiu:
" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " no és una imatge vàlida" @@ -4632,18 +5067,18 @@ msgstr "Converteix" msgid "Options specific to the input format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "" @@ -4658,39 +5093,39 @@ msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "" @@ -4728,15 +5163,15 @@ msgstr "" msgid "Control the creation/conversion of the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "" @@ -4796,7 +5231,7 @@ msgid "&Maximum line length:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" +msgid "Force maximum line length" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 @@ -4888,20 +5323,20 @@ msgid "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath Tutorial." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 @@ -4910,150 +5345,142 @@ msgstr "" msgid "Undefined" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "Sí" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "No" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "estrella/es" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "Envia a la memòria interna" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:428 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "Memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 -msgid "Fetch annotations (experimental)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "Error en la comunicació amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:669 -msgid "Failed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "Error comunicant amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -5061,132 +5488,132 @@ msgstr "" "Hi ha hagut un error de comunicació amb el dispositiu. Lleve, torne a " "connectar el dispositiu i torne a iniciar el programa" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:820 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:823 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:824 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:873 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "per" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:887 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:917 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1019 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1081 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1200 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "Notícies:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1082 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1201 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1114 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1209 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "Sense espai al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1272 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "

No puc desar llibres al dispositiu perquè no hi ha espai restant " @@ -5207,8 +5634,24 @@ msgstr "" msgid "Save &template:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" +msgid "Fit &cover within view" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 @@ -5289,6 +5732,14 @@ msgstr "" msgid "No location selected" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "" @@ -5337,247 +5788,257 @@ msgstr "&Perfil:" msgid "Edit Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "General" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "Conversió" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 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/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 msgid "Done" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 msgid "Confirmation dialogs have all been reset" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " "port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "N'estàs segur?" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:821 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5715,282 +6176,323 @@ msgstr "" msgid "Sending to &device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:616 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "Preferències" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 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/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " segons" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 msgid "Reset all disabled &confirmation dialogs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "&Check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Install command line tools" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Open calibre &configuration directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "Nom d'&usuari:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "&Contrasenya:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 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/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

Remember to leave calibre running as the server only runs as long as " @@ -6001,33 +6503,33 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "" @@ -6068,7 +6570,7 @@ 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:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "Data" @@ -6134,8 +6636,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"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/dialogs/config/create_custom_column.py:116 @@ -6150,11 +6652,6 @@ msgstr "" msgid "The heading %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" @@ -6251,6 +6748,63 @@ msgstr "" msgid "Downloading social metadata, please wait..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "" @@ -6282,10 +6836,29 @@ msgstr "" msgid "Author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +msgid "Sort by author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +msgid "Sort by author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "" @@ -6380,10 +6953,14 @@ msgstr "" msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "Editar Meta-informació" @@ -6486,136 +7063,136 @@ msgstr "" msgid "Last modified: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:222 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:283 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:585 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:590 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:596 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "No puc aconseguir la coberta" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
" msgstr "No puc aconseguir la coberta.
" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 msgid "" "For the error message from each cover source, click Show details below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:750 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" @@ -6709,10 +7286,14 @@ msgstr "" msgid "Password needed" msgstr "Es necessita una contrasenya." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "Està treballant..." + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" @@ -7103,12 +7684,12 @@ msgid "%s (was %s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -7150,10 +7731,6 @@ msgstr "" 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:78 -msgid "Ctrl+S" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "" @@ -7432,448 +8009,188 @@ msgstr "" msgid "Regular expression (?P)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:33 -msgid "Similar books..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:66 -msgid "Add books to library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:84 -msgid "Manage collections" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 msgid "Cover Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 msgid "version" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 msgid "created by Kovid Goyal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:276 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 msgid "Book Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 msgid "Job" msgstr "Treball" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 msgid "Status" msgstr "Estat" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 msgid "Progress" msgstr "Progressió" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" msgstr "No disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" msgstr "Treballs:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:298 -msgid "Click to see list of active jobs." +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:33 -msgid "Save single format to disk..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:85 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 msgid "Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 msgid "Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 msgid "Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 msgid "" "Books display will be restricted to those matching the selected saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 msgid "" "

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:191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "Reset Quick Search" msgstr "Reinicialitza la recerca ràpida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Copy current search text (instead of search name)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 msgid "Save current search under the name shown in the box" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 msgid "Delete current saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:467 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108 -msgid "%d books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:305 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:468 -msgid "Choose calibre library to work with" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:336 -msgid "Connect to folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:341 -msgid "Connect to iTunes" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:348 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:356 -msgid "Start Content Server" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:358 -msgid "Stop Content Server" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:369 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:377 -msgid "Email to" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:377 -msgid " and delete from library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:389 -msgid "Setup email based sharing of books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:462 -msgid "A" -msgstr "A" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:462 -msgid "Add books" -msgstr "Afegeix llibres" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "E" -msgstr "E" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "Edit metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:464 -msgid "C" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:464 -msgid "Convert books" -msgstr "Converteix llibres" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -msgid "V" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:568 -msgid "View" -msgstr "Mostra" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:466 -msgid "Send to device" -msgstr "Envia al dispositiu" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "F" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "Fetch news" -msgstr "Recull notí­cies (RSS)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:470 -msgid "S" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:551 -msgid "Save to disk" -msgstr "Desa al disc" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:471 -msgid "Connect/share" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:472 -msgid "Del" -msgstr "Esborra" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:472 -msgid "Remove books" -msgstr "Suprimeix llibres" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "Browse the calibre User Manual" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "F1" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "Help" -msgstr "Ajuda" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:474 -msgid "Ctrl+P" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:476 -msgid "M" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:476 -msgid "Merge book records" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:477 -msgid "Open containing folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:479 -msgid "Show book details" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:481 -msgid "Books by same author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:483 -msgid "Books in this series" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:485 -msgid "Books by this publisher" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:487 -msgid "Books with the same tags" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:501 -msgid "Edit metadata individually" -msgstr "Edita metadades individualment" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:504 -msgid "Edit metadata in bulk" -msgstr "Edita metadades en massa" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:507 -msgid "Download metadata and covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:510 -msgid "Download only metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:512 -msgid "Download only covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:515 -msgid "Download only social metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:521 -msgid "Merge into first selected book - delete others" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:524 -msgid "Merge into first selected book - keep others" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:532 -msgid "Add books from a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:534 -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/layout.py:538 -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/layout.py:541 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:553 -msgid "Save to disk in a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:555 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:385 -msgid "Save only %s format to disk" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:559 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:388 -msgid "Save only %s format to disk in a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:569 -msgid "View specific format" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:575 -msgid "Remove selected books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:577 -msgid "Remove files of a specific format from selected books.." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:580 -msgid "Remove all formats from selected books, except..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:583 -msgid "Remove covers from selected books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:586 -msgid "Remove matching books from device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:603 -msgid "Convert individually" -msgstr "Converteix individualment" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:605 -msgid "Bulk convert" -msgstr "Converteix tots" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:609 -msgid "Create catalog of books in your calibre library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:617 -msgid "Run welcome wizard" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "N" msgstr "" @@ -7901,7 +8218,7 @@ msgstr "Llibre %s de %s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" msgstr "" @@ -7961,7 +8278,7 @@ msgstr "" msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -7992,7 +8309,7 @@ msgid "No matches for the search phrase %s were found." msgstr "No s'han trobat coincidències per al text \"%s\"." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 msgid "No matches found" msgstr "No s'han trobat coincidències" @@ -8009,12 +8326,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:476 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 msgid "Next Page" msgstr "Pàgina següent" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" msgstr "Pàgina anterior" @@ -8185,24 +8502,24 @@ msgid "No matches found for this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 msgid "Search" msgstr "Cerca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "Search (For Advanced Search click the button to the left)" msgstr "Cerca (per avançada feu clic a Cerca al botó a l'esquerra)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 msgid "Choose saved search or enter name for new saved search" msgstr "" @@ -8211,15 +8528,15 @@ msgid "Restrict to" msgstr "Restringit a" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" msgstr "(tots els llibres)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" msgstr "" @@ -8283,112 +8600,112 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" msgstr "Reanomena '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:432 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" msgstr "Cerques" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" msgstr "Ordena segons el nom" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" msgstr "Ordena segons la popularitat" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" msgstr "Ordena segons la classificació" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" msgstr "Qualsevol coincidència" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 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:786 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Convert book %d of %d (%s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:90 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:202 -msgid "Could not convert some books" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 +msgid "Could not convert some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 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:120 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 msgid "Queueing " msgstr "" @@ -8406,89 +8723,64 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 -msgid "&Restart" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:362 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:367 -msgid "Cannot configure" -msgstr "No puc configurar-lo" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:363 -msgid "Cannot configure while there are running jobs." -msgstr "No puc configurar-lo amb treballs processant-se" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 -msgid "Cannot configure before calibre is restarted." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:415 -msgid "No detailed info available" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:416 -msgid "No detailed information is available for books on the device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:468 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 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:570 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -8661,7 +8953,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 msgid "Remember last used window size" msgstr "" @@ -8716,36 +9008,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Vés a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" msgstr "" @@ -8801,88 +9093,88 @@ msgstr "Desplaça a la dreta" msgid "Book format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 msgid "Print Preview" msgstr "Vista prèvia d'impressió" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Add bookmark" msgstr "Afegeix un nou marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 msgid "

This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 msgid "Could not open ebook" msgstr "No s'ha pogut obrir l'ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 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:677 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:678 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 msgid "" "%prog [options] file\n" "\n" @@ -8997,14 +9289,18 @@ msgstr "" msgid "Drag to resize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 msgid "Show" msgstr "Mostra" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 msgid "Hide" msgstr "Amaga" +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " @@ -9815,7 +10111,52 @@ msgstr "" msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:809 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "" "%%prog command [options] [arguments]\n" "\n" @@ -9827,35 +10168,45 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:537 +msgid "No label was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 +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:71 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:566 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 msgid "Main" msgstr "Inici" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1796 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1825 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1842 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1935 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1976 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1998 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" msgstr "" @@ -10045,35 +10396,45 @@ msgstr "" msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" msgstr "LLibres a la teva biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " msgstr "Llibres ordenats per " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" msgstr "" @@ -10155,15 +10516,15 @@ msgstr "" msgid "Waiting..." msgstr "Esperant..." -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:51 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 msgid "Stopped" msgstr "Aturat" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Finished" msgstr "Finalitzat" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:75 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 msgid "Working..." msgstr "Treballant..." @@ -10823,9 +11184,6 @@ msgstr "" #~ msgid "Waiting" #~ msgstr "En espera..." -#~ msgid "Working" -#~ msgstr "Està treballant..." - #~ msgid "Send to storage card" #~ msgstr "Envia a la targeta de memòria" @@ -10897,6 +11255,10 @@ msgstr "" #~ msgstr "" #~ "Estableix comunicació amb el lector de llibres electrònics BeBook Mini." +#~ msgid "Communicate with the Teclast K3 reader." +#~ msgstr "" +#~ "Estableix comunicació amb el lector de llibres electrònics Teclast K3." + #~ msgid "Communicate with the Sony PRS-600/700/900 eBook reader." #~ msgstr "" #~ "Estableix comunicació amb el lector de llibres electrònics Sony PRS-" diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index ed1b0044d2..a98ef07a82 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.7.14\n" -"POT-Creation-Date: 2010-08-14 23:17+MDT\n" -"PO-Revision-Date: 2010-08-14 23:17+MDT\n" +"Project-Id-Version: calibre 0.7.16\n" +"POT-Creation-Date: 2010-08-27 11:23+MDT\n" +"PO-Revision-Date: 2010-08-27 11:23+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -21,11 +21,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:72 -#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:75 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:76 #: /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:506 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:522 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -33,15 +33,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:336 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:339 #: /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:236 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:240 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:402 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 @@ -98,22 +98,22 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:247 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -128,17 +128,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:358 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:370 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1001 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1070 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1671 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1673 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1796 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 @@ -156,80 +156,97 @@ msgstr "" msgid "File type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:208 msgid "Metadata reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:238 msgid "Metadata writer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:268 msgid "Catalog generator" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:366 msgid "User Interface Action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:17 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:52 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 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:59 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:60 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:93 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 msgid "Extract cover from comic files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:131 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:143 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:153 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:163 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:174 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:184 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:194 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:214 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:224 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:235 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:258 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:279 -#: /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:121 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:132 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:144 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:154 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:164 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:205 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:247 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:259 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:280 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:291 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:301 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:311 msgid "Read metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:270 msgid "Read metadata from ebooks in RAR archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:322 msgid "Read metadata from ebooks in ZIP archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:334 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:344 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:354 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:387 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:335 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:345 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:355 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:377 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:388 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:398 msgid "Set metadata in %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:366 msgid "Set metadata from %s files" msgstr "" +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:681 +msgid "Look and Feel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 +msgid "Interface" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "" @@ -355,35 +372,35 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Mapping for filetype plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Local plugin customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Disabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:38 msgid "Enabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:86 msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:501 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "" " %prog options\n" "\n" @@ -391,27 +408,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:540 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:542 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:544 msgid "Customize plugin. Specify name of plugin and customization string separated by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:546 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:548 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:550 msgid "Disable the named plugin" msgstr "" @@ -481,9 +498,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1555 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "" @@ -552,15 +569,15 @@ msgstr "" msgid "Communicate with Hanlin V3 eBook readers." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:87 +#: /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:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:123 +#: /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 "" @@ -614,15 +631,15 @@ msgstr "" msgid "Communicate with the MiBuk Wolder reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:43 msgid "Communicate with the Kindle eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:169 -msgid "Communicate with the Kindle 2 eBook reader." +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:170 +msgid "Communicate with the Kindle 2/3 eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:210 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:211 msgid "Communicate with the Kindle DX eBook reader." msgstr "" @@ -633,7 +650,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:170 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 @@ -643,33 +660,33 @@ msgstr "" msgid "Getting list of books on device..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:230 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:274 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:285 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:290 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:324 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:251 msgid "Not Implemented" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:376 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 "" @@ -685,7 +702,11 @@ msgstr "" msgid "Communicate with the Sweex MM300" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "" @@ -725,7 +746,7 @@ msgstr "" 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/sony_cache.py:144 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "" @@ -1309,7 +1330,11 @@ msgstr "" msgid "Creating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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 "" @@ -1321,7 +1346,7 @@ msgstr "" 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:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1330,7 +1355,7 @@ msgid "" "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:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "" @@ -1374,7 +1399,7 @@ msgstr "" msgid "Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:147 #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 msgid "Table of Contents:" @@ -1392,19 +1417,23 @@ msgstr "" msgid "Add Table of Contents to beginning of the book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:24 +msgid "Try to turn chapters into individual sections. WARNING: This option is experimental. It can cause conversion to fail. It can also produce unexpected output." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:249 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 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:256 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 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:265 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/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 msgid "Average line length for line breaking if the HTML is from a previous partial conversion of a PDF file. Default is %default which disables this." msgstr "" @@ -1607,7 +1636,7 @@ msgstr "" msgid "Comic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 @@ -1616,11 +1645,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:402 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 @@ -1628,18 +1657,18 @@ msgstr "" msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:403 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:404 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:405 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 @@ -1651,7 +1680,7 @@ msgstr "" msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:413 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 @@ -1661,7 +1690,7 @@ msgstr "" msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:415 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 @@ -1671,22 +1700,22 @@ msgstr "" msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 msgid "Language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:420 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:422 msgid "Rights" msgstr "" @@ -2270,7 +2299,7 @@ msgstr "" msgid "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML first and then try it.\n" "%s" @@ -2312,254 +2341,258 @@ msgstr "" 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/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:69 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:71 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:73 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:75 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:77 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:79 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:81 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:84 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:86 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:87 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:88 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 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:65 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:119 msgid "Maximum number of waiting worker processes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:121 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 msgid "The layout of the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:215 msgid "Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:215 msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:433 msgid "Choose Files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 -msgid "A" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 msgid "Add books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 -msgid "Add books from a single directory" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:26 +msgid "Add books to the calibre library/device from files on your computer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:27 +msgid "A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +msgid "Add books from a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:34 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:36 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:38 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:40 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 msgid "Add Empty book. (Book entry with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:44 msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:83 msgid "How many empty books?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:84 msgid "How many empty books should be added?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:200 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:168 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:169 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:173 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:209 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:210 msgid "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:219 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:220 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:239 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:252 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:256 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "No book files found" msgstr "" @@ -2567,6 +2600,10 @@ msgstr "" 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:499 msgid "Fetch annotations (experimental)" @@ -2583,12 +2620,13 @@ msgid "User annotations generated from main library only" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:138 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 msgid "No books selected" msgstr "" @@ -2622,43 +2660,44 @@ 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:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:33 msgid "Create catalog of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:32 msgid "No books selected to generate catalog for" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:49 msgid "Generating %s catalog..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:55 msgid "" "No books to catalog\n" "Check exclude tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:65 msgid "Catalog generated." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 msgid "Export Catalog Directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:69 msgid "Select destination for %s.%s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 msgid "%d books" msgstr "" @@ -2666,22 +2705,37 @@ msgstr "" msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:83 msgid "Switch to library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:149 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:150 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:182 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +msgid "You cannot change libraries while jobs are running." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 msgid "C" msgstr "" @@ -2690,22 +2744,61 @@ msgstr "" msgid "Convert books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:27 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:29 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:114 msgid "Starting conversion of %d book(s)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:104 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:111 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:121 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:234 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:124 +msgid "Copied %d books to %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 msgid "Del" msgstr "" @@ -2791,46 +2884,46 @@ msgstr "" 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:25 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:26 msgid "Connect to folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:31 msgid "Connect to iTunes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:48 msgid "Start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:50 msgid "Stop Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:69 msgid "Email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:69 msgid " and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:81 msgid "Setup email based sharing of books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:98 msgid "D" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:98 msgid "Send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:117 msgid "Connect/share" msgstr "" @@ -2838,117 +2931,121 @@ msgstr "" msgid "Manage collections" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:23 +#: /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:23 +#: /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:26 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 msgid "Merge book records" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 msgid "M" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 msgid "Download metadata and covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 msgid "Download only metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 msgid "Download only covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 msgid "Download only social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 msgid "Merge into first selected book - delete others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 msgid "Merge into first selected book - keep others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:558 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1001 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "All book formats and metadata from the selected books will be added to the first selected book.

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:213 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "All book formats and metadata from the selected books will be merged into the first selected book.

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 computer.

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 msgid "You are about to merge more than 5 books. Are you sure you want to proceed?" msgstr "" @@ -2960,11 +3057,11 @@ msgstr "" msgid "Fetch news" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 msgid " fetched." msgstr "" @@ -2992,27 +3089,20 @@ msgstr "" msgid "Ctrl+P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 msgid "Run welcome wizard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:34 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:39 msgid "Cannot configure before calibre is restarted." msgstr "" @@ -3059,11 +3149,6 @@ msgstr "" msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 -msgid "Not allowed" -msgstr "" - #: /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 "" @@ -3093,11 +3178,11 @@ msgstr "" msgid "I" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:26 msgid "No detailed information is available for books on the device." msgstr "" @@ -3105,35 +3190,35 @@ msgstr "" msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 msgid "Alt+A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 msgid "Books by same author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 msgid "Alt+S" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 msgid "Books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 msgid "Alt+P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 msgid "Books by this publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 msgid "Alt+T" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 msgid "Books with the same tags" msgstr "" @@ -3197,39 +3282,39 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:328 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:341 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:342 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:356 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:357 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 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:360 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:361 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:428 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:481 msgid "Saved" msgstr "" @@ -3311,22 +3396,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:693 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 @@ -3342,6 +3430,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 @@ -3380,7 +3475,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:229 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" @@ -3406,7 +3501,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:282 msgid "None" msgstr "" @@ -3459,7 +3554,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 @@ -3478,8 +3573,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 msgid "Form" msgstr "" @@ -3562,8 +3661,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1518 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1536 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "" @@ -3591,7 +3690,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], e.g., [Amazon Freebie]\n" +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no Genre Section" msgstr "" @@ -3772,13 +3871,17 @@ msgstr "" msgid "FB2 Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 msgid "&Inline TOC" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:33 +msgid "Sectionize Chapters (Use with care!)" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:99 msgid "Font rescaling wizard" msgstr "" @@ -4013,7 +4116,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Book Cover" msgstr "" @@ -4022,28 +4125,27 @@ msgid "Use cover from &source file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Change &cover image:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 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:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "&Title: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "Change the title of this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 msgid "&Author(s): " msgstr "" @@ -4056,39 +4158,39 @@ msgid "Change the author(s) of this book. Multiple authors should be separated b msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid "&Publisher: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "Ta&gs: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Tags categorize the book. This is particularly useful while searching.

They can be any words or phrases, separated by commas." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "&Series:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "List of known series. You can add new series." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Book " msgstr "" @@ -4519,12 +4621,12 @@ msgstr "" msgid "Cover browser could not be loaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 @@ -4533,48 +4635,48 @@ msgstr "" msgid "Undefined" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:443 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "" @@ -4660,145 +4762,141 @@ msgstr "" msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:629 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 -msgid "Failed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 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:717 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:820 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:823 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:824 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:873 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:180 msgid "by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:887 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:917 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1019 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1081 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1200 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1082 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1201 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1114 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1209 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1272 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "

Cannot upload books to device there is no more free space available " msgstr "" @@ -4835,7 +4933,7 @@ msgid "&Paste from clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" +msgid "Fit &cover within view" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 @@ -4971,247 +5069,255 @@ msgstr "" msgid "Edit Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "%(plugin_type)s %(plugins)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 msgid "plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:183 msgid "" "\n" "Customization: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 -msgid "Interface" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "" "Email\n" "Delivery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Add/Save" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:205 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:229 msgid "Auto send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:229 msgid "Email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:235 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/dialogs/config/__init__.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:309 msgid "new email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:24 msgid "Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:24 msgid "Narrow" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:50 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:50 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:51 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:54 msgid "Always" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:54 msgid "Automatic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:55 msgid "Never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:529 +msgid "Toolbars/Context menus" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:543 msgid "Done" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:544 msgid "Confirmation dialogs have all been reset" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:549 msgid "System port selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:550 msgid "The value %d you have chosen for the content server port is a system port. Your operating system may not allow the server to run on this port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Failed to install command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:573 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:574 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:575 msgid "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:626 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:630 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:642 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:643 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:652 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:653 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:661 msgid "Customize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:699 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:689 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:700 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:715 msgid "Invalid tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:716 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/dialogs/config/__init__.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:746 msgid "You must select a column to delete it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:751 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:741 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:752 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:753 msgid "Do you really want to delete column %s and all its data?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:809 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:820 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:827 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:319 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:880 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:881 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:933 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:947 msgid "Must restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:948 msgid "The changes you made require that Calibre be restarted. Please restart as soon as practical." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:982 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:988 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1002 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:993 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1007 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1008 msgid "The following books had formats listed in the database that are not actually available. The entries for the formats have been removed. You should check them manually. This can happen if you manipulate the files in the library folder directly." msgstr "" @@ -5326,318 +5432,366 @@ msgstr "" msgid "Sending to &device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:128 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:127 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:126 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:131 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:132 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/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:133 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:100 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:134 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:135 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:136 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:137 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:138 msgid "Preferred &output format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:141 msgid "Reset all disabled &confirmation dialogs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:142 msgid "Preferred &input format order:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 -msgid "Use &Roman numerals for series number" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 -msgid "Enable system &tray icon (needs restart)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 -msgid "Show ¬ifications in system tray" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 -msgid "Show &splash screen at startup" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 -msgid "Show cover &browser in a separate window (needs restart)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 -msgid "Show &average ratings in the tags browser" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 -msgid "Search as you type" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 -msgid "Automatically send downloaded &news to ebook reader" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 -msgid "&Delete news from library when it is automatically sent to reader" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 -msgid "&Number of covers to show in browse mode (needs restart):" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 -msgid "Select visible &columns in library view" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 -msgid "Remove a user-defined column" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 -msgid "Add a user-defined column" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 -msgid "Edit settings of a user-defined column" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 -msgid "Use internal &viewer for:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:98 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 -msgid "Disable all animations. Useful if you have a slow/old computer." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 -msgid "Disable &animations" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:99 +msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 -msgid "Show &donate button (restart)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:139 +msgid "Restriction to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 -msgid "&Toolbar" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:140 +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/dialogs/config/config_ui.py:626 -msgid "&Icon size:" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:102 +msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 -msgid "Show &text under icons:" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:103 +msgid "Disable &animations" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 -msgid "Add an email address to which to send books" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:110 +msgid "&Toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 -msgid "&Add email" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:111 +msgid "&Icon size:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 -msgid "Make &default" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:112 +msgid "Show &text under icons:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 -msgid "&Remove email" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:130 +msgid "&Delete news from library when it is automatically sent to reader" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 -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/dialogs/config/config_ui.py:633 -msgid "&Maximum number of waiting worker processes (needs restart):" +msgid "Select visible &columns in library view" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 -msgid "Limit the max. simultaneous jobs to the available CPU &cores" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 -msgid "Debug &device detection" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:79 +msgid "Remove a user-defined column" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 -msgid "&Check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 -msgid "Open calibre &configuration directory" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81 +msgid "Add a user-defined column" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 -msgid "&Install command line tools" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 -msgid "&Miscellaneous" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 -msgid "Values for the tweaks are shown below. Edit them to change the behavior of calibre" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:83 +msgid "Edit settings of a user-defined column" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 -msgid "All available tweaks" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:145 +msgid "Use internal &viewer for:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:642 -msgid "&Current tweaks" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:109 +msgid "Search as you type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 -msgid "&Restore to defaults" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:107 +msgid "Use &Roman numerals for series" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 -msgid "&Tweaks" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:104 +msgid "Enable system &tray icon (needs restart)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 -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." +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:101 +msgid "Show &average ratings in the tags browser" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 -msgid "Server &port:" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:129 +msgid "Automatically send downloaded &news to ebook reader" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:105 +msgid "Show &splash screen at startup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:108 +msgid "Show cover &browser in a separate window (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 +msgid "Show ¬ifications in system tray" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 +msgid "Add an email address to which to send books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 +msgid "&Add email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 +msgid "Make &default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 +msgid "&Remove email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 +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/dialogs/config/config_ui.py:656 +msgid "&Maximum number of waiting worker processes (needs restart):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Limit the max. simultaneous jobs to the available CPU &cores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "Debug &device detection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Check database integrity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "Open calibre &configuration directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "&Install command line tools" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "Values for the tweaks are shown below. Edit them to change the behavior of calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "All available tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 +msgid "&Current tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 +msgid "&Restore to defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 +msgid "&Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 +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/dialogs/config/config_ui.py:669 +msgid "Server &port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 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/dialogs/config/config_ui.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "The maximum size (widthxheight) for displayed covers. Larger covers are resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:677 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 +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/dialogs/config/config_ui.py:680 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:683 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 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/dialogs/config/config_ui.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "Here you can customize the behavior of Calibre by controlling what plugins it uses." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "&Customize plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 msgid "&Remove plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "Add new plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:692 msgid "Plugin &file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:694 msgid "&Add" msgstr "" @@ -5687,7 +5841,7 @@ 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:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "" @@ -5889,6 +6043,87 @@ msgstr "" msgid "Downloading social metadata, please wait..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:35 +msgid "Switch between library and device views" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:38 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:51 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:201 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:202 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:203 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:205 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:243 +msgid "Cannot add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:244 +msgid "Cannot add the actions %s to this location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:261 +msgid "Cannot remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:262 +msgid "Cannot remove the actions %s from this location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:107 +msgid "Remove selected actions from toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:109 +msgid "Restore to &default" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "" @@ -6035,76 +6270,88 @@ msgstr "" msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 -msgid "Edit Meta information" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 -msgid "A&utomatically set author sort" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:225 +msgid "Applying changes to %d books. This may take a while." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 -msgid "Author s&ort: " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 -msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles." +msgid "Edit Meta information" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 -msgid "&Rating:" +msgid "A&utomatically set author sort" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +msgid "Author s&ort: " +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 -msgid "Rating of this book. 0-5 stars" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +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:165 -msgid "No change" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 -msgid " stars" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +msgid "Rating of this book. 0-5 stars" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 +msgid "No change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +msgid " stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "Open Tag Editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 msgid "&Remove tags:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 msgid "Comma separated list of tags to remove from the books. " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 -msgid "Remove &format:" +msgid "Remove all" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 +msgid "Check this box to remove all tags from the books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:182 +msgid "Remove &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "&Swap title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 msgid "" "Selected books will be automatically numbered,\n" "in the order you selected them.\n" @@ -6112,24 +6359,24 @@ msgid "" "Book A will have series number 1 and Book B series number 2." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 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:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:192 msgid "Remove &stored conversion settings for the selected books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 msgid "&Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "&Custom metadata" msgstr "" @@ -6261,95 +6508,99 @@ msgstr "" msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:752 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 msgid "Edit Meta Information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Swap the author and title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "Automatically create the author sort entry based on the current author entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "Remove unused series (Series that have no books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "IS&BN:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "Publishe&d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 msgid "dd MMM yyyy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "&Date:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Fetch metadata from server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "Available Formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Add a new format for this book to the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 msgid "Remove the selected formats for this book from the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 msgid "Update metadata from the metadata in the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +msgid "&Browse" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "Reset cover to default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Download &cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 msgid "Generate a default cover based on the title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "&Generate cover" msgstr "" @@ -6357,10 +6608,14 @@ msgstr "" msgid "Password needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "The current saved search will be permanently deleted. Are you sure?" msgstr "" @@ -6741,12 +6996,12 @@ msgid "%s (was %s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -6786,10 +7041,6 @@ msgstr "" 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:78 -msgid "Ctrl+S" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "" @@ -7047,178 +7298,182 @@ msgstr "" msgid "Regular expression (?P)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:97 msgid "Cover Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:102 msgid "Shift+Alt+B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:116 msgid "Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:118 msgid "Shift+Alt+T" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:138 msgid "version" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:139 msgid "created by Kovid Goyal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:157 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:166 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:217 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 msgid "Book Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:212 msgid "Alt+D" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:222 msgid "Shift+Alt+D" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 msgid "Job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 msgid "Status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 msgid "Progress" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:217 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:299 -msgid "Click to see list of active jobs." +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:53 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 msgid "Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:63 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:64 msgid "Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:65 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 msgid "Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:68 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 msgid "Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:109 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:140 msgid "Books display will be restricted to those matching the selected saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:153 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:162 msgid "

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:181 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:169 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "Copy current search text (instead of search name)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:187 msgid "Save current search under the name shown in the box" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Delete current saved search" msgstr "" @@ -7249,7 +7504,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" msgstr "" @@ -7355,12 +7610,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:476 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 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:477 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" msgstr "" @@ -7523,9 +7778,23 @@ msgstr "" msgid "No matches found for this book" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:77 +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/custom_columns_ui.py:86 +msgid "Add &custom column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:106 +msgid "Disable ¬ifications in system tray" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:562 msgid "Search" msgstr "" @@ -7550,15 +7819,15 @@ msgid "Restrict to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 msgid "({0} of {1})" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" msgstr "" @@ -7622,86 +7891,86 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:432 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 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:786 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" msgstr "" @@ -7740,59 +8009,59 @@ msgstr "" 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:165 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:173 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:215 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:406 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:417 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:445 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418 msgid "

Could not convert: %s

It is a DRMed book. You must first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:420 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:431 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:435 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:446 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:482 msgid "is the result of the efforts of many volunteers from all over the world. If you find it useful, please consider donating to support its development. Your donation helps keep calibre development going." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:508 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 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:504 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:573 msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray." msgstr "" @@ -8012,36 +8281,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" msgstr "" @@ -8260,47 +8529,47 @@ msgstr "" msgid "Print eBook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:246 msgid "Copy Image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:247 msgid "Paste Image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:372 msgid "Change Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:373 msgid "Upper Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:374 msgid "Lower Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:375 msgid "Swap Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:376 msgid "Title Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:838 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:846 msgid "Drag to resize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:881 msgid "Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:888 msgid "Hide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:925 msgid "Toggle" msgstr "" @@ -9026,7 +9295,52 @@ msgstr "" msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:809 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "" "%%prog command [options] [arguments]\n" "\n" @@ -9038,11 +9352,11 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:434 +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:537 msgid "No label was provided" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:436 +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 msgid "The label must contain only lower case letters, digits and underscores, and start with a letter" msgstr "" @@ -9050,31 +9364,31 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:591 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1822 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1851 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1868 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2024 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" msgstr "" @@ -9233,35 +9547,43 @@ msgstr "" msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "Specifies a restriction to be used for this invocation. This option overrides any per-library settings specified in the GUI" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" msgstr "" @@ -9278,63 +9600,63 @@ 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.py:663 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:696 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:665 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:698 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:667 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:700 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:669 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:702 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:671 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:704 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:673 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:706 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:675 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:708 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:679 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:712 msgid "Ordered list of formats to prefer for input." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:681 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:714 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:683 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:716 msgid "The priority of worker processes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:685 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:718 msgid "Swap author first and last names when reading metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:687 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:720 msgid "Add new formats to existing book records" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:692 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:725 msgid "List of named saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:693 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:726 msgid "User-created tag browser categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:695 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:728 msgid "How and when calibre updates metadata on the device." msgstr "" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 15e305d84c..68a7a3b5a5 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,170 +7,174 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-08-11 15:31+0000\n" -"PO-Revision-Date: 2010-08-11 08:48+0000\n" -"Last-Translator: schunka \n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-22 19:05+0000\n" +"Last-Translator: Kovid Goyal \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: 2010-08-12 03:39+0000\n" +"X-Launchpad-Export-Date: 2010-08-23 03:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 msgid "Does absolutely nothing" msgstr "Nedělá vůbec nic" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:72 -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:75 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:70 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/sony_cache.py:506 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:405 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:100 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:402 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:72 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:335 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:338 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1894 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1896 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:24 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:236 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:279 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:282 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:398 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/book/base.py:20 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/book/base.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:61 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fb2.py:46 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:332 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:123 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:125 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:945 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1057 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdb.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdf.py:28 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/txt.py:14 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:78 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:119 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:153 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:611 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:817 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:819 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:911 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:916 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:982 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:137 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:108 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:173 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/palmdoc/writer.py:29 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ztxt/writer.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:83 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:74 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:81 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:234 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:826 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:829 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:868 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:877 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1162 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1165 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:512 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:362 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:382 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:882 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1060 -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:185 -#: /home/kovid/work/trunk/src/calibre/library/cli.py:213 -#: /home/kovid/work/trunk/src/calibre/library/database.py:913 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:358 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:370 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:979 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1048 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1649 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1651 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1773 -#: /home/kovid/work/trunk/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/trunk/src/calibre/library/server/xml.py:68 -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:117 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:64 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:78 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:47 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:50 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:72 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:75 +#: /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:507 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /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:236 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 +#: /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/fb2.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 +#: /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:123 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1057 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28 +#: /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/txt.py:14 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:817 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:819 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:911 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:916 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:982 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:108 +#: /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:39 +#: /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:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:882 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 +#: /home/kovid/work/calibre/src/calibre/library/database.py:913 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /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:47 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:50 msgid "Unknown" msgstr "Neznámý" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:64 msgid "Base" msgstr "Základ" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:172 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:172 msgid "File type" msgstr "Typ souboru" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:206 msgid "Metadata reader" msgstr "Vstup metadat" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:235 msgid "Metadata writer" msgstr "Zápis metadat" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:263 msgid "Catalog generator" msgstr "Generátor Katalogu" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:16 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 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 " @@ -180,7 +184,7 @@ msgstr "" "všechny soubory na které odkazy směrují. Tento modul je spušten pokaždé, " "když je do knihovny přidán HTML soubor." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:52 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:52 msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." @@ -188,7 +192,7 @@ msgstr "" "Kódování vstupních HTML souborů. Bežně používané kódování jsou např. cp1252, " "latin1 iso-8859-1 nebo UTF-8." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:59 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:59 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 " @@ -198,57 +202,57 @@ msgstr "" "pmlname_img nebo images. Tento plugin je spuštěn pokaždé když přidáte PML " "soubor do knihovny." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:93 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:93 msgid "Extract cover from comic files" msgstr "Vyjmout obálky ze souborů s komixy" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:120 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:131 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:143 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:153 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:163 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:174 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:184 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:204 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:214 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:224 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:235 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:246 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:258 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:279 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:290 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:300 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:310 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:131 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:153 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:163 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:174 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:214 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:224 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:258 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:279 +#: /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 msgid "Read metadata from %s files" msgstr "Načíst metadata ze souborů %s" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:269 msgid "Read metadata from ebooks in RAR archives" msgstr "Načíst metadata z elektronických knih v RAR archívech" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:321 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 msgid "Read metadata from ebooks in ZIP archives" msgstr "Načíst metadata z elektronických knih v ZIP archívech" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:334 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:344 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:354 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:376 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:387 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:397 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:334 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:344 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:354 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:387 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 msgid "Set metadata in %s files" msgstr "Nastavuje metadata do souborů %s" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 msgid "Set metadata from %s files" msgstr "Nastavuje metadata ze souborů %s" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:102 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "Vstup Převodu" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -259,11 +263,11 @@ msgstr "" "potlačí jakékoliv kódování deklarované samotným dokumentem. Zvláště užitečné " "fro dokumenty které nedeklarují kódování nebo které" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "Výstup Převodu" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:251 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 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." @@ -272,11 +276,11 @@ msgstr "" "nejvíce pro člověka čitelné formě. Nemusí mít efekt na některé výstupní " "moduly." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:45 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:45 msgid "Input profile" msgstr "Vstupní profil" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:49 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:49 msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." @@ -284,81 +288,81 @@ msgstr "" "Tento profil se snaží poskytnout rozumné výchozí hodnoty a je užitečný pokud " "nevíte nic o vstupním dokumentu" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:414 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:414 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "Tento profil je určen pro řadu SONY PSR. modely 500/505/600/700 atd." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:69 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:69 msgid "This profile is intended for the SONY PRS 300." msgstr "Tento profil je určen pro SONY PSR 300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:449 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:449 msgid "This profile is intended for the SONY PRS-900." msgstr "Tento profil je určen pro SONY PSR 900." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:479 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:479 msgid "This profile is intended for the Microsoft Reader." msgstr "Tento profil je určený pro Microsoft Reader." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:490 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the Mobipocket books." msgstr "Tento profil je určený pro knihy Mobipocket." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:503 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "Tento profil je určený pro Hanlin V3 a jeho klony." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:515 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "Tento profil je určen pro Hanlin V5 a jeho klony." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:523 msgid "This profile is intended for the Cybook G3." msgstr "Tento profil je určený pro Cybook G3." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:536 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 msgid "This profile is intended for the Cybook Opus." msgstr "Tento profil je určen pro Cybook Opus." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:547 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:547 msgid "This profile is intended for the Amazon Kindle." msgstr "Tento profil je určený pro Amazon Kindle." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:584 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:584 msgid "This profile is intended for the Irex Illiad." msgstr "Tento profil je určen pro Irex Illiad." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:597 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "Tento profil je určen pro Irex Digital Reader 1000." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:611 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:611 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "Tento profil je určený pro IRex Digital Reader 800." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:625 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:625 msgid "This profile is intended for the B&N Nook." msgstr "Tento profil je určen pro B&N Nook." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:228 msgid "Output profile" msgstr "Výstupní profil" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:232 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:232 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 " @@ -368,24 +372,24 @@ msgstr "" "chcete vytvořit dokument určený ke čtení na počítači nebo na vetším rozpětí " "zařízení." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:259 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:259 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "Připraveno pro iPad a podobná zařízení s rozlišením 768x1024" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:427 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:427 msgid "This profile is intended for the Kobo Reader." msgstr "Tento profil je připraven pro Kobo Reader." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:440 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 msgid "This profile is intended for the SONY PRS-300." msgstr "Tento profil je určen pro SONY PSR 300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:458 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 msgid "This profile is intended for the 5-inch JetBook." msgstr "Tento profil je určen pro 5\" Jetbook" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:467 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:467 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -393,39 +397,39 @@ msgstr "" "Tento profil je určený pro zařízení SONY PRS. 500/505/700 atd. pro čtení na " "šířku. Nejvíce užitečné pro čtení komiksu." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:566 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 msgid "This profile is intended for the Amazon Kindle DX." msgstr "Tento profil je určený pro Amazon Kindle DX." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Installed plugins" msgstr "Nainstalované moduly" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Mapping for filetype plugins" msgstr "Přiřazení modulů k formátům souborů" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Local plugin customization" msgstr "Úprava Lokálních modulů" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Disabled plugins" msgstr "Deaktivované moduly" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:37 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Enabled plugins" msgstr "Povolené moduly" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:85 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 msgid "No valid plugin found in " msgstr "Nebyl nalezen žádný platný modul v " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "Inicializace modulu %s selhala s chybou:" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -437,38 +441,38 @@ msgstr "" " Přizpůsobte calibre nahráním externích modulů.\n" " " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "Přidejte modul zadáním cesty k ZIP archivu v kterém se nachází." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:519 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "Odebrat modul podle jména. Vestavěné moduly není možné odebrat." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" "Upravit modul. Zadejte název modulu a retězec s úpravami oddělené čárkou." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Vypsat všechny nainstalované moduly" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:525 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Aktivovat modul podle jména" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:527 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Deaktivovat modul podle jména" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 msgid "Communicate with Android phones." msgstr "Komunikace s telefony Android." -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -476,309 +480,313 @@ msgstr "" "seznam adresářů oddělený čárkami k odeslání knih na zařízení. První který " "existuje pude použit." -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Komunikovat s telefony serie S60." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:87 msgid "Communicate with iTunes/iBooks." msgstr "Komunikovat s iTunes/iBooks." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:93 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:93 msgid "Apple device detected, launching iTunes, please wait ..." msgstr "Nalezeno zařízení Apple, spouštění iTunes, prosím čekejte ..." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:246 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:249 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:246 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:249 msgid "Updating device metadata listing..." msgstr "Záznamy metadat v zařízení se aktualizují..." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:323 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:362 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:921 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2822 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2861 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d z %d" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:369 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2867 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "hotovo" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:544 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:544 msgid "Use Series as Category in iTunes/iBooks" msgstr "Použít sérii jako kategorii v iTunes/iBooks" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:546 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:546 msgid "Cache covers from iTunes/iBooks" msgstr "Zapamatovat obálky z iTunes/iBooks" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:558 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:558 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/trunk/src/calibre/devices/apple/driver.py:886 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:886 msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2491 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:817 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:823 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:851 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:187 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:200 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1533 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:132 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Zprávy" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2729 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/binatone/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17 msgid "Communicate with the Binatone Readme eBook reader." msgstr "Komunikuje se čtečkou Binatone Readme." -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 msgid "Communicate with the Blackberry smart phone." msgstr "Komunikace s telefony BlackBerry." -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:14 -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 +#: /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 "Kovid Goyal" -#: /home/kovid/work/trunk/src/calibre/devices/cybook/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22 msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Komunikuje se čtečkou Cybook Gen 3 / Opus." -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:24 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Komunikace s zařízením EB600." -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:193 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:193 msgid "Communicate with the Astak Mentor EB600" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:216 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:216 msgid "Communicate with the PocketBook 301 reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" msgstr "Entourage Edge" -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:18 msgid "Communicate with the Entourage Edge." msgstr "Spojit s Entourage Edge." -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." msgstr "Komunikace s zařízením ESlick eBook." -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:49 msgid "Communicate with the Sigmatek eBook reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:16 -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:30 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:30 msgid "Use an arbitrary folder as a device." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:26 -#: /home/kovid/work/trunk/src/calibre/devices/interface.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:26 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 msgid "Device Interface" msgstr "Rozhraní zařízení" -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:19 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:19 msgid "Communicate with Hanlin V3 eBook readers." msgstr "Komunikuje se čtečkou Hanlin V3." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "Komunikuje se čtečkou Hanlin V5." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Komunikace se čtečkou BOOX eBook." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:123 +#: /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/trunk/src/calibre/devices/hanvon/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:18 msgid "Communicate with the Hanvon N520 eBook reader." msgstr "Komunikuje se čtečkou Hanvon N520." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:40 msgid "Communicate with The Book reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:52 msgid "Communicate with the SpringDesign Alex eBook reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:68 msgid "Communicate with the Azbooka" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:81 msgid "Communicate with the Elonex EB 511 eBook reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." msgstr "Komunikace s zařízením Irex Illiad." -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:17 -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:42 +#: /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:42 msgid "John Schember" msgstr "John Schember" -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgstr "Komunikace s zařízením Irex Digital Reader 1000." -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42 msgid "Communicate with the IRex Digital Reader 800" msgstr "Spojit s IRex Digital Reader 800" -#: /home/kovid/work/trunk/src/calibre/devices/iriver/driver.py:15 +#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15 msgid "Communicate with the Iriver Story reader." msgstr "Komunikuje se čtečkou Iriver Story." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20 msgid "Communicate with the JetBook eBook reader." msgstr "Komunikace s zařízením JetBook." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:86 msgid "Communicate with the MiBuk Wolder reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:42 msgid "Communicate with the Kindle eBook reader." msgstr "Komunikace s zařízením Amazon Kindle." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:169 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:169 msgid "Communicate with the Kindle 2 eBook reader." msgstr "Komunikace s zařízením Amazon Kindle 2." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:210 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:210 msgid "Communicate with the Kindle DX eBook reader." msgstr "Komunikuje se čtečkou Kindle DX." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:22 msgid "Communicate with the Kobo Reader" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:53 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:56 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:59 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:161 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:68 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:74 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:136 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:143 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:166 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:136 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:166 msgid "Getting list of books on device..." msgstr "Získávám seynam knih na zařízení..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:221 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:265 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:253 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:271 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "Odstraňuji knihy ze zařízení..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:269 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:276 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:278 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:283 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "Odebírám knihy ze seznamu metadat v zařízení..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:281 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:315 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:217 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "Přidávám knihy do seznamu metadat v zařízení..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:441 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 msgid "Not Implemented" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:367 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 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/trunk/src/calibre/devices/misc.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:17 msgid "Communicate with the Palm Pre" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:37 msgid "Communicate with the Booq Avant" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:58 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:58 msgid "Communicate with the Sweex MM300" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." msgstr "Komunikuje s tabletem Nokia 770." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 msgid "Communicate with the Nokia 810 internet tablet." msgstr "Komunikuje s tabletem Nokia 810." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 msgid "Communicate with the Nokia E52" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20 msgid "The Nook" msgstr "Nook" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:21 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21 msgid "Communicate with the Nook eBook reader." msgstr "Komunikuje se čtečkou Nook." -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." msgstr "Komunikuje se čtečkou Nuut2." -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:89 msgid "Communicate with the Sony PRS-500 eBook reader." msgstr "Komunikace s zařízením Sony PRS-500." -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22 msgid "Communicate with all the Sony eBook readers." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:61 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:61 msgid "" "Comma separated list of metadata fields to turn into collections on the " "device. Possibilities include: " @@ -786,44 +794,44 @@ msgstr "" "Čárkami oddělený seznam metadata polí ze kterých se má vytvořït Sbírka na " "zařízeni. Možnosti zahrnují: " -#: /home/kovid/work/trunk/src/calibre/devices/prs505/sony_cache.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/structure.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Nepojmenovaný" -#: /home/kovid/work/trunk/src/calibre/devices/sne/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "Spojit se čtečkou Teclast K3." +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Nepodařilo se najít disk %s. Zkuste reboot." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:435 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:435 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "nemohu nalézt %s přípojný bod. Zkuste rebootovat." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:500 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:500 msgid "Unable to detect the %s disk drive." msgstr "Nemohu detekovat disk %s." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:593 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:593 msgid "Could not find mount helper: %s." msgstr "Nemohu nalézt mount helper: %s." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:605 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." @@ -831,148 +839,148 @@ msgstr "" "Nemohu detekovat disk %s. Váš Kernel pravděpodobně exportuje zastaralou " "verzi SYSFS." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:613 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:613 msgid "Unable to mount main memory (Error code: %d)" msgstr "Nemohu připojit hlavní paměť (Kód chyby: %d)" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:750 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:752 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:750 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:752 msgid "The reader has no storage card in this slot." msgstr "Čtečka nemá v tomto slotu žádnou pamětovou kartu." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:754 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:754 msgid "Selected slot: %s is not supported." msgstr "Vybraný slot: %s není podporováno." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:783 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 msgid "There is insufficient free space in main memory" msgstr "V hlavní paměti není dostatek volného místa" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:785 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:787 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:785 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:787 msgid "There is insufficient free space on the storage card" msgstr "Na paměťové kartě není dostatek volného místa" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:12 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:12 msgid "Configure Device" msgstr "Konfigurovat zařízení" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:37 msgid "settings for device drivers" msgstr "nastavení ovladačů zařízení" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:39 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:39 msgid "Ordered list of formats the device will accept" msgstr "Setříděný seznam formátů, které toto zařízení přijme." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:41 msgid "Place files in sub directories if the device supports them" msgstr "Uložit soubory do podadresářů pokud je zařízení podporuje." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:43 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 msgid "Read metadata from files on device" msgstr "Číst metadata ze souborů zařízení" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:45 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:45 msgid "Use author sort instead of author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:47 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:47 msgid "Template to control how books are saved" msgstr "Šablona určující jak se májí knihy ukládat" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 msgid "Extra customization" msgstr "Další přizpůsobení" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 msgid "Communicate with an eBook reader." msgstr "Komunikace s čtecím zařízením." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:57 msgid "Get device information..." msgstr "Zjistit informace o zařízení..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:194 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:194 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 msgid "Transferring books to device..." msgstr "Přenos knih do zařízení..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:314 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:314 msgid "Sending metadata to device..." msgstr "Odesílám metadata do zařízení..." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:41 msgid "%prog [options] mybook.chm" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:42 msgid "Output directory. Defaults to current directory" msgstr "Výstupní adresář. Současný adresář je výchozí" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:45 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 msgid "Set the book title" msgstr "Název knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:47 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:591 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 msgid "Set sort key for the title" msgstr "Název knihy ve tvaru vhodném pro třídění" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:593 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 msgid "Set the author" msgstr "Zadejte autora" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:595 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 msgid "Set sort key for the author" msgstr "Zadejte třídící klíč pro autora" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:597 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 msgid "The category this book belongs to. E.g.: History" msgstr "Kategorie, do které tato kniha patří. Např: Dějiny" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:600 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:56 +#: /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 "Cesta k grafickámu souboru, který bude použit jako náhled" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:59 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:59 msgid "Path to a txt file containing a comment." msgstr "Cesta k txt souboru obsahující komentář." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:607 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Extract thumbnail from LRF file" msgstr "Převzít náhled z LRF souboru" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Set the publisher" msgstr "Vydavatel" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:609 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the book classification" msgstr "Zařazení knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:610 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 msgid "Set the book creator" msgstr "Tvůrce knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "Set the book producer" msgstr "Producent Knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:68 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:613 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:68 +#: /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." @@ -980,24 +988,24 @@ msgstr "" "Převzít obálku z LRF souboru. Mějte na paměti, že formát LRF nemá pevně " "definovanou obálku, takže na její nalezení bude použita heuristická metoda." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:615 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 msgid "Set book ID" msgstr "Identifikační kód knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:72 msgid "Set font delta" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "Úspešný převod %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "Neuspěl převod %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1007,7 +1015,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1017,23 +1025,23 @@ msgstr "" "menší než 256 mohou vyůstit v rozostřený text na vašem zařízení pokud " "vytváříte komiks v EPUB formátu." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Vypnutí normalizace (vylepšení kontrastu) rozsahu barev obrázku. Standardně " "je normalizace zapnutá." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Zachovat poměr stran obrázků. Standardně obrazky vyplní celou obrazovku." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Vypnout zvyšování ostrosti obrázků." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1041,11 +1049,11 @@ msgstr "" "Neořezávat stránky komiksů. U některých komiksů může ořezávání kromě okraje " "stránky odstranit i část kresby." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "Nerozdělovat obrázky \"na šířku\" na dva obrázky \"na výsku\"" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1053,7 +1061,7 @@ msgstr "" "Zachovat poměr stran a přizpůsobit šířku obrázku výšce obrazovky pro " "prohlížení \"na šířku\"" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1061,7 +1069,7 @@ msgstr "" "Pužívané pro publikace čtené zleva doprava, jako např. manga. Obrázky \"na " "šířku\" budou rozdělené na obrázky \"na výšku\" v pořadí zprava doleva." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1069,7 +1077,7 @@ msgstr "" "Zapnout filtr šumu. Odstraňuje šum v oblastech plynulých přechodů. Může " "výrazně prodloužit čas na zpracování." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1077,7 +1085,7 @@ msgstr "" "Neřadit soubory komiksu abecedně. Použít pořadí v kterém byli přidané do " "komiksu." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 " @@ -1087,20 +1095,20 @@ msgstr "" "experimentovat abyste našli formát s optimální velikostí a vzhledem na " "vašem zařízení." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "Obrázek nijak neupravovat" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "Nepřevádět obrázek do odstínů šedi (černobílá)" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:426 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Strana" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19 msgid "" "input_file output_file [options]\n" "\n" @@ -1147,31 +1155,31 @@ msgstr "" "\n" "Pro plnou dokumentaci převodního systému si prohlédněte\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97 msgid "INPUT OPTIONS" msgstr "NASTAVENÍ VSTUPU" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:98 msgid "Options to control the processing of the input %s file" msgstr "Možnosti nastavení zpracování vstupního souboru %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104 msgid "OUTPUT OPTIONS" msgstr "NASTAVENÏ VÝSTUPU" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:105 msgid "Options to control the processing of the output %s" msgstr "Možnosti nastavení zpracování výstupního souboru %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:119 msgid "Options to control the look and feel of the output" msgstr "Možnosti nastavení vzheldu výstupu" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:135 msgid "Control auto-detection of document structure." msgstr "Nastavení autodetekce struktury dokumentu." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:145 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 " @@ -1180,27 +1188,27 @@ msgstr "" "Nastavuje automatické generování Obsahu. Ve výchozím nastavení, pokud má " "zdroj Obsah, bude použit přednostně před automaticky generovaným." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:155 msgid "Options to set metadata in the output" msgstr "Nastevení výstupních metadat" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:158 msgid "Options to help with debugging the conversion" msgstr "Nastavení které pomohou s odladěním převodu" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:183 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 msgid "List builtin recipes" msgstr "Vypiš předpřipravené zdroje" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:256 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:256 msgid "Output saved to" msgstr "Výstup uložen do" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:95 msgid "Level of verbosity. Specify multiple times for greater verbosity." msgstr "stupen upovídanosti. Zadejte vícekrát pro vetší upovídanost." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:102 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 " @@ -1209,7 +1217,7 @@ msgstr "" "Uložit výstup z různých fází převodního řetezu do určeného adresáře. " "Užitečbé pokud si nejste jisti v jaké fázi převodu dochází k chybě." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:111 msgid "" "Specify the input profile. The input profile gives the conversion system " "information on how to interpret various information in the input document. " @@ -1220,7 +1228,7 @@ msgstr "" "informace jak vyhodnotit různé informace ve vstupním dokumentu. Například " "délky závislé na rozlišení (např. délky v pixelech). Na výběr je:" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 msgid "" "Specify the output profile. The output profile tells the conversion system " "how to optimize the created document for the specified device. In some " @@ -1232,7 +1240,7 @@ msgstr "" "některých případech je výstupní profil vyžadován k vytvoření dokumentů které " "na zařízení budou fungovat. Například EPUB na čtečce SONY." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:133 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:133 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 " @@ -1244,7 +1252,7 @@ msgstr "" "můžete bude písmo ve výstupu vetší a naopak. Standardně je velikost písma " "založená na výstupním profilu který vyberete." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:143 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-" @@ -1259,11 +1267,11 @@ msgstr "" "změnu velikosti fontů. Standardně se použije mapování založené na výstupním " "profilu který vyberete." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:155 msgid "Disable all rescaling of font sizes." msgstr "Zakázat veškeré změny velikostí písma." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:162 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:162 msgid "" "The line height in pts. Controls spacing between consecutive lines of text. " "By default no line height manipulation is performed." @@ -1271,7 +1279,7 @@ msgstr "" "Výška řadku v bodech. Nastavuje velikost mezer mezi následujícími řádky " "textu. Ve výchozím nastavení nedochází k manipulaci s výškou řádku." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:170 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:170 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 " @@ -1283,7 +1291,7 @@ msgstr "" "mimo stránku a jiné artefakty. Toto nastavení vyjme obsah z tabulek a " "zobrazí je v linární formě." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 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 " @@ -1292,7 +1300,7 @@ msgstr "" "Výraz XPath, který určuje všechny tagy, které by měly být přidány do obsahu " "na úrovni jedna. Je-li zadán, má přednost před ostatními formami autodetekce." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:189 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:189 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 " @@ -1301,7 +1309,7 @@ msgstr "" "Výraz XPath, který určuje všechny tagy, které by měly být přidány do obsahu " "na úrovni dvě. Každá položka je přidána pod předchozí položku úrovně jedna." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 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 " @@ -1310,7 +1318,7 @@ msgstr "" "Výraz XPath který specifikuje všechny tagy které mají být přidané do Obsahu " "na úrovni tři. Každá hodnota je zadaná pod existující hodnotou úrovně tři." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205 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 " @@ -1319,11 +1327,11 @@ msgstr "" "Normálně, pokud má zdrojový soubor Obsah, je použit přednostně před " "automaticky generovaným. S tímto nastavením je vždy použit autogenerovaný." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:213 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "Nepřidávat automaticky nalezené kapitoly do obsahu." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:220 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" @@ -1331,7 +1339,7 @@ msgstr "" "Pokud počet automaticky nalezených kapitol neprekročí tuto hodnotu, budou " "odkazy na ně přidané do obsahu. Standardně nastaveno: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:227 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 " @@ -1341,7 +1349,7 @@ msgstr "" "zakázání. Výchozí hodnota je %default. Odkazy jsou do Obsahu přidávány pouze " "pokud bylo nalezeno méně kapitol než je maximální hodnota." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:235 msgid "" "Remove entries from the Table of Contents whose titles match the specified " "regular expression. Matching entries and all their children are removed." @@ -1349,7 +1357,7 @@ msgstr "" "Odstranit položky z Obsahu jejichž názvy odpovídají určenému regulárnímu " "výrazu. Odpovídající položky a jejich potomci budou odstraněni." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:246 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:246 msgid "" "An XPath expression to detect chapter titles. The default is to consider " "

or

tags that contain the words \"chapter\",\"book\",\"section\" or " @@ -1365,7 +1373,7 @@ msgstr "" "detekce kapitol použijte výraz \"/\". Podívejte se na XPath tutoriál v " "manuálu Calibre pro další pomoc s použitím této funkce" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:260 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 " @@ -1377,7 +1385,7 @@ msgstr "" "\"žádné\" vypne označování kapitol,volba \"obojí\" použije pro označování " "jak zlomy stránky, tak čáry." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 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 " @@ -1386,40 +1394,40 @@ msgstr "" "Buď cesta k CSS stylu nebo přímo CSS. Toto CSS bude přidáno ke stylu ze " "zdrojového souboru, takže může být použito k potlačení těchto pravidel." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:279 msgid "" "An XPath expression. Page breaks are inserted before the specified elements." msgstr "Výraz XPath. Zalomení stran jsou vložena před určený prvek." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:285 msgid "" "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Nastaví horní okraj v bodech. Výchozi hodnota je %default. pozn. 72 bodů se " "rovná 1 palci" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:290 msgid "" "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Nastaví dolní okraj v bodech. Výchozi hodnota je %default. pozn. 72 bodů se " "rovná 1 palci" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295 msgid "" "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Nastaví levý okraj v bodech. Výchozi hodnota je %default. pozn. 72 bodů se " "rovná 1 palci" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:300 msgid "" "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Nastaví pravý okraj v bodech. Výchozi hodnota je %default. pozn. 72 bodů se " "rovná 1 palci" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:306 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:306 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 " @@ -1428,7 +1436,7 @@ msgid "" "Note that only some output formats support justification." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:316 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 " @@ -1438,7 +1446,7 @@ msgstr "" "Odstranění mezer nebude fungovat, pokud nejsou ve zdrojovém souboru odstavce " "označeny (tagy

nebo

)." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:323 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:323 msgid "" "When calibre removes inter paragraph spacing, it automatically sets a " "paragraph indent, to ensure that paragraphs can be easily distinguished. " @@ -1448,13 +1456,13 @@ msgstr "" "odsazení, aby bylo možné odstavce snadno rozeznat. Tato volba upravuje šířku " "odsazení." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:330 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:330 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." msgstr "Použít obálku nalezenou ve zdrojovém souboru namísto zadané obálky." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:336 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336 msgid "" "Insert a blank line between paragraphs. Will not work if the source file " "does not use paragraphs (

or

tags)." @@ -1462,7 +1470,7 @@ msgstr "" "Vložit prázdný řádek mezi odstavce. Nebude fungovat pokud zdrojový soubor " "nepoužívá odstavce (

nebo

tagy)." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:343 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:343 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." @@ -1471,35 +1479,35 @@ msgstr "" "užitečná, pokud je první obrázek ve zdrojovém souboru obálkou a vy chcete " "použít jinou obálku." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:351 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 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/trunk/src/calibre/ebooks/conversion/plumber.py:359 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359 msgid "" "Attempt to detect and correct hard line breaks and other problems in the " "source file. This may make things worse, so use with care." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:367 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:367 msgid "Use a regular expression to try and remove the header." msgstr "Použít regulární výraz k odstranění hlavičky." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:374 msgid "The regular expression to use to remove the header." msgstr "Regulární výraz k odstranění hlavičky." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:380 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 msgid "Use a regular expression to try and remove the footer." msgstr "Použít regulární výraz k odstranění patičky." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:387 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387 msgid "The regular expression to use to remove the footer." msgstr "Regulární výraz k odstranění patičky." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:394 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:394 msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." @@ -1507,7 +1515,7 @@ msgstr "" "Načíst metadata z určeného OPF souboru. Metadata načtená z tohoto souboru " "nahradí jakékoliv metadata ve zdrojovém souboru." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 msgid "" "Transliterate unicode characters to an ASCII representation. Use with care " "because this will replace unicode characters with ASCII. For instance it " @@ -1517,7 +1525,7 @@ msgid "" "number of people will be used (Chinese in the previous example)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:416 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:416 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 " @@ -1527,113 +1535,117 @@ msgid "" "instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:428 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "Nastavit název." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:432 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:432 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "Nastavit Autory. Více autorů by mělo být odděleno znakem &." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:437 msgid "The version of the title to be used for sorting. " msgstr "Varianta názvu, která bude použita při řazení. " -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:441 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:441 msgid "String to be used when sorting by author. " msgstr "Řetězec, který bude použit při řazení dle autora. " -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:445 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:445 msgid "Set the cover to the specified file or URL" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:449 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "Vložit popis elektronické knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:453 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:453 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "Zadat vydavatele elektronické knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:457 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "Nastaví sérii ke které kniha patří." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:461 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:461 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "Nastaví pořadí knihy v této sérii." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:465 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:465 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "Nastaví hodnocení. Mělo by to být číslo mezi 1 a 5." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:469 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:469 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "Nastaví ISBN knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:473 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:473 +#: /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 "Nastaví tagy pro knihu. Měl by to být seznam oddělený čárkami." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:477 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:477 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "Nastaví vydavatele knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:481 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:481 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "Nastaví jazyk." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:485 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:485 msgid "Set the publication date." msgstr "Zadat datum uveřejnění." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:489 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "Zadat časové razítko knihy (použije se v kolonce datum v calibre)." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:589 msgid "Could not find an ebook inside the archive" msgstr "V archivu nebyl nalezen žádný ebook." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:647 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:647 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "Hodnota pořadí v sérii musí být číslo, Ignoruji" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:654 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:654 msgid "Failed to parse date/time" msgstr "Nepodařilo se analyzovat datum/čas" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:809 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:809 msgid "Converting input to HTML..." msgstr "Převést vstup do HTML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:836 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:836 msgid "Running transforms on ebook..." msgstr "Probíhá převod elektronické knihy..." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:923 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:923 msgid "Creating" msgstr "Vytvářím" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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/trunk/src/calibre/ebooks/epub/fix/epubcheck.py:18 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:18 msgid "Workaround epubcheck bugs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/epubcheck.py:22 +#: /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 " @@ -1641,7 +1653,7 @@ msgid "" "cause significant changes to your epub, complain to the epubcheck project." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1652,25 +1664,25 @@ msgid "" "detected. Use the options to control which errors are automatically fixed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:17 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17 msgid "Fix unmanifested files" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:21 +#: /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/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:32 +#: /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/trunk/src/calibre/ebooks/epub/output.py:56 +#: /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." @@ -1678,7 +1690,7 @@ msgstr "" "Rozbalí obsah vytvořeného souboru EPUB do zadaného adresáře. Obsah adresáře " "bude nejdříve smazán, takže buďte opatrní." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:62 +#: /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 " @@ -1692,21 +1704,21 @@ msgstr "" "Rozdělování samotné je ale dost náročné a jestliže vstupní kniha obsahuje " "velmi velké množství zalomení stran, měli byste rozdělování vypnout." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:73 +#: /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/trunk/src/calibre/ebooks/epub/output.py:80 +#: /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/trunk/src/calibre/ebooks/epub/output.py:86 +#: /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 " @@ -1714,7 +1726,7 @@ msgid "" "blank page." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:94 +#: /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 " @@ -1723,42 +1735,42 @@ msgid "" "option the image may be slightly distorted, but there will be no borders." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:169 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:169 msgid "Start" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/fb2ml.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/rbml.py:102 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/txtml.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 msgid "Table of Contents:" msgstr "Obsah:" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:32 +#: /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/trunk/src/calibre/ebooks/fb2/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:37 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:35 msgid "Add Table of Contents to beginning of the book." msgstr "Přidat obsah na začátek knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:248 +#: /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/trunk/src/calibre/ebooks/html/input.py:255 +#: /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/trunk/src/calibre/ebooks/html/input.py:264 +#: /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 " @@ -1766,67 +1778,67 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:272 msgid "" "Average line length for line breaking if the HTML is from a previous partial " "conversion of a PDF file. Default is %default which disables this." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lit/from_any.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." msgstr "Vytvářím LIT soubor z EPUB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:320 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tBook Designer file detected." msgstr "\tByl rozeznán soubor z programu Book Designer." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322 msgid "\tParsing HTML..." msgstr "\tZpracovávám HTML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:345 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:345 msgid "\tBaen file detected. Re-parsing..." msgstr "" "\tByl rozpoznán soubor z vydavatelství BAEN. Restartuji zpracování..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:361 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:361 msgid "Written preprocessed HTML to " msgstr "Předzpracovaný HTML soubor byl zapsán do " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:379 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:379 msgid "Processing %s" msgstr "Zpracovávám %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:393 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:393 msgid "\tConverting to BBeB..." msgstr "\tPřevádím do BBeB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:539 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:552 +#: /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 "Selhalo zpracování souboru: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:544 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:544 msgid "%s is an empty file" msgstr "%s je prázdný soubor" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:564 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 msgid "Failed to parse link %s %s" msgstr "Selhalo zpracování odkazu %s %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:608 msgid "Cannot add link %s to TOC" msgstr "Nepodařilo se přidat odkaz %s do obsahu." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:957 msgid "Unable to process image %s. Error: %s" msgstr "Selhalo zpracování obrázku %s. Chyba: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1002 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1002 msgid "Unable to process interlaced PNG %s" msgstr "Selhalo zpracování prokládaného PNG obrázku: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1017 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1017 msgid "" "Could not process image: %s\n" "%s" @@ -1834,12 +1846,12 @@ msgstr "" "Selhalo zpracování obrázku: %s\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1772 +#: /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 "Chyba při zpracování tabulky: %s. Ignoruji blok tabulky." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1774 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1847,23 +1859,23 @@ msgstr "" "Nesprávná definice tabulky:\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1796 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "Tabulka obsahuje buňku, která je příliš velká" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 msgid "Could not read cover image: %s" msgstr "Nepodařilo se načíst obrázek obálky: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Cannot read from: %s" msgstr "Nedaří se číst z: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1994 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1994 msgid "Failed to process opf file" msgstr "Selhalo zpracování OPF souboru" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:136 +#: /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" @@ -1871,31 +1883,31 @@ msgstr "" "%prog [možnosti] kniha.lrf\n" "Převod LRF souboru do LRS (XML s UTF-8 kódováním)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 msgid "Output LRS file" msgstr "Výstupní LRS soubor" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" msgstr "Neukládat vsazené obrazové soubory a soubory oísem na disk" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." msgstr "Zpracovávám LRF..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161 msgid "Creating XML..." msgstr "Vytvářím XML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:163 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163 msgid "LRS written to " msgstr "LRS zapsán do " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 msgid "Could not read from thumbnail file:" msgstr "Nrpodařilo se načíst náhled." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:287 +#: /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." @@ -1903,24 +1915,24 @@ msgstr "" "%prog [možnosti] soubor.lrs\n" "Převod LRS souboru do formátu LRF." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:288 msgid "Path to output file" msgstr "Cesta k výstupnímu souboru" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:114 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:114 msgid "Verbose processing" msgstr "Zvýšit množství vypisovaných informací" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:292 msgid "Convert LRS to LRS, useful for debugging." msgstr "Převést LRS na LRS, užitečné při hledání chyb v programu." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457 msgid "Invalid LRF file. Could not set metadata." msgstr "Neplatný LRF soubor. Nepodařilo se nastavit meatadata." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:582 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582 msgid "" "%prog [options] mybook.lrf\n" "\n" @@ -1934,26 +1946,26 @@ msgstr "" "Zobrazení/změna metadat v LRF souboru.\n" "\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:603 +#: /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 "" "Cesta k TXT souboru s poznámkami, které se mají vložit do LRF souboru." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:90 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90 msgid "Enable autorotation of images that are wider than the screen width." msgstr "" "Použít autorotaci u obrázků, které jsou širší než je šířka obrazovky." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94 msgid "Set the space between words in pts. Default is %default" msgstr "Mezera mezi slovy v bodech. Standardně je %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:97 msgid "Add a header to all the pages with title and author." msgstr "Přidat na všech stránkách záhlaví s názvem a jménem autora." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:100 +#: /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" @@ -1961,11 +1973,11 @@ msgstr "" "Formát záhlaví. %a je nahrazeno jménem autorem, %t názvem. Standardně je " "%default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:104 +#: /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/trunk/src/calibre/ebooks/lrf/output.py:107 +#: /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" @@ -1973,7 +1985,7 @@ msgstr "" "Minimální odsazení dostavce (odsazení prvního řádku odstavce) v bodech. " "Standadně: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:112 +#: /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)" @@ -1981,7 +1993,7 @@ msgstr "" "Zobrazení HTML tabulky v podobě obrázků (užitečné pokud dokument obsahuje " "velké nebo složité tabulky)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:117 +#: /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" @@ -1989,120 +2001,120 @@ msgstr "" "Faktor znásobení velikosti písma v zobrazených tabulkách. Standardní hodnota " "je: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:121 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121 msgid "The serif family of fonts to embed" msgstr "Font pro patkové písmo" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:124 msgid "The sans-serif family of fonts to embed" msgstr "Font pro bezpatkové písmo" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:127 msgid "The monospace family of fonts to embed" msgstr "Font pro neproporcionání písmo" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:152 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:152 msgid "Comic" msgstr "Komiks" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:397 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:65 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:359 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "Název" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:398 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:364 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:888 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:888 msgid "Author(s)" msgstr "Autor(ři)" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:399 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:61 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "Vydavatel" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:400 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "Producent" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:401 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:211 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:99 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:318 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1079 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1079 msgid "Comments" msgstr "Komentáře" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:409 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:73 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:306 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1075 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1075 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:143 msgid "Tags" msgstr "Tagy" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:411 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:26 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:323 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1084 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1084 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 msgid "Series" msgstr "Série" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:412 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 msgid "Language" msgstr "Jazyk:" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:414 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1067 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "Časová značka" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:416 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "Publikováno" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:418 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 msgid "Rights" msgstr "Práva" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/amazon.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazon.py:85 msgid "EDITORIAL REVIEW" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/archive.py:41 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20 msgid "options" msgstr "Možnosti" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:21 msgid "" "\n" "Read/Write metadata from/to ebook files.\n" @@ -2116,7 +2128,7 @@ msgid "" "silently ignored.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:40 +#: /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." @@ -2124,99 +2136,99 @@ msgstr "" "Zadat autory. V případě více autorů jejich jména oddělte znakem &. Jména " "autorů by měla být v pořadí křestní jméno příjmení." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:44 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:48 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:58 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 msgid "Set the book category." msgstr "Nastaví kategorii knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:74 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74 msgid "Set the published date." msgstr "Zadejte datum vydání." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:77 +#: /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 "Získat obálku z ebooku a uložit ji jako určený soubor." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:80 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:83 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88 msgid "Set the BookID in LRF files" msgstr "Nastavit BookID v LRF souborech" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153 msgid "No file specified" msgstr "Soubor nespecifikován" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:168 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168 msgid "Original metadata" msgstr "Originální metadata" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:185 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185 msgid "Changed metadata" msgstr "Změněná metadata" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197 msgid "OPF created in" msgstr "OPF vytvořen v" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:203 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203 msgid "Cover saved to" msgstr "Obálka uložena do" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:205 msgid "No cover found" msgstr "Obálka nenalezena" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:27 msgid "Cover download" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 msgid "Download covers from openlibrary.org" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:107 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:136 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 msgid "ISBN: %s not found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:117 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 msgid "Download covers from librarything.com" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:128 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 msgid "LibraryThing.com timed out. Try again later." msgstr "LibraryThing.com neodpovídá. Skuste to později." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:135 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:75 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." @@ -2224,44 +2236,44 @@ msgstr "" "Nepodařilo se stáhnout obálku, protože je server přetížený. Prosím zkuste to " "později." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 msgid "LibraryThing.com server error. Try again later." msgstr "Chyba serveru LibraryThing.com. Skuste to později." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/douban.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/douban.py:42 msgid "Downloads metadata from Douban.com" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "Stáhnutí metadat" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "hodnocení" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "tagy" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "popis/recenze" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "Stáhnout %s z %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "Stáhnout metadata z Google Books" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "Stáhnout metadata z isbndb.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2269,15 +2281,15 @@ msgstr "" "K použití isbndb.com se musíte zaregistrovat %súčet zdarma%s a vložit váš " "přístupový kód níže." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:210 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "Stáhnout sociální metadata z amazon.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:95 msgid "" "\n" "%prog [options] key\n" @@ -2291,27 +2303,27 @@ msgid "" "\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:106 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:106 msgid "The ISBN ID of the book you want metadata for." msgstr "ISBN kód knihy, pro kterou si přejete získat metadata." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:108 msgid "The author whose book to search for." msgstr "Auto hledané knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:110 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:110 msgid "The title of the book to search for." msgstr "Název hledané knihy." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:112 msgid "The publisher of the book to search for." msgstr "Vydavatel hledané knihy" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:76 msgid " not found." msgstr " se nepodařilo nalézt." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:86 msgid "" "\n" "%prog [options] ISBN\n" @@ -2320,163 +2332,163 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1226 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1399 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1226 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1399 msgid "Cover" msgstr "Obálka" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22 msgid "Modify images to meet Palm device size limitations." msgstr "Upravit obrázky aby vyhovovali velikostním omezení Palm zařízení." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26 msgid "When present, use author sort field as author." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:30 +#: /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/trunk/src/calibre/ebooks/mobi/output.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 +#: /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 "Název pro vygenerovaný obsah." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37 msgid "Disable compression of the file contents." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:40 +#: /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/trunk/src/calibre/ebooks/mobi/output.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:108 msgid "All articles" msgstr "Všechny články" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:259 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:259 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1400 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1400 msgid "Title Page" msgstr "Titulní stránka" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1401 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194 msgid "Table of Contents" msgstr "Obsah" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1402 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1402 msgid "Index" msgstr "Rejstřík" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1403 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1403 msgid "Glossary" msgstr "Slovník pojmů" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1404 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1404 msgid "Acknowledgements" msgstr "Pděkování" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1405 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1405 msgid "Bibliography" msgstr "Bibliografie" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1406 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1406 msgid "Colophon" msgstr "Tiráž" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1407 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1407 msgid "Copyright" msgstr "Autorská práva" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1408 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1408 msgid "Dedication" msgstr "Věnování" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1409 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1409 msgid "Epigraph" msgstr "Doslov" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1410 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1410 msgid "Foreword" msgstr "Předmluva" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1411 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1411 msgid "List of Illustrations" msgstr "Seznam Ilustrací" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1412 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1412 msgid "List of Tables" msgstr "Seznam tabulek" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1413 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1413 msgid "Notes" msgstr "Poznámky" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1414 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1414 msgid "Preface" msgstr "Úvod" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1415 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1415 msgid "Main Text" msgstr "Hlavní text" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/iterator.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:41 msgid "%s format books are not supported" msgstr "Knihy ve formátu %s nejsou podporovány." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 msgid "HTML TOC generation options." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:113 msgid "Book Jacket" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/split.py:34 +#: /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 "" "Nepodařilo se najit vhodný bod pro rozdělení: %s Velikost podstromu:%d KB" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 msgid "OPF/NCX/etc. generation options." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35 msgid "OPF version to generate. Default is %default." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:37 +#: /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/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128 msgid "Footnotes" msgstr "Poznámky pod čarou" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135 msgid "Sidebar" msgstr "Postraní panel" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:22 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line represents a paragraph instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:26 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line starting with an indent (either a tab or 2+ " @@ -2484,32 +2496,32 @@ msgid "" "starts with an indent is reached." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:23 +#: /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/trunk/src/calibre/ebooks/pdb/output.py:27 +#: /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/trunk/src/calibre/ebooks/pdf/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 msgid "Do not extract images from the document" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:26 +#: /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.5, this is the " "median line length." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30 msgid "Use the new PDF conversion engine." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/cli.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 msgid "" "command ...\n" "\n" @@ -2521,118 +2533,118 @@ msgid "" "Manipulate a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:29 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:38 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:41 +#: /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 "" "Cesta k výstupnímu souboru. Standardně bude výstupní soubor vytvořen v " "aktuálním pracovním adresáři." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:41 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:44 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:47 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:50 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:53 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 msgid "Crop Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /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 "Možnosti transformace PDF" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 msgid "Decrypt Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 msgid "Encrypt Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:21 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/info.py:46 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 +#: /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:33 msgid "Author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47 msgid "Subject" msgstr "Předmět" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48 msgid "Creator" msgstr "Původce" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50 msgid "Pages" msgstr "Stránky" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51 msgid "File Size" msgstr "Velikost Souboru" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 msgid "PDF Version" msgstr "PDF verze" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25 msgid "" "[options] file1.pdf file2.pdf ...\n" "\n" @@ -2641,33 +2653,33 @@ msgid "" "Merges individual PDFs.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 msgid "Merge Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:25 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 msgid "Reverse Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:24 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 msgid "Rotate Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25 msgid "" "\n" "%prog %%name [options] file.pdf page_to_split_on ...\n" @@ -2682,98 +2694,98 @@ msgid "" "Split a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 msgid "Split Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:31 +#: /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/trunk/src/calibre/ebooks/pdf/output.py:36 +#: /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/trunk/src/calibre/ebooks/pdf/output.py:40 +#: /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/trunk/src/calibre/ebooks/pdf/output.py:45 +#: /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/trunk/src/calibre/ebooks/pdf/output.py:49 +#: /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 " "ull first page of the generated pdf." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/pdftohtml.py:55 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" "Nepodařilo ze najít pdftohtml, zkontrolujte zda je cesta k němu v sytémové " "proměné PATH" -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:33 msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 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/trunk/src/calibre/ebooks/tcr/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 msgid "" "Specify the character encoding of the output document. The default is utf-8." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:27 msgid "" "Specify the compression level to use. Scale 1 - 10. 1 being the lowest " "compression but the fastest and 10 being the highest compression but the " "slowest." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:34 msgid "" "Normally extra spaces are condensed into a single space. With this option " "all spaces will be displayed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:37 msgid "" "Run the text input through the markdown pre-processor. To learn more about " "markdown see" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:40 msgid "Do not insert a Table of Contents into the output text." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:24 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/trunk/src/calibre/ebooks/txt/output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 msgid "" "Specify the character encoding of the output document. The default is utf-8. " "Note: This option is not honored by all formats." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:38 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 " @@ -2781,339 +2793,557 @@ msgid "" "minimum of 25 characters. Use 0 to disable line splitting." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:45 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/trunk/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Send file to storage card instead of main memory by default" msgstr "Ukládat soubory na pamětovou kartu, ne do hlavní paměti zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Confirm before deleting" msgstr "Vyžadovat potvrzení před smazáním" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Uspořádání hlavního okna" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Upozornit pokud je dostupná nová verze" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "číslování knih v sérii římskými číslicemi" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "Počet obálek, které se mají zobrazovat v režimu prohlížení obálek" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Standadní nastavení převodu do formátu LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Možnosti prohlížeče elektronických knih ve formátu LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Formats that are viewed using the internal viewer" msgstr "Formáty zobrazované interním prohlížečem" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Columns to be displayed in the book list" msgstr "Sloupce které se mají zobrazit v seznamu knih" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Automatically launch content server on application startup" msgstr "Automaticky spouštět obsahový server při startu aplikace" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Oldest news kept in database" msgstr "Nejstarší zprávy ponechané v databázi" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Show system tray icon" msgstr "Zobrazit ikonu v systémovém panelu" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Upload downloaded news to device" msgstr "Odelsat stažené zpravy do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Delete books from library after uploading to device" msgstr "Smazat knihy z knihovny po jejich odeslání do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" "Zobrazit galerii obálek v odděleném okně, namísto hlavního okna calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Disable notifications from the system tray icon" msgstr "Zakázat oznamování v systemové oblasti" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 msgid "Maximum number of waiting worker processes" msgstr "Maximální počet procesů ve frontě" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 msgid "The layout of the user interface" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:103 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:151 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy to Clipboard" msgstr "&Kopírovat do schránky" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:245 -msgid "Use library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "Přidat knihy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" +msgstr "Přidat Knihy z jednoho adresáře" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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 "" +"Přidat knihy z adresárů, včetně podadresářů (předpokládá se, že každý " +"adresář představuje jednu knihu a soubory v něm jsou různé formáty té samé " +"knihy)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +msgid "" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" +msgstr "" +"Přidat knihy z adresárů, včetně podadresářů (vícero knih v jednom adresáři, " +"předpokládá se že každý soubor představuje jednu knihu)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "Přidat prázdnou knihu. (Položka knihy bez žádných formátů)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:246 -msgid "User annotations generated from main library only" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:623 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:682 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:719 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:740 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:925 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:998 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1116 -msgid "No books selected" -msgstr "Nejsou označeny žádné knihy" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:76 -msgid "No books selected to fetch annotations from" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:101 -msgid "Merging user annotations into database" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:129 -msgid "%s
Last Page Read: %d (%d%%)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:135 -msgid "%s
Last Page Read: Location %d (%d%%)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:154 -msgid "Location %d • %s
%s
" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:163 -msgid "Page %d • %s
" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:168 -msgid "Location %d • %s
" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:339 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "Odesílám knihy do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:350 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "Knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "EPUB knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "LRF knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "HTML knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "LIT knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "MOBI knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "TXT knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "PDF knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "Komiksy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "Archívy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:429 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:429 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:473 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1260 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Není označena žádná kniha" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:470 +#: /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/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "Nejsou označeny žádné knihy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
Last Page Read: %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
Last Page Read: Location %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
%s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +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:32 +msgid "Create catalog of books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +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:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "Nedovolené" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +msgid "You cannot change libraries while jobs are running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "C" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "Convert books" +msgstr "Převést Knihy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +msgid "Convert individually" +msgstr "Převést Individuálně" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "Převést dávkově" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "Nemůžu převást" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Del" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "Odstranit knihy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "Smazat vybrané knihy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "Odstranit soubory se zvoleným formátem z označených knih" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "" +"Odstranit všechny soubory se zvoleným formátem z označených knih, mimo..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:533 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:436 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:445 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:534 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:438 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:447 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:557 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "Mažu knihy ze zařízení." -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" @@ -3121,67 +3351,162 @@ msgstr "" "Označené knihy budou trvale smazány a soubory budou odstraněny z " "vašeho počítače. Opravdu je chcete odstranit?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "Odeslat do zařízení" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +msgstr "Připojit/sdílet" + +#: /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_metadata.py:24 +msgid "E" +msgstr "E" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "Edit metadata" +msgstr "Upravit metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 +msgid "Merge book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "Upravit metadata Individuálně" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "Upravit metadata dávkově" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "Stáhnout metadata a obálky" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "Stáhnout pouze metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "Stáhnout pouze obálky" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "Nemůžu stáhnout metadata." -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "obálky" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "metadata" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "Stahuji %s pro %d knihu(y)" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "Selhalo stahování některých metadat" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "Selhalo stahovaní metadat pro následující:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "Selhalo stahování metadat:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:671 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:608 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:560 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:990 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "Chyba" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:681 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "Nemůžu upravit metadata" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:739 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

The second and subsequently selected " @@ -3189,7 +3514,7 @@ msgid "" "proceed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

After merger the second and " @@ -3199,111 +3524,223 @@ msgid "" "from your computer.

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 msgid "" "You are about to merge more than 5 books. Are you sure you want to " "proceed?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "F" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "Stáhnout zprávy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 +msgid "Fetching news from " +msgstr "Získávám zprávy z " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 +msgid " fetched." +msgstr " získány." + +#: /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 +msgid "Help" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 +msgid "Open containing folder" +msgstr "Otevřít nadřazený adresář" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 +msgid "O" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +msgid "Ctrl+P" +msgstr "Ctrl+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "Možnosti" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "Spustit uvítacího průvodce" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "Nemůžu nastavit" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "Nastavení není možné změnit dokud neproběhne zpracování všech úloh" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +msgid "Cannot configure before calibre is restarted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "&Restart" +msgstr "&Restart" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "Ctrl+R" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 +msgid "Save single format to disk..." +msgstr "Uložit jediný formát na disk..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40 +msgid "S" +msgstr "S" + +#: /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:45 +msgid "Save to disk" +msgstr "Uložit na disk" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:47 +msgid "Save to disk in a single directory" +msgstr "Uložit na disk v jednom adresáři" + +#: /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 "Uložit jen formát %s na disk" + +#: /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:90 msgid "Cannot save to disk" msgstr "Chyba zápisu na disk" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:927 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93 msgid "Choose destination directory" msgstr "Zvolte cílový adresář" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:933 -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "Nedovolené" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:934 +#: /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/trunk/src/calibre/gui2/actions/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:135 msgid "Error while saving" msgstr "Chyba při ukládání" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136 msgid "There was an error while saving." msgstr "Při ukládání nastala chyba." -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:976 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:977 +#: /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 msgid "Could not save some books" msgstr "Nemohu uložit některé knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 msgid "Click the show details button to see which ones." msgstr "Klikněte na tlačítko zobrazit detaily pro zjištění které z nich." -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:999 -msgid "No books selected to generate catalog for" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" +msgstr "Zobrazit podrobnosti o knize" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1016 -msgid "Generating %s catalog..." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" +msgstr "Bližší informace nejsou dostupné" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." +msgstr "Bližší informace o knihách v tomto zařízení nejsou dostupné" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." +msgstr "Podobné knihy..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1021 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:264 -msgid "No books found" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" +msgstr "Knihy od stejného autora" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "Alt+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "Knihy v této sérii" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1022 -msgid "" -"No books to catalog\n" -"Check exclude tags" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "Knihy od tohoto vydavatele" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1032 -msgid "Catalog generated." -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "Knihy se stejnými tagy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1035 -msgid "Export Catalog Directory" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "V" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1036 -msgid "Select destination for %s.%s" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "Zobrazit" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1052 -msgid "Fetching news from " -msgstr "Získávám zprávy z " +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "Zobrazit určitý formát" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1066 -msgid " fetched." -msgstr " získány." - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1115 -msgid "Cannot convert" -msgstr "Nemůžu převást" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1144 -msgid "Starting conversion of %d book(s)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1260 -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "Nemůžu zobrazit" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1266 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "Vyberte formát který se má zobrazit" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3311,131 +3748,131 @@ msgid "" "continue?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "Nemohu otevřít adresář" -#: /home/kovid/work/trunk/src/calibre/gui2/actions/__init__.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "%s není dostupná v žádném dostupném formátu." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:54 msgid "Searching in" msgstr "Hledám v" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:232 msgid "Adding..." msgstr "Přidávám..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:245 msgid "Searching in all sub-directories..." msgstr "Prohledávám všechny podadresáře..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:258 msgid "Path error" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "Žádné knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:330 msgid "Added" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:343 msgid "Adding failed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:344 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/trunk/src/calibre/gui2/add.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:356 msgid "Duplicates found!" msgstr "Byly nalezeny duplikáty!" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:357 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" "Knihy se stejným názvem jsou již v databázi. Mají být přesto přidány?" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:360 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:427 msgid "Saving..." msgstr "Ukládám..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:480 msgid "Saved" msgstr "Uložené" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:57 msgid "Searching for sub-folders" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:62 msgid "Searching for books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:74 msgid "Looking for duplicates based on file hash" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:109 -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:65 msgid "Choose root folder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:137 msgid "Invalid root folder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:138 msgid "is not a valid root folder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:148 msgid "Add books to calibre" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 msgid "WizardPage" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:22 msgid "Scanning root folder for books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:23 msgid "This may take a few minutes" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:58 msgid "Choose the location to add books from" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:59 msgid "Select a folder on your hard disk" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:60 msgid "" "

calibre can scan your computer for existing books automatically. These " "books will then be copied into the calibre library. This wizard will " @@ -3447,259 +3884,264 @@ msgid "" "not under the root folder you choose.

" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 msgid "&Root folder:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 msgid "" "This folder and its sub-folders will be scanned for books to import into " "calibre's library" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:52 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:79 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:599 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:600 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:612 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:614 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:616 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:618 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:619 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:668 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:365 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:370 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:384 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:395 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:397 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:399 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:404 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:406 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:159 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:128 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:267 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:269 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:270 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 msgid "..." msgstr "..." -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:67 msgid "Handle multiple files per book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:68 msgid "" "&One book per folder, assumes every ebook file in a folder is the same book " "in a different format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:69 msgid "" "&Multiple books per folder, assumes every ebook file is a different book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:23 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:54 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:311 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:116 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:313 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1065 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1065 msgid "Path" msgstr "Cesta" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:24 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:117 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:312 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" msgstr "Formáty" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:25 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:891 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1068 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:891 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1068 msgid "Collections" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:56 msgid "Click to open" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:305 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:311 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:317 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1074 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1078 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:73 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:78 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1074 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1078 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:274 msgid "None" msgstr "Žádné" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:310 msgid "Click to open Book Details window" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "Options specific to" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "output" msgstr "výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:88 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:46 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 msgid "Form" msgstr "Z" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 msgid "Bib file encoding:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 msgid "Fields to include in output:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 msgid "ascii/LaTeX" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 msgid "Encoding configuration (change if you have errors) :" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 msgid "strict" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 msgid "replace" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 msgid "ignore" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 msgid "backslashreplace" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 msgid "BibTeX entry type:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 msgid "mixed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 msgid "misc" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 msgid "book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 msgid "Create a citation tag?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 msgid "Expression to form the BibTeX citation tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 msgid "" "Some explanation about this template:\n" " -The fields availables are 'author_sort', 'authors', 'id',\n" @@ -3710,175 +4152,175 @@ msgid "" " -For time field, only the date will be used. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 msgid "CSV/XML Options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 msgid "E-book options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:550 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1496 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1514 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "Katalog" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 msgid "'Don't include this book' tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 msgid "'Mark this book as read' tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 msgid "Include 'Titles' Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 msgid "Include 'Recently Added' Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 msgid "Sort numbers as text" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 msgid "Tab template for catalog.ui" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 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/trunk/src/calibre/gui2/convert/bulk.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:67 msgid "Bulk Convert" msgstr "Hromadné Převedení" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:185 msgid "Options specific to the output format." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:15 msgid "Comic Input" msgstr "Comic vstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 +#: /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/pdb_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 "vstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:89 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Počet &barev" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Vypnout &normalizaci" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachov&at poměr stran" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:92 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Vypnout zao&střování" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:93 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:94 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "Širo&ké" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:95 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Na šíř&ku" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Zp&rava doleva" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Netřídit" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Čistíci &filtr" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 msgid "&Disable comic processing" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "&Výstupní formát:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 msgid "Disable conversion of images to &black and white" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21 msgid "Debug the conversion process." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Invalid debug directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:50 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 " @@ -3886,65 +4328,65 @@ msgid "" "conversion parameters like Table of Contents and Chapter Detection." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 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/trunk/src/calibre/gui2/convert/epub_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" msgstr "EPUB výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:49 msgid "Do not &split on page breaks" msgstr "Nerozdělovat na &zalomeních stran" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:50 msgid "No default &cover" msgstr "Obálka nenalezena" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:51 msgid "No &SVG cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:52 msgid "Preserve cover &aspect ratio" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 msgid "Split files &larger than:" msgstr "Rodě&lit soubory vetší než:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 msgid " KB" msgstr " KB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" msgstr "FB2 vstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:29 msgid "Do not insert a &Table of Contents at the beginning of the book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14 msgid "FB2 Output" msgstr "FB2 Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 msgid "&Inline TOC" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:99 msgid "Font rescaling wizard" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:100 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 " @@ -3960,104 +4402,104 @@ msgid "" "for a discussion of how font size rescaling works.

" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:103 msgid "&Output document" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:104 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109 msgid "&Base font size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:105 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:123 msgid "Font size &key:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:127 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:121 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 msgid " pt" msgstr " bodů" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:107 msgid "Use &default values" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 msgid "&Input document" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 msgid "&Font size: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 msgid " will map to size: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114 msgid "0.0 pt" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 msgid "Look & Feel" msgstr "Vzhled a chování" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:18 +#: /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/trunk/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 msgid "Left align" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:120 msgid "&Disable font size rescaling" msgstr "&Zakázat změnu velikosti písma" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:121 msgid "Base &font size:" msgstr "Základní &velikost písma:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:124 msgid "Wizard to help you choose an appropriate font size key" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:126 msgid "Line &height:" msgstr "Výš&ka řádku" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 msgid "Input character &encoding:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 msgid "Remove &spacing between paragraphs" msgstr "Odstranit &mezery mezi odstavci" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 msgid "Indent size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 msgid "" "

When calibre removes inter paragraph spacing, it automatically sets a " "paragraph indent, to ensure that paragraphs can be easily distinguished. " @@ -4067,188 +4509,188 @@ msgstr "" "odsazení, aby bylo možné odstavce snadno rozeznat. Tato volba upravuje šířku " "odsazení." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid " em" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 msgid "Text justification:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 msgid "&Linearize tables" msgstr "Převést tabulky na řádky" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 msgid "Extra &CSS" msgstr "Extra &CSS" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 msgid "&Transliterate unicode characters to ASCII" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 msgid "Insert &blank line" msgstr "Vložit &prázdný řádek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 msgid "Keep &ligatures" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "LRF Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:116 msgid "Enable &autorotation of wide images" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117 msgid "&Wordspace:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119 msgid "Minimum para. &indent:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 msgid "Render &tables as images" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "Text size multiplier for text in rendered tables:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 msgid "Add &header" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Header &separation:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Header &format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "&Embed fonts" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 msgid "&Serif font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 msgid "S&ans-serif font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 msgid "&Monospaced font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195 msgid "Metadata" msgstr "Metadata" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:43 msgid "" "Set the metadata. The output file will contain as much of this metadata as " "possible." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "Vyberte obálku pro " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "Nemůžu přečíst" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "Nemáte přístupová práva na čtení souboru: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "Chyba při čtení souboru" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

There was an error reading from file:
" msgstr "

Chyba při čtení souboru:
" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " není platný obrazový soubor" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Book Cover" msgstr "Obálka knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 msgid "Use cover from &source file" msgstr "Použít Obálku ze &zdrojového souboru" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Change &cover image:" msgstr "Změnit &obálku:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "Browse for an image to use as the cover of this book." msgstr "Vybete obrázkový soubor . který se použije jako obálka této knihy." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "&Title: " msgstr "&Název: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Change the title of this book" msgstr "Změnit název táto knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Author(s): " msgstr "&Autor(ři) " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Author So&rt:" msgstr "Autor ve tvaru \"&příjmení, jméno\"." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 msgid "" "Change the author(s) of this book. Multiple authors should be separated by a " "comma" msgstr "Autor(ři) této knihy. Vícero autorů by mělo být odděleno čárkami" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Publisher: " msgstr "&Vydavatel: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Ta&gs: " msgstr "Ta&gy: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "" "Tags categorize the book. This is particularly useful while searching. " "

They can be any words or phrases, separated by commas." @@ -4256,440 +4698,440 @@ msgstr "" "Tagy řadí knihu do kategorií. Užitečné jsou zvláště při vyhledávání. " "

Můžou to být libovolné slova nebo fráze, oddělené čárkami." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "&Series:" msgstr "&Série:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:381 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "List of known series. You can add new series." msgstr "Seznam známých sérií. Můžete přidat novou sérii." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Book " msgstr "Kniha " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:20 msgid "MOBI Output" msgstr "MOBI Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:42 msgid "Default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:67 msgid "&Title for Table of Contents:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:68 msgid "Rescale images for &Palm devices" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:69 msgid "Use author &sort for author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:70 msgid "Disable compression of the file contents" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 msgid "Do not add Table of Contents to book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 msgid "Kindle options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 msgid "Periodical masthead font:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 msgid "Personal Doc tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" msgstr "Nastavení stránky" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:116 msgid "&Output profile:" msgstr "Výstupní pr&ofil:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:117 msgid "Profile description" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:118 msgid "&Input profile:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:119 msgid "Margins" msgstr "Okraje" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 msgid "&Left:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 msgid "&Top:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 msgid "&Right:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 msgid "&Bottom:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:12 msgid "PDB Input" msgstr "PDB vstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:32 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:47 msgid "Treat each &line as a paragraph" msgstr "Považovat každý řádek za odstavec" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:33 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:48 msgid "Assume print formatting" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:16 msgid "PDB Output" msgstr "PDB Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:36 msgid "&Format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 msgid "PDF Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:39 msgid "Line &Un-Wrapping Factor:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:40 msgid "No &Images" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:17 msgid "PDF Output" msgstr "PDF Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 msgid "&Orientation:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" msgstr "RB Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:83 msgid "No formats available" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:84 msgid "Cannot build regex using the GUI builder without a book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:103 msgid "Open book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:52 msgid "Regex Builder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:53 msgid "Preview" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:54 msgid "Regex:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:55 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Test" msgstr "Test" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:171 msgid "Convert" msgstr "Převést" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:196 msgid "Options specific to the input format." msgstr "Nastavení specifické vstupnímu formátu." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:64 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "Dialog" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "Vstupn&í formát:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" "Detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:19 msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:56 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Chapter &mark:" msgstr "&Značka kapitol:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 msgid "Remove first &image" msgstr "Odstranit první &obrázek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 msgid "Insert &metadata as page at start of book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 msgid "Remove F&ooter" msgstr "Odstranit &patičku stránky" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:66 msgid "Remove H&eader" msgstr "Odstranit &záhlaví" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" "Contents" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:63 msgid "Do not add &detected chapters to the Table of Contents" msgstr "&Nepřidávat automaticky rozpoznané kapitoly do Obsahu" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:64 msgid "Number of &links to add to Table of Contents" msgstr "&Počet odkazů, které budou přidány do Obsahu" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:65 msgid "Chapter &threshold" msgstr "Prahová úroveň &kapitol" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:66 msgid "&Force use of auto-generated Table of Contents" msgstr "&Vždy použít automaticky generovaný obsah" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 msgid "TOC &Filter:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" msgstr "TXT vstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:49 msgid "Process using markdown" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:50 msgid "" "

Markdown is a simple markup language for text files, that allows for " "advanced formatting. To learn more visit markdown." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:51 msgid "Do not insert Table of Contents into output text when using markdown" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:52 msgid "Preserve &spaces" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:16 msgid "TXT Output" msgstr "TXT Výstup" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:46 msgid "&Line ending style:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:48 msgid "&Maximum line length:" msgstr "&Maximální délka řádku:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" -msgstr "Vynutit maximální délku řádku" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 +msgid "Force maximum line length" +msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:51 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:65 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:50 msgid "TextLabel" msgstr "Textový popisek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 msgid "Use a wizard to help construct the XPath expression" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:68 msgid "Match HTML &tags with tag name:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:69 msgid "*" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:70 msgid "a" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:71 msgid "br" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 msgid "div" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 msgid "h1" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 msgid "h2" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 msgid "h3" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 msgid "h4" msgstr "h4" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 msgid "h5" msgstr "h5" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 msgid "h6" msgstr "h6" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 msgid "hr" msgstr "hr" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 msgid "span" msgstr "span" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 msgid "Having the &attribute:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 msgid "With &value:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 msgid "(A regular expression)" msgstr "(regulární výraz)" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 msgid "" "

For example, to match all h2 tags that have class=\"chapter\", set tag to " "h2, attribute to class and value to " @@ -4699,172 +5141,164 @@ msgid "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath Tutorial." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "Prohlížet obálky" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:130 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:205 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:238 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:242 msgid "Undefined" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:443 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "Odstranit všechny tagy" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:49 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "Zařízení už není připojené" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "Získat informace o zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "Získat seznam knih v zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "Odeslat metadata do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "Odeslat %d knih do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "Smazat knihy ze zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "Převzít knihy ze zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "Zobrazit knihu v zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "Nastavit výchozí nastavení pro odeslání do čtečky" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "Odeslat do hlavní paměti" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "Odeslat na pamětovou kartu A" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "Odeslat na pamětovou kartu B" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:434 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:499 -msgid "Fetch annotations (experimental)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "Cyba komunikace se zařízením" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:675 -msgid "Failed" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "Chyba komunikace se zařízením" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4872,325 +5306,349 @@ msgstr "" "Dočasná chyba komunikace se zařízením. Prosím odpojte a znovu připojte " "zařízení anebo restarujte počítač." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "Zařízení: " -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr " nalezeno." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "vybrané k odeslání" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "Vyberte formát k odeslání do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:825 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "Žádné zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "Nemohu odeslat: Není připojeno žádné zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:829 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "Žádná karta" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:830 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:834 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "Nemohu odeslat: Zařízení nemá pamětovou kartu." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:879 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "od" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "Odeslat email" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:923 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:931 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1025 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1087 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1206 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "Žádné vhodné formáty" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:950 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:951 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:984 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "Zprávy:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:985 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:996 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "Odeslat zprávy do" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1026 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1088 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1056 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "Odeslat katalog do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "Odesílám zprávy do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1173 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "Odesílám knihy do zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1215 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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/trunk/src/calibre/gui2/device.py:1277 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "Na zařízení není volné místo" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" "

Knihy není možné odeslat do zařízení pro nedostatek volného úložného " "prostoru " -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:78 +#: /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/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82 msgid "Use sub directories" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:83 msgid "Use author sort for author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85 msgid "Save &template:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 +msgid "Fit &cover within view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 msgid "&Previous" msgstr "&Předchozí" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 msgid "&Next" msgstr "&Další" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:38 msgid "My Books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:289 msgid "Generate catalog" msgstr "Generovat katalog" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:70 msgid "Generate catalog for {0} books" msgstr "Vytvořit katalog pro {0} knih" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:71 msgid "Catalog &format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:72 msgid "" "Catalog &title (existing catalog with the same title will be replaced):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:73 msgid "&Send catalog to device automatically" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 msgid "Catalog options" msgstr "Volby katalogu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" msgstr "Vyberte formát" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:38 msgid "Choose location for calibre library" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:45 msgid "Same as current" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:46 msgid "The location %s contains the current calibre library" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 msgid "No existing library found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:52 msgid "There is no existing calibre library at %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 msgid "Not empty" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 msgid "The folder %s is not empty. Please choose an empty folder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:67 msgid "Your calibre library is currently located at {0}" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:68 msgid "New &Location:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:69 msgid "Use &existing library at the new location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:70 msgid "&Create an empty library at the new location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:71 msgid "&Move current library to new location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "Výchozí nastavení převodu komiksů (CBR/CBZ souborů)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 msgid "Set options for converting %s" msgstr "Mo6nosti převodu %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Název:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(ři):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 msgid "Edit Comments" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "Obecné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "Rozhraní" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "Převod" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "Přidat/Uložit" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "Rozšířené" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" @@ -5198,213 +5656,213 @@ msgstr "" "Obsahový\n" "Server" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "Automaticky odeslat" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "Email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 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/trunk/src/calibre/gui2/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "Střední" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "Malé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "Velké" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 msgid "Done" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 msgid "Confirmation dialogs have all been reset" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " "port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "Selhala Instalce nástrojů pro příkazovou řádku." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "Chybí platná cesta k modulům" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "%s není platná cesta k modulům" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "Zvolte modul" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "Modul není možné deaktivovat" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "Modul %s nemůže být deaktivován" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "Modul není upravitelný" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "Modul %s nevyžaduje žádné úpravy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "Vestavěný modul není možné odstranit" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:691 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " nemůže být odstraněn. Je to vestavěbý modul. Skuste ho místo odstranění " "deaktivovat." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:707 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 msgid "Invalid tweaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 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/trunk/src/calibre/gui2/dialogs/config/__init__.py:738 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:744 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "Jste si jisti?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:745 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "Záznam o chybách:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "Záznam o přístupu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:847 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "Nepodařilo se spustit obdahový server" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "Neplatná velikost" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:873 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "Velikost %s je neplatná. Požadovaný formát je šířka x výška" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:936 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:996 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5412,32 +5870,32 @@ msgid "" "folder directly." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:133 msgid "TabWidget" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:134 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/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:135 msgid "Read metadata only from &file name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:136 msgid "" "Swap the firstname and lastname of the author. This affects only metadata " "read from file names." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:137 msgid "&Swap author firstname and lastname" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:138 msgid "" "If an existing book with a similar title and author is found that does not " "have the format being added, the format is added\n" @@ -5448,79 +5906,79 @@ msgid "" "punctuation, case, etc. Author match is exact." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:142 msgid "" "If books with similar titles and authors found, &merge the new files " "automatically" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:143 msgid "&Configure metadata from file name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:144 msgid "&Adding books" msgstr "&Přidání knih" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:145 msgid "" "Here you can control how calibre will save your books when you click the " "Save to Disk button:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:146 msgid "Save &cover separately" msgstr "Uložit &obálku odděleně" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:147 msgid "Update &metadata in saved copies" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:148 msgid "Save metadata in &OPF file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:149 msgid "Convert non-English characters to &English equivalents" msgstr "Převést neAnglické znaky na Anglické &ekvivalenty" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:150 msgid "Format &dates as:" msgstr "Formát data:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:151 msgid "File &formats to save:" msgstr "&Formáty souborů k uložení:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:152 msgid "Replace space with &underscores" msgstr "Nahradit mezer&u podtržitkem" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:153 msgid "Change paths to &lowercase" msgstr "Změnit cesty na malá písmena" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:154 msgid "&Saving books" msgstr "&Ukládání Knih" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:155 msgid "Metadata &management:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:156 msgid "Manual management" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:157 msgid "Only on send" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:158 msgid "Automatic management" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:159 msgid "" "

  • Manual Management: Calibre updates the metadata and adds " "collections only when a book is sent. With this option, calibre will never " @@ -5531,41 +5989,34 @@ msgid "" "device in sync with the calibre library, on every connect
  • " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:162 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->Plugins" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:163 msgid "Sending to &device" msgstr "Odeslání do &zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:584 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:474 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:616 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "Možnosti" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "Zobrazit upozornění pokud je dostupná &nová verze." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:588 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "Výchozí časový &limit sítě:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -5573,204 +6024,215 @@ msgstr "" "Výchozí časový limit pro síťové dotazy (např. pokaždé když jdeme na Internet " "získat informace)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " sekund" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "Vyberte &jazyk (vyžaduje restart):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "Normální" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "Vysoká" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "Nízká" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "&Priorita úloh:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "Upřednostňovaný výstupní formát:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 msgid "Reset all disabled &confirmation dialogs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "Pořadí preference &vstupních formátů:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "Číslovat knihy v sérii &Římskými číslicemi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "Zobrazit &ikonu v sýstémové liště (vyžaduje restart)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "Zobrazovat upozor&nění v systémové liště" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 msgid "Show cover &browser in a separate window (needs restart)" msgstr "Zobrazit prohlížec &obálek v samostatném okně (vyžaduje restart)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "Vyhledávat při zadávání" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "&Automaticky odeslat stažené zprávy do čtecího zařízení" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "Smazat zprávy z knihovny když jsou automaticky odeslány do čtečky" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "Počet obálek zobraze&ných v přohlížecím módu (vyžaduje restart)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "Viditelné sloup&ce v seznamu knih v knihovne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "Použít interní &prohlížec pro:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "Přdat emailovou adresu na kterou posílat knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:629 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "Přidat em&ail" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "Nastavit &výchozí" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "Odst&ranit email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "&Maximální počet procesů ve frontě (vyžaduje restart):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 msgid "&Check database integrity" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 msgid "Open calibre &configuration directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 msgid "&Install command line tools" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 msgid "&Miscellaneous" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 msgid "" "Values for the tweaks are shown below. Edit them to change the behavior of " "calibre" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 msgid "All available tweaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 msgid "&Current tweaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 msgid "&Restore to defaults" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 msgid "&Tweaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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 " @@ -5780,25 +6242,25 @@ msgstr "" "pomocí internetového prohlížeče z jakehokoliv místa na světě. Změny v " "nastaení se projeví až po restartu serveru." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:646 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "&Port serveru:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:647 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:212 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "&Uživatelské jméno:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:648 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:213 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "&Heslo:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -5806,7 +6268,7 @@ msgstr "" "Pokud ponecháte heslo prázdné, kdokoliv bude mít přístup k vaší zbírce knih " "přes webové rozhraní." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -5814,46 +6276,57 @@ msgstr "" "Maximální velikost (šířka x výška) zobrazených obálek. Velké obálky budou " "zmenšené. " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "Max. velikost &obálek:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:652 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "Zobrazit he&slo" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:653 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "&Spustit server" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "&Zastavit server" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "&Test serveru" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "&Automaticky spustit server při startu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "Zobrazit &serverové záznamy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:660 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

    Remember to leave calibre running as the server only runs as long as " "calibre is running.\n" @@ -5863,194 +6336,189 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" "Tady můžete upravit chování calibre, určením které moduly bude používat" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "Aktivovat/&Deaktivovat modul" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:664 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "&Upravit modul" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "&Odstranit modul" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "Přidat nový modul" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "&Soubor modulu:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "Přid&at" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 msgid "Create Tag-based Column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 msgid "Lookup name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 msgid "Column heading" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 msgid "Column type" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 msgid "Use brackets" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 msgid "Values can be edited" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 msgid "Text" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 msgid "Number" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:889 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:31 +#: /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:889 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "Datum" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 msgid "Tag on book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 msgid "Explanation text added in create_ct_column.py" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 msgid "Create and edit tag-based columns" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:19 msgid "Text, column shown in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:22 msgid "Comma separated text, like tags, shown in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:25 msgid "Long text, like comments, not shown in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:28 msgid "Text column for keeping series-like information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:33 msgid "Floating point numbers" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:35 msgid "Integers" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:37 msgid "Ratings, shown with stars" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:40 msgid "Yes/No" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:69 msgid "No column selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:70 msgid "No column has been selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:74 msgid "Selected column is not a user-defined column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:105 msgid "No lookup name was provided" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"The lookup name must contain only lower case letters, digits and " +"underscores, and start with a letter" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:116 msgid "No column heading was provided" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:122 msgid "The lookup name %s is already used" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:132 msgid "The heading %s is already used" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 msgid "&Lookup name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 msgid "Column &heading" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 msgid "" "Used for searching the column. Must contain only digits and lower case " "letters." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 msgid "" "Column heading in the library view and category name in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 msgid "Column &type" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 msgid "What kind of information will be kept in the column." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 msgid "" "

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

    \n" @@ -6061,43 +6529,43 @@ msgid "" " " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 msgid "Use MMM yyyy for month + year, yyyy for year only" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 msgid "Default: dd MMM yyyy." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 msgid "Format for &dates" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:21 msgid "Getting debug information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:22 msgid "Copy to &clipboard" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:24 msgid "Debug device detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:44 msgid "Invalid template" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:45 msgid "The template %s is invalid:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:42 msgid "Save &template" msgstr "Uložit šablonu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:43 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 " @@ -6106,110 +6574,167 @@ msgid "" "by the empty string." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:44 msgid "Available variables:" msgstr "Dostupné proměné:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/social.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/social.py:34 msgid "Downloading social metadata, please wait..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "&Znovu zobrazit toto upozornění" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/conversion_error_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:42 msgid "ERROR" msgstr "CHYBA" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:67 +#: /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/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 msgid "Location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1064 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1064 msgid "Format" msgstr "Formát" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 msgid "Delete from device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 msgid "Author sort" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 msgid "Sort by author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 msgid "Sort by author sort" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 msgid "" "Reset all the author sort values to a value automatically generated from the " "author. Exactly how this value is automatically generated can be controlled " "via Preferences->Advanced->Tweaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 msgid "Recalculate all author sort values" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "Autor (seřadit jako)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:62 msgid "ISBN" msgstr "ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:162 msgid "Finding metadata..." msgstr "Hledám metadata" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:176 msgid "Could not find metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:177 msgid "The metadata download seems to have stalled. Try again later." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:186 msgid "Warning" msgstr "Varování" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:187 msgid "Could not fetch metadata from:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:191 msgid "No metadata found" msgstr "Nenalezeny žádné metadata" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:192 msgid "" "No metadata found, try adjusting the title and author or the ISBN key." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 msgid "Fetch metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 msgid "" "

    calibre can find metadata for your books from two locations: Google " "Books and isbndb.com.

    To use isbndb.com you must sign up for a " @@ -6217,123 +6742,127 @@ msgid "" "below." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 msgid "&Access Key:" msgstr "&Přístupový klíč" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 msgid "Fetch" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 msgid "Matches" msgstr "Shody" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 msgid "" "Select the book that most closely matches your copy from the list below" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 msgid "Download &social metadata (tags/rating/etc.) for the selected book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 msgid "Overwrite author and title with author and title of selected book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/job_view_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:37 msgid "Details of job" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:44 msgid "Active Jobs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:45 msgid "&Stop selected job" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:46 msgid "Show job &details" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 msgid "Author s&ort: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 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/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "&Rating:" msgstr "&Hodnocení:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:372 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "Rating of this book. 0-5 stars" msgstr "Hodnocení této knihy. 0-5 hvězdiček" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 msgid "No change" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid " stars" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:378 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "Open Tag Editor" msgstr "Otevřít Editor značek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 msgid "&Remove tags:" msgstr "Odst&ranit tagy:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 msgid "Comma separated list of tags to remove from the books. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 msgid "Remove &format:" msgstr "Odstranit &formát:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 msgid "&Swap title and author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 msgid "" "Selected books will be automatically numbered,\n" "in the order you selected them.\n" @@ -6341,633 +6870,637 @@ msgid "" "Book A will have series number 1 and Book B series number 2." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 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/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 msgid "Remove &stored conversion settings for the selected books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "&Basic metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "&Custom metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:94 msgid "Last modified: %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:283 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "Nepodařilo se načíst obálku" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:465 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "Stáhnout obálku..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:585 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:590 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:596 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:586 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:597 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
    " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 msgid "" "For the error message from each cover source, click Show details below." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "Špatná obálka" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:750 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Edit Meta Information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "Meta information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Swap the author and title" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "" "Automatically create the author sort entry based on the current author entry" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Remove unused series (Series that have no books)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "IS&BN:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Publishe&d:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "dd MMM yyyy" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Date:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Comments" msgstr "&Komentáře" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "&Fetch metadata from server" msgstr "Získat data ze serveru" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Available Formats" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "Add a new format for this book to the database" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove the selected formats for this book from the database." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Update metadata from the metadata in the selected format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Reset cover to default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Download &cover" msgstr "Stáhnout obálku" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 msgid "Generate a default cover based on the title and author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "&Generate cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 msgid "Saved Search Editor" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 msgid "Saved Search: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 msgid "Select a saved search to edit" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 msgid "Delete this selected saved search" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 msgid "Enter a new saved search name." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 msgid "Add the new saved search" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 msgid "Change the contents of the saved search" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:120 msgid "Need username and password" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 msgid "You must provide a username and/or password to use this news source." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:172 msgid "Created by: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:179 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:194 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:196 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:220 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:192 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:223 msgid "Add a custom news source" msgstr "Přidat vlastní zdroj zpráv" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:228 msgid "Download all scheduled new sources" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:328 msgid "No internet connection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:329 msgid "Cannot download news as no internet connection is active" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:193 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:278 msgid "Recipes" msgstr "Zdroje" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:194 msgid "Download all scheduled recipes at once" msgstr "Stáhnout všechny připravené zdroje najednou" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:195 msgid "Download &all scheduled" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:196 msgid "blurb" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:198 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 msgid "Every " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 msgid "day" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 msgid "Monday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 msgid "Tuesday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 msgid "Wednesday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 msgid "Thursday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 msgid "Friday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 msgid "Saturday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 msgid "Sunday" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 msgid "at" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 msgid "&Account" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 msgid "&Schedule" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 msgid "Add &title as tag" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 msgid "&Extra tags:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 msgid "&Advanced" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "&Download now" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "Delete downloaded news older than " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 msgid "" "

    Negate this match. That is, only return results that do not match " "this query." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 msgid "Negate" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:113 msgid "Advanced Search" msgstr "Rozšířené vyhledávání" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:114 msgid "Find entries that have..." msgstr "Najít položky, které obsahují ....." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:115 msgid "&All these words:" msgstr "Všechn&a tato slova" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:116 msgid "This exact &phrase:" msgstr "Tuto frázi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:117 msgid "&One or more of these words:" msgstr "Kterékoliv z těchto slov" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 msgid "But dont show entries that have..." msgstr "Ale nezobrazovat položky, které mají...." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 msgid "Any of these &unwanted words:" msgstr "Některé z těchto slov:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 msgid "What kind of match to use:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 msgid "Contains: the word or phrase matches anywhere in the metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 msgid "Equals: the word or phrase must match an entire metadata field" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 msgid "" "Regular expression: the expression must match anywhere in the metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 msgid " " msgstr " " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 msgid "" "See the User Manual for more help" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/select_formats.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:80 msgid "Authors" msgstr "Autoři" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:111 msgid "Publishers" msgstr "Vydavatelé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:114 msgid " (not on any book)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:166 msgid "" "The current tag category will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:153 msgid "User Categories Editor" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:154 msgid "A&vailable items" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:155 msgid "Apply tags to current tag category" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:157 msgid "A&pplied items" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 msgid "Unapply (remove) tag from current tag category" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160 msgid "Category name: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161 msgid "Select a category to edit" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162 msgid "Delete this selected tag category" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:164 msgid "Enter a new category name. Select the kind before adding it." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165 msgid "Add the new category" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 msgid "Category filter: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168 msgid "Select the content kind of the new category" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Are your sure?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:69 msgid "" "The following tags are used by one or more books. Are you certain you want " "to delete them?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" msgstr "aplikovat tag na aktuální knihu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" msgstr "&Aplikované tagy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" msgstr "Odstranit tag z aktuální knihy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" msgstr "&Přidat tag:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." @@ -6975,191 +7508,187 @@ msgstr "" "Pokud tag, který hledáte není v seznamu dostupných tagů. můžete ho tu " "přidat. Je možné zadat více tagů oddělených čárkami." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" msgstr "Přidat tag do seznamu dostupných tagů a aplikovat na aktuální knihu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:20 msgid "%s (was %s)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:91 msgid "No item selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:92 msgid "You must select one item from the list of Available items." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:101 msgid "No items selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:102 msgid "You must select at least one items from the list." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:106 msgid "Are you certain you want to delete the following items?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 msgid "Category Editor" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 msgid "Items in use" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 msgid "" "Delete item from database. This will unapply the item from all books and " "then remove it from the database." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 msgid "Rename the item in every book where it is used." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 -msgid "Ctrl+S" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "Otestovat nastavení emailu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:52 msgid "Send test mail from %s to:" msgstr "Poslat testovací mail od %s pro:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "&Test" msgstr "&Test" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:127 msgid "No recipe selected" msgstr "Není vybrán žádný zdroj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:132 msgid "The attached file: %s is a recipe to download %s." msgstr "Připojený soubor: %s je recept na stažení %s." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:133 msgid "Recipe for " msgstr "Zdroj pro " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:150 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" msgstr "Přepnout do pokročilého režimu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:164 msgid "Switch to Basic mode" msgstr "Přepnout do základního režimu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:174 msgid "Feed must have a title" msgstr "Zdroj musí mít název" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:175 msgid "The feed must have a title" msgstr "Zdroj musí mít název" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:179 msgid "Feed must have a URL" msgstr "Zdroj musí mít URL" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:180 msgid "The feed %s must have a URL" msgstr "Zdroj %s musí mít URL" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:185 msgid "Already exists" msgstr "Už existuje" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:186 msgid "This feed has already been added to the recipe" msgstr "Tento RSS kanál již byl mezi zdroje přidán" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:227 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:286 msgid "Invalid input" msgstr "Neplatný vstup" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:228 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:237 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:287 msgid "

    Could not create recipe. Error:
    %s" msgstr "

    Nebylo možné vytvořit zdroj. Chyba:
    %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:241 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:290 msgid "Replace recipe?" msgstr "Nahradit zdroj?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:242 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:291 msgid "A custom recipe named %s already exists. Do you want to replace it?" msgstr "Zdroj s názvem %s již existuje. Chcete ho nahradit?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick recipe" msgstr "Vyberte zdroj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick the recipe to customize" msgstr "Vyberte zdroj, který chcete upravit" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:277 msgid "Choose a recipe file" msgstr "Vyberte soubor se zdrojem" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" msgstr "Přidat vlastní zdroj zpráv" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" msgstr "Dostupné uživatelské zdroje" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 msgid "Add/Update &recipe" msgstr "Přidat/Aktualizavat &Zdroj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 msgid "&Remove recipe" msgstr "Odst&ranit zdroj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 msgid "&Share recipe" msgstr "&Sdílet zdroj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 msgid "Customize &builtin recipe" msgstr "Upravit vestavěné zdroje" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 msgid "&Load recipe from file" msgstr "Načíst zdroj ze &souboru" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 msgid "" "\n" +"

    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.

    " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:260 msgid "Recipe &title:" -msgstr "" +msgstr "Recipe &title:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 msgid "&Oldest article:" -msgstr "" +msgstr "&Oldest article:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 msgid "The oldest article to download" -msgstr "" +msgstr "The oldest article to download" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 msgid "&Max. number of articles per feed:" -msgstr "" +msgstr "&Max. number of articles per feed:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265 msgid "Maximum number of articles to download per feed." -msgstr "" +msgstr "Maximum number of articles to download per feed." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:266 msgid "Feeds in recipe" -msgstr "" +msgstr "Feeds in recipe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:268 msgid "Remove feed from recipe" -msgstr "" +msgstr "Remove feed from recipe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:271 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:274 msgid "Add feed to recipe" -msgstr "" +msgstr "Add feed to recipe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272 msgid "&Feed title:" -msgstr "" +msgstr "&Feed title:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 msgid "Feed &URL:" -msgstr "" +msgstr "Feed &URL:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 msgid "&Add feed" -msgstr "" +msgstr "&Add feed" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276 msgid "" "For help with writing advanced news recipes, please visit User Recipes" msgstr "" +"For help with writing advanced news recipes, please visit User Recipes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:277 msgid "Recipe source code (python)" -msgstr "" +msgstr "Recipe source code (python)" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 msgid "" "\n" @@ -7236,1742 +8487,1538 @@ msgid "" "expression on a few sample filenames. The group names for the various " "metadata entries are documented in tooltips.

    " msgstr "" +"\n" +"\n" +"

    Set a regular expression " +"pattern to use when trying to guess ebook metadata from filenames.

    \n" +"

    A reference on the syntax " +"of regular expressions is available.

    \n" +"

    Use the Test functionality below to test your regular " +"expression on a few sample filenames. The group names for the various " +"metadata entries are documented in tooltips.

    " -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 msgid "Regular &expression" -msgstr "" +msgstr "Regular &expression" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:116 msgid "File &name:" -msgstr "" +msgstr "File &name:" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 msgid "Title:" -msgstr "" +msgstr "Title:" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:119 msgid "Regular expression (?P<title>)" -msgstr "" +msgstr "Regular expression (?P<title>)" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:129 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:83 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:87 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:92 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:99 msgid "No match" -msgstr "" +msgstr "No match" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 msgid "Authors:" -msgstr "" +msgstr "Authors:" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:122 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regular expression (?P)" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:124 msgid "Series:" -msgstr "" +msgstr "Series:" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:125 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regular expression (?P)" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:127 msgid "Series index:" -msgstr "" +msgstr "Series index:" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:128 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regular expression (?P)" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:130 msgid "ISBN:" -msgstr "" +msgstr "ISBN:" -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:131 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regular expression (?P)" -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:33 -msgid "Similar books..." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:66 -msgid "Add books to library" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:84 -msgid "Manage collections" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 msgid "Cover Browser" -msgstr "" +msgstr "Cover Browser" -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "Shift+Alt+B" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Tag Browser" -msgstr "" +msgstr "Tag Browser" -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "Shift+Alt+T" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 msgid "version" -msgstr "" +msgstr "version" -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 msgid "created by Kovid Goyal" -msgstr "" +msgstr "created by Kovid Goyal" -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 msgid "Connected " -msgstr "" +msgstr "Connected " -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 msgid "Update found" -msgstr "" +msgstr "Update found" -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:276 -#: /home/kovid/work/trunk/src/calibre/gui2/init.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 msgid "Book Details" -msgstr "" +msgstr "Book Details" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "Alt+D" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" +msgstr "Shift+Alt+D" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 msgid "Job" -msgstr "" +msgstr "Job" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 msgid "Status" -msgstr "" +msgstr "Status" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 msgid "Progress" -msgstr "" +msgstr "Progress" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" -msgstr "" +msgstr "Running time" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" -msgstr "" +msgstr "There are %d running jobs:" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" -msgstr "" +msgstr "Unknown job" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" -msgstr "" +msgstr "There are %d waiting jobs:" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:216 -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" -msgstr "" +msgstr "Cannot kill job" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" -msgstr "" +msgstr "Cannot kill jobs that communicate with the device" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" -msgstr "" +msgstr "Job has already run" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" -msgstr "" +msgstr "Unavailable" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" -msgstr "" +msgstr "Jobs:" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:298 -msgid "Click to see list of active jobs." -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" +msgstr "Maiusk+Alt+J" -#: /home/kovid/work/trunk/src/calibre/gui2/jobs.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "Egin klik lanen zerrenda ikusteko" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" -msgstr "" +msgstr " - Jobs" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:33 -msgid "Save single format to disk..." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 msgid "Eject this device" -msgstr "" +msgstr "Eject this device" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:85 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 msgid "Library" -msgstr "" +msgstr "Library" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 msgid "Show books in calibre library" -msgstr "" +msgstr "Show books in calibre library" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Reader" -msgstr "" +msgstr "Reader" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Show books in the main memory of the device" -msgstr "" +msgstr "Show books in the main memory of the device" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:89 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 msgid "Card A" -msgstr "" +msgstr "Card A" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 msgid "Show books in storage card A" -msgstr "" +msgstr "Show books in storage card A" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:91 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 msgid "Card B" -msgstr "" +msgstr "Card B" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 msgid "Show books in storage card B" -msgstr "" +msgstr "Show books in storage card B" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 msgid "available" -msgstr "" +msgstr "available" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 msgid "" "Books display will be restricted to those matching the selected saved search" msgstr "" +"Books display will be restricted to those matching the selected saved search" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 msgid "Advanced search" -msgstr "" +msgstr "Advanced search" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 msgid "" "

    Search the list of books by title, author, publisher, tags, comments, " "etc.

    Words separated by spaces are ANDed" msgstr "" +"

    Search the list of books by title, author, publisher, tags, comments, " +"etc.

    Words separated by spaces are ANDed" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "Reset Quick Search" -msgstr "" +msgstr "Reset Quick Search" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Copy current search text (instead of search name)" -msgstr "" +msgstr "Copy current search text (instead of search name)" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 msgid "Save current search under the name shown in the box" -msgstr "" +msgstr "Save current search under the name shown in the box" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 msgid "Delete current saved search" -msgstr "" +msgstr "Delete current saved search" -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:302 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:467 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:108 -msgid "%d books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:305 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:468 -msgid "Choose calibre library to work with" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:336 -msgid "Connect to folder" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:341 -msgid "Connect to iTunes" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:348 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:356 -msgid "Start Content Server" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:358 -msgid "Stop Content Server" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:369 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:375 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:377 -msgid "Email to" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:377 -msgid " and delete from library" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:389 -msgid "Setup email based sharing of books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:462 -msgid "A" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:462 -msgid "Add books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:463 -msgid "E" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:463 -msgid "Edit metadata" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:464 -msgid "C" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:464 -msgid "Convert books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:465 -msgid "V" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:465 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:568 -msgid "View" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:466 -msgid "Send to device" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:469 -msgid "F" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:469 -msgid "Fetch news" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:470 -msgid "S" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:470 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:551 -msgid "Save to disk" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:471 -msgid "Connect/share" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:472 -msgid "Del" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:472 -msgid "Remove books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:473 -msgid "Browse the calibre User Manual" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:473 -msgid "F1" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:473 -msgid "Help" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:474 -msgid "Ctrl+P" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:476 -msgid "M" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:476 -msgid "Merge book records" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:477 -msgid "Open containing folder" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:479 -msgid "Show book details" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:481 -msgid "Books by same author" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:483 -msgid "Books in this series" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:485 -msgid "Books by this publisher" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:487 -msgid "Books with the same tags" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:501 -msgid "Edit metadata individually" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:504 -msgid "Edit metadata in bulk" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:507 -msgid "Download metadata and covers" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:510 -msgid "Download only metadata" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:512 -msgid "Download only covers" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:515 -msgid "Download only social metadata" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:521 -msgid "Merge into first selected book - delete others" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:524 -msgid "Merge into first selected book - keep others" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:532 -msgid "Add books from a single directory" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:534 -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/trunk/src/calibre/gui2/layout.py:538 -msgid "" -"Add books from directories, including sub directories (Multiple books per " -"directory, assumes every ebook file is a different book)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:541 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:553 -msgid "Save to disk in a single directory" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:555 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:385 -msgid "Save only %s format to disk" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:559 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:388 -msgid "Save only %s format to disk in a single directory" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:569 -msgid "View specific format" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:575 -msgid "Remove selected books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:577 -msgid "Remove files of a specific format from selected books.." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:580 -msgid "Remove all formats from selected books, except..." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:583 -msgid "Remove covers from selected books" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:586 -msgid "Remove matching books from device" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:603 -msgid "Convert individually" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:605 -msgid "Bulk convert" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:609 -msgid "Create catalog of books in your calibre library" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:617 -msgid "Run welcome wizard" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "N" -msgstr "" +msgstr "N" -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "Y" -msgstr "" +msgstr "Y" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 msgid "On Device" -msgstr "" +msgstr "On Device" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 msgid "Size (MB)" -msgstr "" +msgstr "Size (MB)" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 msgid "Rating" -msgstr "" +msgstr "Rating" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:324 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1084 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1084 msgid "Book %s of %s." -msgstr "" +msgstr "Book %s of %s." -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:679 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" -msgstr "" +msgstr "The lookup/search name is \"{0}\"" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:886 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:886 msgid "In Library" -msgstr "" +msgstr "In Library" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:890 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:890 msgid "Size" -msgstr "" +msgstr "Size" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1162 msgid "Marked for deletion" -msgstr "" +msgstr "Marked for deletion" -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1165 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1165 msgid "Double click to edit me

    " -msgstr "" +msgstr "Double click to edit me

    " -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:110 msgid "Hide column %s" -msgstr "" +msgstr "Hide column %s" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:115 msgid "Sort on %s" -msgstr "" +msgstr "Sort on %s" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:116 msgid "Ascending" -msgstr "" +msgstr "Ascending" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:119 msgid "Descending" -msgstr "" +msgstr "Descending" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:131 msgid "Change text alignment for %s" -msgstr "" +msgstr "Change text alignment for %s" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:133 msgid "Left" -msgstr "" +msgstr "Left" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:133 msgid "Right" -msgstr "" +msgstr "Right" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:134 msgid "Center" -msgstr "" +msgstr "Center" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:153 msgid "Show column" -msgstr "" +msgstr "Show column" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:165 msgid "Restore default layout" -msgstr "" +msgstr "Restore default layout" -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" +"Dropping onto a device is not supported. First add the book to the calibre " +"library." -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/config_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:47 msgid "Configure Viewer" -msgstr "" +msgstr "Configure Viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/config_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:48 msgid "Use white background" -msgstr "" +msgstr "Use white background" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/config_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:49 msgid "Hyphenate" -msgstr "" +msgstr "Hyphenate" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/config_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:50 msgid "Changes will only take effect after a restart." -msgstr "" +msgstr "Changes will only take effect after a restart." -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70 msgid " - LRF Viewer" -msgstr "" +msgstr " - LRF Viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 msgid "No matches for the search phrase %s were found." -msgstr "" +msgstr "No matches for the search phrase %s were found." -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 msgid "No matches found" -msgstr "" +msgstr "No matches found" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 msgid "LRF Viewer" -msgstr "" +msgstr "LRF Viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 msgid "Parsing LRF file" -msgstr "" +msgstr "Parsing LRF file" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130 msgid "LRF Viewer toolbar" -msgstr "" +msgstr "LRF Viewer toolbar" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 msgid "Next Page" -msgstr "" +msgstr "Next Page" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" -msgstr "" +msgstr "Previous Page" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:188 msgid "Back" -msgstr "" +msgstr "Back" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:189 msgid "Forward" -msgstr "" +msgstr "Forward" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 msgid "Next match" -msgstr "" +msgstr "Next match" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:196 msgid "Open ebook" -msgstr "" +msgstr "Open ebook" -#: /home/kovid/work/trunk/src/calibre/gui2/lrf_renderer/main_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 msgid "Configure" -msgstr "" +msgstr "Configure" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30 msgid "Use the library located at the specified path." -msgstr "" +msgstr "Use the library located at the specified path." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:32 msgid "Start minimized to system tray." -msgstr "" +msgstr "Start minimized to system tray." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:34 msgid "Log debugging information to console" -msgstr "" +msgstr "Log debugging information to console" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:36 msgid "Do not check for updates" -msgstr "" +msgstr "Do not check for updates" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:598 msgid "Calibre Library" -msgstr "" +msgstr "Calibre Library" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 msgid "Choose a location for your calibre e-book library" -msgstr "" +msgstr "Choose a location for your calibre e-book library" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95 msgid "Failed to create library" -msgstr "" +msgstr "Failed to create library" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:96 msgid "Failed to create calibre library at: %r." -msgstr "" +msgstr "Failed to create calibre library at: %r." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:99 -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:184 msgid "Choose a location for your new calibre e-book library" -msgstr "" +msgstr "Choose a location for your new calibre e-book library" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:153 msgid "Initializing user interface..." -msgstr "" +msgstr "Initializing user interface..." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:178 msgid "Repairing failed" -msgstr "" +msgstr "Repairing failed" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 msgid "The database repair failed. Starting with a new empty library." -msgstr "" +msgstr "The database repair failed. Starting with a new empty library." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:193 -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:226 msgid "Bad database location" -msgstr "" +msgstr "Bad database location" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 msgid "Bad database location %r. calibre will now quit." -msgstr "" +msgstr "Bad database location %r. calibre will now quit." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 msgid "Corrupted database" -msgstr "" +msgstr "Corrupted database" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 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 "" +"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." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 msgid "" "Repairing database. This can take a very long time for a large collection" msgstr "" +"Repairing database. This can take a very long time for a large collection" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:227 msgid "" "Bad database location %r. Will start with a new, empty calibre library" msgstr "" +"Bad database location %r. Will start with a new, empty calibre library" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:238 msgid "Starting %s: Loading books..." -msgstr "" +msgstr "Starting %s: Loading books..." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:283 msgid "If you are sure it is not running" -msgstr "" +msgstr "If you are sure it is not running" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:285 msgid "Cannot Start " -msgstr "" +msgstr "Cannot Start " -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:286 msgid "%s is already running." -msgstr "" +msgstr "%s is already running." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:289 msgid "may be running in the system tray, in the" -msgstr "" +msgstr "may be running in the system tray, in the" -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 msgid "upper right region of the screen." -msgstr "" +msgstr "upper right region of the screen." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:293 msgid "lower right region of the screen." -msgstr "" +msgstr "lower right region of the screen." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:296 msgid "try rebooting your computer." -msgstr "" +msgstr "try rebooting your computer." -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:298 -#: /home/kovid/work/trunk/src/calibre/gui2/main.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:310 msgid "try deleting the file" -msgstr "" +msgstr "try deleting the file" -#: /home/kovid/work/trunk/src/calibre/gui2/main_window.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:20 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 "" +"Redirect console output to a dialog window (both stdout and stderr). Useful " +"on windows where GUI apps do not have a output streams." -#: /home/kovid/work/trunk/src/calibre/gui2/main_window.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:61 msgid "&Preferences" -msgstr "" +msgstr "&Preferences" -#: /home/kovid/work/trunk/src/calibre/gui2/main_window.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:62 msgid "&Quit" -msgstr "" +msgstr "&Quit" -#: /home/kovid/work/trunk/src/calibre/gui2/main_window.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:90 msgid "ERROR: Unhandled exception" -msgstr "" +msgstr "ERROR: Unhandled exception" -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:93 msgid "Book has neither title nor ISBN" -msgstr "" +msgstr "Book has neither title nor ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:119 msgid "No matches found for this book" -msgstr "" +msgstr "No matches found for this book" -#: /home/kovid/work/trunk/src/calibre/gui2/search_box.py:94 -#: /home/kovid/work/trunk/src/calibre/gui2/search_box.py:254 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 msgid "Search" -msgstr "" +msgstr "Search" -#: /home/kovid/work/trunk/src/calibre/gui2/search_box.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" +"Aukeratutako bilaketa betirako ezabatua izango da. Ziur zaude?" -#: /home/kovid/work/trunk/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "Search (For Advanced Search click the button to the left)" -msgstr "" +msgstr "Search (For Advanced Search click the button to the left)" -#: /home/kovid/work/trunk/src/calibre/gui2/search_box.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 msgid "Saved Searches" -msgstr "" +msgstr "Saved Searches" -#: /home/kovid/work/trunk/src/calibre/gui2/search_box.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 msgid "Choose saved search or enter name for new saved search" -msgstr "" +msgstr "Choose saved search or enter name for new saved search" -#: /home/kovid/work/trunk/src/calibre/gui2/search_restriction_mixin.py:10 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:10 msgid "Restrict to" -msgstr "" +msgstr "Restrict to" -#: /home/kovid/work/trunk/src/calibre/gui2/search_restriction_mixin.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" -msgstr "" +msgstr "(all books)" -#: /home/kovid/work/trunk/src/calibre/gui2/search_restriction_mixin.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 msgid "({0} of {1})" -msgstr "" +msgstr "({0} of {1})" -#: /home/kovid/work/trunk/src/calibre/gui2/search_restriction_mixin.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" -msgstr "" +msgstr "({0} of all)" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:58 msgid "Press a key..." -msgstr "" +msgstr "Press a key..." -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:79 msgid "Already assigned" -msgstr "" +msgstr "Already assigned" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:81 msgid "already assigned to" -msgstr "" +msgstr "already assigned to" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 msgid " or " -msgstr "" +msgstr " or " -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:133 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:69 msgid "&Default" -msgstr "" +msgstr "&Default" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:135 msgid "Customize shortcuts for" -msgstr "" +msgstr "Customize shortcuts for" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 msgid "Keys" -msgstr "" +msgstr "Keys" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:225 msgid "Double click to change" -msgstr "" +msgstr "Double click to change" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:68 msgid "Frame" -msgstr "" +msgstr "Frame" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:70 msgid "&Custom" -msgstr "" +msgstr "&Custom" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:71 msgid "&Shortcut:" -msgstr "" +msgstr "&Shortcut:" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:72 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:77 msgid "Click to change" -msgstr "" +msgstr "Click to change" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79 msgid "Clear" -msgstr "" +msgstr "Clear" -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:76 msgid "&Alternate shortcut:" -msgstr "" +msgstr "&Alternate shortcut:" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" -msgstr "" +msgstr "Rename '%s'" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" -msgstr "" +msgstr "Edit sort for '%s'" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" -msgstr "" +msgstr "Hide category %s" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" -msgstr "" +msgstr "Show category" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" -msgstr "" +msgstr "Show all categories" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:213 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" -msgstr "" +msgstr "Manage %s" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" -msgstr "" +msgstr "Manage Saved Searches" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:227 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" -msgstr "" +msgstr "Manage User Categories" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:432 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" -msgstr "" +msgstr "Searches" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" -msgstr "" +msgstr "Duplicate search name" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." -msgstr "" +msgstr "The saved search name %s is already used." -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" -msgstr "" +msgstr "Sort by name" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" -msgstr "" +msgstr "Sort by popularity" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" -msgstr "" +msgstr "Sort by average rating" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" -msgstr "" +msgstr "Set the sort order for entries in the Tag Browser" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" -msgstr "" +msgstr "Match all" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" -msgstr "" +msgstr "Match any" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 msgid "" "When selecting multiple entries in the Tag Browser match any or all of them" msgstr "" +"When selecting multiple entries in the Tag Browser match any or all of them" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 msgid "Manage &user categories" -msgstr "" +msgstr "Manage &user categories" -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" -msgstr "" +msgstr "Add your own categories to the Tag Browser" -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Convert book %d of %d (%s)" -msgstr "" +msgstr "Convert book %d of %d (%s)" -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 msgid "Could not convert some books" -msgstr "" +msgstr "Could not convert some books" -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 msgid "" "Could not convert %d of %d books, because no suitable source format was " "found." msgstr "" +"Could not convert %d of %d books, because no suitable source format was " +"found." -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 msgid "Queueing books for bulk conversion" -msgstr "" +msgstr "Queueing books for bulk conversion" -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 msgid "Queueing " -msgstr "" +msgstr "Queueing " -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:239 msgid "Fetch news from " -msgstr "" +msgstr "Fetch news from " -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:301 msgid "Convert existing" -msgstr "" +msgstr "Convert existing" -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:302 msgid "" "The following books have already been converted to %s format. Do you wish to " "reconvert them?" msgstr "" +"The following books have already been converted to %s format. Do you wish to " +"reconvert them?" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Restore" -msgstr "" +msgstr "&Restore" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Donate to support calibre" -msgstr "" +msgstr "&Donate to support calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Eject connected device" -msgstr "" +msgstr "&Eject connected device" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:169 -msgid "&Restart" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 msgid "Calibre Quick Start Guide" -msgstr "" +msgstr "Calibre Quick Start Guide" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:362 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:367 -msgid "Cannot configure" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:363 -msgid "Cannot configure while there are running jobs." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:368 -msgid "Cannot configure before calibre is restarted." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:415 -msgid "No detailed info available" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:416 -msgid "No detailed information is available for books on the device." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:468 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 msgid "Conversion Error" -msgstr "" +msgstr "Conversion Error" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." msgstr "" +"

    Could not convert: %s

    It is a DRMed book. You must " +"first remove the DRM using third party tools." -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 msgid "Recipe Disabled" -msgstr "" +msgstr "Recipe Disabled" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 msgid "Failed" -msgstr "" +msgstr "Failed" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." msgstr "" +"is the result of the efforts of many volunteers from all over the world. If " +"you find it useful, please consider donating to support its development. " +"Your donation helps keep calibre development going." -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 msgid "There are active jobs. Are you sure you want to quit?" -msgstr "" +msgstr "There are active jobs. Are you sure you want to quit?" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" " Are you sure you want to quit?" msgstr "" +" is communicating with the device!
    \n" +" Quitting may cause corruption on the device.
    \n" +" Are you sure you want to quit?" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 msgid "WARNING: Active jobs" -msgstr "" +msgstr "WARNING: Active jobs" -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." msgstr "" +"will keep running in the system tray. To close it, choose Quit in the " +"context menu of the system tray." -#: /home/kovid/work/trunk/src/calibre/gui2/update.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:56 msgid "Update available" -msgstr "" +msgstr "Update available" -#: /home/kovid/work/trunk/src/calibre/gui2/update.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:57 msgid "" "%s has been updated to version %s. See the new features. Visit the download page?" msgstr "" +"%s has been updated to version %s. See the new features. Visit the download page?" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43 msgid "Edit bookmark" -msgstr "" +msgstr "Edit bookmark" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43 msgid "New title for bookmark:" -msgstr "" +msgstr "New title for bookmark:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:52 msgid "Export Bookmarks" -msgstr "" +msgstr "Export Bookmarks" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:54 msgid "Saved Bookmarks (*.pickle)" -msgstr "" +msgstr "Saved Bookmarks (*.pickle)" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62 msgid "Import Bookmarks" -msgstr "" +msgstr "Import Bookmarks" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62 msgid "Pickled Bookmarks (*.pickle)" -msgstr "" +msgstr "Pickled Bookmarks (*.pickle)" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 msgid "Name" -msgstr "" +msgstr "Name" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:56 msgid "Bookmark Manager" -msgstr "" +msgstr "Bookmark Manager" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:57 msgid "Actions" -msgstr "" +msgstr "Actions" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:58 msgid "Edit" -msgstr "" +msgstr "Edit" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:59 msgid "Delete" -msgstr "" +msgstr "Delete" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:60 msgid "Reset" -msgstr "" +msgstr "Reset" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 msgid "Export" -msgstr "" +msgstr "Export" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 msgid "Import" -msgstr "" +msgstr "Import" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:154 msgid "Configure Ebook viewer" -msgstr "" +msgstr "Configure Ebook viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:155 msgid "&Font options" -msgstr "" +msgstr "&Font options" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:156 msgid "Se&rif family:" -msgstr "" +msgstr "Se&rif family:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:157 msgid "&Sans family:" -msgstr "" +msgstr "&Sans family:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:158 msgid "&Monospace family:" -msgstr "" +msgstr "&Monospace family:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:159 msgid "&Default font size:" -msgstr "" +msgstr "&Default font size:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:160 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:162 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:168 msgid " px" -msgstr "" +msgstr " px" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:161 msgid "Monospace &font size:" -msgstr "" +msgstr "Monospace &font size:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:163 msgid "S&tandard font:" -msgstr "" +msgstr "S&tandard font:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:164 msgid "Serif" -msgstr "" +msgstr "Serif" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:165 msgid "Sans-serif" -msgstr "" +msgstr "Sans-serif" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:166 msgid "Monospace" -msgstr "" +msgstr "Monospace" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:167 msgid "Remember last used &window size" -msgstr "" +msgstr "Remember last used &window size" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:169 msgid "Maximum &view width:" -msgstr "" +msgstr "Maximum &view width:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:170 msgid "H&yphenate (break line in the middle of large words)" -msgstr "" +msgstr "H&yphenate (break line in the middle of large words)" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:171 msgid "" "The default language to use for hyphenation rules. If the book does not " "specify a language, this will be used." msgstr "" +"The default language to use for hyphenation rules. If the book does not " +"specify a language, this will be used." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:172 msgid "Default &language for hyphenation:" -msgstr "" +msgstr "Default &language for hyphenation:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:173 msgid "&Resize images larger than the viewer window (needs restart)" -msgstr "" +msgstr "&Resize images larger than the viewer window (needs restart)" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:174 msgid "&User stylesheet" -msgstr "" +msgstr "&User stylesheet" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:175 msgid "&General" -msgstr "" +msgstr "&General" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:176 msgid "Double click to change a keyboard shortcut" -msgstr "" +msgstr "Double click to change a keyboard shortcut" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/config_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:177 msgid "&Keyboard shortcuts" -msgstr "" +msgstr "&Keyboard shortcuts" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/dictionary.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53 msgid "No results found for:" -msgstr "" +msgstr "No results found for:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:35 msgid "Options to customize the ebook viewer" -msgstr "" +msgstr "Options to customize the ebook viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 msgid "Remember last used window size" -msgstr "" +msgstr "Remember last used window size" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:44 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:81 msgid "" "Set the user CSS stylesheet. This can be used to customize the look of all " "books." msgstr "" +"Set the user CSS stylesheet. This can be used to customize the look of all " +"books." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 msgid "Maximum width of the viewer window, in pixels." -msgstr "" +msgstr "Maximum width of the viewer window, in pixels." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 msgid "Resize images larger than the viewer window to fit inside it" -msgstr "" +msgstr "Resize images larger than the viewer window to fit inside it" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49 msgid "Hyphenate text" -msgstr "" +msgstr "Hyphenate text" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51 msgid "Default language for hyphenation rules" -msgstr "" +msgstr "Default language for hyphenation rules" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 msgid "Font options" -msgstr "" +msgstr "Font options" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 msgid "The serif font family" -msgstr "" +msgstr "The serif font family" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 msgid "The sans-serif font family" -msgstr "" +msgstr "The sans-serif font family" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 msgid "The monospaced font family" -msgstr "" +msgstr "The monospaced font family" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:60 msgid "The standard font size in px" -msgstr "" +msgstr "The standard font size in px" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The monospaced font size in px" -msgstr "" +msgstr "The monospaced font size in px" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 msgid "The standard font type" -msgstr "" +msgstr "The standard font type" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" -msgstr "" +msgstr "&Lookup in dictionary" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:455 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." -msgstr "" +msgstr "Go to..." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" -msgstr "" +msgstr "Next Section" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" -msgstr "" +msgstr "Previous Section" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" -msgstr "" +msgstr "Document Start" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" -msgstr "" +msgstr "Document End" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" -msgstr "" +msgstr "Section Start" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" -msgstr "" +msgstr "Section End" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:12 msgid "Scroll to the next page" -msgstr "" +msgstr "Scroll to the next page" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:15 msgid "Scroll to the previous page" -msgstr "" +msgstr "Scroll to the previous page" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:18 msgid "Scroll to the next section" -msgstr "" +msgstr "Scroll to the next section" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:21 msgid "Scroll to the previous section" -msgstr "" +msgstr "Scroll to the previous section" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:24 msgid "Scroll to the bottom of the section" -msgstr "" +msgstr "Scroll to the bottom of the section" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:27 msgid "Scroll to the top of the section" -msgstr "" +msgstr "Scroll to the top of the section" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:30 msgid "Scroll to the end of the document" -msgstr "" +msgstr "Scroll to the end of the document" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:33 msgid "Scroll to the start of the document" -msgstr "" +msgstr "Scroll to the start of the document" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:36 msgid "Scroll down" -msgstr "" +msgstr "Scroll down" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:39 msgid "Scroll up" -msgstr "" +msgstr "Scroll up" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:42 msgid "Scroll left" -msgstr "" +msgstr "Scroll left" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/keys.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:45 msgid "Scroll right" -msgstr "" +msgstr "Scroll right" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:115 msgid "Book format" -msgstr "" +msgstr "Book format" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 msgid "Position in book" -msgstr "" +msgstr "Position in book" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 msgid "Go to a reference. To get reference numbers, use the reference mode." -msgstr "" +msgstr "Go to a reference. To get reference numbers, use the reference mode." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" -msgstr "" +msgstr "Search for text in book" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 msgid "Print Preview" -msgstr "" +msgstr "Print Preview" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 msgid "Connecting to dict.org to lookup: %s…" -msgstr "" +msgstr "Connecting to dict.org to lookup: %s…" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 msgid "Choose ebook" -msgstr "" +msgstr "Choose ebook" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 msgid "Ebooks" -msgstr "" +msgstr "Ebooks" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Add bookmark" -msgstr "" +msgstr "Add bookmark" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Enter title for bookmark:" -msgstr "" +msgstr "Enter title for bookmark:" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 msgid "No matches found for: %s" -msgstr "" +msgstr "No matches found for: %s" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 msgid "Loading flow..." -msgstr "" +msgstr "Loading flow..." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "Laying out %s" -msgstr "" +msgstr "Laying out %s" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 msgid "Manage Bookmarks" -msgstr "" +msgstr "Manage Bookmarks" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 msgid "Loading ebook..." -msgstr "" +msgstr "Loading ebook..." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 msgid "DRM Error" -msgstr "" +msgstr "DRM Error" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 msgid "

    This book is protected by DRM" -msgstr "" +msgstr "

    This book is protected by DRM" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 msgid "Could not open ebook" -msgstr "" +msgstr "Could not open ebook" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 msgid "Options to control the ebook viewer" -msgstr "" +msgstr "Options to control the ebook viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" +"If specified, viewer window will try to come to the front when started." -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:678 msgid "Print javascript alert and console messages to the console" -msgstr "" +msgstr "Print javascript alert and console messages to the console" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 msgid "" "%prog [options] file\n" "\n" "View an ebook.\n" msgstr "" +"%prog [options] file\n" +"\n" +"View an ebook.\n" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:184 msgid "E-book Viewer" -msgstr "" +msgstr "E-book Viewer" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:185 msgid "Close dictionary" -msgstr "" +msgstr "Close dictionary" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:187 msgid "toolBar" -msgstr "" +msgstr "toolBar" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:190 msgid "Next page" -msgstr "" +msgstr "Next page" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "Previous page" -msgstr "" +msgstr "Previous page" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:192 msgid "Font size larger" -msgstr "" +msgstr "Font size larger" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193 msgid "Font size smaller" -msgstr "" +msgstr "Font size smaller" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197 msgid "Find next" -msgstr "" +msgstr "Find next" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 msgid "Find next occurrence" -msgstr "" +msgstr "Find next occurrence" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 msgid "F3" -msgstr "" +msgstr "F3" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200 msgid "Copy to clipboard" -msgstr "" +msgstr "Copy to clipboard" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 msgid "Reference Mode" -msgstr "" +msgstr "Reference Mode" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203 msgid "Bookmark" -msgstr "" +msgstr "Bookmark" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204 msgid "Toggle full screen" -msgstr "" +msgstr "Toggle full screen" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 msgid "Print" -msgstr "" +msgstr "Print" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 msgid "Find previous" -msgstr "" +msgstr "Find previous" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 msgid "Find previous occurrence" -msgstr "" +msgstr "Find previous occurrence" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208 msgid "Shift+F3" -msgstr "" +msgstr "Shift+F3" -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/printing.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:114 msgid "Print eBook" -msgstr "" +msgstr "Print eBook" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:238 msgid "Copy Image" -msgstr "" +msgstr "Copy Image" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:239 msgid "Paste Image" -msgstr "" +msgstr "Paste Image" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:364 msgid "Change Case" -msgstr "" +msgstr "Change Case" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:365 msgid "Upper Case" -msgstr "" +msgstr "Upper Case" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:366 msgid "Lower Case" -msgstr "" +msgstr "Lower Case" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "Swap Case" -msgstr "" +msgstr "Swap Case" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:368 msgid "Title Case" -msgstr "" +msgstr "Title Case" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:838 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:838 msgid "Drag to resize" -msgstr "" +msgstr "Drag to resize" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 msgid "Show" -msgstr "" +msgstr "Show" -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 msgid "Hide" -msgstr "" +msgstr "Hide" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "Txandakatu" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" +"If you use the WordPlayer e-book app on your Android phone, you can access " +"your calibre book collection directly on the device. To do this you have to " +"turn on the content server." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:374 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" +"Remember to leave calibre running as the server only runs as long as calibre " +"is running." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:376 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." msgstr "" +"URL hau gehitu behar duzu http://myhostname:8080 zure calibre liburutegi " +"legezWordPlayer-ren. Hementxe nire-ostatze-izena izan beharko litzateke " +"erabat hartakoturiko, kualifikaturiko, ostatze-izena edo bestela, calibre " +"exekutatzen ari den ordenagailuko IP helbidea." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:453 msgid "Moving library..." -msgstr "" +msgstr "Moving library..." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:469 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:470 msgid "Failed to move library" -msgstr "" +msgstr "Failed to move library" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:524 msgid "Invalid database" -msgstr "" +msgstr "Invalid database" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" msgstr "" +"

    An invalid library already exists at %s, delete it before trying to move " +"the existing library.
    Error: %s" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:536 msgid "Could not move library" -msgstr "" +msgstr "Could not move library" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:590 msgid "Select location for books" -msgstr "" +msgstr "Select location for books" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:665 msgid "welcome wizard" -msgstr "" +msgstr "welcome wizard" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/device_ui.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/device_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 msgid "Welcome to calibre" -msgstr "" +msgstr "Welcome to calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/device_ui.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:43 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:43 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:51 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 msgid "The one stop solution to all your e-book needs." -msgstr "" +msgstr "The one stop solution to all your e-book needs." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/device_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:51 msgid "" "Choose your book reader. This will set the conversion options to produce " "books optimized for your device." msgstr "" +"Choose your book reader. This will set the conversion options to produce " +"books optimized for your device." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/device_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:52 msgid "&Manufacturers" -msgstr "" +msgstr "&Manufacturers" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/device_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:53 msgid "&Devices" -msgstr "" +msgstr "&Devices" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:44 msgid "" "

    Congratulations!

    You have successfully setup calibre. Press the %s " "button to apply your settings." msgstr "" +"

    Congratulations!

    You have successfully setup calibre. Press the %s " +"button to apply your settings." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 msgid "" "

    Demo videos

    Videos demonstrating the various features of calibre are " "available online." msgstr "" +"

    Demo videos

    Videos demonstrating the various features of calibre are " +"available online." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 msgid "" "

    User Manual

    A User Manual is also available online." msgstr "" +"

    User Manual

    A User Manual is also available online." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:44 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 " @@ -8979,208 +10026,231 @@ msgid "" "button below. You will also have to register your gmail address in your " "Amazon account." msgstr "" +"

    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." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:45 msgid "&Kindle email:" -msgstr "" +msgstr "&Kindle email:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:52 msgid "Choose your &language:" -msgstr "" +msgstr "Choose your &language:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:53 msgid "" "Choose a location for your books. When you add books to calibre, they will " "be copied here:" msgstr "" +"Aukeratu kokaleku bat zure liburuentzat. calibren liburuak gehitzen " +"dituzunean, hemen kopiatuko dira:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 msgid "&Change" -msgstr "" +msgstr "&Aldatu" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55 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 "" +"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." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 msgid "Using: %s:%s@%s:%s and %s encryption" -msgstr "" +msgstr "Using: %s:%s@%s:%s and %s encryption" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 msgid "Sending..." -msgstr "" +msgstr "Sending..." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 msgid "Mail successfully sent" -msgstr "" +msgstr "Mail successfully sent" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:114 msgid "Finish gmail setup" -msgstr "" +msgstr "Finish gmail setup" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:115 msgid "" "Dont forget to enter your gmail username and password. You can sign up for a " "free gmail account at http://gmail.com" msgstr "" +"Dont forget to enter your gmail username and password. You can sign up for a " +"free gmail account at http://gmail.com" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:130 msgid "Bad configuration" -msgstr "" +msgstr "Bad configuration" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 msgid "You must set the From email address" -msgstr "" +msgstr "You must set the From email address" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:131 msgid "You must set the username and password for the mail server." -msgstr "" +msgstr "You must set the username and password for the mail server." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:108 msgid "Send email &from:" -msgstr "" +msgstr "Send email &from:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:109 msgid "" "

    This is what will be present in the From: field of emails sent by " "calibre.
    Set it to your email address" msgstr "" +"

    This is what will be present in the From: field of emails sent by " +"calibre.
    Set it to your email address" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:110 msgid "" "

    A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" +"

    A mail server is useful if the service you are sending mail to only " +"accepts email from well know mail services." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:111 msgid "Mail &Server" -msgstr "" +msgstr "Mail &Server" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 msgid "calibre can optionally use a server to send mail" -msgstr "" +msgstr "calibre can optionally use a server to send mail" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 msgid "&Hostname:" -msgstr "" +msgstr "&Hostname:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" -msgstr "" +msgstr "The hostname of your mail server. For e.g. smtp.gmail.com" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 msgid "&Port:" -msgstr "" +msgstr "&Port:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" +"The port your mail server listens for connections on. The default is 25" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 msgid "Your username on the mail server" -msgstr "" +msgstr "Your username on the mail server" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Your password on the mail server" -msgstr "" +msgstr "Your password on the mail server" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "&Show" -msgstr "" +msgstr "&Show" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "&Encryption:" -msgstr "" +msgstr "&Encryption:" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" +"Use TLS encryption when connecting to the mail server. This is the most " +"common." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "&TLS" -msgstr "" +msgstr "&TLS" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "Use SSL encryption when connecting to the mail server." -msgstr "" +msgstr "Use SSL encryption when connecting to the mail server." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&SSL" -msgstr "" +msgstr "&SSL" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "Use Gmail" -msgstr "" +msgstr "Use Gmail" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Test email" -msgstr "" +msgstr "&Test email" -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:44 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 "" +"

    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." -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:45 msgid "Turn on the &content server" -msgstr "" +msgstr "Turn on the &content server" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:230 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:230 msgid "today" -msgstr "" +msgstr "today" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:233 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:233 msgid "yesterday" -msgstr "" +msgstr "yesterday" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:236 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:236 msgid "thismonth" -msgstr "" +msgstr "thismonth" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:239 -#: /home/kovid/work/trunk/src/calibre/library/caches.py:240 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:239 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:240 msgid "daysago" -msgstr "" +msgstr "daysago" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:398 -#: /home/kovid/work/trunk/src/calibre/library/caches.py:408 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:398 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:408 msgid "no" -msgstr "" +msgstr "no" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:398 -#: /home/kovid/work/trunk/src/calibre/library/caches.py:408 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:398 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:408 msgid "unchecked" -msgstr "" +msgstr "unchecked" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:401 -#: /home/kovid/work/trunk/src/calibre/library/caches.py:411 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:401 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:411 msgid "checked" -msgstr "" +msgstr "checked" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:401 -#: /home/kovid/work/trunk/src/calibre/library/caches.py:411 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:401 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:411 msgid "yes" -msgstr "" +msgstr "yes" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:405 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:405 msgid "blank" -msgstr "" +msgstr "blank" -#: /home/kovid/work/trunk/src/calibre/library/caches.py:405 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:405 msgid "empty" -msgstr "" +msgstr "empty" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -9188,16 +10258,25 @@ msgid "" "Default: '%%default'\n" "Applies to: CSV, XML output formats" msgstr "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %s.\n" +"Default: '%%default'\n" +"Applies to: CSV, XML output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" "Default: '%default'\n" "Applies to: CSV, XML output formats" msgstr "" +"Output field to sort on.\n" +"Available fields: author_sort, id, rating, size, timestamp, title.\n" +"Default: '%default'\n" +"Applies to: CSV, XML output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:206 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:206 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -9205,24 +10284,37 @@ msgid "" "Default: '%%default'\n" "Applies to: BIBTEX output format" msgstr "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %s.\n" +"Default: '%%default'\n" +"Applies to: BIBTEX output format" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:216 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:216 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 "" +"Output field to sort on.\n" +"Available fields: author_sort, id, rating, size, timestamp, title.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:225 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:225 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Create a citation for BibTeX entries.\n" +"Boolean value: True, False\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:234 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:234 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -9230,39 +10322,59 @@ msgid "" "Default: '%%default'\n" "Applies to: BIBTEX output format" msgstr "" +"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" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:244 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:244 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"BibTeX file encoding output.\n" +"Available types: utf8, cp1252, ascii.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:253 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:253 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"BibTeX file encoding flag.\n" +"Available types: strict, replace, ignore, backslashreplace.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:262 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:262 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Entry type for BibTeX catalog.\n" +"Available types: book, misc, mixed.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:530 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:530 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Title of generated catalog used as title in metadata.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:537 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:537 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 " @@ -9270,15 +10382,24 @@ msgid "" "Default: '%default'None\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Gorde itzazu zehaztutako direktorioan bihurketa prozesuaren atal guztien " +"outputak, irteera-emaitzak. Erabilgarria ez badakizu prozesuaren zein unetan " +"gertatu egiten den errorea.\n" +"Lehenetsita: '%default'None\n" +"Aplikatzeko formatu hauetarako: ePUB eta MOBI irteera formatuak" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:547 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Ohiko adierazpena genero bezala baztertzeko etiketak deskribatzen.\n" +"Lehenetsita: '%default' baztertzen ditu parentesiak dauzkaten etiketak, " +"adibidez '[]'\n" +"Erantsiko da: ePub, MOBI output formatuetan" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -9286,29 +10407,43 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Comma-separated list of tag words indicating book should be excluded from " +"output. Case-insensitive.\n" +"--exclude-tags=skip will match 'skip this book' and 'Skip will like this'.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Include 'Titles' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:568 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:568 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Include 'Recently Added' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:575 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:575 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:582 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:582 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -9316,8 +10451,13 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Sort titles with leading numbers as text, e.g.,\n" +"'2001: A Space Odyssey' sorts as \n" +"'Two Thousand One: A Space Odyssey'.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:589 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:589 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -9326,28 +10466,42 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"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" -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:596 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:596 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Tag indicating book has been read.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:41 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:41 msgid "" "Path to the calibre library. Default is to use the path stored in the " "settings." msgstr "" +"Path to the calibre library. Default is to use the path stored in the " +"settings." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:120 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:120 msgid "" "%prog list [options]\n" "\n" "List the books available in the calibre database.\n" msgstr "" +"%prog list [options]\n" +"\n" +"List the books available in the calibre database.\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:128 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:128 msgid "" "The fields to display when listing books in the database. Should be a comma " "separated list of fields.\n" @@ -9355,56 +10509,73 @@ msgid "" "Default: %%default. The special field \"all\" can be used to select all " "fields. Only has effect in the text output format." msgstr "" +"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." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:135 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:135 msgid "" "The field by which to sort the results.\n" "Available fields: %s\n" "Default: %%default" msgstr "" +"The field by which to sort the results.\n" +"Available fields: %s\n" +"Default: %%default" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:137 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:137 msgid "Sort results in ascending order" -msgstr "" +msgstr "Sort results in ascending order" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:139 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:139 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 "" +"Bilaketa galderaren arabera iragazten ditu emaitzak. Galdetzen denaren " +"formaturako, mesedez begiratu bilaketari buruzko dokumentazioa " +"Erabiltzailearen eskuliburua. Lehenetsita: ez egin inolako iragazpenik." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:141 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:141 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" +"The maximum width of a single line in the output. Defaults to detecting " +"screen size." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:142 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:142 msgid "The string used to separate fields. Default is a space." -msgstr "" +msgstr "The string used to separate fields. Default is a space." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:143 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:143 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" +"The prefix for all file paths. Default is the absolute path to the library " +"folder." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:165 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:165 msgid "Invalid fields. Available fields:" -msgstr "" +msgstr "Invalid fields. Available fields:" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:172 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "Invalid sort field. Available fields:" -msgstr "" +msgstr "Invalid sort field. Available fields:" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" +"The following books were not added as they already exist in the database " +"(see --duplicates option):" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:267 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:267 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -9412,44 +10583,53 @@ msgid "" "directories, see\n" "the directory related options below.\n" msgstr "" +"%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" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:276 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:276 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 "" +"Assume that each directory has only a single logical book and that all files " +"in it are different e-book formats of that book" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:278 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:278 msgid "Process directories recursively" -msgstr "" +msgstr "Process directories recursively" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:280 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" +"Gehitu liburuak datu-basera, nahiz eta dagoeneko bertan izan. Erkaketa " +"liburuen izenburuetan oinarrituko da." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:282 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:282 msgid "Add an empty book (a book with no formats)" -msgstr "" +msgstr "Add an empty book (a book with no formats)" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:284 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:284 msgid "Set the title of the added empty book" -msgstr "" +msgstr "Set the title of the added empty book" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:286 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:286 msgid "Set the authors of the added empty book" -msgstr "" +msgstr "Set the authors of the added empty book" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:288 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:288 msgid "Set the ISBN of the added empty book" -msgstr "" +msgstr "Set the ISBN of the added empty book" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 msgid "You must specify at least one file to add" -msgstr "" +msgstr "You must specify at least one file to add" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "" "%prog remove ids\n" "\n" @@ -9457,12 +10637,17 @@ msgid "" "separated list of id numbers (you can get id numbers by using the list " "command). For example, 23,34,57-85\n" msgstr "" +"%prog ezabatu IDak\n" +"\n" +"Ezabatu IDren bidez identifikaturiko liburuak datu-basetik. IDak komen bidez " +"bereiziriko ID zenbaki zerrenda bat izan beharko lukete ( ID zenbakiak " +"eskura ditzakezu \"list\" agindua erabiliz). Adibidez, 23,34,57-85\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:344 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:344 msgid "You must specify at least one book to remove" -msgstr "" +msgstr "Ezabatzeko gutxienez liburu bat zehaztu beharko duzu" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:363 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:363 msgid "" "%prog add_format [options] id ebook_file\n" "\n" @@ -9470,16 +10655,23 @@ msgid "" "identified by id. You can get id by using the list command. If the format " "already exists, it is replaced.\n" msgstr "" +"%prog add_format [aukerak] id ebook_fitxategia\n" +"\n" +"Gehitu ebook_fitxategian dagoen liburu elektronikoa eskuragarri dauden " +"formatuetan IDren bidez identifikatutako liburu logikorako. IDak lor " +"ditzakezu \"list\" agindua erabiliz. Formatu existitzen bada dagoeneko, " +"ordeztu egingo da.\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 msgid "You must specify an id and an ebook file" msgstr "" +"Zehaztu egin beharko duzu ID bat eta liburu-elektroniko fitxategi bat" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:383 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:383 msgid "ebook file must have an extension" -msgstr "" +msgstr "liburu elektronikoaren fitxategiak luzapena izan beharko du" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:391 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:391 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -9488,12 +10680,19 @@ msgid "" "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 "" +"\n" +"%prog remove_format [aukerak] ID fmt\n" +"\n" +"Ezabatu fmt formatua IDren bidez identifikaturiko liburu logikotik. IDak lor " +"ditzakezu list agindua erabiliz. fmt hori fitxategi luzapena izan beharko " +"du, LRF edo TXT edo EPUB ezagunago horiek bezala. Liburu logikoak ez badu " +"fmt eskurakagarririk, ez egin ezer.\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:408 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:408 msgid "You must specify an id and a format" -msgstr "" +msgstr "Zehaztu behar duzu ID bat eta formatu bat" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:426 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:426 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -9502,16 +10701,22 @@ msgid "" "id.\n" "id is an id number from the list command.\n" msgstr "" +"\n" +"%prog show_metadata [aukerak] ID\n" +"\n" +"Erakutsi calibre data-basean gordetako metadatuak IDren bidez " +"identifikatutako liburuarentzat.\n" +"id zera da, ID zenbakia \"list\" agindurako.\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:434 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:434 msgid "Print metadata in OPF form (XML)" -msgstr "" +msgstr "Inprima itzazu metadatuak OPF formatuarekin (XML)" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:443 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:443 msgid "You must specify an id" -msgstr "" +msgstr "ID bat zehaztu beharko duzu" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:456 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:456 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -9523,12 +10728,20 @@ msgid "" "can get a quick feel for the OPF format by using the --as-opf switch to the\n" "show_metadata command.\n" msgstr "" +"\n" +"%prog set_metadata [aukerak] ID /bidea/nora/metadatuak.opf\n" +"\n" +"Erakutsi calibre data-basean gordetako metadatuak IDren bidez " +"identifikatutako liburuarentzat OPF fitxategitik metadata.opf. ID zera da, " +"ID zenbakia \"list\" agindurako. Zuk\n" +"ikuspegi azkar bat izan dezakezu OPF formatuarena erabiliz --as-opf legez " +"aldatuta show_metadata agindura.\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:472 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:472 msgid "You must specify an id and a metadata file" -msgstr "" +msgstr "Zehazu beharko duzu IDren bat eta metadatuen fitxategiren bat" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:492 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:492 msgid "" "%prog export [options] ids\n" "\n" @@ -9538,28 +10751,36 @@ msgid "" "(in\n" "an opf file). You can get id numbers from the list command.\n" msgstr "" +"%prog esportatu [aukerak] ID\n" +"\n" +"Esportatu IDren bidez zehaztutako liburuak (komen bidez bereiziriko " +"zerrenda) hona: filesystem, fitxategi sistemara.\n" +"Esportatzeko aukerak liburuaren formatu guztiak gordetzen ditu, liburu-azala " +"eta metadatuak barne (formatu honetan,\n" +"OPF fitxategi formatuan). Lor ditzakezu ID zenbakiak \"list\" agindutik.\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:500 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:500 msgid "Export all books in database, ignoring the list of ids." msgstr "" +"Esportatu data-baseko liburu guztiak, ID zerrendari ez ikusiarena eginez." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:502 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:502 msgid "Export books to the specified directory. Default is" -msgstr "" +msgstr "Esportatu liburua zehaztutako direktoriora. Lehenetsita hauxe:" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:504 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:504 msgid "Export all books into a single directory" -msgstr "" +msgstr "Esportatu liburu guztiak direktorio sinple batera" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:511 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:511 msgid "Specifying this switch will turn this behavior off." -msgstr "" +msgstr "Aldaketa hau zehaztuz jokabide hau bertan behera geratuko da." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:534 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:534 msgid "You must specify some ids or the %s option" -msgstr "" +msgstr "ID batzuk zehaztu egin beharko dituzu edo %s aukera" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:547 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:547 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -9569,24 +10790,36 @@ msgid "" "column.\n" "datatype is one of: {0}\n" msgstr "" +"%prog add_custom_column [aukerak] etiketa izena data-mota\n" +"\n" +"Sortu pertsonalizaturiko zutabe bat. \"Etiketa\" zutabearen goitizena da. Ez " +"luke\n" +"espaziorik edo bi puntuko ikurrik eduki behar. \"Izena\" zutabearen " +"goitizena da.\n" +"datu-mota hauetako bat da: {0}\n" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:556 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:556 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" +"Zutabe honek datu itxurako etiketak gordetzen ditu (adibidez koma anitzekin " +"bereiziriko balioak). Aplikatuko da datu-tipoa testua baldin bada, besterik " +"ez." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:560 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:560 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted." msgstr "" +"Aukeren glosario bat pertsonalizatzeko nola interpretatuko diren datuak " +"zutabe honetan." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:573 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:573 msgid "You must specify label, name and datatype" -msgstr "" +msgstr "Zehaztu beharko duzu etiketa mota, izena eta datu tipoa" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:631 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:631 msgid "" "\n" " %prog catalog /path/to/destination.(csv|epub|mobi|xml ...) [options]\n" @@ -9596,31 +10829,49 @@ msgid "" "ouput.\n" " " msgstr "" +"\n" +" %prog katalogoa /bidea/nora/helmuga. (csv|epub|mobi|xml ...) [aukerak]\n" +"\n" +"Esportatu katalogoa honela zehaztutako formatuko luzapenarekin " +"bidea/nora/helmuga.\n" +"\n" +"Aukerek kontrolatzen dute nola erakusten diren sarrerek sortzen duten " +"katalogoaren outputa, helburua.\n" +" " -#: /home/kovid/work/trunk/src/calibre/library/cli.py:645 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:645 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" +"Komen bidez bereiziriko IDen datu base zerrenda katalogatzeko.\n" +"Adierazten bada, --search hori baztertu egingo da.\n" +"Lehenetsita: dena" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:649 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:649 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 "" +"Bilaketa galderaren arabera iragazten ditu emaitzak. Bilaketa galderaren " +"formatua hautatzeko, mesedez, ikus bilaketari buruzko dokumentazioa " +"Erabiltzailearen eskuliburuan.\n" +"Lehenetsita: irazkirik ez" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:655 -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:655 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:505 msgid "Show detailed output information. Useful for debugging" msgstr "" +"Erakutsi output informazioa, irteera informazioa, ondo zehaztuta. " +"Akatsgabetzeko erabilgarria" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:668 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:668 msgid "Error: You must specify a catalog output file" -msgstr "" +msgstr "Errorea: zehaztu beharko duzu irteera katalogo fitxategi bat" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -9631,18 +10882,30 @@ msgid "" " command.\n" " " msgstr "" +"\n" +" %prog set_custom [aukerak] zutabearen ID balioa\n" +"\n" +" Ezarri pertsonalizatutako zutabe baten balioa IDren bidez " +"pertsonalizatutako liburuarentzat.\n" +" IDen zerrenda bat lor dezakezu list agindua erabiliz.\n" +" Lor dezakezu pertsonalizatutako zutabeen izena " +"pertsonalizatutako_zutabeak erabiliz\n" +" agindua.\n" +" " -#: /home/kovid/work/trunk/src/calibre/library/cli.py:721 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:721 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" +"Zutabeak balio anitz gordetzen baditu, erantsi zehaztutako balioak " +"lehenagotik zeuden balioetara, ordeztu beharrean." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:732 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:732 msgid "Error: You must specify a field name, id and value" -msgstr "" +msgstr "Errorea: zehaztu behar duzu eremu izen bat, ID bat eta balio bat" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:751 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:751 msgid "" "\n" " %prog custom_columns [options]\n" @@ -9650,20 +10913,26 @@ msgid "" " List available custom columns. Shows column labels and ids.\n" " " msgstr "" +"\n" +" %prog pertsonalizatutako_zutabeak [aukerak]\n" +"\n" +" Zerrendatzen ditu eskuragarri dauden pertsonalizatutako zutabeak. " +"Erakusten ditu zutabeen etiketak eta IDak.\n" +" " -#: /home/kovid/work/trunk/src/calibre/library/cli.py:758 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:758 msgid "Show details for each column." -msgstr "" +msgstr "Erakutsi zehaztasunak zutabe bakoitzean." -#: /home/kovid/work/trunk/src/calibre/library/cli.py:770 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:770 msgid "You will lose all data in the column: %r. Are you sure (y/n)? " -msgstr "" +msgstr "Galduko dituzu zutabeko datu guztiak: %r. Ziur zaude (bai/ez)? " -#: /home/kovid/work/trunk/src/calibre/library/cli.py:772 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:772 msgid "y" -msgstr "" +msgstr "bai" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:778 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:778 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -9672,16 +10941,80 @@ msgid "" " columns with the custom_columns command.\n" " " msgstr "" +"\n" +" %prog remove_custom_column [aukerak] label\n" +"\n" +" Ezabatu etiketaren bidez pertsonalizatutako zutabea. Eskuragarri ikus " +"dezakezu\n" +" zutabeak custom_columns aginduarekin, (pertsonalizatu_zutabeak).\n" +" " -#: /home/kovid/work/trunk/src/calibre/library/cli.py:786 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:786 msgid "Do not ask for confirmation" -msgstr "" +msgstr "Ez eskatu baieztapenik" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:796 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:796 msgid "Error: You must specify a column label" -msgstr "" +msgstr "Errorea: zutabearen etiketa zehaztu beharko duzu" -#: /home/kovid/work/trunk/src/calibre/library/cli.py:809 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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 "" +"\n" +" %prog saved_searches [aukerak] list\n" +" %prog saved_searches gehitu bilatzen den izena\n" +" %prog saved_searches ezabatu izena\n" +"\n" +" Kudeatu datu-basean gordetako bilaketak.\n" +" Saiatzen bazara dagoeneko badagoen izenarekin galdera-bilaketa egiten, " +"zera gertatuko da,\n" +" ordeztu egingo dela.\n" +" " + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "Errorea: ekintza bat zehaztu behar duzu (gehitu|ezabatu|zerrendatu)" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "Izena:" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "Katea bilatzen:" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "Errorea: zehaztu behar duzu izen bat eta bilaketa-kate bat" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "gehiturik" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "Errorea: izen bat zehaztu behar duzu" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "ezabaturik" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" +"Errorea: %s ekintza ezezaguntzat hartu da, hauetako bat beharko: " +"(gehitu|ezabatu|zerrendatu)" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "" "%%prog command [options] [arguments]\n" "\n" @@ -9692,651 +11025,766 @@ msgid "" "\n" "For help on an individual command: %%prog command --help\n" msgstr "" +"%%prog agindua [aukera] [argumentuak]\n" +"\n" +"%%prog agindu lerroaren interfazea da calibre liburuak datu-baserantz.\n" +"\n" +"agindua hauetakoa da:\n" +" %s\n" +"\n" +"Aginduren bati buruz laguntza behar izatekotan: %%prog agindua --help\n" -#: /home/kovid/work/trunk/src/calibre/library/database2.py:71 +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:537 +msgid "No label was provided" +msgstr "Etiketarik ez da eskaini" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 +msgid "" +"The label must contain only lower case letters, digits and underscores, and " +"start with a letter" +msgstr "" +"Etiketak idazteko bakarrik letra xeheak, zenbakiak eta azpimarrak (hau da " +"beheko gidoitxoak). Letra batekin hasi beharko" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:71 msgid "%sAverage rating is %3.1f" -msgstr "" +msgstr "%sBatezbesteko balorazioa hauxe: %3.1f" -#: /home/kovid/work/trunk/src/calibre/library/database2.py:569 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 msgid "Main" -msgstr "" +msgstr "Nagusia" -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1799 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 msgid "

    Migrating old database to ebook library in %s

    " msgstr "" +"

    Migrazioa egiten datu base zaharretik liburu elektronikoen liburutegira " +"zera honetan: %s

    " -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1828 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" -msgstr "" +msgstr "Kopiatzen %s" -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1845 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" -msgstr "" +msgstr "Trinkotzen datu basea" -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1938 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." -msgstr "" +msgstr "Aztertzen SQL-ren osotasuna..." -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1979 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." -msgstr "" +msgstr "Aztertzen fitxategi galduen bila." -#: /home/kovid/work/trunk/src/calibre/library/database2.py:2001 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" -msgstr "" +msgstr "Aztertutako ID" -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:122 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:122 msgid "Ratings" -msgstr "" +msgstr "Balorazioak" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:24 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:24 msgid "The title" -msgstr "" +msgstr "Izenburua" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:25 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:25 msgid "The authors" -msgstr "" +msgstr "Egileak" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:26 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:26 msgid "" "The author sort string. To use only the first letter of the name use " "{author_sort[0]}" msgstr "" +"Egile-izenen sailkapen katea. Erabiltzeko bakarrik egilearen izenaren lehen " +"letra, erabil ezazu {author_sort[0]}" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:28 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:28 msgid "The tags" -msgstr "" +msgstr "Etiketak" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:29 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:29 msgid "The series" -msgstr "" +msgstr "Serieak" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:30 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:30 msgid "" "The series number. To get leading zeros use {series_index:0>3s} or " "{series_index:>3s} for leading spaces" msgstr "" +"Serie zenbakia. Erabil ezazu {series_index:0>3s} zeroak ezkerretara " +"tartekatzeko edo {series_index:>3s} espazioak tartekatzeko" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:33 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:33 msgid "The rating" -msgstr "" +msgstr "Balorazioa" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:34 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:34 msgid "The ISBN" -msgstr "" +msgstr "ISBN zkia." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:35 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:35 msgid "The publisher" -msgstr "" +msgstr "Argitaletxea" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:36 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:36 msgid "The date" -msgstr "" +msgstr "Data" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:37 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:37 msgid "The published date" -msgstr "" +msgstr "Noiz argitaratua" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:38 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:38 msgid "The calibre internal id" -msgstr "" +msgstr "calibreren barneko ID" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:48 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:48 msgid "Options to control saving to disk" -msgstr "" +msgstr "Kontrolatzeko diskoan gordetzeko aukerak" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:54 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:54 msgid "" "Normally, calibre will update the metadata in the saved files from what is " "in the calibre library. Makes saving to disk slower." msgstr "" +"Normalean, calibrek metadatuak eguneratuko ditu gordetako fitxategietan, " +"calibreren liburutegian dauden edukiei esker. Eguneratze honek diskoan " +"gordetze prozesua moteltzen du." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:57 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:57 msgid "" "Normally, calibre will write the metadata into a separate OPF file along " "with the actual e-book files." msgstr "" +"Normalean, calibrek metadatuak bereiziriko OPF fitxategi batean idatziko " +"ditu, oraingo liburu elektronikoen fitxategiekin batera." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:60 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:60 msgid "" "Normally, calibre will save the cover in a separate file along with the " "actual e-book file(s)." msgstr "" +"Normalean, calibrek liburu-azalak bereiziriko fitxategi batean gordeko ditu, " +"oraingo liburu elektronikoen fitxategi(ar)ekin batera." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:63 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:63 msgid "" "Comma separated list of formats to save for each book. By default all " "available books are saved." msgstr "" +"Liburu bakoitzari buruz gordetzeko komen bidez bereiziriko formatuen " +"zerrenda. Lehenetsita hauxe: eskuragarri dauden liburu guztiak gordeko dira." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:66 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:66 msgid "" "The template to control the filename and directory structure of the saved " "files. Default is \"%s\" which will save books into a per-author " "subdirectory with filenames containing title and author. Available controls " "are: {%s}" msgstr "" +"Txantiloia, fitxategiaren izena kontrolatzeko txantiloia eta gordetako " +"fitxategien direktorioaren estruktura kontrolatzeko txantiloia. Lehenetsita " +"hauxe \"%s\". Liburuak egile-izenaren araberako azpi-direktorio batean " +"gordeko ditu non fitxategi-izenak liburuaren izenburua eta egile-izenak " +"izango ditu bere baitan. Eskuragarri dauden kontrolak hauek dira: {%s}" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:71 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:71 msgid "" "The template to control the filename and directory structure of files sent " "to the device. Default is \"%s\" which will save books into a per-author " "directory with filenames containing title and author. Available controls " "are: {%s}" msgstr "" +"Fitxategi-izena eta fitxategien estrukturen direktorioa kontrolatzeko " +"txantiloia. Lehenetsita hau \"%s\" hau dago eta honek liburuak egile-" +"izenaren araberako direktorio batera liburuaren izenburuarekin eta egilearen " +"izenarekin gordeko ditu. Eskuragarri dauden kontrolak hauek dira: {%s}" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:78 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:78 msgid "" "Normally, calibre will convert all non English characters into English " "equivalents for the file names. WARNING: If you turn this off, you may " "experience errors when saving, depending on how well the filesystem you are " "saving to supports unicode." msgstr "" +"Normalean, fitxategi izenetan, calibrek ingelesez erabiltzen ez diren " +"karaktere guztiak ingelesezko haien ordainetara bihurtuko ditu. KONTUZ: " +"aukera hau erabiltzen ez baduzu, agian akatsak izango dituzu gordetzerakoan. " +"Akatsak izateko aukera gordetzen ari zaren fitxategi-sistemak zelan jasaten " +"duen unicode araberakoa izango da." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:84 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:84 msgid "" "The format in which to display dates. %d - day, %b - month, %Y - year. " "Default is: %b, %Y" msgstr "" +"Datak erakusteko formatua. %d - eguna, %b - hilabetea, %Y - urtea (AEBko " +"ohitura). Lehenetsita honela: %b, %Y" -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:87 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:87 msgid "Convert paths to lowercase." -msgstr "" +msgstr "Bihurtu bideak minuskuletara, letra xeheetara." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:89 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:89 msgid "Replace whitespace with underscores." -msgstr "" +msgstr "Ordeztu espazio zuriak azpiko marrekin." -#: /home/kovid/work/trunk/src/calibre/library/save_to_disk.py:263 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:263 msgid "Requested formats not available" -msgstr "" +msgstr "Eskatutako formatuak ez daude eskuragarri" -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:21 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:21 msgid "Settings to control the calibre content server" -msgstr "" +msgstr "Ezarpenak calibre edukien zerbitzaria kontrolatzeko" -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:25 msgid "The port on which to listen. Default is %default" msgstr "" +"Konexioa egiteko portua, nondik espero dugu konexioa. Lehenetsita hauxe dago " +"%default." -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:27 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:27 msgid "The server timeout in seconds. Default is %default" msgstr "" +"Zerbitzariaren denbora muga segundotan. Lehenetsita hauxe dago %default." -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:29 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:29 msgid "The max number of worker threads to use. Default is %default" msgstr "" +"Erabiltzeko lan-hari kopuru maximoa. Lehenetsita hauxe dago %default." -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:31 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:31 msgid "Set a password to restrict access. By default access is unrestricted." msgstr "" +"Sarbidea murrizteko ezarri pasahitz bat. Lehenetsitako hauxe: sarrera librea." -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:33 msgid "Username for access. By default, it is: %default" -msgstr "" +msgstr "Sartzeko erabiltzaile-izena. Lehenetsita hauxe dago: %default" -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:37 msgid "The maximum size for displayed covers. Default is %default." msgstr "" +"Erakutsiko diren liburu-azalen tamaina maximoa. Lehenetsita hauxe: %default." -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:39 msgid "" "The maximum number of matches to return per OPDS query. This affects Stanza, " "WordPlayer, etc. integration." msgstr "" +"Bat egite kopuru maximoa OPDS galdera edo eskaera bakoitzeko. Honek Stanza, " +"WordPlayer, eta abarrekin bat egiterakoan izango du eragin." -#: /home/kovid/work/trunk/src/calibre/library/server/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:43 msgid "" "Group items in categories such as author/tags by first letter when there are " "more than this number of items. Default: %default. Set to a large number to " "disable grouping." msgstr "" +"Multzokatu elementuak kategorietan, egilea/etiketa bezalakoetan, lehen " +"letraren arabera elementu kopurua zenbateko honetatik gorakoa denean. " +"Lehenetsita: %default. Ezarri kopuru altua multzoka batu ez daitezen." -#: /home/kovid/work/trunk/src/calibre/library/server/base.py:94 +#: /home/kovid/work/calibre/src/calibre/library/server/base.py:94 msgid "Password to access your calibre library. Username is " -msgstr "" +msgstr "calibre liburutegian sartzeko pasahitza. Erabiltzaile izena: " -#: /home/kovid/work/trunk/src/calibre/library/server/main.py:28 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:28 msgid "" "[options]\n" "\n" "Start the calibre content server." msgstr "" +"[aukerak]\n" +"\n" +"Hasi calibre edukien zerbitzaria." -#: /home/kovid/work/trunk/src/calibre/library/server/main.py:30 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:30 msgid "Path to the library folder to serve with the content server" -msgstr "" +msgstr "Liburutegiko karpetara edukien zerbitzaritik zuzenago hartzeko bidea" -#: /home/kovid/work/trunk/src/calibre/library/server/main.py:32 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:32 msgid "Write process PID to the specified file" msgstr "" +"Idatzi prozesuaren PIDa, (?proportional–integral–derivative controller), " +"fitxategi jakin horretan" -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" +"Murrizketa bat zehazten du aginte hau ematerakoan. Aukera honek aldera uzten " +"ditu GUI horretan zehazten diren liburutegietako ezarpenak" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "%d liburua" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" -msgstr "" +msgstr "%d elementuak" -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
    " -msgstr "" +msgstr "BALORAZIOA: %s
    " -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
    " -msgstr "" +msgstr "ETIKETAK: %s
    " -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
    " -msgstr "" +msgstr "SERIEAK: %s [%s]
    " -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" -msgstr "" +msgstr "Zure liburutegiko liburuak" -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " -msgstr "" +msgstr "Egilea: " -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " -msgstr "" +msgstr "Liburuak honen arabera sailkatuak: " -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" -msgstr "" +msgstr "Berriena" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:34 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:34 msgid "%sUsage%s: %s\n" -msgstr "" +msgstr "%sErabilera%s: %s\n" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:78 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:78 msgid "Created by " -msgstr "" +msgstr "Sortzailea: " -#: /home/kovid/work/trunk/src/calibre/utils/config.py:79 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "" "Whenever you pass arguments to %prog that have spaces in them, enclose the " "arguments in quotation marks." msgstr "" +"Espazioak dauzkaten argumentuak %prog horretara pasatzen dituzunean, idatzi " +"argumentuak aipu marken artean, kakotxen artean." -#: /home/kovid/work/trunk/src/calibre/utils/config.py:663 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:663 msgid "Path to the database in which books are stored" -msgstr "" +msgstr "Liburuak gordeta dauden datu baserako bidea" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:665 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:665 msgid "Pattern to guess metadata from filenames" -msgstr "" +msgstr "Fitxategi-izenetatik metadatuak asmatzeko eredua" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:667 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:667 msgid "Access key for isbndb.com" -msgstr "" +msgstr "isbndb.com horretan sartzeko pasahitza" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:669 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:669 msgid "Default timeout for network operations (seconds)" -msgstr "" +msgstr "Lehenetsitako denbora-muga interneteko eragiketetarako (segundoak)" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:671 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:671 msgid "Path to directory in which your library of books is stored" -msgstr "" +msgstr "Zure liburuak gordeta dauden liburutegiko direktoriorako bidea" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:673 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:673 msgid "The language in which to display the user interface" -msgstr "" +msgstr "Erabiltzailearen interfazean erakutsiko den hizkuntza" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:675 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:675 msgid "The default output format for ebook conversions." msgstr "" +"Lehenetsitako irteera formatua liburu elektronikoen formatu bihurketetan." -#: /home/kovid/work/trunk/src/calibre/utils/config.py:679 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:679 msgid "Ordered list of formats to prefer for input." msgstr "" +"Sorburu bezala hobesten diren formatuak hobesten diren moduan zerrendatuta." -#: /home/kovid/work/trunk/src/calibre/utils/config.py:681 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:681 msgid "Read metadata from files" -msgstr "" +msgstr "Irakurri metadatuak fitxategietatik" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:683 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:683 msgid "The priority of worker processes" -msgstr "" +msgstr "Lanean dauden prozesuen lehentasuna" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:685 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:685 msgid "Swap author first and last names when reading metadata" -msgstr "" +msgstr "Trukatu egilearen izena eta deitura metadatuak irakurtzerakoan" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:687 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:687 msgid "Add new formats to existing book records" -msgstr "" +msgstr "Gehitu formatu berriak dagoeneko grabatuta dauden liburuetara" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:692 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:692 msgid "List of named saved searches" -msgstr "" +msgstr "Izenarekin gorde diren bilaketen zerrenda" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:693 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:693 msgid "User-created tag browser categories" -msgstr "" +msgstr "Erabiltzaileak sortutako arakatzailerako etiketen kategoriak" -#: /home/kovid/work/trunk/src/calibre/utils/config.py:695 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:695 msgid "How and when calibre updates metadata on the device." -msgstr "" +msgstr "Nola eta noiz eguneratzen ditu calibrek metadatuak irakurgailuan." -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:43 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 msgid "Waiting..." -msgstr "" +msgstr "Itxaroten..." -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:51 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 msgid "Stopped" -msgstr "" +msgstr "Geldirik" -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Finished" -msgstr "" +msgstr "Amaiturik" -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:75 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 msgid "Working..." -msgstr "" +msgstr "Lanean..." -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:95 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:95 msgid "Brazilian Portuguese" -msgstr "" +msgstr "Brazileko portugesa" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:96 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:96 msgid "English (UK)" -msgstr "" +msgstr "Ingelesa (Erresuma Batua)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:97 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:97 msgid "Simplified Chinese" -msgstr "" +msgstr "Txinera sinplifikatua" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:98 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:98 msgid "Chinese (HK)" -msgstr "" +msgstr "Txinera (Hong Kong)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:99 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:99 msgid "Traditional Chinese" -msgstr "" +msgstr "Txinera tradizionala" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:100 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:100 msgid "English" -msgstr "" +msgstr "Ingelesa" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:101 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:101 msgid "English (Australia)" -msgstr "" +msgstr "Ingelesa (Australia)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:102 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:102 msgid "English (New Zealand)" -msgstr "" +msgstr "Ingelesa (Zeelanda Berria)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:103 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 msgid "English (Canada)" -msgstr "" +msgstr "Ingelesa (Kanada)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:104 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 msgid "English (India)" -msgstr "" +msgstr "Ingelesa (India)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:105 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 msgid "English (Thailand)" -msgstr "" +msgstr "Ingelesa (Thailandia)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:106 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106 msgid "English (Cyprus)" -msgstr "" +msgstr "Ingelesa (Zipre)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:107 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:107 msgid "English (Pakistan)" -msgstr "" +msgstr "Ingelesa (Pakistan)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:108 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108 msgid "English (Israel)" -msgstr "" +msgstr "Ingelesa (Israel)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:109 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109 msgid "English (Singapore)" -msgstr "" +msgstr "Ingelesa (Singapur)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:110 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110 msgid "English (Yemen)" -msgstr "" +msgstr "Ingelesa (Yemen)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:111 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111 msgid "English (Ireland)" -msgstr "" +msgstr "Ingelesa (Irlanda / Eire)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:112 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112 msgid "English (China)" -msgstr "" +msgstr "Ingelesa (Txina)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:113 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113 msgid "Spanish (Paraguay)" -msgstr "" +msgstr "Gaztelania (Paraguai)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:114 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114 msgid "German (AT)" -msgstr "" +msgstr "Alemana (AT)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:115 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 msgid "Dutch (NL)" -msgstr "" +msgstr "Nederlandera (Herbehereak)" -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 msgid "Dutch (BE)" -msgstr "" +msgstr "Nederlandera (Belgika)" -#: /home/kovid/work/trunk/src/calibre/utils/sftp.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" -msgstr "" +msgstr "URL-ak sftp eskema behar du izan" -#: /home/kovid/work/trunk/src/calibre/utils/sftp.py:57 +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:57 msgid "host must be of the form user@hostname" msgstr "" +"ostatze zerbitzua itxura hau behar du izan: " +"erabitzailearenizena@ostatzezerbitzuarena" -#: /home/kovid/work/trunk/src/calibre/utils/sftp.py:68 +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:68 msgid "Failed to negotiate SSH session: " -msgstr "" +msgstr "Huts egin du SSH saioa ezartzerakoan: " -#: /home/kovid/work/trunk/src/calibre/utils/sftp.py:71 +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:71 msgid "Failed to authenticate with server: %s" -msgstr "" +msgstr "Huts egin du zerbitzariarekin egiaztatzerakon: %s" -#: /home/kovid/work/trunk/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 msgid "Control email delivery" -msgstr "" +msgstr "Kontrolatu e-posta banaketa" -#: /home/kovid/work/trunk/src/calibre/web/feeds/__init__.py:118 +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:118 msgid "Unknown section" -msgstr "" +msgstr "Sail ezezaguna" -#: /home/kovid/work/trunk/src/calibre/web/feeds/__init__.py:140 +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:140 msgid "Unknown feed" -msgstr "" +msgstr "Jario ezezaguna" -#: /home/kovid/work/trunk/src/calibre/web/feeds/__init__.py:158 -#: /home/kovid/work/trunk/src/calibre/web/feeds/__init__.py:183 +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:158 +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:183 msgid "Untitled article" -msgstr "" +msgstr "Izenbururik gabeko artikulua" -#: /home/kovid/work/trunk/src/calibre/web/feeds/input.py:21 +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:21 msgid "Download periodical content from the internet" -msgstr "" +msgstr "Deskargatu internetetik aldian behingo edukia" -#: /home/kovid/work/trunk/src/calibre/web/feeds/input.py:36 +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:36 msgid "" "Useful for recipe development. Forces max_articles_per_feed to 2 and " "downloads at most 2 feeds." msgstr "" +"Erabilgarria formulak garatzeko. Behartzen du max_articles_per_feed, jarioko-" +"artikulu-kopuru-maximoa, 2 izatera eta deskargatzen ditu 2 jario askoz jota." -#: /home/kovid/work/trunk/src/calibre/web/feeds/input.py:39 +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:39 msgid "Username for sites that require a login to access content." msgstr "" +"Edukiak lortzeko izena ematea eskatzen duten guneetarako erabiltzaile-izena." -#: /home/kovid/work/trunk/src/calibre/web/feeds/input.py:42 +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:42 msgid "Password for sites that require a login to access content." -msgstr "" +msgstr "Edukiak lortzeko izena ematea eskatzen duten guneetarako pasahitza." -#: /home/kovid/work/trunk/src/calibre/web/feeds/input.py:46 +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:46 msgid "" "Do not download latest version of builtin recipes from the calibre server" -msgstr "" +msgstr "Ez deskargatu azken builtin formulen bertsioak calibre zerbitzaritik" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:46 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:46 msgid "Unknown News Source" -msgstr "" +msgstr "Albiste iturri ezezaguna" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:609 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:609 msgid "The \"%s\" recipe needs a username and password." msgstr "" +"Honek \"%s\" formula honek erabiltzaile-izena eta pasahitza behar ditu." -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:708 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:708 msgid "Download finished" -msgstr "" +msgstr "Deskarga burutua" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:710 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:710 msgid "Failed to download the following articles:" -msgstr "" +msgstr "Huts egin du honako artikulu hauek deskargatzerakoan:" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:716 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:716 msgid "Failed to download parts of the following articles:" -msgstr "" +msgstr "Huts egin du honako artikulu hauen zatiak deskargatzerakoan:" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:718 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:718 msgid " from " -msgstr "" +msgstr " hemendik " -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:720 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:720 msgid "\tFailed links:" -msgstr "" +msgstr "\tEz dabiltzan estekak:" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:809 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:809 msgid "Could not fetch article. Run with -vv to see the reason" msgstr "" +"Ezin izan da artikulua eskuratu. Exekutatu -vv hori zergatia ikusteko" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:830 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:830 msgid "Fetching feeds..." -msgstr "" +msgstr "Jarioak eskuratzen..." -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:835 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:835 msgid "Got feeds from index page" -msgstr "" +msgstr "Jarioak hartuta hasiera orrialdetik" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:841 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:841 msgid "Trying to download cover..." -msgstr "" +msgstr "Liburu-azala deskargatzen saiatzen..." -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:843 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:843 msgid "Generating masthead..." -msgstr "" +msgstr "Sortzen idazpurua..." -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:924 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:924 msgid "Starting download [%d thread(s)]..." -msgstr "" +msgstr "Hasi deskarga [%d haria(k)]..." -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:940 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:940 msgid "Feeds downloaded to %s" -msgstr "" +msgstr "Jarioak hona deskargatuta %s" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:950 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:950 msgid "Could not download cover: %s" -msgstr "" +msgstr "Ezin izan da liburu-azala deskargatu: %s" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:962 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:962 msgid "Downloading cover from %s" -msgstr "" +msgstr "Deskargatzen liburu-azala hemendik %s" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1003 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1003 msgid "Masthead image downloaded" -msgstr "" +msgstr "Idazpuruko irudia deskargatuta" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1172 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1172 msgid "Untitled Article" -msgstr "" +msgstr "Izenbururik gabeko artikulua" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1243 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1243 msgid "Article downloaded: %s" -msgstr "" +msgstr "Deskargatutako artikulua: %s" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1254 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1254 msgid "Article download failed: %s" -msgstr "" +msgstr "Huts egin du artikuluaren deskarga: %s" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1271 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 msgid "Fetching feed" -msgstr "" +msgstr "Jarioa eskuratzen" -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1418 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1418 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "" +"Izena emate saioak huts egin du, azter itzazu zure erabiltzaile-izena eta " +"pasahitza calibreren Aldian behingo zerbitzurako." -#: /home/kovid/work/trunk/src/calibre/web/feeds/news.py:1434 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1434 msgid "" "You do not have permission to download this issue. Either your subscription " "has expired or you have exceeded the maximum allowed downloads for today." msgstr "" +"Ez duzu argitalpen hori deskargatzeko baimenik. Edo zure harpidetza iraungi " +"egin da edo gaurkoz egun baterako onartzen den deskarga kopuru maximotik " +"gora zabiltza." -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:47 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:47 msgid "You" -msgstr "" +msgstr "Zu" -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/model.py:73 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/model.py:82 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/model.py:193 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:73 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:82 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:193 msgid "Scheduled" -msgstr "" +msgstr "Programatua" -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/model.py:84 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/model.py:194 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:84 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:194 msgid "Custom" -msgstr "" +msgstr "Pertsonalizatua" -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:482 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:482 msgid "" "%prog URL\n" "\n" "Where URL is for example http://google.com" msgstr "" +"%prog URL\n" +"\n" +"Non URLa, esate baterako, http://google.com da" -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:485 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:485 msgid "Base directory into which URL is saved. Default is %default" msgstr "" +"Oinarrizko direktorioa non URLa gordetzen den. Lehenetsita hauxe dago " +"%default." -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:488 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:488 msgid "" "Timeout in seconds to wait for a response from the server. Default: %default " "s" msgstr "" +"Zerbitzaritik erantzunaren zain egoteko denbora-muga, segundotan. " +"Lehenetsita: %default s." -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:491 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:491 msgid "" "Maximum number of levels to recurse i.e. depth of links to follow. Default " "%default" msgstr "" +"Maila kopuru maximoa behin eta berriro, errekurtsiboki, hau da jarraitzeko " +"esteken sakonera. Lehenetsita: %default" -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:494 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 msgid "" "The maximum number of files to download. This only applies to files from tags. Default is %default" msgstr "" +"Deskargatzeko onartuko den gehienezko fitxategi kopurua. Hua bakarrik " +"aplikatuko da etiketeten fitxategietara. Lehenetsita hauxe dago, " +"%default." -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:496 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 msgid "" "Minimum interval in seconds between consecutive fetches. Default is %default " "s" msgstr "" +"Gutxieneko denbora unea datu eskuraketen artean, segundotan. Lehenetsita " +"hauxe dago, %default s" -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:498 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 msgid "" "The character encoding for the websites you are trying to download. The " "default is to try and guess the encoding." msgstr "" +"Deskargatzen saiatzen ari zaren webguneen karaktere kodeketa. Lehenetsia " +"dagoen balioa kodeketa asmatzen saiatzen ibiltzea da." -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:500 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:500 msgid "" "Only links that match this regular expression will be followed. This option " "can be specified multiple times, in which case as long as a link matches any " "one regexp, it will be followed. By default all links are followed." msgstr "" +"Adierazpen arrunt honekin bat datozen estekei bakarrik jarraituko. Aukera " +"hau hamaika aldiz erabil daiteke, esteka batek bat egin arte adierazpen " +"arrunt batekin, regexp horietako batekin. Hori gertatzen denean estekari " +"jarraiki egingo zaio. Lehenetsita: esteka guztiei jarrai." -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:502 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:502 msgid "" "Any link that matches this regular expression will be ignored. This option " "can be specified multiple times, in which case as long as any regexp matches " @@ -10344,10 +11792,16 @@ msgid "" "filter-regexp and --match-regexp are specified, then --filter-regexp is " "applied first." msgstr "" +"Adierazpen arrunt honekin bat datozen edozein estekei ez zaie jaramonik " +"egingo. Aukera hau hamaika aldiz erabil daiteke, esteka batek bat egiten " +"duenean adierazpen arrunt batekin, regexp horietako batekin. Hori gertatzen " +"denean, orduan estekari ez zaio jaramonik egingo. Lehenetsita: esteka " +"guztiei arreta beti. Biak --filter-regexp eta --match-regexp erabiltzen " +"badira, orduan --filter-regexp aplikatuko da lehenengo." -#: /home/kovid/work/trunk/src/calibre/web/fetch/simple.py:504 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:504 msgid "Do not download CSS stylesheets." -msgstr "" +msgstr "Ez deskargatu CSS (Cascading Style Sheets) estilo orririk." #~ msgid "This profile is intended for the SONY PRS line. The 500/505/700 etc." #~ msgstr "Profil hau SONY PRS modeluentzat zuzendua dago. 500/505/700 etab." @@ -10379,5 +11833,8 @@ msgstr "" #~ msgid "Communicate with the Sony PRS-300/505/500 eBook reader." #~ msgstr "Komunikatu Sony PRS-300/505/500 eBook irakurgailuarekin." +#~ msgid "Communicate with the Teclast K3 reader." +#~ msgstr "Jar zaitez harremanetan \"Teclast K3 reader\" horrekin." + #~ msgid "Communicate with the Promedia eBook reader" #~ msgstr "Jar zaitez harremanetan \"Promedia eBook reader\" horrekin." diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po index 9d0652c269..2768b99aa5 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: 2010-07-09 22:00+0000\n" -"PO-Revision-Date: 2010-07-09 20:16+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-26 22:09+0000\n" +"Last-Translator: Rami Selin \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: 2010-07-10 03:57+0000\n" +"X-Launchpad-Export-Date: 2010-08-27 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,29 +27,29 @@ msgstr "Ei tee mitään" #: /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:492 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:396 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:428 -#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:69 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 #: /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:235 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:236 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 #: /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/fb2.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 #: /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 @@ -62,14 +62,14 @@ msgstr "Ei tee mitään" #: /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/txt.py:14 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:38 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:64 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:77 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:152 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:610 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:816 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:818 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:817 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:819 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:911 @@ -100,48 +100,48 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:233 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:235 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:291 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:814 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:817 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:907 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1193 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:882 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:87 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:335 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:347 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:950 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1019 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1620 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1622 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1744 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:268 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 #: /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 @@ -170,6 +170,10 @@ msgstr "Metatietojen kirjoittaja" msgid "Catalog generator" msgstr "Katalogin luoja" +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " @@ -248,7 +252,7 @@ msgstr "Aseta metatiedot %s -tiedostoista" msgid "Conversion Input" msgstr "Muunnon syöttö" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -286,7 +290,7 @@ msgstr "" "jos et tiedä mitään syötettävästä dokumentista." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:412 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:414 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" @@ -297,64 +301,64 @@ msgid "This profile is intended for the SONY PRS 300." msgstr "Tämä profiili on tarkoitettu SONY PRS-300 -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:447 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:449 msgid "This profile is intended for the SONY PRS-900." msgstr "Tämä profiili on tarkoitettu SONY PRS-900 -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:477 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:479 msgid "This profile is intended for the Microsoft Reader." msgstr "Tämä profiili on tarkoitettu Microsoft Reader -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:488 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the Mobipocket books." msgstr "Tämä profiili on tarkoitettu Mobipocket-kirjoille." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:501 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "" "Tämä profiili on tarkoitettu Hanlin V3 -laitteelle ja sen klooneille." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:513 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "" "Tämä profiili on tarkoitettu Hanlin V5 -laitteelle ja sen klooneille." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:523 msgid "This profile is intended for the Cybook G3." msgstr "Tämä profiili on tarkoitettu Cybook G3 -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:534 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 msgid "This profile is intended for the Cybook Opus." msgstr "Tämä profiili on tarkoitettu Cybook Opus -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:545 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:547 msgid "This profile is intended for the Amazon Kindle." msgstr "Tämä profiili on tarkoitettu Amazon Kindle -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:580 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:584 msgid "This profile is intended for the Irex Illiad." msgstr "Tämä profiili on tarkoitettu Irex Illiad -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:593 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "Tämä profiili on tarkoitettu IRex Digital Reader 1000 -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:607 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:611 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "Tämä profiili on tarkoitettu IRex Digital Reader 800 -laitteelle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:621 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:625 msgid "This profile is intended for the B&N Nook." msgstr "Tämä profiili on tarkoitettu B&N Nook -laitteelle." @@ -372,26 +376,26 @@ msgstr "" "jos haluat tuottaa dokumentin luettavaksi tietokoneella tai erilaisilla " "laitteilla." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:259 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "" "Tarkoitettu iPadille ja vastaaville laitteille, joiden näyttötarkkuus on " "768x1024" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:425 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:427 msgid "This profile is intended for the Kobo Reader." msgstr "Tämä profiili on tarkoitettu Kobo Readerille." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:438 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 msgid "This profile is intended for the SONY PRS-300." msgstr "Tämä profiili on tarkoitettu SONY PRS-300 -laitteelle." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:456 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 msgid "This profile is intended for the 5-inch JetBook." msgstr "Tämä profiili on tarkoitettu 5-tuumaiselle JetBook-laitteelle." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:465 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:467 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -399,39 +403,39 @@ msgstr "" "Tämä profiili on tarkoitettu SONY PRS -laitteille, esim. 500/505/700 jne, " "vaakatasossa käytettäväksi. Käyttökelpoinen etenkin sarjakuville." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:563 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 msgid "This profile is intended for the Amazon Kindle DX." msgstr "Tämä profiili on tarkoitettu Amazon Kindle DX -laitteelle." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Installed plugins" msgstr "Asennetut lisäosat" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Mapping for filetype plugins" msgstr "Tiedostotyyppien lisäosan kuvaus" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Local plugin customization" msgstr "Paikallisten lisäosien säätö" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Disabled plugins" msgstr "Käytöstä poistetut lisäosat" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Enabled plugins" msgstr "Käytössä olevat pluginit" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:84 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 msgid "No valid plugin found in " msgstr "Sopivaa lisäosaa ei löydetty " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:468 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "%s lisäosan alustaminen epäonnistui:" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:501 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -443,17 +447,17 @@ msgstr "" " Säädä calibrea lataamalla ulkoisia lisäosia.\n" " " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:507 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "Lisää lisäosa määrittämällä sen sisältävän zip-tiedoston polku." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:509 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Poista valinnainen lisäosa nimen perusteella. Ei vaikuta " "sisäänrakennettuihin lisäosiin" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." @@ -461,15 +465,15 @@ msgstr "" "Säädä lisäosaa. Määritä lisäosan nimi ja säädöksen käskyjono pilkulla " "erotettuna." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:513 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Listaa kaikki asennetut lisäosat" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Salli nimetty lisäosa" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Poista nimetty lisäosa käytöstä" @@ -477,7 +481,7 @@ msgstr "Poista nimetty lisäosa käytöstä" msgid "Communicate with Android phones." msgstr "Kommunikoi Android-puhelinten kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:45 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -485,13 +489,13 @@ 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:77 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Kommunikoi S60-puhelimien kanssa." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:87 msgid "Communicate with iTunes/iBooks." -msgstr "" +msgstr "Kommunikoi iTunesin/iBooksin kanssa" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:93 msgid "Apple device detected, launching iTunes, please wait ..." @@ -506,14 +510,14 @@ msgstr "Päivittää laitteen metatietolistausta..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2791 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2830 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d %d:stä" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2836 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "Valmis" @@ -543,19 +547,19 @@ 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:2471 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:807 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:813 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:239 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:167 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:180 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1504 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:128 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Uutiset" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2698 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "Kommunikoi iTunesin kanssa." @@ -611,7 +615,7 @@ msgid "Use an arbitrary folder as a device." msgstr "Käytä kansiota laitteena." #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:26 -#: /home/kovid/work/calibre/src/calibre/devices/interface.py:23 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 msgid "Device Interface" msgstr "Laiterajapinta" @@ -619,15 +623,15 @@ msgstr "Laiterajapinta" msgid "Communicate with Hanlin V3 eBook readers." msgstr "Kommunikoi Hanlin V3 -lukijoiden kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "Kommunikoi Hanlin V5 -lukijoiden kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Kommunikoi BOOX-lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -643,15 +647,15 @@ msgstr "Kommunikoi Hanvon N520 -lukijan kanssa." msgid "Communicate with The Book reader." msgstr "Kommunikoi The Book -lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:51 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:52 msgid "Communicate with the SpringDesign Alex eBook reader." msgstr "Kommunikoi SpringDesign Alex eBook -lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:67 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:68 msgid "Communicate with the Azbooka" msgstr "Kommunikoi Azbookan kanssa" -#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:80 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:81 msgid "Communicate with the Elonex EB 511 eBook reader." msgstr "Kommunikoi Elonex EB 511 -lukijan kanssa." @@ -661,7 +665,7 @@ msgstr "Kommunikoi IRex Iliad -lukijan kanssa." #: /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:38 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42 msgid "John Schember" msgstr "John Schember" @@ -681,6 +685,10 @@ msgstr "Kommunikoi Iriver Story -lukijan kanssa." msgid "Communicate with the JetBook eBook reader." msgstr "Kommunikoi JetBook-lukijan kanssa." +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:86 +msgid "Communicate with the MiBuk Wolder reader." +msgstr "Kommunikoi MiBuk Wolder -lukijan kanssa" + #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:42 msgid "Communicate with the Kindle eBook reader." msgstr "Kommunikoi Kindle-lukijan kanssa." @@ -697,55 +705,70 @@ msgstr "Kommunikoi Kindle DX -lukijan kanssa." msgid "Communicate with the Kobo Reader" msgstr "Kommunikoi Kobo Readerin kanssa" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:51 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:54 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:57 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:159 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:64 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:67 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:130 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:160 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:136 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:166 msgid "Getting list of books on device..." msgstr "Haetaan listaa laitteella olevista kirjoista..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:219 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:263 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:244 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:262 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "Poistetaan kirjoja laitteelta..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:274 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:269 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "Poistetaan kirjoja laitteen metatietolistasta..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:313 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:208 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:238 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "Lisätään kirjoja laitteen metatietolistaan..." -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:15 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 +msgid "Not Implemented" +msgstr "Ei toteutettu" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 +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:17 msgid "Communicate with the Palm Pre" msgstr "Kommunikoi Palm Pren kanssa" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:35 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:37 msgid "Communicate with the Booq Avant" msgstr "Kommunikoi Booq Avantin kanssa" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:55 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:58 msgid "Communicate with the Sweex MM300" msgstr "Kommunikoi Sweex MM300:n kanssa" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:75 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "Kommunikoi Koganin kanssa" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" -msgstr "" +msgstr "Kommunikoi Pandigital Novelin kanssa" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." @@ -757,7 +780,7 @@ msgstr "Kommunikoi Nokia 810 internet tablet -laitteen kanssa." #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 msgid "Communicate with the Nokia E52" -msgstr "" +msgstr "Kommunikoi Nokia E52:n kanssa" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20 msgid "The Nook" @@ -787,7 +810,7 @@ msgstr "" "Pilkun erottama lista metatietokentistä, jotka muutetaan kokoelmiksi " "laitteella. Vaihtoehtoja ovat: " -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Nimeämätön" @@ -797,34 +820,34 @@ msgid "Communicate with the Samsung SNE eBook reader." msgstr "Kommunikoi Samsung SNE eBook -lukijan kanssa." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "Kommunikoi Teclast K3 -lukijan kanssa." +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "Kommunikoi Teclast K3/K5 -lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "Kommunikoi Newsmy-lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "Kommunikoi iPapyrus-lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:245 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Levyasemaa %s ei havaittu. Kokeile uudelleenkäynnistämistä." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:435 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "Alustaa %s ei havaittu. Kokeile uudelleenkäynnistämistä." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:490 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:500 msgid "Unable to detect the %s disk drive." msgstr "Levyasemaa %s ei havaittu." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:583 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:593 msgid "Could not find mount helper: %s." msgstr "Alustaa %s ei löydetty." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:595 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." @@ -832,25 +855,25 @@ msgstr "" "Levyasemaa %s ei havaittu. Kernel siirtää luultavasti väärää versiota " "SYSFS:stä." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:603 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:613 msgid "Unable to mount main memory (Error code: %d)" msgstr "Päämuistin käyttö epäonnistui (Virhe: %d)" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:740 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:742 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:750 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:752 msgid "The reader has no storage card in this slot." msgstr "Lukijan tässä korttipaikassa ei ole muistikorttia." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:744 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:754 msgid "Selected slot: %s is not supported." msgstr "Valittu korttipaikka: %s ei ole tuettu." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:773 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 msgid "There is insufficient free space in main memory" msgstr "Päämuistissa ei ole tarpeeksi vapaata tilaa" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:775 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:777 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:785 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:787 msgid "There is insufficient free space on the storage card" msgstr "Muistikortilla ei ole riittävästi vapaata tilaa" @@ -888,20 +911,20 @@ msgstr "Kontrollimalli, jonka mukaan kirjat tallennetaan" msgid "Extra customization" msgstr "Lisäasetukset" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 msgid "Communicate with an eBook reader." msgstr "Kommunikoi lukijan kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:57 msgid "Get device information..." msgstr "Haetaan laitetietoja..." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:188 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:190 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:194 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 msgid "Transferring books to device..." msgstr "Siirretään kirjoja laitteelle..." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:305 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:314 msgid "Sending metadata to device..." msgstr "Lähetetään metatietoja laitteelle..." @@ -990,15 +1013,15 @@ msgstr "Määritä kirjan ID" msgid "Set font delta" msgstr "Määritä fontti" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:201 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "%s renderöity" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:204 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "%s epäonnistui" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:261 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1008,7 +1031,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1018,22 +1041,22 @@ msgstr "" "sarjakuvia EPUB-muodossa, vähemmän kuin 256 väriä voi johtaa epätarkkaan " "tekstiin laitteellasi." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Poista kuvien värialan normalisointi (kontrastin parannus) käytöstä. Oletus: " "Ei" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Säilytä kuvasuhde. Oletus on koko kuva-alueen täyttö." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Poista terävöitys käytöstä." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1041,11 +1064,11 @@ msgstr "" "Poista sarjakuvasivujen rajaus käytöstä. Joissain sarjakuvissa rajaus voi " "poistaa rajojen lisäksi sisältöä." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "Älä jaa vaakakuvia kahteen pystykuvaan" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1053,7 +1076,7 @@ msgstr "" "Säilytä kuvasuhde ja skaalaa kuva käyttäen vaakatasossa kuvakorkeutta kuvan " "leveytenä." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1061,7 +1084,7 @@ msgstr "" "Käytetään oikealta-vasemmalle-julkaisuissa kuten mangassa. Aiheuttaa " "vaakasivujen jaon pystykusivuiksi oikealta vasemmalle." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1069,7 +1092,7 @@ msgstr "" "Ota täplikkyyden poisto käyttöön. Vähentää kohinaa. Voi kasvattaa " "prossesointiaikaa huomattavasti." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1078,7 +1101,7 @@ msgstr "" "aakkosjärjestykseen. Käytä sen sijaan järjestystä, jossa ne lisättiin " "sarjakuvaan." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 " @@ -1087,16 +1110,16 @@ msgstr "" "Muoto, johon luodussa e-kirjassa olevat kuvat muutetaan. Voit kokeilla mikä " "muoto antaa omalla laitteellasi parhaan kuvan ja lopputuloksen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "Älä käytä mitään prosessointia kuvaan" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "Älä muunna kuvaa mustavalkoiseksi" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:452 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:463 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Sivu" @@ -1192,7 +1215,7 @@ msgstr "Asetukset, joilla käännöksen debuggausta helpotetaan" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 msgid "List builtin recipes" -msgstr "" +msgstr "Listaa sisäänrakennetut reseptit" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:256 msgid "Output saved to" @@ -1565,7 +1588,11 @@ msgstr "" msgid "Creating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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 "" @@ -1576,12 +1603,12 @@ 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. %prog 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." +"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:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1592,7 +1619,7 @@ msgid "" "detected. Use the options to control which errors are automatically fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "" @@ -1602,8 +1629,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:21 msgid "" -"Fix unmanifested files. %prog can either add them to the manifest or delete " -"them as specified by the delete unmanifested option." +"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 @@ -1914,7 +1941,7 @@ msgstr "" msgid "Comic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 @@ -1923,11 +1950,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:543 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 @@ -1935,22 +1962,22 @@ msgstr "" msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:392 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:393 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:99 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:318 @@ -1958,42 +1985,42 @@ msgstr "" msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1075 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:143 msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:323 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1084 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:87 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:404 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 msgid "Language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:406 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:408 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:410 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 msgid "Rights" msgstr "" @@ -2100,53 +2127,83 @@ msgstr "" msgid "No cover found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:15 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:27 msgid "Cover download" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 +msgid "Download covers from openlibrary.org" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 +msgid "ISBN: %s not found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 +msgid "Download covers from librarything.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 +msgid "LibraryThing.com timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 +msgid "" +"Could not fetch cover as server is experiencing high load. Please try again " +"later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 +msgid "LibraryThing.com server error. Try again later." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/douban.py:42 msgid "Downloads metadata from Douban.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" @@ -2180,24 +2237,10 @@ msgstr "" msgid "The publisher of the book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 -msgid "LibraryThing.com timed out. Try again later." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 -msgid "" -"Could not fetch cover as server is experiencing high load. Please try again " -"later." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:76 msgid " not found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 -msgid "LibraryThing.com server error. Try again later." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:86 msgid "" "\n" @@ -2243,7 +2286,7 @@ msgstr "" msgid "All articles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:258 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:259 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" @@ -2492,7 +2535,7 @@ 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:29 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 msgid "Author" msgstr "" @@ -2607,7 +2650,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:199 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -2678,392 +2721,696 @@ msgid "Confirm before deleting" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 -msgid "Toolbar icon size" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 -msgid "Show button labels in the toolbar" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 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:69 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 msgid "Maximum number of waiting worker processes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 msgid "The layout of the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:103 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:245 -msgid "Use library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:611 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:707 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:728 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:876 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:941 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1059 -msgid "No books selected" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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.py:101 -msgid "Merging user annotations into database" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +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.py:129 -msgid "%s
    Last Page Read: %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:135 -msgid "%s
    Last Page Read: Location %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
    %s
    " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
    " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
    " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:459 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1203 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 +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:256 msgid "No book files found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:456 +#: /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/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
    Last Page Read: %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
    Last Page Read: Location %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
    %s
    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +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:32 +msgid "Create catalog of books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +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:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +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:26 +msgid "Convert individually" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:519 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:444 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:520 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:446 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +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_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:27 +msgid "Merge book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:659 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:637 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:523 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:951 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:669 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:706 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:727 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:730 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:731 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

    The second and subsequently selected " @@ -3071,7 +3418,7 @@ msgid "" "proceed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:746 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

    After merger the second and " @@ -3081,99 +3428,223 @@ msgid "" "from your computer.

    Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 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.py:875 -msgid "Cannot save to disk" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:878 -msgid "Choose destination directory" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:911 -msgid "Error while saving" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:912 -msgid "There was an error while saving." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:919 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:920 -msgid "Could not save some books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:921 -msgid "Click the show details button to see which ones." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:942 -msgid "No books selected to generate catalog for" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:959 -msgid "Generating %s catalog..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:964 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 -msgid "No books found" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:965 -msgid "" -"No books to catalog\n" -"Check exclude tags" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:975 -msgid "Catalog generated." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:978 -msgid "Export Catalog Directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:979 -msgid "Select destination for %s.%s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1058 -msgid "Cannot convert" +#: /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.py:1087 -msgid "Starting conversion of %d book(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "F1" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1203 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Help" +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:17 +msgid "Ctrl+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +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 +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:45 +msgid "Save to disk" +msgstr "" + +#: /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: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: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:90 +msgid "Cannot save to disk" +msgstr "" + +#: /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: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:135 +msgid "Error while saving" +msgstr "" + +#: /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 +msgid "Could not save some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 +msgid "Click the show details button to see which ones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +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:24 +msgid "No detailed info available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +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:23 +msgid "Alt+A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1209 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1218 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3181,11 +3652,11 @@ msgid "" "continue?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "" @@ -3210,7 +3681,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:840 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "" @@ -3281,7 +3752,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 @@ -3331,26 +3802,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 @@ -3366,12 +3841,6 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:248 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:253 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:259 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:261 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:265 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 @@ -3413,9 +3882,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:96 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" msgstr "" @@ -3439,7 +3908,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:274 msgid "None" msgstr "" @@ -3447,10 +3916,11 @@ msgstr "" msgid "Click to open Book Details window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 -msgid "CSV/XML Options" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 +msgid "BibTeX Options" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 @@ -3469,6 +3939,7 @@ msgstr "" msgid "Options specific to" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 @@ -3482,6 +3953,7 @@ msgstr "" msgid "output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 @@ -3492,7 +3964,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:66 #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 @@ -3500,32 +3972,101 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 msgid "Form" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 +msgid "Bib file encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 msgid "Fields to include in output:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 +msgid "ascii/LaTeX" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 +msgid "Encoding configuration (change if you have errors) :" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 +msgid "strict" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 +msgid "replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 +msgid "ignore" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 +msgid "backslashreplace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 +msgid "BibTeX entry type:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 +msgid "mixed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 +msgid "misc" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 +msgid "book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 +msgid "Create a citation tag?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 +msgid "Expression to form the BibTeX citation tag:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 +msgid "" +"Some explanation about this template:\n" +" -The fields availables are 'author_sort', 'authors', 'id',\n" +" 'isbn', 'pubdate', 'publisher', 'series_index', 'series',\n" +" 'tags', 'timestamp', 'title', 'uuid'\n" +" -For list types ie authors and tags, only the first element\n" +" wil be selected.\n" +" -For time field, only the date will be used. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 +msgid "CSV/XML Options" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 msgid "E-book options" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1467 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1485 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "" @@ -3548,7 +4089,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" @@ -3653,7 +4194,7 @@ msgid "&Disable comic processing" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "" @@ -3669,16 +4210,16 @@ msgstr "" msgid "Debug the conversion process." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:57 +#: /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:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "" @@ -3821,15 +4362,15 @@ msgstr "" msgid "Control the look and feel of the output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:30 +#: /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:31 +#: /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:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "" @@ -3960,118 +4501,118 @@ msgid "" "possible." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

    There was an error reading from file:
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Book Cover" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 +msgid "Use cover from &source file" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Change &cover image:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 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:172 -msgid "Use cover from &source file" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +msgid "&Title: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 -msgid "&Title: " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Change the title of this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Author(s): " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Author So&rt:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 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:178 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Publisher: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Ta&gs: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "" "Tags categorize the book. This is particularly useful while searching. " "

    They can be any words or phrases, separated by commas." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "&Series:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "List of known series. You can add new series." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Book " msgstr "" @@ -4205,15 +4746,15 @@ msgstr "" msgid "RB Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:82 -msgid "Cannot build regex using the GUI builder without a book." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:83 msgid "No formats available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:84 +msgid "Cannot build regex using the GUI builder without a book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:103 msgid "Open book" msgstr "" @@ -4242,18 +4783,18 @@ msgstr "" msgid "Options specific to the input format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "" @@ -4268,63 +4809,63 @@ msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:56 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:38 -msgid "Invalid XPath" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 +msgid "Invalid XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Chapter &mark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 msgid "Remove first &image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 msgid "Insert &metadata as page at start of book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 msgid "Remove F&ooter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:66 msgid "Remove H&eader" msgstr "" @@ -4338,15 +4879,15 @@ msgstr "" msgid "Control the creation/conversion of the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "" @@ -4406,10 +4947,10 @@ msgid "&Maximum line length:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" +msgid "Force maximum line length" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 @@ -4420,7 +4961,7 @@ msgstr "" msgid "TextLabel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 msgid "Use a wizard to help construct the XPath expression" msgstr "" @@ -4498,20 +5039,20 @@ msgid "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath Tutorial
    ." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:148 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 @@ -4520,296 +5061,273 @@ msgstr "" msgid "Undefined" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 +msgid "Set '%s' to today" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:48 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:413 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:420 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:424 -msgid "Email to" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:424 -msgid " and delete from library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:433 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:435 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:442 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:509 -msgid "Connect to folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:515 -msgid "Connect to iTunes" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:528 -msgid "Fetch annotations (experimental)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:704 -msgid "Failed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:711 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 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:753 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:755 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:841 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:856 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:859 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:863 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:860 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:905 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:909 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:910 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:923 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:953 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1053 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1115 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1234 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1242 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:954 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:962 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1012 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1013 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1024 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1054 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1235 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1084 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1148 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1201 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1243 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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:1304 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1305 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -4830,8 +5348,24 @@ msgstr "" msgid "Save &template:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

    Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" +msgid "Fit &cover within view" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 @@ -4876,6 +5410,74 @@ msgstr "" msgid "Choose Format" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:38 +msgid "Choose location for calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:45 +msgid "Same as current" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:46 +msgid "The location %s contains the current calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 +msgid "No existing library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:52 +msgid "There is no existing calibre library at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 +msgid "Not empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 +msgid "The folder %s is not empty. Please choose an empty folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +msgid "No location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +msgid "No location selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 +msgid "Choose your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:67 +msgid "Your calibre library is currently located at {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:68 +msgid "New &Location:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:69 +msgid "Use &existing library at the new location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:70 +msgid "&Create an empty library at the new location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:71 +msgid "&Move current library to new location" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "" @@ -4900,75 +5502,75 @@ msgstr "" msgid "Edit Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 +msgid "General" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 +msgid "Interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 -msgid "General" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 -msgid "Interface" +msgid "" +"Email\n" +"Delivery" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 -msgid "" -"Email\n" -"Delivery" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 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/dialogs/config/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "" @@ -4980,157 +5582,177 @@ msgstr "" msgid "Narrow" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 +msgid "Medium" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 +msgid "Small" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 +msgid "Always" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 +msgid "Automatic" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 +msgid "Never" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 +msgid "Done" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 +msgid "Confirmation dialogs have all been reset" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " "port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:527 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:653 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:685 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:691 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:766 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:794 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:818 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:587 -msgid "Select location for books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:825 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:886 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:891 -msgid "Invalid database location" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:887 -msgid "Invalid database location " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:888 -msgid "
    Must be a directory." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:892 -msgid "Invalid database location.
    Cannot write to " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:957 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:958 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5138,32 +5760,32 @@ msgid "" "folder directly." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:133 msgid "TabWidget" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:134 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/dialogs/config/add_save_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:135 msgid "Read metadata only from &file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:136 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/dialogs/config/add_save_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:137 msgid "&Swap author firstname and lastname" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:138 msgid "" "If an existing book with a similar title and author is found that does not " "have the format being added, the format is added\n" @@ -5174,384 +5796,417 @@ msgid "" "punctuation, case, etc. Author match is exact." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:142 msgid "" "If books with similar titles and authors found, &merge the new files " "automatically" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:143 msgid "&Configure metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:144 msgid "&Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:145 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/dialogs/config/add_save_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:146 msgid "Save &cover separately" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:147 msgid "Update &metadata in saved copies" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:148 msgid "Save metadata in &OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:149 msgid "Convert non-English characters to &English equivalents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:150 msgid "Format &dates as:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:151 msgid "File &formats to save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:152 msgid "Replace space with &underscores" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:153 msgid "Change paths to &lowercase" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:154 msgid "&Saving books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:135 -msgid "Preserve device collections." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:155 +msgid "Metadata &management:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:156 +msgid "Manual management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:157 +msgid "Only on send" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:158 +msgid "Automatic management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:159 msgid "" -"If checked, collections will not be deleted even if a book with changed " -"metadata is resent and the collection is not in the book's metadata. In " -"addition, editing collections in the device view will be enabled. If " -"unchecked, collections will be always reflect only the metadata in the " -"calibre library." +"

  • 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/dialogs/config/add_save_ui.py:137 -msgid " " -msgstr " " - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:162 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->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:163 msgid "Sending to &device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:168 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:290 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 -msgid "" -"&Location of ebooks (The ebooks are stored in folders sorted by author and " -"metadata is stored in the file metadata.db)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 -msgid "Browse for the new database location" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 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/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +msgid "Reset all disabled &confirmation dialogs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 -msgid "Toolbar" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 -msgid "Large" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 -msgid "Medium" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "Small" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Button size in toolbar" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Show &text in toolbar buttons" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 +msgid "&Toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 +msgid "&Icon size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 +msgid "Show &text under icons:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 -msgid "&Check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 -msgid "&Install command line tools" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 -msgid "Open calibre &configuration directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 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/dialogs/config/config_ui.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

    Remember to leave calibre running as the server only runs as long as " @@ -5562,33 +6217,33 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "" @@ -5629,7 +6284,7 @@ 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:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:542 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "" @@ -5677,45 +6332,40 @@ msgstr "" msgid "Yes/No" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:69 msgid "No column selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:70 msgid "No column has been selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:74 msgid "Selected column is not a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:105 msgid "No lookup name was provided" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"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/dialogs/config/create_custom_column.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:116 msgid "No column heading was provided" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:122 msgid "The lookup name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:132 msgid "The heading %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:129 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" @@ -5812,6 +6462,63 @@ msgstr "" msgid "Downloading social metadata, please wait..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "" @@ -5839,14 +6546,33 @@ msgstr "" msgid "Delete from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 msgid "Author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +msgid "Sort by author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +msgid "Sort by author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "" @@ -5938,13 +6664,17 @@ msgid "Show job &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 -msgid "Stop &all jobs" +msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "" @@ -5958,21 +6688,21 @@ msgid "Author s&ort: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 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:162 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid "Rating of this book. 0-5 stars" msgstr "" @@ -5981,7 +6711,7 @@ msgid "No change" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid " stars" msgstr "" @@ -5991,8 +6721,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "Open Tag Editor" msgstr "" @@ -6032,218 +6762,249 @@ msgid "Remove &stored conversion settings for the selected books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "&Basic metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "&Custom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123 -msgid "Not a valid picture" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:94 +msgid "Last modified: %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 +msgid "Not a valid picture" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 +msgid "Specify title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 +msgid "You must specify a title and author before generating a cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:193 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:254 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:434 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:559 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:555 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 +msgid "" +"For the error message from each cover source, click Show details below." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:709 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Edit Meta Information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Swap the author and title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "" "Automatically create the author sort entry based on the current author entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Remove unused series (Series that have no books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "IS&BN:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Publishe&d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "dd MMM yyyy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Date:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "&Fetch metadata from server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Available Formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "Add a new format for this book to the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove the selected formats for this book from the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Update metadata from the metadata in the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Reset cover to default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Download &cover" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +msgid "Generate a default cover based on the title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +msgid "&Generate cover" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" @@ -6277,48 +7038,48 @@ msgstr "" msgid "Change the contents of the saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:120 msgid "Need username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 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:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:172 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:179 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:194 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:196 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:220 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:192 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:223 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:228 msgid "Download all scheduled new sources" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:321 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:328 msgid "No internet connection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:329 msgid "Cannot download news as no internet connection is active" msgstr "" @@ -6511,21 +7272,21 @@ msgstr "" msgid "Choose formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:80 msgid "Authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:111 msgid "Publishers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:114 msgid " (not on any book)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:166 msgid "" "The current tag category will be permanently deleted. Are you sure?" msgstr "" @@ -6579,7 +7340,7 @@ msgid "Select the content kind of the new category" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Are your sure?" msgstr "" @@ -6633,33 +7394,33 @@ msgstr "" msgid "%s (was %s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:70 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:71 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:91 msgid "No item selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:92 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:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:101 msgid "No items selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:102 msgid "You must select at least one items from the list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:106 msgid "Are you certain you want to delete the following items?" msgstr "" @@ -6681,10 +7442,6 @@ msgstr "" 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:78 -msgid "Ctrl+S" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "" @@ -6923,11 +7680,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:126 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:88 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:99 msgid "No match" msgstr "" @@ -6963,228 +7720,188 @@ msgstr "" msgid "Regular expression (?P)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:36 -msgid "Save single format to disk..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:53 -msgid "Edit metadata individually" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:56 -msgid "Edit metadata in bulk" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:59 -msgid "Download metadata and covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:62 -msgid "Download only metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:64 -msgid "Download only covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:67 -msgid "Download only social metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:73 -msgid "Merge into first selected book - delete others" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:76 -msgid "Merge into first selected book - keep others" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:84 -msgid "Add books from a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:86 -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/init.py:90 -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/init.py:93 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:103 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:276 -msgid "Save to disk" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 -msgid "Save to disk in a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:107 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 -msgid "Save only %s format to disk" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:111 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:397 -msgid "Save only %s format to disk in a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:282 -msgid "View" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:121 -msgid "View specific format" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:127 -msgid "Remove selected books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:129 -msgid "Remove files of a specific format from selected books.." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:132 -msgid "Remove all formats from selected books, except..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:135 -msgid "Remove covers from selected books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:138 -msgid "Remove matching books from device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:155 -msgid "Convert individually" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:157 -msgid "Bulk convert" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:161 -msgid "Create catalog of books in your calibre library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:169 -msgid "Run welcome wizard" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:205 -msgid "Similar books..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:237 -msgid "Add books to library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:239 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:246 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:253 -msgid "Manage collections" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:333 msgid "Cover Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 msgid "version" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 msgid "created by Kovid Goyal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:445 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 msgid "Book Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:60 -msgid "Job" +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 -msgid "Status" +msgid "Job" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 -msgid "Progress" +msgid "Status" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +msgid "Progress" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:298 -msgid "Click to see list of active jobs." +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 +msgid "Eject this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 +msgid "Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +msgid "Show books in calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 +msgid "Reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +msgid "Show books in the main memory of the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 +msgid "Card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +msgid "Show books in storage card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 +msgid "Card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 +msgid "Show books in storage card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 +msgid "available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 +msgid "" +"Books display will be restricted to those matching the selected saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 +msgid "Advanced search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 +msgid "" +"

    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:181 +msgid "Reset Quick Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +msgid "Copy current search text (instead of search name)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 +msgid "Save current search under the name shown in the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 +msgid "Delete current saved search" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "N" msgstr "" @@ -7212,7 +7929,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" msgstr "" @@ -7272,11 +7989,7 @@ msgstr "" msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:525 -msgid "Not allowed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -7307,7 +8020,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 msgid "No matches found" msgstr "" @@ -7324,12 +8037,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:476 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 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:477 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" msgstr "" @@ -7373,7 +8086,7 @@ msgid "Do not check for updates" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:598 msgid "Calibre Library" msgstr "" @@ -7473,163 +8186,6 @@ msgstr "" msgid "try deleting the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:247 -msgid "calibre" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:249 -msgid "&Restrict to:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:250 -msgid "" -"Books display will be restricted to those matching the selected saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:251 -msgid "set in ui.py" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:252 -msgid "Advanced search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:254 -msgid "Alt+S" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:255 -msgid "&Search:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:256 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:257 -msgid "" -"

    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/main_ui.py:258 -msgid "Reset Quick Search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:260 -msgid "Copy current search text (instead of search name)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:262 -msgid "Save current search under the name shown in the box" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:264 -msgid "Delete current saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:266 -msgid "Add books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:267 -msgid "A" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:268 -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:269 -msgid "Remove books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:270 -msgid "Del" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 -msgid "Edit meta information" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:272 -msgid "E" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:273 -msgid "Merge book records" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:274 -msgid "M" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:275 -msgid "Send to device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:277 -msgid "S" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:278 -msgid "Fetch news" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:279 -msgid "F" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:280 -msgid "Convert E-books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:281 -msgid "C" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:283 -msgid "V" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:284 -msgid "Open containing folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:285 -msgid "Show book details" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:286 -msgid "Books by same author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:287 -msgid "Books in this series" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:288 -msgid "Books by this publisher" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:289 -msgid "Books with the same tags" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:291 -msgid "Configure calibre" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:292 -msgid "Ctrl+P" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:293 -msgid "Help" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:294 -msgid "Browse the calibre User Manual" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:295 -msgid "F1" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:20 msgid "" "Redirect console output to a dialog window (both stdout and stderr). Useful " @@ -7648,44 +8204,50 @@ msgstr "" msgid "ERROR: Unhandled exception" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:93 msgid "Book has neither title nor ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:119 msgid "No matches found for this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 msgid "Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:47 -msgid "({0} of {1})" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:10 +msgid "Restrict to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 +msgid "({0} of {1})" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" msgstr "" @@ -7749,112 +8311,112 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:214 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:228 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:433 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:769 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:778 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:778 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:783 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 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:787 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:790 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Convert book %d of %d (%s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:90 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:202 -msgid "Could not convert some books" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 +msgid "Could not convert some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 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:120 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 msgid "Queueing " msgstr "" @@ -7872,89 +8434,64 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:173 -msgid "&Restart" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:381 -msgid "Cannot configure" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:377 -msgid "Cannot configure while there are running jobs." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382 -msgid "Cannot configure before calibre is restarted." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:425 -msgid "No detailed info available" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:426 -msgid "No detailed information is available for books on the device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:506 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 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:580 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -8127,7 +8664,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 msgid "Remember last used window size" msgstr "" @@ -8182,36 +8719,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" msgstr "" @@ -8267,88 +8804,88 @@ msgstr "" msgid "Book format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 msgid "Print Preview" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 msgid "

    This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 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:677 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:678 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 msgid "" "%prog [options] file\n" "\n" @@ -8431,144 +8968,104 @@ msgstr "" msgid "Print eBook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:238 msgid "Copy Image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:240 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:239 msgid "Paste Image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:270 -msgid "" -"Library\n" -"%d books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:271 -msgid "" -"Reader\n" -"%s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:272 -msgid "" -"Card A\n" -"%s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:273 -msgid "" -"Card B\n" -"%s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:277 -msgid "Click to see the books available on your computer" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:280 -msgid "Click to see the books in the main memory of your reader" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:281 -msgid "Click to see the books on storage card A in your reader" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:282 -msgid "Click to see the books on storage card B in your reader" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:290 -msgid "Books located at" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:306 -msgid "free" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:364 msgid "Change Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:365 msgid "Upper Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:366 msgid "Lower Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "Swap Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:368 msgid "Title Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:838 msgid "Drag to resize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 msgid "Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1022 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 msgid "Hide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:374 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:376 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. 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/wizard/__init__.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:453 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:470 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:524 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525 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:533 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:536 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:590 +msgid "Select location for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:665 msgid "welcome wizard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 @@ -8576,7 +9073,7 @@ msgid "Welcome to calibre" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:50 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 @@ -8597,19 +9094,19 @@ msgstr "" msgid "&Devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:44 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:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 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:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 msgid "" "

    User Manual

    A User Manual is also available online." @@ -8824,7 +9321,7 @@ msgstr "" msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:41 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -8833,7 +9330,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:51 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -8841,14 +9338,72 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:202 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:206 +msgid "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %s.\n" +"Default: '%%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:216 +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:225 +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:234 +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:244 +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:253 +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:262 +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:530 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:209 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:537 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 " @@ -8857,14 +9412,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:219 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 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:225 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -8873,28 +9428,28 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 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:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:568 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:247 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:575 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:254 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:582 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -8903,7 +9458,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:589 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -8913,7 +9468,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:596 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -9267,7 +9822,52 @@ msgstr "" msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:809 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "" "%%prog command [options] [arguments]\n" "\n" @@ -9279,47 +9879,49 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:70 +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:537 +msgid "No label was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 +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:71 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:545 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:547 -msgid "Card A" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:549 -msgid "Card B" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1770 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 msgid "

    Migrating old database to ebook library in %s

    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1799 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1909 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1950 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1972 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:118 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:122 msgid "Ratings" msgstr "" @@ -9441,7 +10043,7 @@ msgstr "" msgid "Replace whitespace with underscores." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:258 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:263 msgid "Requested formats not available" msgstr "" @@ -9486,7 +10088,7 @@ msgid "" "disable grouping." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:93 +#: /home/kovid/work/calibre/src/calibre/library/server/base.py:94 msgid "Password to access your calibre library. Username is " msgstr "" @@ -9505,221 +10107,223 @@ msgstr "" msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108 -msgid "%d books" +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192 -msgid "Library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:542 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:48 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:34 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:92 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:78 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:93 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 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.py:670 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:663 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:672 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:665 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:674 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:667 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:676 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:669 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:678 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:671 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:680 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:673 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:682 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:675 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:686 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:679 msgid "Ordered list of formats to prefer for input." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:688 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:681 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:690 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:683 msgid "The priority of worker processes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:692 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:685 msgid "Swap author first and last names when reading metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:694 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:687 msgid "Add new formats to existing book records" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:699 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:692 msgid "List of named saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:700 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:693 msgid "User-created tag browser categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:702 -msgid "Preserve all collections even if not in library metadata." +#: /home/kovid/work/calibre/src/calibre/utils/config.py:695 +msgid "How and when calibre updates metadata on the device." msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 msgid "Waiting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:51 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 msgid "Stopped" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:75 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 msgid "Working..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:93 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:95 msgid "Brazilian Portuguese" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:94 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:96 msgid "English (UK)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:95 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:97 msgid "Simplified Chinese" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:96 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:98 msgid "Chinese (HK)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:97 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:99 msgid "Traditional Chinese" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:98 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:100 msgid "English" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:99 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:101 msgid "English (Australia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:100 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:102 msgid "English (New Zealand)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:101 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 msgid "English (Canada)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:102 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 msgid "English (India)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 msgid "English (Thailand)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106 msgid "English (Cyprus)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:107 msgid "English (Pakistan)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108 msgid "English (Israel)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:107 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109 msgid "English (Singapore)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110 msgid "English (Yemen)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111 msgid "English (Ireland)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112 msgid "English (China)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113 msgid "Spanish (Paraguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114 msgid "German (AT)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 msgid "Dutch (NL)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 msgid "Dutch (BE)" msgstr "" @@ -9744,6 +10348,9 @@ msgid "Control email delivery" msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:118 +msgid "Unknown section" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:140 msgid "Unknown feed" msgstr "" @@ -9776,11 +10383,11 @@ msgid "" "Do not download latest version of builtin recipes from the calibre server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:44 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:46 msgid "Unknown News Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:608 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:609 msgid "The \"%s\" recipe needs a username and password." msgstr "" @@ -9840,33 +10447,33 @@ msgstr "" msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1002 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1003 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1192 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1172 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1263 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1243 msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1254 msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1291 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1438 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1418 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1454 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1434 msgid "" "You do not have permission to download this issue. Either your subscription " "has expired or you have exceeded the maximum allowed downloads for today." @@ -9878,12 +10485,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:73 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:82 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:183 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:193 msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:84 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:184 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:194 msgid "Custom" msgstr "" @@ -9954,5 +10561,11 @@ msgstr "" #~ msgid "Communicate with the Sony PRS-300/505/500 eBook reader." #~ msgstr "Kommunikoi Sony PRS-300/505/500 -lukijoiden kanssa." +#~ msgid "Communicate with the Teclast K3 reader." +#~ msgstr "Kommunikoi Teclast K3 -lukijan kanssa." + #~ msgid "dummy option until real options are determined." #~ msgstr "Täytevalinta kunnes todelliset valinnat määritetään." + +#~ msgid " " +#~ msgstr " " diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index d0c44f0870..49ab69f2af 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -6,172 +6,176 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-08-09 13:57+0000\n" -"PO-Revision-Date: 2010-08-09 09:09+0000\n" -"Last-Translator: sengian \n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-22 19:32+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-08-10 03:33+0000\n" +"X-Launchpad-Export-Date: 2010-08-23 03:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Bookmarks: 1177,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 msgid "Does absolutely nothing" msgstr "Ne fait strictement rien" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:72 -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:75 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:70 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/sony_cache.py:506 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:405 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:100 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:402 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:72 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:335 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:338 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1894 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1896 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:24 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:236 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:279 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:282 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:398 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/book/base.py:20 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/book/base.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:61 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fb2.py:46 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:332 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:123 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:125 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:945 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1057 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdb.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdf.py:28 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/txt.py:14 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:78 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:119 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:153 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:611 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:817 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:819 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:911 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:916 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:982 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:137 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:108 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:173 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/palmdoc/writer.py:29 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ztxt/writer.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:83 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:74 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:81 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:234 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:826 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:829 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:868 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:877 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1162 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1165 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:512 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:362 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:382 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:882 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1060 -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:185 -#: /home/kovid/work/trunk/src/calibre/library/cli.py:213 -#: /home/kovid/work/trunk/src/calibre/library/database.py:913 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:358 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:370 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:979 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1048 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1649 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1651 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1773 -#: /home/kovid/work/trunk/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/trunk/src/calibre/library/server/xml.py:68 -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:117 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:64 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:78 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:47 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:50 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:72 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:75 +#: /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:507 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /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:236 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 +#: /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/fb2.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 +#: /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:123 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1057 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28 +#: /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/txt.py:14 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:817 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:819 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:911 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:916 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:982 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:108 +#: /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:39 +#: /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:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:882 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 +#: /home/kovid/work/calibre/src/calibre/library/database.py:913 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /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:47 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:50 msgid "Unknown" msgstr "Inconnu(e)" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:64 msgid "Base" msgstr "Base" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:172 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:172 msgid "File type" msgstr "Type de fichier" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:206 msgid "Metadata reader" msgstr "Lecteur de métadonnées" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:235 msgid "Metadata writer" msgstr "Éditeur de métadonnées" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:263 msgid "Catalog generator" msgstr "Générateur de catalogue" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:16 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "Action d'interface utilisateur" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 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 " @@ -181,7 +185,7 @@ msgstr "" "contenant tous les fichiers liés. Ce plug-in est lancé chaque fois que vous " "ajoutez un fichier HTML à la bibliothèque." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:52 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:52 msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." @@ -189,7 +193,7 @@ msgstr "" "Encodage des caractères pour les fichiers HTML en entrée. Les choix les plus " "communs incluent : cp1252, latin1, iso-8859-1 et utf-8." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:59 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:59 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 " @@ -199,57 +203,57 @@ msgstr "" "le répertoire pmlname_img ou images. Ce plugin est lancé à chaque ajout d'un " "fichier PML dans la bibliothèque." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:93 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:93 msgid "Extract cover from comic files" msgstr "Extraction de la couverture depuis des fichiers de bandes dessinées" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:120 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:131 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:143 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:153 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:163 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:174 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:184 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:204 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:214 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:224 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:235 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:246 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:258 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:279 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:290 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:300 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:310 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:131 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:153 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:163 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:174 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:214 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:224 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:258 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:279 +#: /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 msgid "Read metadata from %s files" msgstr "Lecture des métadonnées depuis les fichiers %s" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:269 msgid "Read metadata from ebooks in RAR archives" msgstr "Lecture des métadonnées des ebooks contenus dans les archives RAR" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:321 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 msgid "Read metadata from ebooks in ZIP archives" msgstr "Lecture des métadonnées des ebooks contenus dans les archives ZIP" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:334 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:344 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:354 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:376 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:387 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:397 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:334 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:344 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:354 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:387 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 msgid "Set metadata in %s files" msgstr "Définir les métadonnées des fichiers %s" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 msgid "Set metadata from %s files" msgstr "Définir les métadonnées à partir des fichiers %s" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:102 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "Conversion (entrée)" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -261,11 +265,11 @@ msgstr "" "document. Particulièrement utile pour les documents ne déclarant pas " "d'encodage ou ayant des déclarations d'encodage incorrectes." -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "Conversion (sortie)" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:251 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 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." @@ -274,11 +278,11 @@ msgstr "" "lisible que possible par l'humain. Peut être sans effet pour quelques " "plugins de sortie." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:45 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:45 msgid "Input profile" msgstr "Profil en entrée" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:49 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:49 msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." @@ -286,81 +290,81 @@ msgstr "" "Ce profil essaie de fournir des valeurs sensées par défaut et est utile si " "vous ne savez rien à propos du document d'entrée." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:414 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:414 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "Ce profil est prévu pour les SONY PRS. Le 500/505/600/700 etc..." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:69 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:69 msgid "This profile is intended for the SONY PRS 300." msgstr "Ce profil est prévu pour le SONY PRS 300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:449 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:449 msgid "This profile is intended for the SONY PRS-900." msgstr "Ce profil est prévu pour le SONY PRS-900." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:479 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:479 msgid "This profile is intended for the Microsoft Reader." msgstr "Ce profil est prévu pour le lecteur Microsoft." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:490 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the Mobipocket books." msgstr "Ce profil est prévu pour les livres Mobipocket." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:503 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "Ce profil est prévu pour le Handlin V3 et ses clones." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:515 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "Ce profil est prévu pour le Hanlin V5 et ses clones." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:523 msgid "This profile is intended for the Cybook G3." msgstr "Ce profil est prévu pour le Cybook G3." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:536 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 msgid "This profile is intended for the Cybook Opus." msgstr "Ce profil est prévu pour le Cybook Opus." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:547 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:547 msgid "This profile is intended for the Amazon Kindle." msgstr "Ce profil est prévu pour le Kindle d'Amazon." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:584 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:584 msgid "This profile is intended for the Irex Illiad." msgstr "Ce profil est prévu pour l'Iliad Irex." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:597 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "Ce profil est prévu pour l'IRex Digital Reader 1000." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:611 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:611 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "Ce profil est prévu pour le lecteur IRex Digital 800." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:625 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:625 msgid "This profile is intended for the B&N Nook." msgstr "Ce profil est prévu pour le Nook B&N." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:228 msgid "Output profile" msgstr "Profil de sortie" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:232 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:232 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 " @@ -370,25 +374,25 @@ msgstr "" "souhaitez générer un document que vous avez l'intention de lire sur un " "ordinateur ou sur une gamme d'appareils." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:259 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:259 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "" "Prévu pour l'iPad et les appareils semblables avec une résolution de 768x1024" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:427 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:427 msgid "This profile is intended for the Kobo Reader." msgstr "Ce profil est prévu pour le lecteur Kobo" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:440 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 msgid "This profile is intended for the SONY PRS-300." msgstr "Ce profil est prévu pour le SONY PRS-300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:458 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 msgid "This profile is intended for the 5-inch JetBook." msgstr "Ce profil est prévu pour le JetBook de 5 pouces." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:467 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:467 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -396,39 +400,39 @@ msgstr "" "Ce profil est prévu pour les SONY PRS. Les 500/505/700 etc, en mode paysage. " "Principalement utile pour les bandes dessinées." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:566 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 msgid "This profile is intended for the Amazon Kindle DX." msgstr "Ce profil est prévu pour le Kindle DX d'Amazon." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Installed plugins" msgstr "Plugins installés" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Mapping for filetype plugins" msgstr "Liaisons pour les plugins d'import/export" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Local plugin customization" msgstr "Personnalisation des plugins locaux" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Disabled plugins" msgstr "Plugins désactivés." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:37 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Enabled plugins" msgstr "Plugins activés" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:85 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 msgid "No valid plugin found in " msgstr "Absence de plugin compatible dans " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "L'initialisation du plugin %s a échoué en laissant une trace:" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -440,18 +444,18 @@ msgstr "" " Personnaliser Calibre en chargeant des modules additionnels externes.\n" " " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" "Ajouter un plugin en précisant le chemin vers le fichier zip qui le contient." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:519 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Suppression d'un plugin personnalisé d'après son nom. Ceci n'a pas d'effet " "sur les plugins intégrés." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." @@ -459,23 +463,23 @@ msgstr "" "Personnaliser le plugin. Spécifier le nom du plugin et la chaîne de " "personnalisation séparés par une virgule." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Lister tous les plugins installés" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:525 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Activer le plugin nommé" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:527 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Désactive le plugin nommé" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 msgid "Communicate with Android phones." msgstr "Communiquer avec les téléphones Android" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -483,47 +487,47 @@ 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/trunk/src/calibre/devices/android/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Communiquer avec les téléphones S60" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:87 msgid "Communicate with iTunes/iBooks." msgstr "Communiquer avec iTunes/iBooks." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:93 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:93 msgid "Apple device detected, launching iTunes, please wait ..." msgstr "Appareil Apple détecté, lancement d'iTunes, veuillez patienter..." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:246 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:249 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:246 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:249 msgid "Updating device metadata listing..." msgstr "Mise à jour de la liste des métadonnées de l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:323 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:362 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:921 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2802 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d sur %d" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:369 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2847 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "Terminé" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:544 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:544 msgid "Use Series as Category in iTunes/iBooks" msgstr "Utiliser Séries comme Catégorie dans iTunes/iBooks" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:546 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:546 msgid "Cache covers from iTunes/iBooks" msgstr "Mettre en cache les couvertures provenant d'iTunes/iBooks" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:558 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:558 msgid "" "Some books not found in iTunes database.\n" "Delete using the iBooks app.\n" @@ -533,7 +537,7 @@ msgstr "" "Les supprimer en utilisant l'application iBooks.\n" "Cliquer 'Afficher détails' pour obtenir la liste." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:886 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:886 msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." @@ -541,91 +545,91 @@ msgstr "" "Certaines illustrations de couverture n'ont pu être converties.\n" "Cliquer sur 'Afficher Détails' pour une liste." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2471 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:817 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:823 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:851 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:187 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:200 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1533 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:132 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Informations" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2709 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "Communiquer avec iTunes" -#: /home/kovid/work/trunk/src/calibre/devices/binatone/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17 msgid "Communicate with the Binatone Readme eBook reader." msgstr "Communiquer avec le lecteur eBook Binatone Readme" -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 msgid "Communicate with the Blackberry smart phone." msgstr "Communiquer avec le smartphone Blackberry." -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:14 -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 +#: /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 "Kovid Goyal" -#: /home/kovid/work/trunk/src/calibre/devices/cybook/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22 msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Communiquer avec le lecteur eBook Cybook Gen 3 / Opus" -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:24 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Communiquer avec le lecteur d'ebook EB600" -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:193 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:193 msgid "Communicate with the Astak Mentor EB600" msgstr "Communiquer avec l'Astak Mentor EB600" -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:216 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:216 msgid "Communicate with the PocketBook 301 reader." msgstr "Communiquer avec le lecteur PocketBook 301" -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" msgstr "Entourage Edge" -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:18 msgid "Communicate with the Entourage Edge." msgstr "Communiquer avec l'Entourage Edge." -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." msgstr "Communiquer avec le lecteur d'ebook ESlick." -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:49 msgid "Communicate with the Sigmatek eBook reader." msgstr "Communiquer avec le lecteur d'ebook Sigmatek" -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:16 -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:30 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:30 msgid "Use an arbitrary folder as a device." msgstr "Utiliser un dossier arbitraire comme appareil" -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:26 -#: /home/kovid/work/trunk/src/calibre/devices/interface.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:26 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 msgid "Device Interface" msgstr "Interface de l'appareil" -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:19 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:19 msgid "Communicate with Hanlin V3 eBook readers." msgstr "Communiquer avec les lecteurs d'ebook Hanlin V3." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "Communiquer avec les lecteurs d'ebook Hanlin V5." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Communiquer avec le lecteur d'ebook BOOX." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -633,112 +637,112 @@ msgstr "" "Liste des répertoires séparés par une virgule utilisés pour envoyer les " "livres électroniques à l'appareil. Le premier qui existe sera utilisé." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:18 msgid "Communicate with the Hanvon N520 eBook reader." msgstr "Communiquer avec le lecteur d'ebook Hanvon N520." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:40 msgid "Communicate with The Book reader." msgstr "Communiquer avec le lecteur The Book" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:52 msgid "Communicate with the SpringDesign Alex eBook reader." msgstr "Communiquer avec le lecteur d'ebook Alex de SpringDesign" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:68 msgid "Communicate with the Azbooka" msgstr "Communiquer avec l'Azbooka" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:81 msgid "Communicate with the Elonex EB 511 eBook reader." msgstr "Communiquer avec le lecteur d'ebook Elonex EB 511." -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." msgstr "Communiquer avec le lecteur d'ebook Iliad IRex." -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:17 -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:42 +#: /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:42 msgid "John Schember" msgstr "John Schember" -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgstr "Communiquer avec le lecteur d'ebook IRex Digital Reader 1000." -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42 msgid "Communicate with the IRex Digital Reader 800" msgstr "Communiquer avec le lecteur IRex Digital 800" -#: /home/kovid/work/trunk/src/calibre/devices/iriver/driver.py:15 +#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15 msgid "Communicate with the Iriver Story reader." msgstr "Communiquer avec le lecteur Iriver Story." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20 msgid "Communicate with the JetBook eBook reader." msgstr "Communiquer avec le lecteur d'ebook JetBook." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:86 msgid "Communicate with the MiBuk Wolder reader." msgstr "Communiquer avec le le lecteur MiBuk Wolder." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:42 msgid "Communicate with the Kindle eBook reader." msgstr "Communiquer avec le lecteur d'ebook Kindle." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:169 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:169 msgid "Communicate with the Kindle 2 eBook reader." msgstr "Communiquer avec le lecteur d'ebook Kindle 2." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:210 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:210 msgid "Communicate with the Kindle DX eBook reader." msgstr "Communiquer avec le lecteur d'ebook Kindle DX." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:22 msgid "Communicate with the Kobo Reader" msgstr "Communiquer avec le lecteur Kobo" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:53 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:56 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:59 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:161 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:68 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:74 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:136 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:143 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:166 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:136 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:166 msgid "Getting list of books on device..." msgstr "Lit la liste des livres de l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:221 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:265 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:253 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:271 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "Supprime les livres de l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:269 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:276 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:278 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:283 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "Supprime les livres de la liste des métadonnées de l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:281 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:315 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:217 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "Ajoute les livres à liste des métadonnées de l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:441 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 msgid "Not Implemented" msgstr "Non implémenté" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:367 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 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." @@ -747,55 +751,59 @@ msgstr "" "comme lignes dans la base de données sqlite. A l'heure actuelle, ils ne " "peuvent être importés ou visionnés." -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:17 msgid "Communicate with the Palm Pre" msgstr "Communiquer avec le Palm Pre" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:37 msgid "Communicate with the Booq Avant" msgstr "Communiquer avec le Booq Avant" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:58 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:58 msgid "Communicate with the Sweex MM300" msgstr "Communiquer avec le Sweex MM300" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "Communiquer avec le Pandigital Novel" -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." msgstr "Communiquer avec la tablette internet Nokia 770." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 msgid "Communicate with the Nokia 810 internet tablet." msgstr "Communiquer avec la tablette internet Nokia 810." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 msgid "Communicate with the Nokia E52" msgstr "Communiquer avec un Nokia E52" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20 msgid "The Nook" msgstr "Le Nook" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:21 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21 msgid "Communicate with the Nook eBook reader." msgstr "Communiquer avec le lecteur d'ebook Nook." -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." msgstr "Communiquer avec le lecteur d'ebook Nuut2." -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:89 msgid "Communicate with the Sony PRS-500 eBook reader." msgstr "Communique avec le lecteur d'ebook Sony PRS-500." -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22 msgid "Communicate with all the Sony eBook readers." msgstr "Communiquer avec tous les lecteurs d'eBook Sony" -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:61 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:61 msgid "" "Comma separated list of metadata fields to turn into collections on the " "device. Possibilities include: " @@ -803,46 +811,46 @@ msgstr "" "Liste de métadonnées séparées par des virgules, transformées en collection " "dans l'appareil. Les possibilités sont les suivantes : " -#: /home/kovid/work/trunk/src/calibre/devices/prs505/sony_cache.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/structure.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Non nommé" -#: /home/kovid/work/trunk/src/calibre/devices/sne/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." msgstr "Communiquer avec le lecteur d'eBook Samsung SNE." -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "Communiquer avec le lecteur Teclast K3." +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "Communiquer avec le lecteur Teclast K3/K5" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "Communiquer avec le lecteur Newsmy" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "Communiquer avec le lecteur iPapyrus" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Impossible de détecter le disque %s. Essayer de redémarrer" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:435 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:435 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "" "Impossible de détecter le point de montage %s. Essayez de redémarrer le " "poste." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:500 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:500 msgid "Unable to detect the %s disk drive." msgstr "Impossible de monter le disque %s." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:593 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:593 msgid "Could not find mount helper: %s." msgstr "Impossible de trouver l'assistant de montage: %s." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:605 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." @@ -850,150 +858,150 @@ msgstr "" "Impossible de détecter le disque dur %s. Votre noyau doit probablement " "exporter une version obsolète de SYSFS." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:613 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:613 msgid "Unable to mount main memory (Error code: %d)" msgstr "Impossible de monter la mémoire principale (Code d'erreur: %d)" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:750 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:752 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:750 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:752 msgid "The reader has no storage card in this slot." msgstr "Le lecteur n'a aucune carte mémoire dans cette fente." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:754 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:754 msgid "Selected slot: %s is not supported." msgstr "La fente choisie %s n'est pas supportée." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:783 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 msgid "There is insufficient free space in main memory" msgstr "Espace insuffisant dans la mémoire principale" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:785 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:787 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:785 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:787 msgid "There is insufficient free space on the storage card" msgstr "Espace insuffisant sur la carte mémoire" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:12 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:12 msgid "Configure Device" msgstr "Configurer l'appareil" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:37 msgid "settings for device drivers" msgstr "paramètres pour les pilotes de périphériques" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:39 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:39 msgid "Ordered list of formats the device will accept" msgstr "Liste de formats triés acceptés par l'appareil" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:41 msgid "Place files in sub directories if the device supports them" msgstr "" "Placer les fichiers dans des sous-répertoires si l'appareil le permet" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:43 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 msgid "Read metadata from files on device" msgstr "Lire les métadonnées à partir des fichiers dans l'appareil" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:45 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:45 msgid "Use author sort instead of author" msgstr "Utiliser la clé de tri d'auteur au lieu de l'auteur" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:47 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:47 msgid "Template to control how books are saved" msgstr "Modèle pour contrôler comment les livres sont sauvegardés" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 msgid "Extra customization" msgstr "Personnalisation complémentaire" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 msgid "Communicate with an eBook reader." msgstr "Communiquer avec un lecteur d'ebook." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:57 msgid "Get device information..." msgstr "Lit les informations de l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:194 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:194 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 msgid "Transferring books to device..." msgstr "Transfère les livres vers l'appareil..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:314 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:314 msgid "Sending metadata to device..." msgstr "Envoie les métadonnées vers l'appareil..." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:41 msgid "%prog [options] mybook.chm" msgstr "%prog [options] monlivre.chm" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:42 msgid "Output directory. Defaults to current directory" msgstr "Répertoire de sortie. Par défaut : répertoire courant" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:45 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 msgid "Set the book title" msgstr "Définit le titre du livre" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:47 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:591 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 msgid "Set sort key for the title" msgstr "Définit la clé de tri pour le titre" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:593 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 msgid "Set the author" msgstr "Définit l'auteur" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:595 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 msgid "Set sort key for the author" msgstr "Définit la clef de tri pour l'auteur" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:597 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 msgid "The category this book belongs to. E.g.: History" msgstr "La catégorie à laquelle le livre appartient. Exemple : Histoire" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:600 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:56 +#: /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 "" "Chemin d'une image qui sera utilisée comme vignette pour ces fichiers" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:59 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:59 msgid "Path to a txt file containing a comment." msgstr "Chemin d'un txt contenant un commentaire." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:607 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Extract thumbnail from LRF file" msgstr "Extrait la vignette du fichier LRF" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Set the publisher" msgstr "Définir l'éditeur" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:609 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the book classification" msgstr "Indiquer la classification du livre" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:610 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 msgid "Set the book creator" msgstr "Indiquer le créateur du livre" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "Set the book producer" msgstr "Indiquer le producteur du livre" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:68 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:613 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:68 +#: /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." @@ -1002,24 +1010,24 @@ msgstr "" "pas de couverture définie, donc nous utilisons quelques heuristiques pour " "deviner la couverture." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:615 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 msgid "Set book ID" msgstr "Définit l'ID du livre" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:72 msgid "Set font delta" msgstr "Fixer la police delta" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "Rendu de %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "Échec %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1029,7 +1037,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1040,22 +1048,22 @@ msgstr "" "illisible sur votre appareil si vous créez vos bandes dessinées au format " "EPUB." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Désactiver l'effet de normalisation (améliore le contraste) de la gamme de " "couleurs pour les images. Par défaut : False" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Maintient les proportions de l'image. Par défaut : Plein écran." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Désactiver l'effet d'accentuation." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1063,12 +1071,12 @@ msgstr "" "Désactive le découpage des pages de BD. Pour certaines BD, le découpage peut " "supprimer le contenu aussi bien que les bordures." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "" "Ne pas diviser les images au format paysage en deux images au format portrait" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1076,7 +1084,7 @@ msgstr "" "Garde les proportions de l'image et la redimensionne en utilisant la hauteur " "de l'écran comme largeur d'image pour une visualisation en mode paysage." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1085,7 +1093,7 @@ msgstr "" "Peut entrainer une division des pages au format paysage en pages au format " "portrait affichées de droite à gauche." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1093,7 +1101,7 @@ msgstr "" "Autoriser le flou. Réduit le bruit. Peut augmenter sensiblement les durées " "d'exécutions." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1102,7 +1110,7 @@ msgstr "" "l'ordre alphabétique. Utiliser plutôt l'ordre dans lequel ils ont été " "ajoutés dans la bande dessinée." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 " @@ -1112,20 +1120,20 @@ msgstr "" "tester pour voir quel format vous donne une taille et un rendu optimal sur " "votre appareil." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "N'applique aucun traitement sur l'image" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "Ne pas convertir les images en niveaux de gris (noir et blanc)" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:426 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Page" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19 msgid "" "input_file output_file [options]\n" "\n" @@ -1175,31 +1183,31 @@ msgstr "" "\n" "Pour la documentation complète du système de conversion, consulter\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97 msgid "INPUT OPTIONS" msgstr "OPTIONS EN ENTREE" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:98 msgid "Options to control the processing of the input %s file" msgstr "Options pour contrôler le traitement du fichier d'entrée %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104 msgid "OUTPUT OPTIONS" msgstr "OPTIONS EN SORTIE" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:105 msgid "Options to control the processing of the output %s" msgstr "Options pour contrôler le traitement de la sortie %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:119 msgid "Options to control the look and feel of the output" msgstr "Options pour contrôler l'apparence de la sortie" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:135 msgid "Control auto-detection of document structure." msgstr "Contôle l'auto-détection de la structure du document." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:145 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 " @@ -1209,28 +1217,28 @@ msgstr "" "le fichier source a une Table des Matières, elle sera utilisé de préférence " "par rapport à celle qui est générée automatiquement." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:155 msgid "Options to set metadata in the output" msgstr "Options pour indiquer les métadonnées en sortie" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:158 msgid "Options to help with debugging the conversion" msgstr "Options d'aide pour le débogage de la conversion" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:183 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 msgid "List builtin recipes" msgstr "Lister les recettes intégrées" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:256 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:256 msgid "Output saved to" msgstr "Sortie sauvegardée vers" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:95 msgid "Level of verbosity. Specify multiple times for greater verbosity." msgstr "" "Niveau de verbosité. Spécifier le plusieurs fois pour augmenter la verbosité." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:102 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 " @@ -1240,7 +1248,7 @@ msgstr "" "conversion, dans le répertoire spécifié. Utile si vous n'êtes pas sûr de " "connaitre le cycle de conversion où le bogue survient." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:111 msgid "" "Specify the input profile. The input profile gives the conversion system " "information on how to interpret various information in the input document. " @@ -1252,7 +1260,7 @@ msgstr "" "d'entrée. Par exemple, la résolution dépend des longueurs. (c.-à-d. " "longueurs en pixels). Les choix sont:" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 msgid "" "Specify the output profile. The output profile tells the conversion system " "how to optimize the created document for the specified device. In some " @@ -1265,7 +1273,7 @@ msgstr "" "documents qui fonctionneront sur cet appareil. Par exemple EPUB sur un " "lecteur SONY. Les choix sont:" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:133 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:133 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 " @@ -1278,7 +1286,7 @@ msgstr "" "sortie et vice versa. Par défaut, la taille de base pour la fonte est " "choisie par rapport au profil de sortie que vous avez choisi." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:143 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-" @@ -1294,11 +1302,11 @@ msgstr "" "Le comportement par défaut est d'utiliser une correspondance basée sur le " "profil de sortie que vous avez choisis." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:155 msgid "Disable all rescaling of font sizes." msgstr "Désactiver tous les redimensionnements des tailles de polices." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:162 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:162 msgid "" "The line height in pts. Controls spacing between consecutive lines of text. " "By default no line height manipulation is performed." @@ -1307,7 +1315,7 @@ msgstr "" "consécutives de texte. Par défaut aucune manipulation sur la hauteur de " "ligne n'est effectué." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:170 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:170 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 " @@ -1319,7 +1327,7 @@ msgstr "" "texte qui déborde de la page et d'autres artéfacts. Cette option extraira le " "contenu des tables et le présentera dans un mode linéaire." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 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 " @@ -1329,7 +1337,7 @@ msgstr "" "au premier niveau de la table des matières. Si spécifiée, elle sera " "prioritaire par rapport aux autres formulaires d'auto-détection." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:189 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:189 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 " @@ -1339,7 +1347,7 @@ msgstr "" "au deuxième niveau de la table des matières. Chaque entrée est ajoutée en " "dessous de la précédente entrée de premier niveau." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 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 " @@ -1349,7 +1357,7 @@ msgstr "" "troisième niveau de la table des matières. Chaque entrée est ajoutée en " "dessous de la précédente entrée de deuxième niveau." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205 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 " @@ -1359,13 +1367,13 @@ msgstr "" "utilisée de préférence à celle auto-générée. Avec cette option, l'auto-" "générée est toujours utilisée." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:213 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "" "Ne pas ajouter à la table des matières les chapitres détectés " "automatiquement." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:220 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" @@ -1373,7 +1381,7 @@ msgstr "" "Lorsque le nombre de chapitres détectés est inférieur à ce chiffre, les " "liens sont ajoutés à la table des matières. Par défaut: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:227 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 " @@ -1383,7 +1391,7 @@ msgstr "" "désactiver. Par défaut : %default. Les liens sont ajoutés à la TOC seulement " "si le seuil du nombre de chapitres détecté n'a pas été atteint." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:235 msgid "" "Remove entries from the Table of Contents whose titles match the specified " "regular expression. Matching entries and all their children are removed." @@ -1392,7 +1400,7 @@ msgstr "" "l'expression régulière spécifiée. Les entrées correspondantes ainsi que " "leurs fils sont supprimés." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:246 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:246 msgid "" "An XPath expression to detect chapter titles. The default is to consider " "

    or

    tags that contain the words \"chapter\",\"book\",\"section\" or " @@ -1410,7 +1418,7 @@ msgstr "" "manuel utilisateur de Calibre pour une aide complémentaire sur l'utilisation " "de cette fonctionnalité." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:260 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 " @@ -1423,7 +1431,7 @@ msgstr "" "le marquage des chapitres et une valeur de \"both\" utilisera à la fois un " "saut de page et un filet." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 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 " @@ -1433,42 +1441,42 @@ msgstr "" "aux règles de style du fichier source, ainsi il pourra être utilisé pour " "surcharger ces règles." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:279 msgid "" "An XPath expression. Page breaks are inserted before the specified elements." msgstr "" "Une expression XPath. Des séparateurs de pages sont insérés avant les " "éléments spécifiés." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:285 msgid "" "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Indiquer la marge haute en pts. Par défaut : %default. Note : 72 pts " "équivaut à un pouce (2,54cm)" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:290 msgid "" "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Indiquer la marge basse en pts. Par défaut : %default. Note : 72 pts " "équivaut à un pouce (2,54cm)" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295 msgid "" "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Indiquer la marge gauche en pts. Par défaut : %default. Note : 72 pts " "équivaut à un pouce (2,54cm)" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:300 msgid "" "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Indiquer la marge droite en pts. Par défaut : %default. Note : 72 pts " "équivaut à un pouce (2,54cm)" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:306 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:306 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 " @@ -1483,7 +1491,7 @@ msgstr "" "justification du fichier source. Noter que seuls certains formats supportent " "la justification." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:316 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 " @@ -1494,7 +1502,7 @@ msgstr "" "fonctionnera pas si le fichier source n'utilise pas les paragraphes " "(étiquettes

    or

    )." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:323 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:323 msgid "" "When calibre removes inter paragraph spacing, it automatically sets a " "paragraph indent, to ensure that paragraphs can be easily distinguished. " @@ -1504,7 +1512,7 @@ msgstr "" "du paragraphe est définie automatiquement, afin de garantir une bonne " "visibilité. Cette option contrôle la largeur de l'indentation." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:330 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:330 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." @@ -1512,7 +1520,7 @@ msgstr "" "Utiliser la couverture contenue dans le fichier d'entrée plutôt que la " "couverture spécifiée." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:336 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336 msgid "" "Insert a blank line between paragraphs. Will not work if the source file " "does not use paragraphs (

    or

    tags)." @@ -1520,7 +1528,7 @@ msgstr "" "Insérer une ligne blanche entre les paragraphes. Ne fonctionnera pas si le " "fichier source n'utilise pas de paragraphes. (étiquettes

    ou

    )" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:343 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:343 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." @@ -1529,7 +1537,7 @@ msgstr "" "lorsque la première image est une couverture alors que vous désirez " "spécifier une couverture externe." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:351 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 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." @@ -1537,7 +1545,7 @@ msgstr "" "Insérer les métadonnées au début du livre. Ceci est utile si votre lecteur " "d'ebook ne supporte pas directement l'affichage/recherche des métadonnées." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:359 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359 msgid "" "Attempt to detect and correct hard line breaks and other problems in the " "source file. This may make things worse, so use with care." @@ -1546,25 +1554,25 @@ msgstr "" "d'autres problèmes du fichier source. Ceci peut faire empirer les choses, " "alors utilisez cette option avec prudence." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:367 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:367 msgid "Use a regular expression to try and remove the header." msgstr "" "Utiliser une expression régulière pour essayer de supprimer l'en-tête." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:374 msgid "The regular expression to use to remove the header." msgstr "L'expression régulière à utiliser pour la suppression de l'en-tête." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:380 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 msgid "Use a regular expression to try and remove the footer." msgstr "" "Utiliser une expression régulière pour essayer de supprimer le pied de page." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:387 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387 msgid "The regular expression to use to remove the footer." msgstr "L'expression régulière à utiliser pour supprimer le pied de page." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:394 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:394 msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." @@ -1572,7 +1580,7 @@ msgstr "" "Lire les métadonnées du fichier OPF spécifié. Les métadonnées lues à partir " "de ce fichier écraseront les métadonnées dans le fichier source." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 msgid "" "Transliterate unicode characters to an ASCII representation. Use with care " "because this will replace unicode characters with ASCII. For instance it " @@ -1589,7 +1597,7 @@ msgstr "" "utilisé par le plus grand nombre de personnes sera utilisé (Chinois dans " "l'exemple précédent)." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:416 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:416 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 " @@ -1605,118 +1613,122 @@ msgstr "" "va transformer une ligature en la paire de caractères correspondants. A " "l'opposé, cette option va conserver la ligature." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:428 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "Indiquer le titre." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:432 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:432 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "" "Indiquer les auteurs. Les auteurs multiples doivent être séparés par des &." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:437 msgid "The version of the title to be used for sorting. " msgstr "La version du titre à utiliser pour le tri. " -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:441 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:441 msgid "String to be used when sorting by author. " msgstr "Chaîne à utiliser lors du tri par auteur. " -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:445 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:445 msgid "Set the cover to the specified file or URL" msgstr "Indiquer la couverture à partir du fichier spécifié ou de l'URL" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:449 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "Indiquer la description de l'ebook." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:453 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:453 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "Indiquer l'éditeur de l'ebook." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:457 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "Indiquer les séries auxquelles appartient cet ebook." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:461 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:461 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "Indiquer l'index de cet ebook dans les séries." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:465 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:465 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "Indiquer le classement. Doit être un nombre entre 1 et 5." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:469 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:469 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "Indiquer l'ISBN du livre." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:473 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:473 +#: /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 "" "Indiquer les étiquettes du livre. Doit être une liste séparée par des " "virgules." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:477 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:477 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "Indiquer le producteur du livre." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:481 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:481 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "Indiquer la langue." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:485 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:485 msgid "Set the publication date." msgstr "Indiquer la date de publication." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:489 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "Définir l'horodatage (utilisé par la colonne Date dans Calibre)" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:589 msgid "Could not find an ebook inside the archive" msgstr "Ne trouve pas d'ebook dans l'archive" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:647 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:647 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" "Les valeurs pour les index de séries et les notes doivent être des nombres. " "Ignoré." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:654 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:654 msgid "Failed to parse date/time" msgstr "Le décodage de la date/heure a échoué" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:809 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:809 msgid "Converting input to HTML..." msgstr "Conversion de l'entrée en HTML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:836 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:836 msgid "Running transforms on ebook..." msgstr "Démarrage les transformations de l'ebook...." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:923 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:923 msgid "Creating" msgstr "Création" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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 "Réparateur d'ePub" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/epubcheck.py:18 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:18 msgid "Workaround epubcheck bugs" msgstr "Solution provisoire pour les bugs epubcheck" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/epubcheck.py:22 +#: /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 " @@ -1730,7 +1742,7 @@ msgstr "" "significativement votre fichier epub. Veuillez adresser vos plaintes au " "projet epubcheck." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1749,15 +1761,15 @@ msgstr "" "chaque erreur détectée. Utilisez les options pour contrôler quelles erreurs " "sont résolues automatiquement." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "Vous devez spécifiez un fichier epub" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:17 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17 msgid "Fix unmanifested files" msgstr "Réparer les fichiers ne contenant pas de manifeste" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:21 +#: /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." @@ -1766,13 +1778,13 @@ msgstr "" "les fichier au manifeste soit les supprimer selon l'option \"delete " "unmanifested\"." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:32 msgid "Delete unmanifested files instead of adding them to the manifest" msgstr "" "Supprimer les fichiers absents du manifeste au lieu de les ajouter au " "manifeste." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:56 +#: /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." @@ -1780,7 +1792,7 @@ msgstr "" "Extraire le contenu du fichier EPUB généré vers le répertoire spécifié. Le " "contenu du répertoire sera d'abord effacé, donc faites attention." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:62 +#: /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 " @@ -1795,7 +1807,7 @@ msgstr "" "lent, donc il est recommandé de désactiver le sectionnement si le fichier " "d'entrée contient de nombreux sauts de page." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:73 +#: /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 " @@ -1806,7 +1818,7 @@ msgstr "" "grande taille. Par défaut %default Ko est la taille requise par Adobe " "Digital Editions." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:80 +#: /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 " @@ -1816,7 +1828,7 @@ msgstr "" "avez pas spécifié une, une couverture par défaut est générée avec le titre, " "les auteurs, etc. Cette option désactive la génération de cette couverture." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:86 +#: /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 " @@ -1828,7 +1840,7 @@ msgstr "" "SVG, comme l'iPhone ou le JetBook Lite. Sans cette option, ce type " "d'appareil affichera une page blanche comme couverture." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:94 +#: /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 " @@ -1844,29 +1856,29 @@ msgstr "" "distordue. Sans cette option l'image peut être légèrement distordue, mais il " "n'y aura pas de bordures." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:169 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:169 msgid "Start" msgstr "Démarrer" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/fb2ml.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/rbml.py:102 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/txtml.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 msgid "Table of Contents:" msgstr "Tables des Matières:" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:32 +#: /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 "Ne pas insérer une Table des Matières au début du livre." -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:37 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:35 msgid "Add Table of Contents to beginning of the book." msgstr "Ajouter la Table des Matières au début du livre." -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:248 +#: /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." @@ -1874,7 +1886,7 @@ msgstr "" "Parcourir les liens dans les fichier HTML en largeur en premier. " "Normalement, ils sont parcourus en profondeur en premier." -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:255 +#: /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. " @@ -1884,7 +1896,7 @@ msgstr "" "HTML. Ne doit pas être négatif. 0 implique qu'aucun lien à la racine du " "fichier HTML ne sera suivi. Par défaut : %default." -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:264 +#: /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 " @@ -1896,7 +1908,7 @@ msgstr "" "savez ce que vous faîtes car il peut en résulter des effets variés et " "déplaisants dans le reste de le chaine de conversion." -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:272 msgid "" "Average line length for line breaking if the HTML is from a previous partial " "conversion of a PDF file. Default is %default which disables this." @@ -1905,60 +1917,60 @@ msgstr "" "conversion précédente et partielle d'un fichier PDF. Par défaut : %default " "(qui désactivera cela)." -#: /home/kovid/work/trunk/src/calibre/ebooks/lit/from_any.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." msgstr "Création du fichier LIT à partir de l'EPUB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:320 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tBook Designer file detected." msgstr "\tFichier de design du livre détecté" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322 msgid "\tParsing HTML..." msgstr "\tAnalyse de l'HTML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:345 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:345 msgid "\tBaen file detected. Re-parsing..." msgstr "\tFichier Baen détecté, redémarrage de l'analyse..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:361 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:361 msgid "Written preprocessed HTML to " msgstr "Ecrit le HTM prétraité vers " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:379 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:379 msgid "Processing %s" msgstr "Traitement de %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:393 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:393 msgid "\tConverting to BBeB..." msgstr "\tConversion en BBeB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:539 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:552 +#: /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 "Ne peut analyser le fichier: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:544 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:544 msgid "%s is an empty file" msgstr "%s est un fichier vide" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:564 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 msgid "Failed to parse link %s %s" msgstr "Érreur d'analyse du lien %s %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:608 msgid "Cannot add link %s to TOC" msgstr "Impossible d'ajouter le lien %s à la TDM" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:957 msgid "Unable to process image %s. Error: %s" msgstr "Incapable de traiter l'image %s. Erreur: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1002 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1002 msgid "Unable to process interlaced PNG %s" msgstr "Incapable d'analyser le fichier PNG %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1017 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1017 msgid "" "Could not process image: %s\n" "%s" @@ -1966,14 +1978,14 @@ msgstr "" "Ne peut traiter l'image: %s\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1772 +#: /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 "" "Une erreur s'est produite pendant l'analyse d'une table: %s. Cette table " "sera ignorée." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1774 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1981,23 +1993,23 @@ msgstr "" "Mauvaise table:\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1796 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "La table a une cellule trop grande" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 msgid "Could not read cover image: %s" msgstr "Ne peut lire l'image de couverture: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Cannot read from: %s" msgstr "Ne peut lire depuis: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1994 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1994 msgid "Failed to process opf file" msgstr "Tentative de traitement du fichier opf échouée" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:136 +#: /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" @@ -2005,33 +2017,33 @@ msgstr "" "%prog book.lrf\n" "Convertit un fichier LRF en un fichier LRS (encodage XML UTF-8)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 msgid "Output LRS file" msgstr "Fichier sortie LRS" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" msgstr "" "Ne pas sauvegarder les images embarquées et les fichiers polices sur le " "disque" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." msgstr "Analyse du LRF..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161 msgid "Creating XML..." msgstr "Création du XML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:163 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163 msgid "LRS written to " msgstr "LRS écrit à " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 msgid "Could not read from thumbnail file:" msgstr "Impossible de lire le fichier de vignettes:" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:287 +#: /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." @@ -2039,24 +2051,24 @@ msgstr "" "%prog [options] file.lrs\n" "Compile un fichier LRS en un fichier LRF." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:288 msgid "Path to output file" msgstr "Chemin vers le fichier sortie" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:114 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:114 msgid "Verbose processing" msgstr "Analyse avec explications" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:292 msgid "Convert LRS to LRS, useful for debugging." msgstr "Convertir LRS en LRS, utile pour déboguer." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457 msgid "Invalid LRF file. Could not set metadata." msgstr "Fichier LRF incorrect. Impossible d'indiquer les metadonnées." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:582 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582 msgid "" "%prog [options] mybook.lrf\n" "\n" @@ -2070,27 +2082,27 @@ msgstr "" "Visualiser/modifier les métadonnées d'un fichier LRF.\n" "\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:603 +#: /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 "" "Chemin d'un fichier texte contenant les commentaires qui seront inclus dans " "le fichier lrf." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:90 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90 msgid "Enable autorotation of images that are wider than the screen width." msgstr "" "Activer l'autorotation des images plus larges que la largeur de l'écran." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94 msgid "Set the space between words in pts. Default is %default" msgstr "Définit les epsaces entre les mots en pts. Par défaut : %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:97 msgid "Add a header to all the pages with title and author." msgstr "Ajouter un en-tête à toutes les pages avec le titre et l'auteur." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:100 +#: /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" @@ -2098,13 +2110,13 @@ msgstr "" "Définit le format de l'en-tête de page. %a est remplacé par l'auteur et %t " "par le titre. Par défaut : %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 msgid "Add extra spacing below the header. Default is %default pt." msgstr "" "Ajouter un interligne supplémentaire sous l'en-tête. Par défaut : %default " "pt." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:107 +#: /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" @@ -2112,7 +2124,7 @@ msgstr "" "Indentation minimum du paragraphe (l'indentation de la première ligne d'un " "paragraphe) en pts. Par défault: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:112 +#: /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)" @@ -2120,7 +2132,7 @@ msgstr "" "Convertir les tables dans le HTML en images (utile si le document a des " "tables grandes ou complexes)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:117 +#: /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" @@ -2128,110 +2140,110 @@ msgstr "" "Multiplier la taille du texte des tables selectionnées par ce facteur. " "Facteur par défault: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:121 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121 msgid "The serif family of fonts to embed" msgstr "La famille de police serif à inclure" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:124 msgid "The sans-serif family of fonts to embed" msgstr "La famille de police sans-serif à inclure" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:127 msgid "The monospace family of fonts to embed" msgstr "La famille de police monospace à inclure" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:152 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:152 msgid "Comic" msgstr "Bande dessinées" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:397 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:65 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:359 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "Titre" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:398 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:364 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:888 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:888 msgid "Author(s)" msgstr "Auteur(s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:399 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:61 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "Éditeur" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:400 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "Producteur" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:401 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:211 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:99 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:318 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1079 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1079 msgid "Comments" msgstr "Commentaires" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:409 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:73 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:306 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1075 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1075 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:143 msgid "Tags" msgstr "Etiquettes" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:411 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:26 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:323 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1084 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1084 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 msgid "Series" msgstr "Séries" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:412 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 msgid "Language" msgstr "Langue" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:414 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1067 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "Horodatage" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:416 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "Publié" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:418 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 msgid "Rights" msgstr "Droits" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/amazon.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazon.py:85 msgid "EDITORIAL REVIEW" msgstr "LIGNE EDITORIALE" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/archive.py:41 +#: /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." @@ -2240,11 +2252,11 @@ msgstr "" "(zip/rar). Essaie aussi de détecter automatiquement si ce sont des fichiers " "cbz/cbr." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20 msgid "options" msgstr "options" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:21 msgid "" "\n" "Read/Write metadata from/to ebook files.\n" @@ -2270,7 +2282,7 @@ msgstr "" "données seront\n" "silencieusement ignorées.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:40 +#: /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." @@ -2278,7 +2290,7 @@ msgstr "" "Indiquer les auteurs. Les auteurs multiples doivent être séparés par le " "caractère &. Les noms d'auteur doivent être dans l'ordre Prénom Nom." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:44 +#: /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." @@ -2286,7 +2298,7 @@ msgstr "" "La version du titre utilisé pour le tri. Si non spécifiée, et que le titre " "est spécifié, il sera généré automatiquement à partir du titre." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:48 +#: /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)." @@ -2295,24 +2307,24 @@ msgstr "" "auteur(s) sont spécifié(s), il sera généré automatiquement à partir des " "auteurs." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." msgstr "Indiquer la couverture pour le fichier spécifié." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:58 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 msgid "Set the book category." msgstr "Indiquer la catégorie du livre." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:74 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74 msgid "Set the published date." msgstr "Indiquer la date de publication." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:77 +#: /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 "" "Obtenir la couverture de l'ebook et la sauvegarde comme le fichier spécifié." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:80 +#: /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." @@ -2320,7 +2332,7 @@ msgstr "" "Spécifier le nom du fichier OPF. Les métadonnées seront écrites dans le " "fichier OPF." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:83 +#: /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 " @@ -2330,58 +2342,58 @@ msgstr "" "indiquer les méta-données de l'ebook. Les métadonnées spécifiées en ligne de " "commande écraseront les métadonnées lues à partir du fichier OPF." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88 msgid "Set the BookID in LRF files" msgstr "Indiquer l'identifiant du livre dans les fichiers LRF" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153 msgid "No file specified" msgstr "Aucun fichier spécifié" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:168 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168 msgid "Original metadata" msgstr "Métadonnées d'origine" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:185 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185 msgid "Changed metadata" msgstr "Métadonnées modifiées" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197 msgid "OPF created in" msgstr "OPF créé dans" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:203 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203 msgid "Cover saved to" msgstr "Couverture sauvée sur" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:205 msgid "No cover found" msgstr "Aucune couverture trouvée" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:27 msgid "Cover download" msgstr "Télécharger la couverture" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 msgid "Download covers from openlibrary.org" msgstr "Télecharger les couvertures depuis openlibrary.org" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:107 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:136 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 msgid "ISBN: %s not found" msgstr "ISBN: %s n'a pas été trouvé(e)" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:117 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 msgid "Download covers from librarything.com" msgstr "Télecharger les couvertures depuis librarything.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:128 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 msgid "LibraryThing.com timed out. Try again later." msgstr "Timeout sur LibraryThing.com. Réesayer plus tard." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:135 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:75 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." @@ -2389,44 +2401,44 @@ msgstr "" "L'image de couverture n'a pas pu être récupérée à cause de problèmes de " "connexion. Veuillez réessayer ultérieurement." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 msgid "LibraryThing.com server error. Try again later." msgstr "Erreur du serveur LibraryThing.com. Veuillez réessayer plus tard." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/douban.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/douban.py:42 msgid "Downloads metadata from Douban.com" msgstr "Télécharger les métadonnées depuis Douban.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "Télécharge les métadonnées" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "Notation" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "étiquettes" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "Description/Commentaires" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "Téléchargement de %s sur %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "Télécharge les métadonnées à partir de Google Books" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "Télécharge les métadonnées à partir d'isbndb.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2434,17 +2446,17 @@ msgstr "" "Pour utiliser isbndb.com vous devez vous enregistrer un %scompte gratuit%s " "et entrer votre clef d'accès ci-dessous." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:210 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "Télécharge les métadonnées sociales à partir d'amazon.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" "Télécharger les informations sur les séries/étiquettes/notes à partir de " "librarything.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:95 msgid "" "\n" "%prog [options] key\n" @@ -2469,27 +2481,27 @@ msgstr "" "compte gratuit sur isbndb.com.\n" "\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:106 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:106 msgid "The ISBN ID of the book you want metadata for." msgstr "L'ISBN ID du livre dont vous désirez les métadonnées." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:108 msgid "The author whose book to search for." msgstr "L'auteur du livre à chercher." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:110 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:110 msgid "The title of the book to search for." msgstr "le titre du livre à chercher." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:112 msgid "The publisher of the book to search for." msgstr "L'éditeur du livre à chercher." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:76 msgid " not found." msgstr " pas trouvé." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:86 msgid "" "\n" "%prog [options] ISBN\n" @@ -2503,22 +2515,22 @@ msgstr "" "Récupère les métadonnées sociales/la couverture du livre identifié par ISBN " "à partir de LibraryThing.com\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1226 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1399 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1226 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1399 msgid "Cover" msgstr "Couverture" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22 msgid "Modify images to meet Palm device size limitations." msgstr "" "Modifier les images pour qu'elles correspondent à la limitation de taille " "des Palm" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26 msgid "When present, use author sort field as author." msgstr "Si présent, utiliser le champ de tri par auteur comme auteur." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:30 +#: /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." @@ -2526,139 +2538,139 @@ msgstr "" "Ne pas ajouter la Table Des Matières à la fin du livre. Utile si le livre à " "sa propre table des matières." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 +#: /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 "Titre pour les tables des matières générées." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37 msgid "Disable compression of the file contents." msgstr "Désactiver la compression du contenu du fichier." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:40 msgid "Tag marking book to be filed with Personal Docs" msgstr "" "Etiquette indiquant que le livre doit être classé avec les Documents " "Personnels (Personnal Docs):" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:108 msgid "All articles" msgstr "Tous les articles" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:259 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:259 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "C'est un livre Amazon Topaz. Il ne peut pas être traité." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1400 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1400 msgid "Title Page" msgstr "Page de titre" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1401 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194 msgid "Table of Contents" msgstr "Tables des matières" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1402 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1402 msgid "Index" msgstr "Index" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1403 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1403 msgid "Glossary" msgstr "Glossaire" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1404 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1404 msgid "Acknowledgements" msgstr "Remerciements" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1405 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1405 msgid "Bibliography" msgstr "Bibliographie" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1406 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1406 msgid "Colophon" msgstr "Marque de l'imprimeur" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1407 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1407 msgid "Copyright" msgstr "Copyright" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1408 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1408 msgid "Dedication" msgstr "Dédicace" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1409 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1409 msgid "Epigraph" msgstr "Epigraphe" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1410 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1410 msgid "Foreword" msgstr "Avant-propos" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1411 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1411 msgid "List of Illustrations" msgstr "Liste d'illustrations" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1412 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1412 msgid "List of Tables" msgstr "Liste de Tables" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1413 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1413 msgid "Notes" msgstr "Notes" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1414 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1414 msgid "Preface" msgstr "Préface" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1415 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1415 msgid "Main Text" msgstr "Texte principal" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/iterator.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:41 msgid "%s format books are not supported" msgstr "Les livres au format %s ne sont pas supportés" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 msgid "HTML TOC generation options." msgstr "Options pour la génération des TDM HTML." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:113 msgid "Book Jacket" msgstr "Jaquette du Livre" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/split.py:34 +#: /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 "Pas trouvé d'endroit où scinder: branche %s taille: %d KB" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 msgid "OPF/NCX/etc. generation options." msgstr "Options pour la génération OPF/NCX/etc." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35 msgid "OPF version to generate. Default is %default." msgstr "Version OPF à générer. Par défaut : %defaut" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:37 msgid "" "Generate an Adobe \"page-map\" file if pagination information is available." msgstr "" "Générer un fichier \"page-map\" Adobe si les informations de pagination sont " "disponibles." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128 msgid "Footnotes" msgstr "Notes de bas de page" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135 msgid "Sidebar" msgstr "Panneau latéral" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:22 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line represents a paragraph instead." @@ -2667,9 +2679,9 @@ msgstr "" "paragraphes. Avec cette option, il supposera que chaque ligne représente un " "paragraphe." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:26 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line starting with an indent (either a tab or 2+ " @@ -2682,11 +2694,11 @@ msgstr "" "paragraphe. Les paragraphes se terminent quand la prochaine ligne qui débute " "avec une indentation est atteinte." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23 msgid "Format to use inside the pdb container. Choices are:" msgstr "Format à utiliser à l'intérieur du conteneur pdb. Les choix sont:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:27 +#: /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." @@ -2694,11 +2706,11 @@ msgstr "" "Spécifier l'encodage des caractères pour le document de sortie. Par défaut : " "cp1252. Note: Cette option n'est pas gérée par tous les formats." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 msgid "Do not extract images from the document" msgstr "Ne pas extraire les images du document" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:26 +#: /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.5, this is the " @@ -2708,11 +2720,11 @@ msgstr "" "doit être déroulée. Les valeurs entrées doivent se situer entre 0 et 1, la " "valeur par défaut étant 0.5, ce qui représente la longueur médiane." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30 msgid "Use the new PDF conversion engine." msgstr "Utiliser le nouveau moteur de conversion de PDF." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/cli.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 msgid "" "command ...\n" "\n" @@ -2733,7 +2745,7 @@ msgstr "" "\n" "Manipuler un PDF.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:29 msgid "" "[options] file.pdf\n" "\n" @@ -2743,36 +2755,36 @@ msgstr "" "\n" "Réduire un fichier PDF.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:38 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:41 +#: /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 "" "Chemin du fichier de sortie. Par défaut, un fichier est créé dans le " "répertoire courant." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:41 +#: /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 "Nombre de pixels à rogner de la gauche plus x (par défaut: %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:44 +#: /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 "Nombre de pixels à rogner de la gauche plus y (par défaut: %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:47 +#: /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 "Nombre de pixels à rogner de la droite plus x (par défaut: %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:50 +#: /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 "Nombre de pixels à rogner de la droite plus y (par défaut: %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:53 +#: /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`" @@ -2781,21 +2793,21 @@ msgstr "" "individuellement réduite `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox " "file.pdf 2> bounding`" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 msgid "Crop Options:" msgstr "Options de réduction:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /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 "Options pour contrôler la transformation en pdf" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 msgid "" "[options] file.pdf password\n" "\n" @@ -2805,11 +2817,11 @@ msgstr "" "\n" "Décrypter un fichier PDF.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 msgid "Decrypt Options:" msgstr "Options de décryptage:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 msgid "" "[options] file.pdf password\n" "\n" @@ -2819,11 +2831,11 @@ msgstr "" "\n" "Crypter un fichier PDF.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 msgid "Encrypt Options:" msgstr "Options d'encryptage:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:21 msgid "" "file.pdf ...\n" "\n" @@ -2833,33 +2845,33 @@ msgstr "" "\n" "Obtenir des informations à propos d'un PDF.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:46 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 +#: /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:33 msgid "Author" msgstr "Auteur" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47 msgid "Subject" msgstr "Sujet" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48 msgid "Creator" msgstr "Créateur" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50 msgid "Pages" msgstr "Pages" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51 msgid "File Size" msgstr "Taille du fichier" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 msgid "PDF Version" msgstr "Version du PDF" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25 msgid "" "[options] file1.pdf file2.pdf ...\n" "\n" @@ -2873,11 +2885,11 @@ msgstr "" "\n" "Fusionner des PDFs individuels.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 msgid "Merge Options:" msgstr "Options de fusion:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:25 msgid "" "[options] file.pdf\n" "\n" @@ -2887,11 +2899,11 @@ msgstr "" "\n" "Retourne un PDF\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 msgid "Reverse Options:" msgstr "Inverser les options :" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:24 msgid "" "file.pdf degrees\n" "\n" @@ -2901,11 +2913,11 @@ msgstr "" "\n" "Rotation de pages d'un PDF dans le sens des aiguilles d'une montre.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 msgid "Rotate Options:" msgstr "Options de rotation:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25 msgid "" "\n" "%prog %%name [options] file.pdf page_to_split_on ...\n" @@ -2931,11 +2943,11 @@ msgstr "" "\n" "Diviser un PDF.\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 msgid "Split Options:" msgstr "Options de division:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:31 +#: /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!" @@ -2943,7 +2955,7 @@ msgstr "" "L'unité de mesure. Par défaut: pouce (inch). Les choix sont %s. Note: Cela " "n'écrase pas l'unité des marges!" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:36 +#: /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" @@ -2951,7 +2963,7 @@ msgstr "" "La taille du papier. Cette taille sera écrasée si un profil de sortie est " "utilisé. Par défaut: lettre (letter). Les choix sont %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:40 +#: /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." @@ -2960,11 +2972,11 @@ msgstr "" "d. `123x321` pour spécifier la largeur et la hauteur. Ceci outrepassera " "toute taille de papier spécifiée." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45 msgid "The orientation of the page. Default is portrait. Choices are %s" msgstr "L'orientation de la page. Par défaut : portrait. Les choix sont %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:49 +#: /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 " "ull first page of the generated pdf." @@ -2972,20 +2984,20 @@ msgstr "" "Conserver les proportions de la couverture à la place de l'étirer pour " "remplir la totalité de la première page du pdf généré." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/pdftohtml.py:55 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" "Impossible de trouver le programme pdfhtml, vérifier qu'il est bien dans " "votre PATH" -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:33 msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" "Spécifier l'encodage de caractères pour le document de sortie. Par défaut: " "cp1252" -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -2995,14 +3007,14 @@ msgstr "" "Calibre. Convertissez-le en HTML puis réessayez.\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 msgid "" "Specify the character encoding of the output document. The default is utf-8." msgstr "" "Définir l'encodage des caractères du document produit. La valeur par défaut " "est utf-8." -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:27 msgid "" "Specify the compression level to use. Scale 1 - 10. 1 being the lowest " "compression but the fastest and 10 being the highest compression but the " @@ -3012,7 +3024,7 @@ msgstr "" "la plus faible, mais la plus rapide et 10 étant la compression la plus " "élevée mais la plus lente." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:34 msgid "" "Normally extra spaces are condensed into a single space. With this option " "all spaces will be displayed." @@ -3020,7 +3032,7 @@ msgstr "" "Normalement les espaces surnuméraires sont condensés en un seul espace. Avec " "cette option, toutes les espaces seront affichées." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:37 msgid "" "Run the text input through the markdown pre-processor. To learn more about " "markdown see" @@ -3028,11 +3040,11 @@ msgstr "" "Exécute le texte en entrée via le pré-processeur markdown. Pour en apprendre " "plus à propos de markdown voir" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:40 msgid "Do not insert a Table of Contents into the output text." msgstr "Ne pas insérer une table des matières dans le texte de sortie." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:24 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'. " @@ -3043,7 +3055,7 @@ msgstr "" "Pour les Mac OS X utiliser 'unix'.'system' utilisera le type de saut de " "ligne utilisé par cet OS." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 msgid "" "Specify the character encoding of the output document. The default is utf-8. " "Note: This option is not honored by all formats." @@ -3051,7 +3063,7 @@ msgstr "" "Spécifier l'encodage de caractères du document de sortie. Par défaut: utf-8. " "Note: Cette option ne sera pas gérée par tous les formats." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:38 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 " @@ -3064,7 +3076,7 @@ msgstr "" "spécifiée. Avec un minimum de 25 caractères. Utiliser 0 pour désactiver la " "rupture de la ligne." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:45 msgid "" "Force splitting on the max-line-length value when no space is present. Also " "allows max-line-length to be below the minimum" @@ -3073,77 +3085,77 @@ msgstr "" "espace n'est présent. Autorise aussi la valeur maximale de la longueur de " "ligne à être en dessous du minimum" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Send file to storage card instead of main memory by default" msgstr "" "Par défaut, envoyer le fichier dans la carte mémoire à la place de la " "mémoire principale" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Confirm before deleting" msgstr "Confirmer avant la suppression" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Géométrie de l'écran principal" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Avertir lorsqu'une nouvelle version est disponible" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Utiliser les chiffres romains pour les numéros de séries" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by name, popularity, or rating" msgstr "Trier la liste d'étiquettes par nom, popularité ou note (classement)" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" "Nombre de couvertures à afficher dans le mode de navigation par couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Valeurs par défaut pour la conversion vers LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Options pour l'afficheur d'ebook LFR" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Formats that are viewed using the internal viewer" msgstr "Formats qui sont affichés par l'afficheur interne" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Columns to be displayed in the book list" msgstr "Colonnes affichées dans la liste de livres" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Automatically launch content server on application startup" msgstr "" "Démarrer automatiquement le serveur de contenu au démarrage de l'application" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Oldest news kept in database" msgstr "Anciennes informations conservées dans la base" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Show system tray icon" msgstr "Afficher l'icône dans la zone de notification" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Upload downloaded news to device" msgstr "Envoyer les News téléchargées vers l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Delete books from library after uploading to device" msgstr "" "Supprimer les livres de la bibliothèque après les avoir téléchargés dans " "l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" @@ -3151,270 +3163,494 @@ msgstr "" "Afficher la navigation par couverture dans une fenêtre séparée au lieu de la " "fenêtre principale de Calibre." -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Disable notifications from the system tray icon" msgstr "Désactiver les alertes dans la zone de notification" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Default action to perform when send to device button is clicked" msgstr "" "Action par défaut à réaliser quand le bouton 'envoyer au lecteur' est cliqué" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 msgid "Maximum number of waiting worker processes" msgstr "Nombre maximum de processus de travail en attente" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 msgid "Download social metadata (tags/rating/etc.)" msgstr "Télécharger les métadonnés sociales (étiquettes/classement/etc...)" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 msgid "Overwrite author and title with new metadata" msgstr "Remplacer l'auteur et le titreavec de nouvelles metadata" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" "Limiter le nombre maximum de travaux simultanés au nombre de processeurs." -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 msgid "tag browser categories not to display" msgstr "catégories du navigateur d'étiquettes à ne pas afficher" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 msgid "The layout of the user interface" msgstr "La présentation de l'interface utilisateur" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 msgid "Show the average rating per item indication in the tag browser" msgstr "Afficher la note moyenne par article dans le navigateur d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:103 msgid "Disable UI animations" msgstr "Désactiver les animations de IU" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:151 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "Copié" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy" msgstr "Copier" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy to Clipboard" msgstr "Copier dans le Presse-papiers" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "Choisir les fichiers" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:245 -msgid "Use library only" -msgstr "Utiliser seulement la bibliothèque" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "Ajouter des livres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" +msgstr "Ajouter des livres à partir d'un répertoire" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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 "" -"Annotations utilisateur générées à partir de la bibliothèque principale " -"uniquement" +"Ajouter des livres par répertoires et sous-répertoires. (Un livre par " +"répertoire, chaque fichier représente le même livre dans un format différent)" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:623 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:682 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:719 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:740 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:925 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:998 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1116 -msgid "No books selected" -msgstr "Aucun livre sélectionné" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +msgid "" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Aucun livre sélectionné pour la récupération des annotations à partir de" +"Ajouter des livres par répertoires et sous-répertoires. (Plusieurs livres " +"par répertoire, chaque fichier est un livre différent)" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:101 -msgid "Merging user annotations into database" -msgstr "Fusionne les annotations utilisateur dans la base de données" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "Ajouter un livre vide. (Une entrée sans aucun format)" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:129 -msgid "%s
    Last Page Read: %d (%d%%)" -msgstr "%s
    Dernière Page Lue: %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" +msgstr "Ajouter à partir de l'ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:135 -msgid "%s
    Last Page Read: Location %d (%d%%)" -msgstr "%s
    Dernière Page Lue: Position %d (%d%%)" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
    %s
    " -msgstr "Position %d • %s
    %s
    " - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
    " -msgstr "Page %d • %s
    " - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
    " -msgstr "Position %d • %s
    " - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "Combien de livres vides?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "Combien de livres vides doivent être ajoutés?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "Téléchargement des livres vers l'appareil." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "Livres" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "Livres EPUB" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "Livres LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "Livres HTML" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "Livres LIT" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "Livres MOBI" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "Livres Topaz" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "Livres Texte" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "Livres PDF" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "Bande Dessinées" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "Archives" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "Livres supportés" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "Fusionne des livres" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" "Des doublons ont été trouvés et fusionnés dans les livres existants suivants:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "Impossible de lire les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "Impossible de lire les métadonnées à partir de" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "Ajouter à la bibliothèqye" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:473 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Aucun livre sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" "Les livres suivants sont virtuels et ne peuvent être ajoutés à la " "bibliothèque Calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "Aucun fichier de livres trouvé" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 +msgid "Add books to library" +msgstr "Ajouter des livres à la bibliothèque" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "Récupérer les annotations (expérimental)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "Utiliser seulement la bibliothèque" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "" +"Annotations utilisateur générées à partir de la bibliothèque principale " +"uniquement" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "Aucun livre sélectionné" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" +"Aucun livre sélectionné pour la récupération des annotations à partir de" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "Fusionne les annotations utilisateur dans la base de données" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
    Last Page Read: %d (%d%%)" +msgstr "%s
    Dernière Page Lue: %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
    Last Page Read: Location %d (%d%%)" +msgstr "%s
    Dernière Page Lue: Position %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
    %s
    " +msgstr "Position %d • %s
    %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
    " +msgstr "Page %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +msgid "Location %d • %s
    " +msgstr "Position %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:32 +msgid "Create catalog of books in your calibre library" +msgstr "Créer le catalogue des livres dans votre bibliothèque Calibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "Aucun livre sélectionné pour générer le catalogue pour" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "Génère le catalogue %s..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "Aucun livre trouvé" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" +"Aucun livre vers le catalogue\n" +"Vérifier les étiquettes d'exclusion" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "Catalogue généré." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "Répertoire d'export du catalogue" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "Sélectionner la destination pour %s.%s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "%d livres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "Choisissez la bibliothèque Calibre aves laquelle travailler" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "Basculer vers la bibliothèque..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "Bascule rapide" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "Aucune bibliothèque n'a été trouvée" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +msgid "" +"No existing calibre library was found at %s. It will be removed from the " +"list of known libraries." +msgstr "" +"Aucune bibliothèque Calibre existante n'a été trouvée à %s. Celle-ci va être " +"effacée de la liste des bibliothèques connues." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "Interdit" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" +"Vous ne pouvez pas changer de bibliothèque quand un appareil est connecté" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +msgid "You cannot change libraries while jobs are running." +msgstr "" +"Vous ne pouvez pas changer de bibliothèque pendant que des travaux sont en " +"cours" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "C" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "Convert books" +msgstr "Convertir les livres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +msgid "Convert individually" +msgstr "Convertir individuellement" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "Convertir par lot" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "Conversion impossible" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "Démarrer la conversion de %d livre(s)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "Copier vers la bibliothèque" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "Copier les livres sélectionnés vers la bibliothèque spécifiée" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "Echec" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Suppression" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "Supprimer des livres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "Supprimer les livres sélectionnés" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "" +"Supprimer les fichiers d'un format spécifique pour les livres sélectionnés..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "Supprimer tous les formats pour les livres sélectionnés, excepté..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "Supprimer les couvertures des livres sélectionnés" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "Supprimer les livres correspondant de l'appareil" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "Impossible de supprimer" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "Choisir les formats à supprimer" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "Choisir les formats à ne pas supprimer" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "Impossible d'effacer les livres" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "Aucun appareil n'est connecté" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "Mémoire principale" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:533 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:436 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:445 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "Carte mémoire A" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:534 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:438 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:447 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "Carte mémoire B" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "Aucun livre à effacer" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 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/trunk/src/calibre/gui2/actions.py:557 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "Suppression des livres dans l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" @@ -3422,7 +3658,7 @@ msgstr "" "Les livres sélectionnés vont être supprimés définitivement et les " "fichiers seront supprimés de votre ordinateur. Etes-vous sûr ?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" @@ -3430,61 +3666,156 @@ msgstr "" "Les livres sélectionnés seront effacés de manière permanente de votre " "appareil. Etes vous sûr de votre choix?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "Connecter au dossier" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "Connecter à iTunes" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "Démarrer le serveur de contenu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "Arrêter le serveur de contenu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "Email vers" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr " et efface de la bibliothèque" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "Configurer le partage des livres par email" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "D" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "Envoyer au lecteur" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +msgstr "Connecter/Partager" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 +msgid "Manage collections" +msgstr "Gérer les collections" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "E" +msgstr "E" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "Edit metadata" +msgstr "Editer les métadonnées" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 +msgid "Merge book records" +msgstr "Fusionner les enregistrements de livres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "M" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "Editer les métadonnées individuellement" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "Editer les métadonnées par lot" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "Télécharger les métadonnées et les couvertures" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "Télécharger seulement les métadonnées" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "Télécharger seulement les couvertures" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "Télécharger uniquement les métadonnées sociales" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "Fusionner dans le premier livre sélectionné - supprimer les autres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "Fusionner dans le premier livre sélectionné - conserver les autres" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "Impossible de télécharger les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "Métadonnées sociales" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "couvertures" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "Télécharge les livres %s sur %d" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "Le téléchargement d'une partie des métadonnées a échoué" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "Le téléchargement des métadonnées a échoué pour :" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "Le téléchargement des métadonnées a échoué:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:671 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:608 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:550 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:962 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "Erreur" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:681 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "Impossible d'éditer les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:739 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "Impossible de fusionner les livres" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "Au moins deux livres doivent être séléctionnés avant de fusionner" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

    The second and subsequently selected " @@ -3496,7 +3827,7 @@ msgstr "" "suivants sélectionnés ne seront ni supprimés ni changés.

    Veuille " "confirmer que vous voulez lancer le traitement." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

    After merger the second and " @@ -3513,7 +3844,7 @@ msgstr "" "définitivement supprimés de votre ordinateur.

    Êtes vous " "sûr de vouloir lancer le traitement ?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 msgid "" "You are about to merge more than 5 books. Are you sure you want to " "proceed?" @@ -3521,107 +3852,219 @@ msgstr "" "Vous allez fusionner plus de 5 livres. Etes-vous sûr de vouloir " "lancer le traitement ?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "F" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "Récupérer des News" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 +msgid "Fetching news from " +msgstr "Récupération des News de " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 +msgid " fetched." +msgstr " récupéré." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Browse the calibre User Manual" +msgstr "Parcourir le manuel utilisateur de Calibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "F1" +msgstr "F1" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Help" +msgstr "Aide" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 +msgid "Open containing folder" +msgstr "Ouvrir le dossier contenant" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 +msgid "O" +msgstr "O" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +msgid "Ctrl+P" +msgstr "Ctrl+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "Préférences" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "Démarrer l'assistant de bienvenue" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "Configuration impossible" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "Impossible de configurer pendant que des travaux sont en cours." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +msgid "Cannot configure before calibre is restarted." +msgstr "Configuration impossible avant que Calibre n'ait été redémarré." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "&Restart" +msgstr "&Redémarrer" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "Ctrl+R" +msgstr "Ctrl+R" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 +msgid "Save single format to disk..." +msgstr "Sauvegarder un seul format vers le disque..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40 +msgid "S" +msgstr "S" + +#: /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:45 +msgid "Save to disk" +msgstr "Sauvegarder sur le disque" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:47 +msgid "Save to disk in a single directory" +msgstr "Sauvegarder sur le disque dans un seul répertoire" + +#: /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 "Sauvegarder seulement le format %s vers le disque" + +#: /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 "" +"Sauvegarder seulement le format %s sur le disque dans un repertoire unique" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:90 msgid "Cannot save to disk" msgstr "Impossible de sauvegarder sur le disque" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:927 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93 msgid "Choose destination directory" msgstr "Choisir le répertoire de destination" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:933 -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "Interdit" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:934 +#: /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/trunk/src/calibre/gui2/actions.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:135 msgid "Error while saving" msgstr "Erreur pendant la sauvegarde" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136 msgid "There was an error while saving." msgstr "Il y a eu une erreur lors de la sauvegarde." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:976 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:977 +#: /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 msgid "Could not save some books" msgstr "Impossible de sauvegarder certains livres" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 msgid "Click the show details button to see which ones." msgstr "Cliquer le bouton afficher les détails pour voir lesquels." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:999 -msgid "No books selected to generate catalog for" -msgstr "Aucun livre sélectionné pour générer le catalogue pour" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" +msgstr "Afficher les détails du livre" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1016 -msgid "Generating %s catalog..." -msgstr "Génère le catalogue %s..." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" +msgstr "I" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1021 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:264 -msgid "No books found" -msgstr "Aucun livre trouvé" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" +msgstr "Pas d'information détaillée disponible" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1022 -msgid "" -"No books to catalog\n" -"Check exclude tags" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." msgstr "" -"Aucun livre vers le catalogue\n" -"Vérifier les étiquettes d'exclusion" +"Pas d'information détaillée disponible pour les livres dans l'appareil." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1032 -msgid "Catalog generated." -msgstr "Catalogue généré." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." +msgstr "Livres similaires..." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1035 -msgid "Export Catalog Directory" -msgstr "Répertoire d'export du catalogue" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" +msgstr "Alt+A" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1036 -msgid "Select destination for %s.%s" -msgstr "Sélectionner la destination pour %s.%s" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" +msgstr "Livres du même auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1052 -msgid "Fetching news from " -msgstr "Récupération des News de " +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "Alt+S" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1066 -msgid " fetched." -msgstr " récupéré." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "Livres dans cette série" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1115 -msgid "Cannot convert" -msgstr "Conversion impossible" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" +msgstr "Alt+P" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1144 -msgid "Starting conversion of %d book(s)" -msgstr "Démarrer la conversion de %d livre(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "Livres de cet éditeur" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "Alt+T" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "Livres avec les mêmes étiquettes" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "V" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "Visualiser" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "Visualiser le format spécifique" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "Impossible de visualiser" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1266 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "Choisir le format à afficher" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "Plusieurs livres sélectionnés" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3633,48 +4076,48 @@ msgstr "" "réponses de l'ordinateur. Une fois démarré le processus ne peut pas être " "arrêté avant la fin. Voulez-vous continuer ?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "Impossible d'ouvrir le dossier" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "%s n'a pas de format disponible." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:54 msgid "Searching in" msgstr "Recherche dans" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:232 msgid "Adding..." msgstr "Ajout..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:245 msgid "Searching in all sub-directories..." msgstr "Cherche dans tous les sous-répertoires..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:258 msgid "Path error" msgstr "Chemin de l'erreur" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 msgid "The specified directory could not be processed." msgstr "Le chemin spécifié ne peut pas être traité." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "Aucun livre" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:330 msgid "Added" msgstr "Ajouté" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:343 msgid "Adding failed" msgstr "L'ajout a échoué" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:344 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." @@ -3683,11 +4126,11 @@ msgstr "" "redémarrer Calibre et ajoutez les livres avec un incrément plus petit, " "jusqu'à ce que vous trouviez le livre problèmatique." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:356 msgid "Duplicates found!" msgstr "Des doublons ont été détectés !" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:357 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -3695,73 +4138,73 @@ msgstr "" "Des livres avec des titres identiques à ceux qui suivent existent déjà la " "base. Voulez-vous quand-même les ajouter ?" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:360 msgid "Adding duplicates..." msgstr "Ajoute les doublons..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:427 msgid "Saving..." msgstr "Sauvegarde..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:480 msgid "Saved" msgstr "Sauvegardé" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:57 msgid "Searching for sub-folders" msgstr "Recherche des sous-dossiers" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:62 msgid "Searching for books" msgstr "Recherche des livres" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:74 msgid "Looking for duplicates based on file hash" msgstr "Recherche de doublons basée sur le condensat (hash) de fichier" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:109 -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:65 msgid "Choose root folder" msgstr "Choisir le dossier racine" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:137 msgid "Invalid root folder" msgstr "Dossier racine incorrect" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:138 msgid "is not a valid root folder" msgstr "n'est pas un dossier racine correct" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:148 msgid "Add books to calibre" msgstr "Ajouter des livres à Calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 msgid "WizardPage" msgstr "Page de l'assistant" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:22 msgid "Scanning root folder for books" msgstr "Parcours le dossier racine à la recherche de livres" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:23 msgid "This may take a few minutes" msgstr "Ceci peut prendre quelques minutes" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:58 msgid "Choose the location to add books from" msgstr "Choisissez l'emplacement à partir duquel ajouter des livres" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:59 msgid "Select a folder on your hard disk" msgstr "Sélectionner un dossier de votre disque dur" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:60 msgid "" "

    calibre can scan your computer for existing books automatically. These " "books will then be copied into the calibre library. This wizard will " @@ -3781,11 +4224,11 @@ msgstr "" "

    Assurez vous que le dossier vous avez choisi comme bibliothèque Calibre " "n'est pas inclus dans le dossier racine que vous choisissez.

    " -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 msgid "&Root folder:" msgstr "Dossier &Racine" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 msgid "" "This folder and its sub-folders will be scanned for books to import into " "calibre's library" @@ -3793,57 +4236,61 @@ msgstr "" "Ce dossier et ces sous-dossiers vont être parcourus à la recherche de livres " "à importer dans la bibliothèque de Calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:52 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:79 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:551 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:552 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:564 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:568 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:570 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:614 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:365 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:370 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:384 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:395 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:397 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:399 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:404 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:406 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:159 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:128 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:267 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:269 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:270 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 msgid "..." msgstr "..." -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:67 msgid "Handle multiple files per book" msgstr "Supporte des fichiers multiples pour un livre" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:68 msgid "" "&One book per folder, assumes every ebook file in a folder is the same book " "in a different format" @@ -3851,195 +4298,196 @@ msgstr "" "&Un livre par dossier, suppose que chaque livre électronique dans un dossier " "est le même livre dans un format différent" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:69 msgid "" "&Multiple books per folder, assumes every ebook file is a different book" msgstr "" "Livres &Multiples dans un dossier, suppose que chaque livre électronique est " "un livre différent" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:23 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:54 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:311 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:116 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:313 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1065 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1065 msgid "Path" msgstr "Chemin" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:24 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:117 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:312 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" msgstr "Formats" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:25 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:891 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1068 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:891 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1068 msgid "Collections" msgstr "Collections" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:56 msgid "Click to open" msgstr "Cliquer pour ouvrir" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:305 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:311 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:317 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1074 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1078 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:73 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:78 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1074 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1078 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:274 msgid "None" msgstr "Aucun" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:310 msgid "Click to open Book Details window" msgstr "Cliquer pour ouvrir la fenêtre Détail du livre" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Options de BibTeX" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "Options specific to" msgstr "Options spécifiques à" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "output" msgstr "sortie" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:88 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:46 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 msgid "Form" msgstr "Formulaire" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 msgid "Bib file encoding:" msgstr "Encodage du fichier bib:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 msgid "Fields to include in output:" msgstr "Champs à inclure en sortie:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 msgid "ascii/LaTeX" msgstr "ascii/LaTeX" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 msgid "Encoding configuration (change if you have errors) :" msgstr "Configuration de l'encodeur (modifier si vous avez des erreurs):" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 msgid "strict" msgstr "stricte" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 msgid "replace" msgstr "remplacer" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 msgid "ignore" msgstr "ignorer" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 msgid "backslashreplace" msgstr "remplacer par le code caractère" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 msgid "BibTeX entry type:" msgstr "Type des entrées BibTeX:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 msgid "mixed" msgstr "mélangées (misc/livre)" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 msgid "misc" msgstr "misc" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 msgid "book" msgstr "livre" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 msgid "Create a citation tag?" msgstr "Créer une étiquette de citation?" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 msgid "Expression to form the BibTeX citation tag:" msgstr "Expression pour créer la citation:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 msgid "" "Some explanation about this template:\n" " -The fields availables are 'author_sort', 'authors', 'id',\n" @@ -4057,69 +4505,64 @@ msgstr "" " seul le premier élément sera utilisé.\n" " -Dans le cas des champs de temps, seule la date sera utilisée. " -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 msgid "CSV/XML Options" msgstr "Options CSV/XML" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 msgid "E-book options" msgstr "Options de l'e-book" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:550 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1496 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1514 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "Catalogue" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 msgid "'Don't include this book' tag:" msgstr "Etiquette 'Ne pas inclure ce livre':" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 msgid "'Mark this book as read' tag:" msgstr "Etiquette 'Marquer ce livre comme lu':" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 msgid "Additional note tag prefix:" msgstr "Prefixe additionnel de l'étiquette (tag) Note:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Expression régulière décrivant les étiquettes à exclure en tant que genres :" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" msgstr "" -"Astuces d'expressions régulières (regex):\n" -"- La regex standard - \\[[\\w ]*\\] -exclue les étiquettes de genre de la " -"forme [étiquette], e.g., [Amazon Freebie]\n" -"- Un modèle de regex contenant un seul point exclue toutes les étiquettes de " -"genre, ne générant aucune Section Genre" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 msgid "Include 'Titles' Section" msgstr "Inclure la section 'Titres'" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 msgid "Include 'Recently Added' Section" msgstr "Inclure la section 'Récemment ajouté'" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 msgid "Sort numbers as text" msgstr "Trier les chiffres comme du texte" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 msgid "Tab template for catalog.ui" msgstr "Gabarit d'étiquette pour catalog.ui" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 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 " @@ -4130,112 +4573,112 @@ msgstr "" "(s'ils existent) à la place des valeurs par défaut spécifiées dans les " "préférences." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:67 msgid "Bulk Convert" msgstr "Conversion de masse" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:185 msgid "Options specific to the output format." msgstr "Options spécifiques pour le format de sortie." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:15 msgid "Comic Input" msgstr "Entrée Bande Dessinée" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 +#: /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/pdb_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 "entrée" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:89 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Nombre de couleurs:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Désactiver &normaliser" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Conserver les &proportions" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:92 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Désactiver l'&Accentuation" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:93 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Désactiver le &Decoupage" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:94 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Large" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:95 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Paysage" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "De d&roite à gauche" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Pas de t&ri" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "&Flou" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 msgid "&Disable comic processing" msgstr "&Désactiver le traitement des bandes dessinées" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "Format de s&ortie:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 msgid "Disable conversion of images to &black and white" msgstr "Désactiver la conversion en noir et &blanc des images" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Déboguer" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21 msgid "Debug the conversion process." msgstr "Déboguer le processus de conversion." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "Choisir le dossier de débogage" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Invalid debug directory" msgstr "Répertoire de débogage incorrect" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "La création du répertoire de débogage a échouée" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:50 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 " @@ -4248,7 +4691,7 @@ msgstr "" "valeurs correctes pour les paramètres de conversion comme les Tables des " "Matières ou la Détection des Chapitres." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 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 " @@ -4258,58 +4701,58 @@ msgstr "" "étapes du processus de conversion. Cet HTML peut parfois servir comme un bon " "point d'entrée pour l'édition manuelle de la conversion." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" msgstr "Sortie EPUB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:49 msgid "Do not &split on page breaks" msgstr "Ne pas diviser sur les pages de &séparations" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:50 msgid "No default &cover" msgstr "Pas de &couverture par défaut" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:51 msgid "No &SVG cover" msgstr "Pas de couverture &SVG" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:52 msgid "Preserve cover &aspect ratio" msgstr "Conserver les &proportions de la couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 msgid "Split files &larger than:" msgstr "Scinder les fichier plus &large que:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 msgid " KB" msgstr " KO" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" msgstr "Entrée FB2" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:29 msgid "Do not insert a &Table of Contents at the beginning of the book." msgstr "Ne pas insérer une &Table des Matières au début du livre." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14 msgid "FB2 Output" msgstr "Sortie FB2" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 msgid "&Inline TOC" msgstr "TDM &intégrée" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:99 msgid "Font rescaling wizard" msgstr "Assistant de redimensionnent de la police" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:100 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 " @@ -4338,104 +4781,104 @@ msgstr "" "utilisateur pour plus de précision sur le fonctionnement du " "redimensionnement.

    " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:103 msgid "&Output document" msgstr "D&ocument en sortie" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:104 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109 msgid "&Base font size:" msgstr "Taille de &base de la police:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:105 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:123 msgid "Font size &key:" msgstr "Taille de la police &clé:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:127 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:121 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 msgid " pt" msgstr " pt" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:107 msgid "Use &default values" msgstr "Utiliser les valeurs par &défaut" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 msgid "&Input document" msgstr "Document en &entrée" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 msgid "&Font size: " msgstr "Taille de la &police: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 msgid " will map to size: " msgstr " correspondra à la taille : " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114 msgid "0.0 pt" msgstr "0,0 pt" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 msgid "Look & Feel" msgstr "Présentation" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:18 msgid "Control the look and feel of the output" msgstr "Contrôler l'apparence de la sortie" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" msgstr "Original" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 msgid "Left align" msgstr "Aligner à gauche" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "Justifier le texte" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:120 msgid "&Disable font size rescaling" msgstr "&Désactiver le redimensionnement de la taille de la police" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:121 msgid "Base &font size:" msgstr "Taille de &police par défaut :" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:124 msgid "Wizard to help you choose an appropriate font size key" msgstr "Assistant pour vous aider à choisir une taille de police" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:126 msgid "Line &height:" msgstr "&Hauteur de la ligne:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 msgid "Input character &encoding:" msgstr "&Encodage des caractères en entrée:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 msgid "Remove &spacing between paragraphs" msgstr "&Supprimer l'interligne entre les paragraphes" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 msgid "Indent size:" msgstr "Taille de l'indentation:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 msgid "" "

    When calibre removes inter paragraph spacing, it automatically sets a " "paragraph indent, to ensure that paragraphs can be easily distinguished. " @@ -4445,93 +4888,93 @@ msgstr "" "automatiquement une indentation de paragraphe, pour améliorer la distinction " "des paragraphes. Cette option contrôle la largeur de chaque indentation." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid " em" msgstr " em" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 msgid "Text justification:" msgstr "Justification de texte" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 msgid "&Linearize tables" msgstr "&Linéariser les tables" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 msgid "Extra &CSS" msgstr "&CSS complémentaire" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 msgid "&Transliterate unicode characters to ASCII" msgstr "&Translittérer les caractères unicode en représentation ASCII" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 msgid "Insert &blank line" msgstr "Insérer une ligne &blanche" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 msgid "Keep &ligatures" msgstr "Conserver les &ligatures" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "Sortie LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:116 msgid "Enable &autorotation of wide images" msgstr "Autoriser la rotation &automatique des images larges" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117 msgid "&Wordspace:" msgstr "&Espace entre les mots:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119 msgid "Minimum para. &indent:" msgstr "&Indentation min. du para.:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 msgid "Render &tables as images" msgstr "Rendu des &tables comme des images" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "Text size multiplier for text in rendered tables:" msgstr "Multiplicateur de la taille du texte dans le rendu des tables:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 msgid "Add &header" msgstr "Ajouter un &en-tête" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Header &separation:" msgstr "&Séparateur d'en-tête" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Header &format:" msgstr "&Format de l'en-tête" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "&Embed fonts" msgstr "Polices &intégrées" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 msgid "&Serif font family:" msgstr "Famille de police &Serif:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 msgid "S&ans-serif font family:" msgstr "Famille de police S&ans-serif:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 msgid "&Monospaced font family:" msgstr "Famille de police &Monospace:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195 msgid "Metadata" msgstr "Métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:43 msgid "" "Set the metadata. The output file will contain as much of this metadata as " "possible." @@ -4539,77 +4982,77 @@ msgstr "" "Indiquer les métadonnées. Le fichier de sortie contiendra autant de ces " "métadonnées que possible." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "Choisir la couverture pour " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "Impossible de lire" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "Vous n'avez pas les permissions nécessaires pour lire ce fichier: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "Erreur à la lecture du fichier" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

    There was an error reading from file:
    " msgstr "

    Il y a eu une erreur à la lecture du fichier :
    " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " n'est pas une image compatible" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Book Cover" msgstr "Couverture du livre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 msgid "Use cover from &source file" msgstr "Utiliser la couverture du fichier &source" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Change &cover image:" msgstr "Modifier l'image de la &couverture:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "Browse for an image to use as the cover of this book." msgstr "Rechercher une image à utiliser en tant que couverture du livre." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "&Title: " msgstr "&Titre : " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Change the title of this book" msgstr "Modifie le titre du livre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Author(s): " msgstr "&Auteur(s): " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Author So&rt:" msgstr "T&ri de l'auteur:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 msgid "" "Change the author(s) of this book. Multiple authors should be separated by a " "comma" @@ -4617,20 +5060,20 @@ msgstr "" "Modifie le(s) auteur(s) de ce livre. Dans le cas d'auteurs multiples, " "séparer leurs noms par une virgule." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Publisher: " msgstr "&Editeur: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Ta&gs: " msgstr "Eti&quettes: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "" "Tags categorize the book. This is particularly useful while searching. " "

    They can be any words or phrases, separated by commas." @@ -4639,213 +5082,213 @@ msgstr "" "recherches.

    Celles-ci peuvent être formées de n'importe quels mots " "ou phrases, séparés par des virgules." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "&Series:" msgstr "&Séries:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:381 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "List of known series. You can add new series." msgstr "Liste de séries connues. Vous pouvez ajouter de nouvelles séries." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Book " msgstr "Livre " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:20 msgid "MOBI Output" msgstr "Sortie MOBI" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:42 msgid "Default" msgstr "Par défaut" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:67 msgid "&Title for Table of Contents:" msgstr "&Titre de la Table des Matières:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:68 msgid "Rescale images for &Palm devices" msgstr "Redimensionner les images pour des appareils &Palm" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:69 msgid "Use author &sort for author" msgstr "Utiliser le &tri par auteur pour auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:70 msgid "Disable compression of the file contents" msgstr "Désactiver la compression du contenu du fichier" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 msgid "Do not add Table of Contents to book" msgstr "Ne pas ajouter la Table des Matières au livre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 msgid "Kindle options" msgstr "Options du Kindle" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 msgid "Periodical masthead font:" msgstr "Police du titre du periodique:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 msgid "Personal Doc tag:" msgstr "Etiquette de Document Personnel (Personnal Doc tag):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" msgstr "Mise en page" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:116 msgid "&Output profile:" msgstr "Profil de &sortie:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:117 msgid "Profile description" msgstr "Description du profil" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:118 msgid "&Input profile:" msgstr "Profil d'&entrée:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:119 msgid "Margins" msgstr "Marges" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 msgid "&Left:" msgstr "&Gauche:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 msgid "&Top:" msgstr "&Haut:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 msgid "&Right:" msgstr "&Droite:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 msgid "&Bottom:" msgstr "&Bas:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:12 msgid "PDB Input" msgstr "Entrée PDB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:32 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:47 msgid "Treat each &line as a paragraph" msgstr "Traiter chaque &ligne comme un paragraphe" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:33 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:48 msgid "Assume print formatting" msgstr "Suppose un format d'impression" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:16 msgid "PDB Output" msgstr "Sortie PDB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:36 msgid "&Format:" msgstr "&Format:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 msgid "PDF Input" msgstr "Entrée PDF" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:39 msgid "Line &Un-Wrapping Factor:" msgstr "Facteur de &déroulement de ligne:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:40 msgid "No &Images" msgstr "Pas d'&Images" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:17 msgid "PDF Output" msgstr "Sortie PDF" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 msgid "&Paper Size:" msgstr "Taille du &Papier:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 msgid "&Orientation:" msgstr "&Orientation:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 msgid "Preserve &aspect ratio of cover" msgstr "Conserver les &proportions de la couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" msgstr "Sortie RB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:83 msgid "No formats available" msgstr "Aucun format disponible" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:84 msgid "Cannot build regex using the GUI builder without a book." msgstr "" "Impossible de créer l'expression régulière en utilisant le générateur sans " "avoir de livre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:103 msgid "Open book" msgstr "Livre libre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:52 msgid "Regex Builder" msgstr "Générateur d'expression régulière" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:53 msgid "Preview" msgstr "Aperçu" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:54 msgid "Regex:" msgstr "Expression régulière:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:55 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Test" msgstr "Test" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:171 msgid "Convert" msgstr "Convertir" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:196 msgid "Options specific to the input format." msgstr "Options spécifiques au format d'entrée." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:64 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "Boîte de dialogue" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "Format d'&entrée:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "" "Utiliser et &conserver ces paramètres pour la conversion individuelle des e-" "books" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" "Detection" @@ -4853,76 +5296,76 @@ msgstr "" "Détection De\n" "La Structure" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:19 msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" "Recherche fine pour la détection des en-têtes de chapitres et pour les " "autres structures de document." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "Détecter les chapitres (expression XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "Insérer un saut de page avant (expression XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "Expression régulière pour l'en-tête" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "Expression régulière pour le pied de page:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:56 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "Expression régulière incorrecte" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "Expression régulière incorrecte: %s" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "XPath incorrect" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "L'expression XPath %s est incorrecte." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Chapter &mark:" msgstr "&Marque de chapitre:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 msgid "Remove first &image" msgstr "Supprimer la première &image" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 msgid "Insert &metadata as page at start of book" msgstr "Insérer les &métadonnées comme page au début du livre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" "&Pré-traiter le fichier d'entrée pour probablement améliorer la détection de " "structure" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 msgid "Remove F&ooter" msgstr "Supprimer le &Pied de page" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:66 msgid "Remove H&eader" msgstr "Supprimer l'&en-tête" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" "Contents" @@ -4930,51 +5373,51 @@ msgstr "" "Tables Des\n" "Matières" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." msgstr "Contrôler la création/conversion de la Table des Matières." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "Niveau &1 TDM (Expression XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "Niveau &2 TDM (Expression XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "Niveau &3 TDM (Expression XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:63 msgid "Do not add &detected chapters to the Table of Contents" msgstr "Ne pas ajouter les chapitres &détectés à la Table des Matières" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:64 msgid "Number of &links to add to Table of Contents" msgstr "Nombre de &liens ajoutés à la Table des Matières" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:65 msgid "Chapter &threshold" msgstr "Seuil de chapi&tre" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:66 msgid "&Force use of auto-generated Table of Contents" msgstr "&Forcer l'utilisation d'une Table des matières auto-générée" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 msgid "TOC &Filter:" msgstr "&Filtre TDM:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" msgstr "Entrée TXT" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:49 msgid "Process using markdown" msgstr "Traiter en utilisant 'markdown'" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:50 msgid "" "

    Markdown is a simple markup language for text files, that allows for " "advanced formatting. To learn more visit markdown." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:51 msgid "Do not insert Table of Contents into output text when using markdown" msgstr "" "Ne pas insérer la Table Des Matières dans le texte de sortie lorsque " "markdown est utilisé" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:52 msgid "Preserve &spaces" msgstr "Conservers les e&spaces" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:16 msgid "TXT Output" msgstr "Sortie TXT" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:46 msgid "&Line ending style:" msgstr "Style de fin de &ligne:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:48 msgid "&Maximum line length:" msgstr "Longueur &maximale de la ligne:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 +msgid "Force maximum line length" msgstr "Forcer la longueur de ligne maximale" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:51 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:65 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:50 msgid "TextLabel" msgstr "Libellé texte" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 msgid "Use a wizard to help construct the XPath expression" msgstr "Utiliser un assistant pour aider à construire l'expression XPath" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:68 msgid "Match HTML &tags with tag name:" msgstr "Faire correspondre les étiquettes HTML avec les noms d'é&tiquettes:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:69 msgid "*" msgstr "*" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:70 msgid "a" msgstr "a" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:71 msgid "br" msgstr "br" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 msgid "div" msgstr "div" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 msgid "h1" msgstr "h1" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 msgid "h2" msgstr "h2" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 msgid "h3" msgstr "h3" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 msgid "h4" msgstr "h4" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 msgid "h5" msgstr "h5" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 msgid "h6" msgstr "h6" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 msgid "hr" msgstr "hr" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 msgid "span" msgstr "span" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 msgid "Having the &attribute:" msgstr "Ayant l'&attribut:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 msgid "With &value:" msgstr "Avec la &valeur:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 msgid "(A regular expression)" msgstr "(Une expression régulière)" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 msgid "" "

    For example, to match all h2 tags that have class=\"chapter\", set tag to " "h2, attribute to class and value to " @@ -5107,172 +5550,164 @@ msgstr "" "XPath consulter le Tutoriel XPath." -#: /home/kovid/work/trunk/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "Le navigateur de coverture ne peut ête chargé" - -#: /home/kovid/work/trunk/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "Navigation par couvertures" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:130 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:205 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:238 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "Le navigateur de coverture ne peut ête chargé" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:242 msgid "Undefined" msgstr "Indéfini(e)" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "Oui" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "Non" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "étoile(s)" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "Non noté" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "Définir '%s' à aujourd'hui" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr " index:" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:443 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "Numérote automatiquement les livres dans ces séries" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "Supprimer toutes les étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "étiquettes à ajouter" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "étiquettes à supprimer" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:49 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Pas de détail disponible." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "L'appareil n'est plus connecté." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "Lit les informations de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "Lire la liste de livres à partir de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "Obtenir les annotations à partir de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "Envoie les métadonnées vers l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "Envoyer les collections vers l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "Envoie le livre %d dans l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "Supprimer les livres dans l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "Télécharger les livres à partir de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "Afficher le livre sur l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "Indiquer l'action par défaut pour 'envoyer au lecteur'" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "Envoyer vers la mémoire du lecteur" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "Envoyer vers la carte mémoire A" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "Envoyer vers la carte mémoire B" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:434 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "Mémoire principale" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "Envoyer et effacer de la bibliothèque" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "Envoyer un format spécifique" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "Ejecter l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:499 -msgid "Fetch annotations (experimental)" -msgstr "Récupérer les annotations (expérimental)" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "Erreur pendant la communication avec le lecteur électronique" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "Sélectionner le dossier à ouvrir comme appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:675 -msgid "Failed" -msgstr "Echec" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "Erreur pendant la communication avec le lecteur électronique" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -5281,128 +5716,128 @@ msgstr "" "lecteur électronique. Veuillez déconnecter et reconnecter le lecteur " "électronique et redémarrer." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "Appareil: " -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr " detecté." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "sélectionné pour l'envoi" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "Choisir le format à envoyer au lecteur" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:825 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "Aucun appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "Impossible d'envoyer: Aucun appareil connecté" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:829 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "Aucune carte" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:830 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:834 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "Impossible d'envoyer: L'appareil n'a pas de carte mémoire" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "E-book:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "En pièce jointe, vous trouverez l'ebook" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:879 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "par" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "dans le format %s." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "Envoi d'un email à" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:923 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:931 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1025 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1087 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1206 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "Pas de format convenable" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" "Convertir automatiquement les livres suivants avant de les envoyer par email " "?" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Impossible d'envoyer par email les livres suivants car aucun format " "convenable n'a été trouvé :" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:950 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "L'envoi par email des livres a échoué" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:951 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "L'envoi par email des livres suivants a échoué:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "Envoyer par email:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:984 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "News:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:985 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "Le fichier attaché est" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:996 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "Envoi des News vers" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1026 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1088 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertir automatiquement les livres suivants avant de les télécharger dans " "l'appareil ?" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1056 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "Envoie les catalogues vers l'appareil." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "Envoi les News vers l'appareil." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1173 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "Envoie les livres dans l'appareil." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1215 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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." @@ -5411,175 +5846,199 @@ msgstr "" "convenable n'a été trouvé. Convertissez avant le(s) livre(s) vers un format " "supporté par votre appareil." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1277 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "Le lecteur électronique n'a plus d'espace mémoire disponible" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" "

    Impossible d'envoyer les livres sur le lecteur : il n'y a plus assez " "d'espace mémoire disponible " -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:78 msgid "Select available formats and their order for this device" msgstr "" "Sélectionner les formats disponibles et leurs ordres pour cet appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82 msgid "Use sub directories" msgstr "Utiliser les sous-répertoires" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:83 msgid "Use author sort for author" msgstr "Utiliser la clé de tri d'auteur comme auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85 msgid "Save &template:" msgstr "Sauvegarder le &modèle:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" -msgstr "&Couverture à afficher" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "Ajouter les les livres à partir de leur ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

    Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "Co&ller à partir du bloc-notes" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 +msgid "Fit &cover within view" +msgstr "Adapte la &couverture à l'emplacement" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 msgid "&Previous" msgstr "&Précédent" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 msgid "&Next" msgstr "Suiva&nt" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:38 msgid "My Books" msgstr "Mes Livres" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:289 msgid "Generate catalog" msgstr "Générer le catalogue" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:70 msgid "Generate catalog for {0} books" msgstr "Générer le catalogue pour {0} livres" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:71 msgid "Catalog &format:" msgstr "&Format du catalogue:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:72 msgid "" "Catalog &title (existing catalog with the same title will be replaced):" msgstr "" "&Titre du catalogue (un catalogue existant avec le même titre sera remplacé):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:73 msgid "&Send catalog to device automatically" msgstr "&Envoyer le catalogue automatiquement vers l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 msgid "Catalog options" msgstr "Options du catalogue" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" msgstr "Choisir le format" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:38 msgid "Choose location for calibre library" msgstr "Choissisez l'emplacement de la bibliothèque Calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:45 msgid "Same as current" msgstr "Identique à l'actuel" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:46 msgid "The location %s contains the current calibre library" msgstr "L'emplacement %s contient la bibliothèque Calibre actuelle" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 msgid "No existing library found" msgstr "Aucune bibliothèque préexistante n'a été trouvée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:52 msgid "There is no existing calibre library at %s" msgstr "Il n'y a pas de bibliothèque Calibre préexistante à %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 msgid "Not empty" msgstr "N'est pas vide" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 msgid "The folder %s is not empty. Please choose an empty folder" msgstr "Le dossier %s n'est pas vide. Veillez choisir un dossier vide." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location" msgstr "Aucun emplacement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location selected" msgstr "Aucun emplacement sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "Mauvais emplacement" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "%s n'est pas un dossier existant" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "Choisissez votre bibliothèque Calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:67 msgid "Your calibre library is currently located at {0}" msgstr "Votre bibliothèque Calibre est actuellement situé à {0}" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:68 msgid "New &Location:" msgstr "Nouvel emp&lacement:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:69 msgid "Use &existing library at the new location" msgstr "Utiliser la bibliothèque &existante au nouvel emplacement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:70 msgid "&Create an empty library at the new location" msgstr "&Créer une bibliothèque vide au nouvel emplacement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:71 msgid "&Move current library to new location" msgstr "&Déplacer la bibliothèque actuelle vers ce nouvel emplacement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "" "Valeurs par défaut pour la conversion des bandes dessinées (fichiers CBR/CBZ)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 msgid "Set options for converting %s" msgstr "Indiquer les options pour la conversion de %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Titre:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Auteur(s):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 msgid "&Profile:" msgstr "&Profil :" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 msgid "Edit Comments" msgstr "Editer les commentaires" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "%(plugins)s %(plugin_type)s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "plugins" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " @@ -5587,19 +6046,19 @@ msgstr "" "\n" "Personnalisation: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "Général" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" @@ -5607,15 +6066,15 @@ msgstr "" "Envoi\n" "d'Email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "Ajouter/Sauvegarder" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "Mode avancé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" @@ -5623,24 +6082,24 @@ msgstr "" "Serveur de\n" "contenu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "Envoyer automatiquement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "Email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" "Formats à envoyer par email. Le premier format qui correspond sera envoyé." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 msgid "" "If checked, downloaded news will be automatically mailed
    to this email " "address (provided it is in one of the listed formats)." @@ -5648,55 +6107,55 @@ msgstr "" "Si coché, les News téléchargées seront automatiquement envoyées par email " "
    à cette adresse (à condition qu'il appartienne à un des formats listés)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "Nouvelle adresse email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "Large" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "Etroit" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "Moyen" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "Petit" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "Large" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "Toujours" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "Automatique" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "Jamais" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 msgid "Done" msgstr "Terminé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 msgid "Confirmation dialogs have all been reset" msgstr "Tous les dialogues de confirmation ont été réinitialisés" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "Port système sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " @@ -5707,112 +6166,122 @@ msgstr "" "empêcher le serveur de fonctionner sur ce port. Par sécurité choisissez " "plutôt un numéro de port supérieur à 1024." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "L'installation des outils en ligne de commande a échouée." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "Outils en ligne de commande installés." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "Outils en ligne de commande installés dans" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" "Si vous déplacez calibre.app, vous devez réinstaller les outils en ligne de " "commande." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "N'est pas un chemin correct pour les plugins" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "%s n'est pas un répertoire correct pour les plugins" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "Choisir le plugin" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "Le plugin ne peut pas être désactivé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "Le plugin %s ne peut pas être désactivé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "Le plugin ne peut pas être personnalisé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "Le plugin %s ne peut pas être personnalisé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "Personnaliser" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "Impossible de supprimer les plugins natifs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " ne peut pas être retiré. C'est un plugin natif. Essayer plutôt de le " "désactiver" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "Réglages invalides" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "Vous devez sélectionner une colonne pour pouvoir la supprimer" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "La colonne sélectionnée n'est pas une colonne personnalisée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:718 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "Etes vous sur ?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "" "Voulez vous vraiment supprimer la colonne %s et toutes les données qu'elle " "contient?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "Journal d'erreur:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "Journal des accès:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:821 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "A échoué lors du démarrage du serveur de contenu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "Taille incorrecte" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "La taille %s est incorrecte. Doit être au format largeurxhauteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "Redémarrage nécessaire" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." @@ -5820,19 +6289,19 @@ msgstr "" "Les modifications effectuées nécessitent un redémarrage de Calibre. Veuillez " "redémarrer dès que possible." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "Vérifier l'intégrité de la base de données" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "La vérification de l'intégrité de la base de données a échouée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "Des incohérences ont été trouvées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5844,11 +6313,11 @@ msgstr "" "Vous devrez les vérifier manuellement. Ceci peut arriver si vous avez " "manipulé les fichiers directement dans le dossier de la bibliothèque." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:133 msgid "TabWidget" msgstr "Widget avec onglet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:134 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 " @@ -5858,11 +6327,11 @@ msgstr "" "fichiers que vous ajoutez. Calibre peut lire les métadonnées à partir du " "contenu du fichier, ou du nom de fichier." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:135 msgid "Read metadata only from &file name" msgstr "Lire les métadonnées uniquement à partir du nom de &fichier" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:136 msgid "" "Swap the firstname and lastname of the author. This affects only metadata " "read from file names." @@ -5870,11 +6339,11 @@ msgstr "" "Echanger le prénom et le nom de l'auteur. Ceci affecte seulement les " "métadonnées lues à partir des noms de fichiers." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:137 msgid "&Swap author firstname and lastname" msgstr "&Echanger le prénom et le nom de l'auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:138 msgid "" "If an existing book with a similar title and author is found that does not " "have the format being added, the format is added\n" @@ -5894,7 +6363,7 @@ msgstr "" "la ponctuation, la casse, etc. La recherche de correspondance est exacte " "pour l'auteur." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:142 msgid "" "If books with similar titles and authors found, &merge the new files " "automatically" @@ -5902,15 +6371,15 @@ msgstr "" "Si des livres avec des titres et des auteurs similaires sont trouvés, " "&fusionner les nouveaux fichiers automatiquement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:143 msgid "&Configure metadata from file name" msgstr "&Configurer les métadonnées à partir du nom de fichier" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:144 msgid "&Adding books" msgstr "&Ajout de livres" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:145 msgid "" "Here you can control how calibre will save your books when you click the " "Save to Disk button:" @@ -5918,59 +6387,59 @@ msgstr "" "Ici vous pouvez contrôler comment Calibre va sauvegarder vos livres quand " "vous cliquez sur le bouton Sauvegarder sur le disque:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:146 msgid "Save &cover separately" msgstr "Sauvegarder les &couvertures séparément" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:147 msgid "Update &metadata in saved copies" msgstr "Mettre à jour les &métadonnées dans les copies sauvegardées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:148 msgid "Save metadata in &OPF file" msgstr "Sauvegarder les métadonnées dans le fichier &OPF" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:149 msgid "Convert non-English characters to &English equivalents" msgstr "Convertir les caractères non-Anglais vers des équivalents &Anglais" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:150 msgid "Format &dates as:" msgstr "Format de &dates comme:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:151 msgid "File &formats to save:" msgstr "&Formats de fichier à sauvegarder:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:152 msgid "Replace space with &underscores" msgstr "Remplacer les espaces par des &underscores" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:153 msgid "Change paths to &lowercase" msgstr "Changer les chemins en minuscu&les" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:154 msgid "&Saving books" msgstr "&Sauvegarde de livres" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:155 msgid "Metadata &management:" msgstr "Métadonnée &management" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:156 msgid "Manual management" msgstr "Gestion manuelle" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:157 msgid "Only on send" msgstr "Seulement en envoyant" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:158 msgid "Automatic management" msgstr "Gestion automatique" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:159 msgid "" "

  • Manual Management: Calibre updates the metadata and adds " "collections only when a book is sent. With this option, calibre will never " @@ -5990,7 +6459,7 @@ msgstr "" "métadonnées sur l’appareil avec celle de la bibliothèque de calibre chaque " "fois que l'appareil est connecté." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:162 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 " @@ -6001,38 +6470,31 @@ msgstr "" "peuvent être outrepassés par votre lecteur en personnalisant l'interface de " "gestion des pluggins des lecteurs dans Préférences->Plugins" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:163 msgid "Sending to &device" msgstr "Envoi vers l'&appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:536 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:474 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:616 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "Préférences" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "Envoyer une notification quand une &nouvelle version est disponible." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" "Télécharger les métadonnées &sociales (étiquettes/classement/etc...) par " "défaut" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" "Écraser l'auteur et le titre par défaut l&ors de la récupération des " "métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "&Timeout par défaut pour les connexions réseau :" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -6040,156 +6502,167 @@ msgstr "" "Indiquer le timeout par défaut pour les recherches réseau (c-à-d le temps " "utilisé pour aller rechercher l'information par internet)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " secondes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "Choisir la &langue (nécessite un redémarrage):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "Normale" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "Haute" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "Basse" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "&Priorité du travail:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "Format de &sortie préféré:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 msgid "Reset all disabled &confirmation dialogs" msgstr "Réinitialiser tous les dialogues de &confirmation" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "Ordre préféré pour le format d'&entrée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "Utiliser les chiffres &romains pour les numéros de séries" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "" "&Activer l'affichage dans la zone de notification (redémarrage nécessaire)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "Afficher les alertes dans la zone de ¬ification" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "Afficher l'&écran d'accueil au démarrage" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "Afficher la note moyenne dans le navigateur d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "Rechercher lors de la saisie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "Envoyer automatiquement les i&nformations vers le lecteur d'ebook" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" "&Supprimer les News de la bibliothèque lorsque l'envoi est automatique vers " "l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "Sélectionner les &colonnes visibles dans la vue bibliothèque" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "Supprimer une colonne définie par l'utilisateur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "Ajouter une colonne définie par l'utilisateur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "Editer les paramètres d'une colonne définie par l'utilisateur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "Utiliser l'&afficheur interne pour:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "Présentation de &l'interface utilisateur (nécessite un redémarrage):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "Restrictions à appliquer quand la bibliothèque actuelle est ouverte:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "Désactiver les &animations" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "Afficher le bouton de &donation (redémarrage nécessaire)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "&Barre d'outils" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "Taille d'&icone" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "Afficher le &texte sous les icônes:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "Ajouter une adresse email où les livres seront envoyés" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "&Ajouter un email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "Par &défaut" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "&Supprimer un email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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-" @@ -6199,35 +6672,61 @@ msgstr "" "emails seront automatiquement envoyés lors du téléchargement des News à " "toutes les adresses qui ont 'Envoyer automatiquement' coché." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" "Nombre &maximum de processus de travail en attente (nécessite un " "redémarrage):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "&Check database integrity" -msgstr "Vérifier l'&intégrité de la base de données" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Install command line tools" -msgstr "&Installer les outils en ligne de commande" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Open calibre &configuration directory" -msgstr "Ouvrir le répertoire de &configuration de Calibre" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" "Limiter le nombre max de travaux simultanés au nombre de &cœurs de " "processeurs disponibles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "Déboguer la &détection de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "Vérifier l'&intégrité de la base de données" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "Ouvrir le répertoire de &configuration de Calibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "&Installer les outils en ligne de commande" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "&Divers" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "Réglages disponibles" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "Réglages a&ctuels" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "&Restorer les valeurs par défaut" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "&Réglages" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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 " @@ -6238,25 +6737,25 @@ msgstr "" "endroit dans le monde. Toute modification des paramètres ne prendra effet " "qu'après un redémarrage du serveur." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "&Port du serveur:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:593 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:212 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "Nom d'&utilisateur:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:594 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:213 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "Mot de &passe :" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -6264,7 +6763,7 @@ msgstr "" "Si vous laisser le mot de passe à vide, tout le monde pourra accéder à votre " "collection de livres en utilisant une interface web." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -6272,46 +6771,57 @@ msgstr "" "Taille maximale (largeurxhauteur) pour l'affichage des couvertures. Les " "couvertures plus larges sont redimensionnées. " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "Taille max. de la &couverture:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:598 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "&Montrer le mot de passe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "Nombre d'articles &OPDS max. par requête:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "Nombre max. d'articles OPDS &non groupés:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "Démarrer le &Serveur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "Arrêter le S&erveur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "&Tester le serveur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "Lancer &automatiquement le serveur au démarrage" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "Afficher les logs du &serveur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:606 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

    Remember to leave calibre running as the server only runs as long as " "calibre is running.\n" @@ -6327,7 +6837,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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." @@ -6335,178 +6845,171 @@ msgstr "" "Ici vous pouvez personnaliser le comportement de Calibre en choisissant les " "plugins que vous souhaitez utiliser." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "Activer/&Désactiver le plugin" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "&Personnaliser le plugin" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "Supp&rimer le plugin" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "Ajouter un nouveau plugin" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "&Fichier plugin:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "&Ajouter" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 msgid "Create Tag-based Column" msgstr "Créer une colonne basée sur l'étiquette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 msgid "Lookup name" msgstr "Recherche le nom" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 msgid "Column heading" msgstr "En-tête de colonne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 msgid "Column type" msgstr "Type de colonne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 msgid "Use brackets" msgstr "Utiliser les parenthèses" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 msgid "Values can be edited" msgstr "Les valeurs peuvent être éditées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 msgid "Text" msgstr "Texte" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 msgid "Number" msgstr "Nombre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:889 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:31 +#: /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:889 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "Date" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 msgid "Tag on book" msgstr "Etiquette sur le livre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 msgid "Explanation text added in create_ct_column.py" msgstr "Texte explicatif ajouté dans create_ct_column.py" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 msgid "Create and edit tag-based columns" msgstr "Créer et éditer les colonnes basées sur les étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:19 msgid "Text, column shown in the tag browser" msgstr "Texte, colonne affichée dans le navigateur d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:22 msgid "Comma separated text, like tags, shown in the tag browser" msgstr "" "Texte séparé par des virgules, comme les étiquettes, affiché dans le " "navigateur d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:25 msgid "Long text, like comments, not shown in the tag browser" msgstr "" "Texte long, comme les commentaires, non affiché dans le navigateur " "d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:28 msgid "Text column for keeping series-like information" msgstr "" "Colonne de texte pour conserver des informations semblables aux séries" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:33 msgid "Floating point numbers" msgstr "Nombres à virgule flottante" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:35 msgid "Integers" msgstr "Entiers" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:37 msgid "Ratings, shown with stars" msgstr "Notation, affichée à l'aide d'étoiles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:40 msgid "Yes/No" msgstr "Oui/Non" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:69 msgid "No column selected" msgstr "Aucune colonne sélectionnée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:70 msgid "No column has been selected" msgstr "Aucune colonne n'a été sélectionnée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:74 msgid "Selected column is not a user-defined column" msgstr "" "La colonne sélectionnée n'est pas une colonne définie par l'utilisateur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:105 msgid "No lookup name was provided" msgstr "Aucun nom n'a été fourni pour la recherche" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"The lookup name must contain only lower case letters, digits and " +"underscores, and start with a letter" msgstr "" -"Le libellé doit seulement contenir des lettres, des chiffres et des " -"underscores, et commencer par une lettre" +"Le nom recherché ne doit contenir que des minuscules, des chiffres et des " +"underscores (tirets bas), et commencer par une lettre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:116 msgid "No column heading was provided" msgstr "Aucun en-tête de colonne n'a été fourni" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:122 msgid "The lookup name %s is already used" msgstr "Le nom recherché %s est déjà utilisé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:132 msgid "The heading %s is already used" msgstr "L'en-tête %s est déjà utilisé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" -"Le nom recherché doit être en minuscules et ne peut pas contenir \":\"s ou " -"des espaces" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" msgstr "Créer ou éditer des colonnes personnalisées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 msgid "&Lookup name" msgstr "&Nom recherché" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 msgid "Column &heading" msgstr "&En-tête de colonne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 msgid "" "Used for searching the column. Must contain only digits and lower case " "letters." @@ -6514,22 +7017,22 @@ msgstr "" "Utilisé pour la recherche dans la colonne. Ne doit contenir que des chiffres " "et des lettres en minuscules." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 msgid "" "Column heading in the library view and category name in the tag browser" msgstr "" "En-tête de colonne dans l'affichage de la bibliothèque et nom de catégorie " "dans le navigateur d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 msgid "Column &type" msgstr "&Type de colonne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 msgid "What kind of information will be kept in the column." msgstr "Quel type d'informations sera conservé dans la colonne." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 msgid "" "

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

    \n" @@ -6547,43 +7050,43 @@ msgstr "" "
  • dd MMMM yy donne 05 Janvier 10
  • \n" " " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 msgid "Use MMM yyyy for month + year, yyyy for year only" msgstr "Utiliser MMM yyyy pour mois + année, yyyy pour l'année seule" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 msgid "Default: dd MMM yyyy." msgstr "Par défaut: dd MMM yyyy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 msgid "Format for &dates" msgstr "Format des &dates" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:21 msgid "Getting debug information" msgstr "Obtenir les informations de débogage." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:22 msgid "Copy to &clipboard" msgstr "&Copier vers le presse-papier" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:24 msgid "Debug device detection" msgstr "Déboguer la détection de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:44 msgid "Invalid template" msgstr "Modèle incorrect" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:45 msgid "The template %s is invalid:" msgstr "Le modèle %s est incorrect:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:42 msgid "Save &template" msgstr "Sauvegarder le &modèle" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:43 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 " @@ -6597,23 +7100,80 @@ msgstr "" "Les variables de métadonnées disponibles sont décrites ci-dessous. Si un " "livre n'a pas de métadonnées, la variable est remplacée par une chaine vide." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:44 msgid "Available variables:" msgstr "Variables disponibles:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/social.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/social.py:34 msgid "Downloading social metadata, please wait..." msgstr "Téléchargement des métadonnées sociales, veuillez patienter..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "Ctrl+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "&Afficher cet avertissement de nouveau" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/conversion_error_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:42 msgid "ERROR" msgstr "ERREUR" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:67 +#: /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." @@ -6621,81 +7181,92 @@ msgstr "" "Tous les livres sélectionnés vont être supprimés définitivement de " "votre appareil. Veuillez vérifier vos sélections." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 msgid "Location" msgstr "Emplacement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1064 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1064 msgid "Format" msgstr "Format" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 msgid "Delete from device" msgstr "Effacer de l'appareil" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 msgid "Author sort" msgstr "Clé de tri d'auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "Gérer les auteurs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 msgid "Sort by author" -msgstr "" +msgstr "Trier par auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 msgid "Sort by author sort" +msgstr "Trier par clé de tri d'auteur" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "Recalculer toutes les valeurs de clés de tri d'auteur" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "Triage Auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:62 msgid "ISBN" msgstr "ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:162 msgid "Finding metadata..." msgstr "Cherche les métadonnées..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:176 msgid "Could not find metadata" msgstr "Impossible de trouver les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:177 msgid "The metadata download seems to have stalled. Try again later." msgstr "" "Le téléchargement des métadonnées semble s'être arrêté. Essayer de nouveau " "plus tard." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:186 msgid "Warning" msgstr "Avertissement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:187 msgid "Could not fetch metadata from:" msgstr "Impossible de récupérer les métadonnées de:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:191 msgid "No metadata found" msgstr "Aucune métadonnée trouvée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:192 msgid "" "No metadata found, try adjusting the title and author or the ISBN key." msgstr "" "Aucune métadonnée trouvée, essayer en modifiant le titre et l'auteur ou la " "clé ISBN." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 msgid "Fetch metadata" msgstr "Récupérer des métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 msgid "" "

    calibre can find metadata for your books from two locations: Google " "Books and isbndb.com.

    To use isbndb.com you must sign up for a " @@ -6708,74 +7279,79 @@ msgstr "" "href=\"http://www.isbndb.com\">compte gratuit et entrer votre clef " "d'accès ci-dessous." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 msgid "&Access Key:" msgstr "Clef d'&accès" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 msgid "Fetch" msgstr "Récupérer" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 msgid "Matches" msgstr "Résultats correspondants" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 msgid "" "Select the book that most closely matches your copy from the list below" msgstr "" "Sélectionnez le livre qui correspond le mieux au votre dans la liste ci-" "dessous." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 msgid "Download &social metadata (tags/rating/etc.) for the selected book" msgstr "" "Télécharger les métadonnées &sociales (étiquettes/classement/etc...) pour le " "livre sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 msgid "Overwrite author and title with author and title of selected book" msgstr "" "Écraser l'auteur et le titre avec l'auteur et le titre du livre sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/job_view_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:37 msgid "Details of job" msgstr "Détail du travail" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:44 msgid "Active Jobs" msgstr "Exécutions en cours" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:45 msgid "&Stop selected job" msgstr "Arrêter les travaux &sélectionnés" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:46 msgid "Show job &details" msgstr "Afficher les &détails du travail" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 msgid "Stop &all non device jobs" msgstr "&Arrêter tous les travaux ne concernant pas les appareils" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "Edite les informations des métadonnées pour %d livres" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" +"Application des modifications à %d livres. Ceci peut prendre un moment." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "Editer les informations sur les Métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 msgid "A&utomatically set author sort" msgstr "Effectuer un tri a&utomatique par auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 msgid "Author s&ort: " msgstr "&Tri par auteur: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6783,56 +7359,56 @@ msgstr "" "Définit comment l'auteur de ce livre doit être classé. Par exemple, Charles " "Dickens peut être classé comme Dickens, Charles." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "&Rating:" msgstr "&Note :" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:372 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "Rating of this book. 0-5 stars" msgstr "Note de ce livre. de 0 à 5 étoiles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 msgid "No change" msgstr "Aucune modification" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid " stars" msgstr " étoiles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 msgid "Add ta&gs: " msgstr "Ajouter des &étiquettes: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:378 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "Open Tag Editor" msgstr "Ouvre l'éditeur de mots-clefs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 msgid "&Remove tags:" msgstr "&Supprime les étiquettes :" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Liste d'étiquettes séparées par des virgules à supprimer des livres. " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 msgid "Remove &format:" msgstr "Supprimer le &format:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 msgid "&Swap title and author" msgstr "&Intervertir le titre et l'auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 msgid "" "Selected books will be automatically numbered,\n" "in the order you selected them.\n" @@ -6844,7 +7420,7 @@ msgstr "" "Ainsi si vous avez sélectionné le livre A et puis le livre B,\n" "le livre A aura un numéro de série 1 et le livre B un numéro de série 2." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -6854,413 +7430,417 @@ msgstr "" "\n" "Toute conversion future de ces livres utilisera les paramètres par défaut." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 msgid "Remove &stored conversion settings for the selected books" msgstr "" "Supprimer les paramètres de conversion &enregistrés pour les livres " "sélectionnés" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "&Basic metadata" msgstr "Metadonnées de &base" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "&Custom metadata" msgstr "Metadonnées &personnalisées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:94 msgid "Last modified: %s" msgstr "Modifié pour la dernière fois le: %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid "Not a valid picture" msgstr "N'est pas une image correcte" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 msgid "Specify title and author" msgstr "Précisez le titre et l'auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 msgid "You must specify a title and author before generating a cover" msgstr "" "Vous devez préciser un titre et un auteur avant de générer une couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "Choisir les formats pour " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "Aucune permission" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "Vous n'avez par la permission de lire les fichiers suivants:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "Aucun format sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "Impossible de lire les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "Impossible de lire les métadonnées à partir du format %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:283 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "Impossible de lire la couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "Impossible de lire la couverture à partir du format %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "La couverture au format %s est incompatible" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "Abandonner l'édition des livres restants" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:465 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "Le numéro ISBN est correct" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "Le numéro ISBN est incorrect" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "Editeur d'étiquettes indisponible" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" "L'éditeur d'étiquettes ne peut pas être utilisé si vous avez modifié les " "étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "Télécharge la couverture..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:585 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:590 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:596 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "Erreur à la récupération de l'image de couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:586 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:597 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
    " msgstr "Erreur à la récupération de l'image de couverture.
    " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "Timeout lors du téléchargement." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" "Impossible de trouver la couverture de ce livre. Essayez déjà de spécifier " "le numéro ISBN." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 msgid "" "For the error message from each cover source, click Show details below." msgstr "" "Pour obtenir le message d'erreur pour chaque fournisseur de couvertures, " "cliquer sur Afficher les détails ci-dessous" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "Mauvaise couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "La couverture n'est pas une image" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "Il y a eu des erreurs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "" "Il y a eu des erreurs lors du téléchargement des métadonnées sociales" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "Impossible de récupérer les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" "Vous devez spécifier au moins un ISBN, un titre, des auteurs ou un éditeur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:750 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "Permission refusée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" "Impossible d'ouvrir %s. Est-il en cours d'utilisation par un autre programme " "?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Edit Meta Information" msgstr "Editer les métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "Meta information" msgstr "Informations sur les Métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Swap the author and title" msgstr "Inverse l'auteur et le titre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Author S&ort: " msgstr "Clé de tr&i d'auteur: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "" "Automatically create the author sort entry based on the current author entry" msgstr "" "Crée automatiquement la vedette de nom d'auteur à partir du nom d'auteur " "courant." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Remove unused series (Series that have no books)" msgstr "" "Supprimer les séries inutilisées (Les séries qui ne possèdent aucun livres)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "IS&BN:" msgstr "I&SBN :" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Publishe&d:" msgstr "Pu&blié:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "dd MMM yyyy" msgstr "dd MMM yyyy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Date:" msgstr "&Date:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Comments" msgstr "&Commentaires" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "&Fetch metadata from server" msgstr "&Récupérer les métadonnées à partir du serveur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Available Formats" msgstr "Formats disponibles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "Add a new format for this book to the database" msgstr "Ajouter un nouveau format dans la base de données pour ce livre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove the selected formats for this book from the database." msgstr "Retire les formats sélectionnés de ce livre de la base de données." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Set the cover for the book from the selected format" msgstr "Indiquer la couverture pour le livre à partir du format sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Update metadata from the metadata in the selected format" msgstr "" "Mettre à jour les métadonnées à partir des métadonnées du format sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Reset cover to default" msgstr "Revenir à la couverture par défaut" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Download &cover" msgstr "Télécharger la &couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 msgid "Generate a default cover based on the title and author" msgstr "Générer une couverture par défaut basée sur le titre et l'auteur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "&Generate cover" msgstr "&Générer la couverture" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "Mot de passe nécessaire" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "Abandon..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "En cours" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" msgstr "" "La recherche sauvegardée actuelle sera définitivement supprimée. Êtes-" "vous sûr ?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 msgid "Saved Search Editor" msgstr "Editeur de recherche sauvegardée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 msgid "Saved Search: " msgstr "Recherche sauvegardée: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 msgid "Select a saved search to edit" msgstr "Sélectionner une recherche sauvegardée à modifier" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 msgid "Delete this selected saved search" msgstr "Supprimer la recherche sauvegardée sélectionnée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 msgid "Enter a new saved search name." msgstr "Entrer un nouveau nom pour la recherche sauvegardée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 msgid "Add the new saved search" msgstr "Ajouter la nouvelle recherche sauvegardée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 msgid "Change the contents of the saved search" msgstr "Modifier le contenu de la recherche sauvegardée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:120 msgid "Need username and password" msgstr "Nécessite un nom d'utilisateur et un mot de passe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 msgid "You must provide a username and/or password to use this news source." msgstr "" "Vous devez fournir un nom d'utilisateur et un mode passe pour utiliser cette " "source de News." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:172 msgid "Created by: " msgstr "Créé par: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:179 msgid "Last downloaded: never" msgstr "Dernier téléchargé: jamais" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:194 msgid "%d days, %d hours and %d minutes ago" msgstr "il y a %d jours, %d heures et %d minutes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:196 msgid "Last downloaded" msgstr "Dernier téléchargé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:220 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:192 msgid "Schedule news download" msgstr "Planifier le téléchargement des News" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:223 msgid "Add a custom news source" msgstr "Ajouter une source personnalisée de News" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:228 msgid "Download all scheduled new sources" msgstr "Telecharger toutes les sources de News planifiées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:328 msgid "No internet connection" msgstr "Aucune connexion internet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:329 msgid "Cannot download news as no internet connection is active" msgstr "" "Impossible de télécharger les News car aucune connexion internet active" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:193 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:278 msgid "Recipes" msgstr "Recettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:194 msgid "Download all scheduled recipes at once" msgstr "Télécharger toutes les recettes en une seule fois" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:195 msgid "Download &all scheduled" msgstr "Télécharger &toutes les planifications" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:196 msgid "blurb" msgstr "texte de présentation" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 msgid "&Schedule for download:" msgstr "&Planifier le téléchargement" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:198 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 msgid "Every " msgstr "Chaque " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 msgid "day" msgstr "jour" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 msgid "Monday" msgstr "Lundi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 msgid "Tuesday" msgstr "Mardi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 msgid "Wednesday" msgstr "Mercredi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 msgid "Thursday" msgstr "Jeudi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 msgid "Friday" msgstr "Vendredi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 msgid "Saturday" msgstr "Samedi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 msgid "Sunday" msgstr "Dimanche" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 msgid "at" msgstr "à" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -7268,43 +7848,43 @@ msgstr "" "Intervalle pour le téléchargement de cette recette. Une valeur à zéro " "signifie que la recette sera téléchargée toutes les heures." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " jours" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 msgid "&Account" msgstr "&Compte" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 msgid "For the scheduling to work, you must leave calibre running." msgstr "" "Pour que la planification puisse s'exécuter, vous devez laisser Calibre " "fonctionner." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 msgid "&Schedule" msgstr "&Planifier" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 msgid "Add &title as tag" msgstr "Ajouter le &titre comme étiquette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 msgid "&Extra tags:" msgstr "&Etiquettes complémentaires:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 msgid "&Advanced" msgstr "&Avancé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "&Download now" msgstr "&Télécharger maintenant" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -7312,19 +7892,19 @@ msgstr "" "Supprimer les News téléchargées plus anciennes que le nombre de jours " "spécifiés. Indiquer zéro pour le désactiver." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "Delete downloaded news older than " msgstr "Effacer les News plus anciennes que " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" msgstr "contient" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." msgstr "Le texte à chercher. Interprété comme une expression courante." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 msgid "" "

    Negate this match. That is, only return results that do not match " "this query." @@ -7332,66 +7912,66 @@ msgstr "" "

    exclut cette correspondance. Retourne uniquement les résultats qui ne " "correspondent pas à cette requête." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 msgid "Negate" msgstr "Exclut" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:113 msgid "Advanced Search" msgstr "Recherche avancée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:114 msgid "Find entries that have..." msgstr "Trouver les entrées qui ont..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:115 msgid "&All these words:" msgstr "&Tous ces mots:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:116 msgid "This exact &phrase:" msgstr "Cette &phrase exacte:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:117 msgid "&One or more of these words:" msgstr "&Un ou plus de ces mots:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 msgid "But dont show entries that have..." msgstr "Mais ne montre pas les entrées qui ont..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 msgid "Any of these &unwanted words:" msgstr "A&ucun de ces mots non souhaités:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 msgid "What kind of match to use:" msgstr "Type de correspondance à utiliser" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 msgid "Contains: the word or phrase matches anywhere in the metadata" msgstr "" "Contient: le mot ou la phrase peuvent correspondre à n'importe quel " "élément des métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 msgid "Equals: the word or phrase must match an entire metadata field" msgstr "" "Egal: le mot ou la phrase doivent correspondrent à un champ entier de " "métadonnée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 msgid "" "Regular expression: the expression must match anywhere in the metadata" msgstr "" "Expression régulière : l'expression doit correspondre quelque part dans les " "métadonnées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 msgid " " msgstr " " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 msgid "" "See the User Manual for more help" @@ -7399,87 +7979,87 @@ msgstr "" "Consulter le manuel utilisateur pour avoir plus d'informations." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/select_formats.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" msgstr "Choisir les formats" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:80 msgid "Authors" msgstr "Auteurs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:111 msgid "Publishers" msgstr "Editeurs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:114 msgid " (not on any book)" msgstr " (n'est sur aucun livre)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:166 msgid "" "The current tag category will be permanently deleted. Are you sure?" msgstr "" "La catégorie actuelle d'étiquettes sera effacée de manière " "permanente. Etes vous sûr de vouloir continuer?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:153 msgid "User Categories Editor" msgstr "Editeur de catégories utilisateur" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:154 msgid "A&vailable items" msgstr "Articles &disponibles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:155 msgid "Apply tags to current tag category" msgstr "Appliquer les étiquettes à la catégorie actuelle d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:157 msgid "A&pplied items" msgstr "Articles a&ppliqués" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 msgid "Unapply (remove) tag from current tag category" msgstr "" "Retirer (supprimer) l'étiquette de la catégorie actuelle d'étiquettes" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160 msgid "Category name: " msgstr "Nom de la catégorie: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161 msgid "Select a category to edit" msgstr "Sélectionner une catégorie à éditer" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162 msgid "Delete this selected tag category" msgstr "Supprimer cette catégorie d'étiquette sélectionnée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:164 msgid "Enter a new category name. Select the kind before adding it." msgstr "" "Entrer un nouveau nom de catégorie. Sélectionner le genre avant de l'ajouter." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165 msgid "Add the new category" msgstr "Ajouter la nouvelle catégorie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 msgid "Category filter: " msgstr "Filtre de catégorie: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168 msgid "Select the content kind of the new category" msgstr "Sélectionner le type de contenu de la nouvelle catégorie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Are your sure?" msgstr "Êtes-vous sûr ?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:69 msgid "" "The following tags are used by one or more books. Are you certain you want " "to delete them?" @@ -7487,15 +8067,15 @@ msgstr "" "Les étiquettes suivantes sont utilisées par un livre ou plus. Êtes-vous " "certain de vouloir les supprimer ?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" msgstr "Editeur de Mots-Clefs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" msgstr "Etiquettes &disponibles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." @@ -7503,23 +8083,23 @@ msgstr "" "Supprime un mot-clef de la base de données. Cette opération va retirer ce " "mot-clef de tous les livres et le supprimer de la base de données." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" msgstr "Applique le mot-clef au livre en cours." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" msgstr "Etiquettes a&ppliquées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" msgstr "Enlève le mot-clef du livre en cours" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" msgstr "&Ajouter une étiquette:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." @@ -7528,56 +8108,56 @@ msgstr "" "pouvez l'ajouter ici. Accepte une liste d'étiquettes séparées par des " "virgules." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" msgstr "" "Ajoute l'étiquette à la liste des étiquettes et l'applique au livre en cours" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:20 msgid "%s (was %s)" msgstr "%s (autrefois %s)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "L'article est vide" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" "Un article ne peut être défini à une valeur nulle. Supprimez le à la place." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:91 msgid "No item selected" msgstr "Aucun article sélectionné" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:92 msgid "You must select one item from the list of Available items." msgstr "" "Vous devez sélectionner un article de la liste des Articles disponibles." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:101 msgid "No items selected" msgstr "Pas d'articles sélectionnés" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:102 msgid "You must select at least one items from the list." msgstr "Vous devez sélectionner au moins un article de la liste." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:106 msgid "Are you certain you want to delete the following items?" msgstr "Etes vous sûr de vouloir supprimer les articles suivants?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 msgid "Category Editor" msgstr "Éditeur de catégories" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 msgid "Items in use" msgstr "Articles en cours d'utlisation" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 msgid "" "Delete item from database. This will unapply the item from all books and " "then remove it from the database." @@ -7585,140 +8165,136 @@ msgstr "" "Supprimer l'article de la base de données. Ceci desactivera l'article pour " "tous les livres et le supprimera ensuite de la base de données." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 msgid "Rename the item in every book where it is used." msgstr "Renommer l'article" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 -msgid "Ctrl+S" -msgstr "Ctrl+S" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "Tester le paramétrage email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:52 msgid "Send test mail from %s to:" msgstr "Envoyer un email de test de %s vers:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "&Test" msgstr "&Test" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:127 msgid "No recipe selected" msgstr "Aucune recette sélectionnée" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:132 msgid "The attached file: %s is a recipe to download %s." msgstr "Le fichier attaché: %s est une recette à télécharger %s." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:133 msgid "Recipe for " msgstr "Recette pour " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:150 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" msgstr "Basculer vers le mode Avancé" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:164 msgid "Switch to Basic mode" msgstr "Basculer vers le mode Basique" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:174 msgid "Feed must have a title" msgstr "Le flux doit avoir un titre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:175 msgid "The feed must have a title" msgstr "Le flux doit avoir un titre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:179 msgid "Feed must have a URL" msgstr "Le flux doit avoir une URL" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:180 msgid "The feed %s must have a URL" msgstr "Le flux %s doit avoir une URL" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:185 msgid "Already exists" msgstr "Existe déjà" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:186 msgid "This feed has already been added to the recipe" msgstr "Ce flux a déjà été ajouté à la recette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:227 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:286 msgid "Invalid input" msgstr "Entrée incorrecte" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:228 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:237 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:287 msgid "

    Could not create recipe. Error:
    %s" msgstr "

    Impossible de créer la recette. Erreur:
    %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:241 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:290 msgid "Replace recipe?" msgstr "Remplacer la recette?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:242 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:291 msgid "A custom recipe named %s already exists. Do you want to replace it?" msgstr "" "Une recette personnalisée nommée %s existe déjà. Voulez-vous la remplacer ?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick recipe" msgstr "Choisir une recette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick the recipe to customize" msgstr "Choisir une recette à personnaliser" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:277 msgid "Choose a recipe file" msgstr "Choisir un fichier de recette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" msgstr "Ajouter une nouvelle source d'informations" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" msgstr "Recettes utilisateur disponibles" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 msgid "Add/Update &recipe" msgstr "Ajouter/Mettre à jour la &recette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 msgid "&Remove recipe" msgstr "Supp&rimer la recette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 msgid "&Share recipe" msgstr "&Partager une recette" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 msgid "Customize &builtin recipe" msgstr "Personnaliser les recettes &intégrées" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 msgid "&Load recipe from file" msgstr "&Charger une recette à partir d'un fichier" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 msgid "" "\n" +"

    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:260 +msgid "Recipe &title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 +msgid "&Oldest article:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 +msgid "The oldest article to download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 +msgid "&Max. number of articles per feed:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265 +msgid "Maximum number of articles to download per feed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:266 +msgid "Feeds in recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:268 +msgid "Remove feed from recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:274 +msgid "Add feed to recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272 +msgid "&Feed title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 +msgid "Feed &URL:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 +msgid "&Add feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276 +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:277 +msgid "Recipe source code (python)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 +msgid "" +"\n" +"\n" +"

    Set a regular expression " +"pattern to use when trying to guess ebook metadata from filenames.

    \n" +"

    A reference on the syntax " +"of regular expressions is available.

    \n" +"

    Use the Test functionality below to test your regular " +"expression on a few sample filenames. The group names for the various " +"metadata entries are documented in tooltips.

    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 +msgid "Regular &expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:116 +msgid "File &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 +msgid "Title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:119 +msgid "Regular expression (?P<title>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:99 +msgid "No match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 +msgid "Authors:" +msgstr "लेखक:" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:122 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:124 +msgid "Series:" +msgstr "शृंखला:" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:125 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:127 +msgid "Series index:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:128 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:130 +msgid "ISBN:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:131 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 +msgid "Cover Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "Shift+Alt+B" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 +msgid "Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "Shift+Alt+T" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 +msgid "version" +msgstr "आवृत्ती" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 +msgid "created by Kovid Goyal" +msgstr "कोविड गोयालद्वारा निर्मित" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 +msgid "Connected " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 +msgid "Update found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 +msgid "Book Details" +msgstr "पुस्तकाचा तपशील" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "Alt+D" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 +msgid "Job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 +msgid "Status" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +msgid "Progress" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 +msgid "Running time" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 +msgid "There are %d running jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 +msgid "Unknown job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 +msgid "There are %d waiting jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 +msgid "Cannot kill job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +msgid "Cannot kill jobs that communicate with the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 +msgid "Job has already run" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 +msgid "Unavailable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 +msgid "Jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 +msgid " - Jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 +msgid "Eject this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 +msgid "Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +msgid "Show books in calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 +msgid "Reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +msgid "Show books in the main memory of the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 +msgid "Card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +msgid "Show books in storage card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 +msgid "Card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 +msgid "Show books in storage card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 +msgid "available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 +msgid "" +"Books display will be restricted to those matching the selected saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 +msgid "Advanced search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 +msgid "" +"

    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:181 +msgid "Reset Quick Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +msgid "Copy current search text (instead of search name)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 +msgid "Save current search under the name shown in the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 +msgid "Delete current saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 +msgid "N" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 +msgid "Y" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 +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:71 +msgid "Rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1084 +msgid "Book %s of %s." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 +msgid "The lookup/search name is \"{0}\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:886 +msgid "In Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:890 +msgid "Size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1162 +msgid "Marked for deletion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1165 +msgid "Double click to edit me

    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:110 +msgid "Hide column %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:115 +msgid "Sort on %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:116 +msgid "Ascending" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:119 +msgid "Descending" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:131 +msgid "Change text alignment for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:133 +msgid "Left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:133 +msgid "Right" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:134 +msgid "Center" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:153 +msgid "Show column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:165 +msgid "Restore default layout" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 +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:47 +msgid "Configure Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:48 +msgid "Use white background" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:49 +msgid "Hyphenate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:50 +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.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +msgid "No matches 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:477 +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:478 +msgid "Previous Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:188 +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:189 +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:196 +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:30 +msgid "Use the library located at the specified path." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:32 +msgid "Start minimized to system tray." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:34 +msgid "Log debugging information to console" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:36 +msgid "Do not check for updates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:598 +msgid "Calibre Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +msgid "Choose a location for your calibre e-book library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95 +msgid "Failed to create library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:96 +msgid "Failed to create calibre library at: %r." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:184 +msgid "Choose a location for your new calibre e-book library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:153 +msgid "Initializing user interface..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:178 +msgid "Repairing failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 +msgid "The database repair failed. Starting with a new empty library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:226 +msgid "Bad database location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 +msgid "Bad database location %r. calibre will now quit." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 +msgid "Corrupted database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 +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:214 +msgid "" +"Repairing database. This can take a very long time for a large collection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:227 +msgid "" +"Bad database location %r. Will start with a new, empty calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:238 +msgid "Starting %s: Loading books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:283 +msgid "If you are sure it is not running" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:285 +msgid "Cannot Start " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:286 +msgid "%s is already running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:289 +msgid "may be running in the system tray, in the" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 +msgid "upper right region of the screen." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:293 +msgid "lower right region of the screen." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:296 +msgid "try rebooting your computer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:310 +msgid "try deleting the file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:20 +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:61 +msgid "&Preferences" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:62 +msgid "&Quit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:90 +msgid "ERROR: Unhandled exception" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:93 +msgid "Book has neither title nor ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:119 +msgid "No matches found for this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 +msgid "Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 +msgid "The selected search will be permanently deleted. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +msgid "Search (For Advanced Search click the button to the left)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 +msgid "Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 +msgid "Choose saved search or enter name for new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:10 +msgid "Restrict to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 +msgid "(all books)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 +msgid "({0} of {1})" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 +msgid "({0} of all)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:58 +msgid "Press a key..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:79 +msgid "Already assigned" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:81 +msgid "already assigned to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 +msgid " or " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:69 +msgid "&Default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:135 +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:68 +msgid "Frame" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:70 +msgid "&Custom" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:71 +msgid "&Shortcut:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:77 +msgid "Click to change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79 +msgid "Clear" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:76 +msgid "&Alternate shortcut:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 +msgid "Rename '%s'" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 +msgid "Edit sort for '%s'" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 +msgid "Hide category %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 +msgid "Show category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 +msgid "Show all categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 +msgid "Manage %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 +msgid "Manage Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 +msgid "Manage User Categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 +msgid "Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 +msgid "Duplicate search name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 +msgid "The saved search name %s is already used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 +msgid "Sort by name" +msgstr "नावानुसार क्रमवारी" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 +msgid "Sort by popularity" +msgstr "लोकप्रियतेनुसार क्रमवारी" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 +msgid "Sort by average rating" +msgstr "मूल्यांकनानुसार क्रमवारी" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 +msgid "Set the sort order for entries in the Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 +msgid "Match all" +msgstr "सर्व जुळवा" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 +msgid "Match any" +msgstr "कोणतेही जुळवा" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 +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:789 +msgid "Manage &user categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 +msgid "Add your own categories to the Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 +msgid "Convert book %d of %d (%s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 +msgid "Could not convert some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 +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:121 +msgid "Queueing books for bulk conversion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 +msgid "Queueing " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:239 +msgid "Fetch news from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:301 +msgid "Convert existing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:302 +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:165 +msgid "&Restore" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 +msgid "&Donate to support calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 +msgid "&Eject connected device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 +msgid "Calibre Quick Start Guide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 +msgid "Conversion Error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 +msgid "" +"

    Could not convert: %s

    It is a DRMed book. You must " +"first remove the DRM using third party tools." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 +msgid "Recipe Disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +msgid "" +"is the result of the efforts of many volunteers from all over the world. If " +"you find it useful, please consider donating to support its development. " +"Your donation helps keep calibre development going." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 +msgid "There are active jobs. Are you sure you want to quit?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 +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:511 +msgid "WARNING: Active jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 +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:56 +msgid "Update available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:57 +msgid "" +"%s has been updated to version %s. See the new features. Visit the download page?" +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.py:89 +msgid "Name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:56 +msgid "Bookmark Manager" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:57 +msgid "Actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:58 +msgid "Edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:59 +msgid "Delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:60 +msgid "Reset" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 +msgid "Export" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 +msgid "Import" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:154 +msgid "Configure Ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:155 +msgid "&Font options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:156 +msgid "Se&rif family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:157 +msgid "&Sans family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:158 +msgid "&Monospace family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:159 +msgid "&Default font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:168 +msgid " px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:161 +msgid "Monospace &font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:163 +msgid "S&tandard font:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:164 +msgid "Serif" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:165 +msgid "Sans-serif" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:166 +msgid "Monospace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:167 +msgid "Remember last used &window size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:169 +msgid "Maximum &view width:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:170 +msgid "H&yphenate (break line in the middle of large words)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:171 +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:172 +msgid "Default &language for hyphenation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:173 +msgid "&Resize images larger than the viewer window (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:174 +msgid "&User stylesheet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:175 +msgid "&General" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:176 +msgid "Double click to change a keyboard shortcut" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:177 +msgid "&Keyboard shortcuts" +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:35 +msgid "Options to customize the ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 +msgid "Remember last used window size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:81 +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:46 +msgid "Maximum width of the viewer window, in pixels." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 +msgid "Resize images larger than the viewer window to fit inside it" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49 +msgid "Hyphenate text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51 +msgid "Default language for hyphenation rules" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 +msgid "Font options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 +msgid "The serif font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 +msgid "The sans-serif font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 +msgid "The monospaced font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:60 +msgid "The standard font size in px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 +msgid "The monospaced font size in px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 +msgid "The standard font type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 +msgid "&Lookup in dictionary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 +msgid "Go to..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +msgid "Next Section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 +msgid "Previous Section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +msgid "Document Start" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 +msgid "Document End" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +msgid "Section Start" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 +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:115 +msgid "Book format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +msgid "Position in book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 +msgid "Go to a reference. To get reference numbers, use the reference mode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 +msgid "Search for text in book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 +msgid "Print Preview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 +msgid "Connecting to dict.org to lookup: %s…" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 +msgid "Choose ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 +msgid "Ebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 +msgid "Add bookmark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 +msgid "Enter title for bookmark:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 +msgid "No matches found for: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 +msgid "Loading flow..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +msgid "Laying out %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 +msgid "Manage Bookmarks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 +msgid "Loading ebook..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 +msgid "DRM Error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 +msgid "

    This book is protected by DRM" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 +msgid "Could not open ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 +msgid "Options to control the ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 +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:678 +msgid "Print javascript alert and console messages to the console" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 +msgid "" +"%prog [options] file\n" +"\n" +"View an ebook.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:184 +msgid "E-book Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:185 +msgid "Close dictionary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:187 +msgid "toolBar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:190 +msgid "Next page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 +msgid "Previous page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:192 +msgid "Font size larger" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193 +msgid "Font size smaller" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197 +msgid "Find next" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 +msgid "Find next occurrence" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 +msgid "F3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200 +msgid "Copy to clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 +msgid "Reference Mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203 +msgid "Bookmark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204 +msgid "Toggle full screen" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 +msgid "Print" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 +msgid "Find previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 +msgid "Find previous occurrence" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208 +msgid "Shift+F3" +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:238 +msgid "Copy Image" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:239 +msgid "Paste Image" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:364 +msgid "Change Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:365 +msgid "Upper Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:366 +msgid "Lower Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 +msgid "Swap Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:368 +msgid "Title Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:838 +msgid "Drag to resize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 +msgid "Show" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 +msgid "Hide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 +msgid "" +"If you use the WordPlayer e-book app on your Android phone, you can access " +"your calibre book collection directly on the device. To do this you have to " +"turn on the content server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:374 +msgid "" +"Remember to leave calibre running as the server only runs as long as calibre " +"is running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:376 +msgid "" +"You have to add the URL http://myhostname:8080 as your calibre library in " +"WordPlayer. 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/wizard/__init__.py:453 +msgid "Moving library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:470 +msgid "Failed to move library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:524 +msgid "Invalid database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525 +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:536 +msgid "Could not move library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:590 +msgid "Select location for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:665 +msgid "welcome wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 +msgid "Welcome to calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 +msgid "The one stop solution to all your e-book needs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:51 +msgid "" +"Choose your book reader. This will set the conversion options to produce " +"books optimized for your device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:52 +msgid "&Manufacturers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:53 +msgid "&Devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:44 +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:45 +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:46 +msgid "" +"

    User Manual

    A User Manual is also available online." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:44 +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:45 +msgid "&Kindle email:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:52 +msgid "Choose your &language:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:53 +msgid "" +"Choose a location for your books. When you add books to calibre, they will " +"be copied here:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 +msgid "&Change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55 +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:32 +msgid "Using: %s:%s@%s:%s and %s encryption" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +msgid "Sending..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +msgid "Mail successfully sent" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:114 +msgid "Finish gmail setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:115 +msgid "" +"Dont forget to enter your gmail username and password. You can sign up for a " +"free gmail account at http://gmail.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:130 +msgid "Bad configuration" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 +msgid "You must set the From email address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:131 +msgid "You must set the username and password for the mail server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:108 +msgid "Send email &from:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:109 +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:110 +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:111 +msgid "Mail &Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +msgid "calibre can optionally use a server to send mail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +msgid "&Hostname:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +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:115 +msgid "&Port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +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:118 +msgid "Your username on the mail server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +msgid "Your password on the mail server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +msgid "&Show" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +msgid "&Encryption:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +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:124 +msgid "&TLS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +msgid "Use SSL encryption when connecting to the mail server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +msgid "&SSL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +msgid "Use Gmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +msgid "&Test email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:44 +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:45 +msgid "Turn on the &content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:230 +msgid "today" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:233 +msgid "yesterday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:236 +msgid "thismonth" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:239 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:240 +msgid "daysago" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:398 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:408 +msgid "no" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:398 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:408 +msgid "unchecked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:401 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:411 +msgid "checked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:401 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:411 +msgid "yes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:405 +msgid "blank" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:405 +msgid "empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +msgid "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %s.\n" +"Default: '%%default'\n" +"Applies to: CSV, XML output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +msgid "" +"Output field to sort on.\n" +"Available fields: author_sort, id, rating, size, timestamp, title.\n" +"Default: '%default'\n" +"Applies to: CSV, XML output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:206 +msgid "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %s.\n" +"Default: '%%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:216 +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:225 +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:234 +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:244 +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:253 +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:262 +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:530 +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:537 +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'None\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 +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:553 +msgid "" +"Comma-separated list of tag words indicating book should be excluded from " +"output. Case-insensitive.\n" +"--exclude-tags=skip will match 'skip this book' and 'Skip will like this'.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +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:568 +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:575 +msgid "" +"Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:582 +msgid "" +"Sort titles with leading numbers as text, e.g.,\n" +"'2001: A Space Odyssey' sorts as \n" +"'Two Thousand One: A Space Odyssey'.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:589 +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:596 +msgid "" +"Tag indicating book has been read.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:41 +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:120 +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:128 +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:135 +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:137 +msgid "Sort results in ascending order" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:139 +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:141 +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:142 +msgid "The string used to separate fields. Default is a space." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:143 +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:165 +msgid "Invalid fields. Available fields:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 +msgid "Invalid sort field. Available fields:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:244 +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:267 +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:276 +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:278 +msgid "Process directories recursively" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 +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:282 +msgid "Add an empty book (a book with no formats)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:284 +msgid "Set the title of the added empty book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:286 +msgid "Set the authors of the added empty book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:288 +msgid "Set the ISBN of the added empty book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +msgid "You must specify at least one file to add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +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:344 +msgid "You must specify at least one book to remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:363 +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:378 +msgid "You must specify an id and an ebook file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:383 +msgid "ebook file must have an extension" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:391 +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:408 +msgid "You must specify an id and a format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:426 +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:434 +msgid "Print metadata in OPF form (XML)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:443 +msgid "You must specify an id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:456 +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:472 +msgid "You must specify an id and a metadata file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:492 +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:500 +msgid "Export all books in database, ignoring the list of ids." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:502 +msgid "Export books to the specified directory. Default is" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:504 +msgid "Export all books into a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:511 +msgid "Specifying this switch will turn this behavior off." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:534 +msgid "You must specify some ids or the %s option" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:547 +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:556 +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:560 +msgid "" +"A dictionary of options to customize how the data in this column will be " +"interpreted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:573 +msgid "You must specify label, name and datatype" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:631 +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:645 +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:649 +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:655 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:505 +msgid "Show detailed output information. Useful for debugging" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:668 +msgid "Error: You must specify a catalog output file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +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:721 +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:732 +msgid "Error: You must specify a field name, id and value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:751 +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:758 +msgid "Show details for each column." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:770 +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:772 +msgid "y" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:778 +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:786 +msgid "Do not ask for confirmation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:796 +msgid "Error: You must specify a column label" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 +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:537 +msgid "No label was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 +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:71 +msgid "%sAverage rating is %3.1f" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 +msgid "Main" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 +msgid "

    Migrating old database to ebook library in %s

    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 +msgid "Copying %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 +msgid "Compacting database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 +msgid "Checking SQL integrity..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 +msgid "Checking for missing files." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 +msgid "Checked id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:122 +msgid "Ratings" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:24 +msgid "The title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:25 +msgid "The authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:26 +msgid "" +"The author sort string. To use only the first letter of the name use " +"{author_sort[0]}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:28 +msgid "The tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:29 +msgid "The series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:30 +msgid "" +"The series number. To get leading zeros use {series_index:0>3s} or " +"{series_index:>3s} for leading spaces" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:33 +msgid "The rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:34 +msgid "The ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:35 +msgid "The publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:36 +msgid "The date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:37 +msgid "The published date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:38 +msgid "The calibre internal id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:48 +msgid "Options to control saving to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:54 +msgid "" +"Normally, calibre will update the metadata in the saved files from what is " +"in the calibre library. Makes saving to disk slower." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:57 +msgid "" +"Normally, calibre will write the metadata into a separate OPF file along " +"with the actual e-book files." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:60 +msgid "" +"Normally, calibre will save the cover in a separate file along with the " +"actual e-book file(s)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:63 +msgid "" +"Comma separated list of formats to save for each book. By default all " +"available books are saved." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:66 +msgid "" +"The template to control the filename and directory structure of the saved " +"files. Default is \"%s\" which will save books into a per-author " +"subdirectory with filenames containing title and author. Available controls " +"are: {%s}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:71 +msgid "" +"The template to control the filename and directory structure of files sent " +"to the device. Default is \"%s\" which will save books into a per-author " +"directory with filenames containing title and author. Available controls " +"are: {%s}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:78 +msgid "" +"Normally, calibre will convert all non English characters into English " +"equivalents for the file names. WARNING: If you turn this off, you may " +"experience errors when saving, depending on how well the filesystem you are " +"saving to supports unicode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:84 +msgid "" +"The format in which to display dates. %d - day, %b - month, %Y - year. " +"Default is: %b, %Y" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:87 +msgid "Convert paths to lowercase." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:89 +msgid "Replace whitespace with underscores." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:263 +msgid "Requested formats not available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:21 +msgid "Settings to control the calibre content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:25 +msgid "The port on which to listen. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:27 +msgid "The server timeout in seconds. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:29 +msgid "The max number of worker threads to use. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:31 +msgid "Set a password to restrict access. By default access is unrestricted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:33 +msgid "Username for access. By default, it is: %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:37 +msgid "The maximum size for displayed covers. Default is %default." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:39 +msgid "" +"The maximum number of matches to return per OPDS query. This affects Stanza, " +"WordPlayer, etc. integration." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:43 +msgid "" +"Group items in categories such as author/tags by first letter when there are " +"more than this number of items. Default: %default. Set to a large number to " +"disable grouping." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/base.py:94 +msgid "Password to access your calibre library. Username is " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:28 +msgid "" +"[options]\n" +"\n" +"Start the calibre content server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:30 +msgid "Path to the library folder to serve with the content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:32 +msgid "Write process PID to the specified file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 +msgid "%d items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 +msgid "RATING: %s
    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 +msgid "TAGS: %s
    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 +msgid "SERIES: %s [%s]
    " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 +msgid "Books in your library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 +msgid "By " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 +msgid "Books sorted by " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 +msgid "Newest" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:34 +msgid "%sUsage%s: %s\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:78 +msgid "Created by " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 +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.py:663 +msgid "Path to the database in which books are stored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:665 +msgid "Pattern to guess metadata from filenames" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:667 +msgid "Access key for isbndb.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:669 +msgid "Default timeout for network operations (seconds)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:671 +msgid "Path to directory in which your library of books is stored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:673 +msgid "The language in which to display the user interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:675 +msgid "The default output format for ebook conversions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:679 +msgid "Ordered list of formats to prefer for input." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:681 +msgid "Read metadata from files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:683 +msgid "The priority of worker processes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:685 +msgid "Swap author first and last names when reading metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:687 +msgid "Add new formats to existing book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:692 +msgid "List of named saved searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:693 +msgid "User-created tag browser categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:695 +msgid "How and when calibre updates metadata on the device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 +msgid "Waiting..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 +msgid "Stopped" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 +msgid "Finished" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 +msgid "Working..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:95 +msgid "Brazilian Portuguese" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:96 +msgid "English (UK)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:97 +msgid "Simplified Chinese" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:98 +msgid "Chinese (HK)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:99 +msgid "Traditional Chinese" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:100 +msgid "English" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:101 +msgid "English (Australia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:102 +msgid "English (New Zealand)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 +msgid "English (Canada)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104 +msgid "English (India)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105 +msgid "English (Thailand)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106 +msgid "English (Cyprus)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:107 +msgid "English (Pakistan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108 +msgid "English (Israel)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109 +msgid "English (Singapore)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110 +msgid "English (Yemen)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111 +msgid "English (Ireland)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112 +msgid "English (China)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113 +msgid "Spanish (Paraguay)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114 +msgid "German (AT)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "Dutch (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 +msgid "URL must have the scheme sftp" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:57 +msgid "host must be of the form user@hostname" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:68 +msgid "Failed to negotiate SSH session: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:71 +msgid "Failed to authenticate with server: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +msgid "Control email delivery" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:118 +msgid "Unknown section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:140 +msgid "Unknown feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:158 +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:183 +msgid "Untitled article" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:21 +msgid "Download periodical content from the internet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:36 +msgid "" +"Useful for recipe development. Forces max_articles_per_feed to 2 and " +"downloads at most 2 feeds." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:39 +msgid "Username for sites that require a login to access content." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:42 +msgid "Password for sites that require a login to access content." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:46 +msgid "" +"Do not download latest version of builtin recipes from the calibre server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:46 +msgid "Unknown News Source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:609 +msgid "The \"%s\" recipe needs a username and password." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:708 +msgid "Download finished" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:710 +msgid "Failed to download the following articles:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:716 +msgid "Failed to download parts of the following articles:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:718 +msgid " from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:720 +msgid "\tFailed links:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:809 +msgid "Could not fetch article. Run with -vv to see the reason" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:830 +msgid "Fetching feeds..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:835 +msgid "Got feeds from index page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:841 +msgid "Trying to download cover..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:843 +msgid "Generating masthead..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:924 +msgid "Starting download [%d thread(s)]..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:940 +msgid "Feeds downloaded to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:950 +msgid "Could not download cover: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:962 +msgid "Downloading cover from %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1003 +msgid "Masthead image downloaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1172 +msgid "Untitled Article" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1243 +msgid "Article downloaded: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1254 +msgid "Article download failed: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 +msgid "Fetching feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1418 +msgid "" +"Failed to log in, check your username and password for the calibre " +"Periodicals service." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1434 +msgid "" +"You do not have permission to download this issue. Either your subscription " +"has expired or you have exceeded the maximum allowed downloads for today." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:47 +msgid "You" +msgstr "तुम्ही" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:73 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:82 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:193 +msgid "Scheduled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:84 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:194 +msgid "Custom" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:482 +msgid "" +"%prog URL\n" +"\n" +"Where URL is for example http://google.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:485 +msgid "Base directory into which URL is saved. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:488 +msgid "" +"Timeout in seconds to wait for a response from the server. Default: %default " +"s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:491 +msgid "" +"Maximum number of levels to recurse i.e. depth of links to follow. Default " +"%default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 +msgid "" +"The maximum number of files to download. This only applies to files from tags. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 +msgid "" +"Minimum interval in seconds between consecutive fetches. Default is %default " +"s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 +msgid "" +"The character encoding for the websites you are trying to download. The " +"default is to try and guess the encoding." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:500 +msgid "" +"Only links that match this regular expression will be followed. This option " +"can be specified multiple times, in which case as long as a link matches any " +"one regexp, it will be followed. By default all links are followed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:502 +msgid "" +"Any link that matches this regular expression will be ignored. This option " +"can be specified multiple times, in which case as long as any regexp matches " +"a link, it will be ignored.By default, no links are ignored. If both --" +"filter-regexp and --match-regexp are specified, then --filter-regexp is " +"applied first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:504 +msgid "Do not download CSS stylesheets." +msgstr "" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index 1d85b5e1c2..06c2359541 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: 2010-07-23 17:37+0000\n" -"PO-Revision-Date: 2010-07-23 16:24+0000\n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-20 21:43+0000\n" "Last-Translator: Kovid Goyal \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: 2010-07-24 03:56+0000\n" +"X-Launchpad-Export-Date: 2010-08-21 03:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,12 +27,12 @@ msgstr "Gjør absolutt ingenting" #: /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:499 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:398 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 @@ -40,16 +40,16 @@ msgstr "Gjør absolutt ingenting" #: /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:235 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:278 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 #: /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/fb2.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 #: /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 @@ -100,47 +100,47 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:240 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:242 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:812 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:815 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:882 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:87 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:356 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:368 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:976 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1045 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1646 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1648 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1770 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:268 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 @@ -170,6 +170,10 @@ msgstr "Metadata-skriver" msgid "Catalog generator" msgstr "Katalogoppretter" +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " @@ -248,7 +252,7 @@ msgstr "Set metadata fra %s filer" msgid "Conversion Input" msgstr "Konvertering av inndata" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -285,7 +289,7 @@ msgstr "" "vet noe om dokumentets inndata." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:412 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:414 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" @@ -297,62 +301,62 @@ msgid "This profile is intended for the SONY PRS 300." msgstr "Denne profilen er ment for SONY PRS 300" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:447 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:449 msgid "This profile is intended for the SONY PRS-900." msgstr "Denne profilen er ment for SONY PRS-900" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:477 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:479 msgid "This profile is intended for the Microsoft Reader." msgstr "Denne profilen er ment for Microsoft Reader." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:488 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the Mobipocket books." msgstr "Denne profilen er ment for Mobipocket bøker." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:501 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "Denne profilen er ment for Hanlin V3 og kloner av denne." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:513 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "Denne profilen er ment for HAnlin V5 og dens kloner" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:523 msgid "This profile is intended for the Cybook G3." msgstr "Denne profilen er ment for Cybook G3." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:534 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 msgid "This profile is intended for the Cybook Opus." msgstr "Denne profilen er ment for Cybook Opus." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:545 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:547 msgid "This profile is intended for the Amazon Kindle." msgstr "Denne profilen er ment for Amazon Kindle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:580 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:584 msgid "This profile is intended for the Irex Illiad." msgstr "Denne profilen er ment for Irex Illiad." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:593 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "Denne profilen er ment for IRex Digital Reader 1000." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:607 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:611 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "Denne profilen er ment for IRex Digital Reader 800" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:621 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:625 msgid "This profile is intended for the B&N Nook." msgstr "Denne profilen er ment for B&N Nook." @@ -370,24 +374,24 @@ msgstr "" "å lage et dokument som er ment til å bli lest på en datamaskin eller andre " "dataprodukter." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:259 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "Benyttes for iPad og liknende enheter med en oppløsning på 768x1024" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:425 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:427 msgid "This profile is intended for the Kobo Reader." msgstr "Denne profilen er tiltenkt Kobo Reader" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:438 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 msgid "This profile is intended for the SONY PRS-300." msgstr "Denne profilen er ment for SONY PRS-300" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:456 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 msgid "This profile is intended for the 5-inch JetBook." msgstr "Denne profilen er ment for 5-inch JetBook." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:465 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:467 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -395,39 +399,39 @@ msgstr "" "Denne profilen er ment for SONY PRS serien. 500/505/700 osv, i " "landskapsmodus. Dette er hovedsakelig anvendelig for tegneserier." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:563 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 msgid "This profile is intended for the Amazon Kindle DX." msgstr "Denne profilen er ment for Amazon Kindle DX." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Installed plugins" msgstr "Installerte programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Mapping for filetype plugins" msgstr "Kartlegging av programtillegg for filtyper" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Local plugin customization" msgstr "Lokal innstilling av programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Disabled plugins" msgstr "Slå av programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Enabled plugins" msgstr "Påslåtte programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:84 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 msgid "No valid plugin found in " msgstr "Ingen gyldige programtillegg ble funnet i " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:468 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "Initialisering av programtillegg %s mislykket med sporingshistorie:" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:501 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -439,19 +443,19 @@ msgstr "" " Tilpass Calibre ved å laste eksterne programtillegg.\n" " " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:507 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" "Legg til et programtillegg ved å spesifisere stien hvor den befinner seg i " "ZIP filen" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:509 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Fjern et tilpasset programtillegg ved navn. Dette har ingen effekt på " "innebygde programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." @@ -459,15 +463,15 @@ msgstr "" "Tilpass programtillegg. Spesifiser navnet på programtillegget og " "tilpassningsstrengen separert ved komma." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:513 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Se alle Installerte programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Slå på navngitte programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Slå av navngitte programtillegg" @@ -475,7 +479,7 @@ msgstr "Slå av navngitte programtillegg" msgid "Communicate with Android phones." msgstr "Kommuniser med Android-telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:46 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -483,7 +487,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:88 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Kommuniser med S60 telefoner." @@ -504,14 +508,14 @@ msgstr "Oppdaterer metadatalister for enheten..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2802 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d av %d" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2847 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "fullført" @@ -541,19 +545,19 @@ msgstr "" "Noen av omslagsbildene kunne ikke konverteres.\n" "Klikk \"Vis Detaljer\" for liste." -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2471 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:807 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:813 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1530 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Nyheter" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2709 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "Kommuniser med iTunes" @@ -609,7 +613,7 @@ msgid "Use an arbitrary folder as a device." msgstr "Benytt en valgt mappe som en enhet." #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:26 -#: /home/kovid/work/calibre/src/calibre/devices/interface.py:23 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 msgid "Device Interface" msgstr "Enhetsgrensesnitt" @@ -617,15 +621,15 @@ msgstr "Enhetsgrensesnitt" msgid "Communicate with Hanlin V3 eBook readers." msgstr "Kommuniser med Hanlin V3 eBook lesere" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "Kommuniser med Hanlin V5 eBook lesere" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Kommuniser med BOOZ eBook leser" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -659,7 +663,7 @@ msgstr "Kommuniser med IRex Iliad eBook-leser." #: /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:38 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42 msgid "John Schember" msgstr "John Schember" @@ -699,40 +703,51 @@ msgstr "Kommuniser med Kindle DX eBook leser." msgid "Communicate with the Kobo Reader" msgstr "Kommuniser med Kobo Reader" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:51 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:54 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:57 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:159 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:64 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:67 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:132 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:139 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:162 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:136 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:166 msgid "Getting list of books on device..." msgstr "Motta liste over bøker på enheten..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:219 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:263 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:246 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:264 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "Fjern bøker fra enheten..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:274 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "Fjern bøker fra enhetens metadatalister..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:313 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:210 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "Legg bøker til enhetens metadatalister..." +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 +msgid "Not Implemented" +msgstr "Ikke implementert" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 +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:17 msgid "Communicate with the Palm Pre" msgstr "Kommuniser med Palm Pre" @@ -741,11 +756,15 @@ msgstr "Kommuniser med Palm Pre" msgid "Communicate with the Booq Avant" msgstr "Kommuniser med Booq Avant" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:58 msgid "Communicate with the Sweex MM300" msgstr "Kommuniser med Sweex MM300" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:77 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "Kommuniser med Pandigital Novel" @@ -789,7 +808,7 @@ msgstr "" "Komma-separert liste over felt for metadata for å endre til samling på " "enheten. Dette inkluderer: " -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Ikke navngitt" @@ -799,34 +818,34 @@ msgid "Communicate with the Samsung SNE eBook reader." msgstr "Kommuniser med Samsung SNE eBook leser" #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "Kommuniser med Teclast K3 leser" +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "Kommuniser med Teclast K3/K5 leser" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "Kommuniser med Newsmy leser" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "Kommuniser med iPapyrus leser." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:245 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Kan ikke finne %s lagringsenhet. Forsøk med en omstart." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:435 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "Kan ikke finne %s oppkoblingspunkt. Forsøk en omstart." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:490 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:500 msgid "Unable to detect the %s disk drive." msgstr "Kan ikke finne %s lagringsenhet." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:583 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:593 msgid "Could not find mount helper: %s." msgstr "Kunne ikke finne monteringshjelp: %s" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:595 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." @@ -834,25 +853,25 @@ msgstr "" "Kan ikke finne %s lagringsenhet. Din kjerne eksporterer antakeligvis en feil " "versjon av SYSFS." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:603 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:613 msgid "Unable to mount main memory (Error code: %d)" msgstr "Kan ikke montere hovedminne (Feilkode: %d)" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:740 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:742 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:750 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:752 msgid "The reader has no storage card in this slot." msgstr "Leseren har ikke noe lagringskort i denne minnekortleseren." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:744 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:754 msgid "Selected slot: %s is not supported." msgstr "Valgt minnekortleser: %s er ikke støttet." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:773 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 msgid "There is insufficient free space in main memory" msgstr "Det er ikke nok plass i hovedminnet" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:775 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:777 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:785 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:787 msgid "There is insufficient free space on the storage card" msgstr "Det er ikke nok ledig plass på lagringskortet" @@ -890,20 +909,20 @@ msgstr "Mal for å kontrollere hvordan bøker skal lagres" msgid "Extra customization" msgstr "Tilleggskonfigurasjon" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 msgid "Communicate with an eBook reader." msgstr "Kommuniser med en eBokleser" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:57 msgid "Get device information..." msgstr "Få informasjon om enheten..." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:190 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:192 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:194 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 msgid "Transferring books to device..." msgstr "Overfører bøker til enheten..." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:314 msgid "Sending metadata to device..." msgstr "Overfører metadata til enheten..." @@ -992,15 +1011,15 @@ msgstr "Angi bok ID" msgid "Set font delta" msgstr "Sett tegnsett delta" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:201 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "Gjengitt %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:204 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "Mislykket %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:261 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1010,7 +1029,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1020,22 +1039,22 @@ msgstr "" "Verdier på mindre enn 256 kan resultere i uskarp tekst i enheten din dersom " "du oppretter dine tegneserier til EPUB format." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Forhindre normalisering (forbedre kontrasten) av farge rangering for bilder. " "Standard: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Beholde bilde sideforhold. Standard er å fylle hele skjermen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Ikke foreta skjerping av bilder" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1043,11 +1062,11 @@ msgstr "" "Slå av finjusteringen av tegneseriesider. For noen tegneserier, kan " "finjustering fjerne innhold og kantrammer." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "Ikke splitt landskapsbilder i to portrett bilder" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1055,7 +1074,7 @@ msgstr "" "Behold apparisjonsfaktor og skaleringsbilde ved å benytte skjermhøyde som " "bildevidde, for bruk av landskapsmodus." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1064,7 +1083,7 @@ msgstr "" "landskapssider blir splittet til portrettbilder som leses fra høyre til " "venstre." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1072,7 +1091,7 @@ msgstr "" "Slå på kantutjevning. Reduserer ujevne kanter. Dette valget kan påvirke " "prosesstiden betraktelig." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1080,7 +1099,7 @@ msgstr "" "Ikke sorter filene i tegneserien alfabetisk etter navn. Bruk rekkefølgen " "filene ble lagt til i tegneserien." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 " @@ -1090,16 +1109,16 @@ msgstr "" "eksperimentere deg frem til å se hvilket format som gir den mest optimale " "størrelsen og det beste utseendet i din enhet." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "Ikke legg prosesser til bildet" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "Ikke konverter bildet til gråskala (svart-hvitt)" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:452 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:463 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Side" @@ -1667,7 +1686,11 @@ msgstr "Kjører transformering av e-boken..." msgid "Creating" msgstr "Oppretter" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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 "ePub Fixer" @@ -1687,7 +1710,7 @@ msgstr "" "disse med konstruksjoner som epubcheck liker. Dette kan føre til strørre " "endringer på din epub. Klag til epubcheck-prosjektet." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1707,7 +1730,7 @@ msgstr "" "for hver feil som oppdages. Benytt valgmuligheter for å kontrollere hvilke " "feil som skal repareres automatisk." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "Du må spesifisere en epub-fil" @@ -2092,7 +2115,7 @@ msgstr "Monospace font familie" msgid "Comic" msgstr "Tegneserie" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 @@ -2101,11 +2124,11 @@ msgstr "Tegneserie" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:543 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "Tittel" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 @@ -2113,18 +2136,18 @@ msgstr "Tittel" msgid "Author(s)" msgstr "Forfatter(e)" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "Forlag" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "Produsent" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 @@ -2136,7 +2159,7 @@ msgstr "Produsent" msgid "Comments" msgstr "Sammendrag:" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:408 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 @@ -2146,7 +2169,7 @@ msgstr "Sammendrag:" msgid "Tags" msgstr "Nøkkelord" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:410 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 @@ -2156,22 +2179,22 @@ msgstr "Nøkkelord" msgid "Series" msgstr "Serie" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 msgid "Language" msgstr "Språk" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "Tidstempel" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:415 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "Publisert" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:417 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 msgid "Rights" msgstr "Rettigheter" @@ -2302,43 +2325,77 @@ msgstr "Omslag lagret til" msgid "No cover found" msgstr "Fant ikke omslag" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:15 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:27 msgid "Cover download" msgstr "Last ned omslag" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 +msgid "Download covers from openlibrary.org" +msgstr "Last ned omslag fra openlibrary.org" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 +msgid "ISBN: %s not found" +msgstr "ISBN: %s ble ikke funnet" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 +msgid "Download covers from librarything.com" +msgstr "Last ned omslag fra librarything.com" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 +msgid "LibraryThing.com timed out. Try again later." +msgstr "" +"LibraryThing.com kunne ikke kontaktes. Vennligst forsøk igjen senere." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 +msgid "" +"Could not fetch cover as server is experiencing high load. Please try again " +"later." +msgstr "" +"Kunne ikke finne omslaget da serveren er opptatt. Vennligst forsøk igjen " +"senere." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 +msgid "LibraryThing.com server error. Try again later." +msgstr "" +"LibraryThing.com har feil på serveren. Vennligst forsøk igjen senere." + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/douban.py:42 msgid "Downloads metadata from Douban.com" msgstr "Last ned metadata fra Douban.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "Nedlasting av metadata" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "Bedømmelse" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "emneord" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "beskrivelse/betraktninger" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "Last ned %s fra %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "Last ned metadata fra Google Bøker" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "Last ned metadata fra isbnb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2346,11 +2403,11 @@ msgstr "" "For å benytte isbnb.com må du først sette opp en %sgratis konto%s og legge " "inn tilgansnøkkelen under." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "Last ned sosiale metadata fra amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Last ned serier/emneord/bedømningsinformasjon fra librarything.com" @@ -2395,28 +2452,10 @@ msgstr "Tittelen til boken du søker etter." msgid "The publisher of the book to search for." msgstr "Forlaget til boken du søker etter." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 -msgid "LibraryThing.com timed out. Try again later." -msgstr "" -"LibraryThing.com kunne ikke kontaktes. Vennligst forsøk igjen senere." - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 -msgid "" -"Could not fetch cover as server is experiencing high load. Please try again " -"later." -msgstr "" -"Kunne ikke finne omslaget da serveren er opptatt. Vennligst forsøk igjen " -"senere." - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:76 msgid " not found." msgstr " ikke funnet." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 -msgid "LibraryThing.com server error. Try again later." -msgstr "" -"LibraryThing.com har feil på serveren. Vennligst forsøk igjen senere." - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:86 msgid "" "\n" @@ -2904,7 +2943,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "Spesifiser tegnsettkodene for et utdatadokument. Standard er cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3098,7 +3137,7 @@ msgid "Disable UI animations" msgstr "Slå av UI animeringer" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "Kopiert" @@ -3110,205 +3149,431 @@ msgstr "Kopier" msgid "Copy to Clipboard" msgstr "Kopier til utklippstavlen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "Velg filer" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:245 -msgid "Use library only" -msgstr "Bruk kun biblioteket" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" -msgstr "Brukerkommentaer genereres kun fra hovedbiblioteket" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "Legg til bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:609 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:668 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:705 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:726 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:911 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:976 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1094 -msgid "No books selected" -msgstr "Ingen bøker ble valgt" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" +msgstr "Legg til bøker fra en enkelt mappe" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" -msgstr "Ingen bøker er valgt for å hente kommentarer fra" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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 "" +"Legg til bøker fra mapper, inkludert undermapper (En bok per mappe, " +"oppfattes som at alle e-bokfilene er den samme boken i forskjellige format)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:101 -msgid "Merging user annotations into database" -msgstr "Slå sammen brukerkommentarer til databasen" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +msgid "" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" +msgstr "" +"Legg til bøker fra mappene, inkludert undermapper (Flere bøker per mappe " +"oppfattes som at alle e-bokfilene er forskjellige bøker)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:129 -msgid "%s
    Last Page Read: %d (%d%%)" -msgstr "%s
    Siste side lest: %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "Legg til tom bok (Uformatert bokoppføring)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:135 -msgid "%s
    Last Page Read: Location %d (%d%%)" -msgstr "%s
    Plassering av siste side lest%d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" +msgstr "Legg til fra ISBN" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
    %s
    " -msgstr "Plassering %d • %s
    %s
    " - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
    " -msgstr "Side %d • %s
    " - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
    " -msgstr "Plassering %d • %s
    " - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "Hvor mange tomme bøker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "Hvor mange tomme bøker skal legges til?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "Laster opp bøker til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "Bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "EPUB bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "LRF bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "HTML-bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "LIT bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "MOBI bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "Topaz-bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "Tekst bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "PDF-bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "Tegneserier" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "Arkiver" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "Støttede bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "Slått sammen noen bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" "Noen duplikater ble funnet og slått sammen til følgende eksisterende bøker:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "Kunne ikke lese metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "Kunne ikke lese metadata fra følgende" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "Legg til i biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:459 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1238 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Ingen bøker ble valgt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 +msgid "" +"The following books are virtual and cannot be added to the calibre library:" +msgstr "" +"De følgende bøkene er virituelle og kan ikke legges til calibre-biblioteket:" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "Ingen bokfiler ble funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 +msgid "Add books to library" +msgstr "Legg bøker til biblioteket" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "Hent kommentarer (eksperimentell)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "Bruk kun biblioteket" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "Brukerkommentaer genereres kun fra hovedbiblioteket" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "Ingen bøker ble valgt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "Ingen bøker er valgt for å hente kommentarer fra" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "Slå sammen brukerkommentarer til databasen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
    Last Page Read: %d (%d%%)" +msgstr "%s
    Siste side lest: %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
    Last Page Read: Location %d (%d%%)" +msgstr "%s
    Plassering av siste side lest%d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
    %s
    " +msgstr "Plassering %d • %s
    %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
    " +msgstr "Side %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +msgid "Location %d • %s
    " +msgstr "Plassering %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:32 +msgid "Create catalog of books in your calibre library" +msgstr "Lag en katalog av bøker i calibre-biblioteket ditt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "Ingen bøker ble valgt for å produsere kataloger" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "Produserer %s katalog..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "Ingen bøker ble funnet" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" +"Ingen bøker til katalog\n" +"Sjekk utelatte emneord" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "Katalog produsert." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "Eksporter katalogdirektorat" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "Velg plassering for %s.%s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "%d bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "Velg calibre-bibliotek for videre arbeid" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "Velg bibliotek..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "Hurtigbytte" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "Kunne ikke finne bibliotek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +msgid "" +"No existing calibre library was found at %s. It will be removed from the " +"list of known libraries." +msgstr "" +"Ingen eksisterende bibliotek ble funnet ved %s. Det vil bli fjernet fra " +"listen av kjente bibliotek." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "Ikke tillatt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +msgid "You cannot change libraries while jobs are running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "C" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "Convert books" +msgstr "Konverter bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +msgid "Convert individually" +msgstr "Konverter individuelt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "Samlet konvertering" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "Kan ikke konvertere" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "Starter konvertering av %d bok (bøker)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "Mislykket" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Slett" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "Fjern bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "Fjern valgte bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "Fjern filer for et spesifisert format fra valgte bøker..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "Fjern alle formater fra valgte bøker, unntatt..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "Fjern omslag fra valgte bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "Fjern samsvarende bøker fra enheten" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "Kan ikke fjerne" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "Velg formater som skal fjernes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "Velg formatet ikke til å slettes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "Kan ikke slette bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "Ingen enheter er koblet til" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "Hovedminne" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:519 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:430 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "Lagring Kort A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:520 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:432 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "Lagring Kort B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "Ingen bøker å slette" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 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.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "Sletter bøker fra enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" @@ -3316,68 +3581,163 @@ msgstr "" "De valgte bøkene vil bli slettet permanent og filene vil bli fjernet " "fra datamaskinen din. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" msgstr "" "De valgte bøkene vil bli slettet peremanent fra enheten. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "Knytt til mappe" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "Koble til iTunes" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "Start konverteringsserver" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "Stans konverteringsserver" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "-post til" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr " og slett fra biblioteket" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "Klargjøring av e-postbasert deling av bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "D" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "Send til enhet" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +msgstr "Koble/del" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 +msgid "Manage collections" +msgstr "Behandle samlinger" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "E" +msgstr "E" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "Edit metadata" +msgstr "Rediger metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 +msgid "Merge book records" +msgstr "Slå sammen bokoppføringer" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "M" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "Rediger metadata individuelt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "Rediger metadata samlet" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "Last ned metadata og omslag" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "Last kun ned metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "Last kun ned omslag" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "Last kun ned sosiale metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "Slå sammen med første valgte bok - slett øvrige" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "Slå sammen med første valgte bok - behold øvrige" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "Kan ikke laste ned metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "sosiale metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "Omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "Laster ned %s for %d bok(bøker)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "Klarte ikke å laste ned en del av metadataene" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:653 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "Kunne ikke laste ned metadata for følgende:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "Kunne ikke laste ned metadata:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:657 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:602 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:953 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "Feil" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:667 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "Kan ikke redigere metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:725 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:728 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "Kan ikke slå sammen bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "Minst to bøker må velges for å slå sammen bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:733 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

    The second and subsequently selected " @@ -3389,7 +3749,7 @@ msgstr "" "ikke bli slettet eller endret.

    Vennligst bekreft at du ønsker å " "fortsette." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:744 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

    After merger the second and " @@ -3405,7 +3765,7 @@ msgstr "" "valgte bøker vil bli slettet permanent fra din datamaskin.

    Er " "du sikker på at duvil fortsette?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:756 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 msgid "" "You are about to merge more than 5 books. Are you sure you want to " "proceed?" @@ -3413,95 +3773,221 @@ msgstr "" "Du er i ferd med å slå sammen fler enn 5 bøker. Er du sikker på at du " "ønsker å fortsette?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:910 -msgid "Cannot save to disk" -msgstr "Kan ikke lagre til disk" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "F" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:913 -msgid "Choose destination directory" -msgstr "Velg mottaksmappe" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "Hent nyheter" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:946 -msgid "Error while saving" -msgstr "Feil ved lagring" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:947 -msgid "There was an error while saving." -msgstr "En feil oppsto ved lagring" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:954 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:955 -msgid "Could not save some books" -msgstr "Kunne ikke lagre enkelte bøker" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:956 -msgid "Click the show details button to see which ones." -msgstr "Klikk vis detaljer knappen for å se hvilke." - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:977 -msgid "No books selected to generate catalog for" -msgstr "Ingen bøker ble valgt for å produsere kataloger" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:994 -msgid "Generating %s catalog..." -msgstr "Produserer %s katalog..." - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:999 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 -msgid "No books found" -msgstr "Ingen bøker ble funnet" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1000 -msgid "" -"No books to catalog\n" -"Check exclude tags" -msgstr "" -"Ingen bøker til katalog\n" -"Sjekk utelatte emneord" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1010 -msgid "Catalog generated." -msgstr "Katalog produsert." - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1013 -msgid "Export Catalog Directory" -msgstr "Eksporter katalogdirektorat" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1014 -msgid "Select destination for %s.%s" -msgstr "Velg plassering for %s.%s" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1030 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 msgid "Fetching news from " msgstr "Skaffer nyheter fra " -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1044 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 msgid " fetched." msgstr " funnet." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1093 -msgid "Cannot convert" -msgstr "Kan ikke konvertere" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Browse the calibre User Manual" +msgstr "Se gjennom calibre brukermanual" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1122 -msgid "Starting conversion of %d book(s)" -msgstr "Starter konvertering av %d bok (bøker)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "F1" +msgstr "F1" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1238 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Help" +msgstr "Hjelp" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 +msgid "Open containing folder" +msgstr "Åpne innholdsfolder" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 +msgid "O" +msgstr "O" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +msgid "Ctrl+P" +msgstr "Ctrl+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "Innstillinger" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "Kjør velkomstveiviser" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "Kan ikke konfigurere" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "Kan ikke konfigurere samtidig som en oppgave kjører." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +msgid "Cannot configure before calibre is restarted." +msgstr "Kan ikke konfigurere før calibre har blitt startet på nytt." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "&Restart" +msgstr "&Omstart" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "Ctrl+R" +msgstr "Ctrl+R" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 +msgid "Save single format to disk..." +msgstr "Lagre et enkelt format til lagringsenhet..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40 +msgid "S" +msgstr "S" + +#: /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:45 +msgid "Save to disk" +msgstr "Lagre til disk" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:47 +msgid "Save to disk in a single directory" +msgstr "Lagre til disk i en enkelt mappe" + +#: /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 "Lagre kun %s format til disken" + +#: /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 "Lagre kun %s formatet til disken i en enkelt mappe" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:90 +msgid "Cannot save to disk" +msgstr "Kan ikke lagre til disk" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93 +msgid "Choose destination directory" +msgstr "Velg mottaksmappe" + +#: /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 "" +"Du forsøker å lagre filer i calibrebiblioteket. Dette kan ødelegge " +"biblioteket. Lagre til disk er ment for å eksportere filer fra " +"calibrebiblioteket til en annen lagringsplassering." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:135 +msgid "Error while saving" +msgstr "Feil ved lagring" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136 +msgid "There was an error while saving." +msgstr "En feil oppsto ved lagring" + +#: /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 +msgid "Could not save some books" +msgstr "Kunne ikke lagre enkelte bøker" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 +msgid "Click the show details button to see which ones." +msgstr "Klikk vis detaljer knappen for å se hvilke." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" +msgstr "Vis bokdetaljer" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" +msgstr "I" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" +msgstr "Ingen detaljert informasjon er tilgjengelig" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." +msgstr "" +"Ingen detaljert informasjon er tilgjengelig for bøker på denne enheten." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." +msgstr "Samsvarende bøker..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" +msgstr "Alt+A" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" +msgstr "Bøker av samme forfatter" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "Alt+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "Bøker i denne serien" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" +msgstr "Alt+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "Bøker av dette forlaget" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "Alt+T" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "Bøker med de samme taggene" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "V" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "Vis" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "Vis spesifikt format" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "Kan ikke vise" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1244 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "Velg format som skal vises" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "Flere bøker ble valgt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3513,11 +3999,11 @@ msgstr "" "startet denne prosessen, kan den ikke stanses før den er fullført. Ønsker du " "å fortsette?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "Kan ikke åpne folder" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "%s har ikke tilgjengelig formater." @@ -3542,7 +4028,7 @@ msgid "The specified directory could not be processed." msgstr "Den spesifiserte mappen kunne ikke prosesseres" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "Ingen bøker" @@ -3617,7 +4103,7 @@ msgstr "Legge bøker til calibre" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 @@ -3681,22 +4167,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 @@ -3757,7 +4247,7 @@ msgstr "Bane" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" @@ -3855,6 +4345,7 @@ msgstr "utdata" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 @@ -3900,23 +4391,23 @@ msgstr "BibTeX innsettingsform" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 msgid "mixed" -msgstr "" +msgstr "Blandet" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 msgid "misc" -msgstr "" +msgstr "Forskjellig" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 msgid "book" -msgstr "" +msgstr "bok" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 msgid "Create a citation tag?" -msgstr "" +msgstr "Lag et sitat-emneord?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 msgid "Expression to form the BibTeX citation tag:" -msgstr "" +msgstr "Uttrykk for å lage BibTeX sitat-emneord:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 msgid "" @@ -3939,8 +4430,8 @@ msgstr "E-bok valg" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1493 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1511 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "Katalog" @@ -3963,16 +4454,11 @@ msgstr "Regex-mønsker beskriver meker som skal utelates som sjangre:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" msgstr "" -"Regex tips:\n" -"- Standard regex - \\[[\\w ]*\\] - ekskluderer genre av emneord fra formen " -"[tag], f.eks., [Amazon Freebie]\n" -"- Et regex-mønster av et enslig punktum ekskluderer alle genre av emneord, " -"ved å utelate Genre Område" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 msgid "Include 'Titles' Section" @@ -4076,7 +4562,7 @@ msgid "&Disable comic processing" msgstr "&Slå av tegneserieprosessering" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "&Utdataformat:" @@ -4092,16 +4578,16 @@ msgstr "Feilsøk" msgid "Debug the conversion process." msgstr "Feilsøk i konverteringsprosessen" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "Velg feilsøkfolder" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Invalid debug directory" msgstr "Ugyldig feilsøkfolder" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "Kunne ikke lage feilsøk-folder" @@ -4265,15 +4751,15 @@ msgstr "Utseende" msgid "Control the look and feel of the output" msgstr "Kontroller utseende til utdataene" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" msgstr "Original" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 msgid "Left align" msgstr "Venstrejuster" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "Juster tekst" @@ -4410,39 +4896,39 @@ msgstr "" "Legg inn metadata. Utdatafilen vil inneholde så mange av disse metadataene " "som mulig." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "Velg omslag for " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "Kan ikke lese" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "Du har ikke tillatelse til å lese denne filen: " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "Feil under lesing av fil" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

    There was an error reading from file:
    " msgstr "

    En feil oppsto under lesing fra filen:
    " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " er ikke et tillatt bilde" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Book Cover" msgstr "Bokomslag" @@ -4451,28 +4937,28 @@ msgid "Use cover from &source file" msgstr "Bruk omslag fra &kilde fil" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Change &cover image:" msgstr "Bytt &omslagsbilde:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "Browse for an image to use as the cover of this book." msgstr "Let etter et bilde som kan benyttes som omslag for denne boken." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "&Title: " msgstr "&Tittel: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Change the title of this book" msgstr "Forandre bokens tittel" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Author(s): " msgstr "&Forfatter(e): " @@ -4490,18 +4976,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Publisher: " msgstr "&Forlegger: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Ta&gs: " msgstr "Ta&gger: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "" "Tags categorize the book. This is particularly useful while searching. " "

    They can be any words or phrases, separated by commas." @@ -4511,7 +4997,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "&Series:" msgstr "&Serier:" @@ -4519,13 +5005,13 @@ msgstr "&Serier:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "List of known series. You can add new series." msgstr "Liste av kjente serier. Du kan legge til nye serier." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Book " msgstr "Bok " @@ -4696,18 +5182,18 @@ msgstr "Konverter" msgid "Options specific to the input format." msgstr "Valg spesifisert til inndataformat." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "Dialog" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "&Inndataformat:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "Bruk &lagrede konverteringsinnstillinger for individuelle bøker" @@ -4725,39 +5211,39 @@ msgid "" msgstr "" "Finjuster deteksjonen av kapitteloverskrifter og andre dokumentstrukturer." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "Finn kapitler ved (XPath uttrykk):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "Sett inn sideskift før (XPath uttrykk):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "Topptekst - vanlig uttrykk:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "Bunntekst - vanlig uttrykk:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "Ugyldig regulæruttrykk" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "Ugyldig regulæruttrykk: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "Ugyldig XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "XPath uttrykket %s er ugyldig." @@ -4795,15 +5281,15 @@ msgstr "Innholdsfortegnelse" msgid "Control the creation/conversion of the Table of Contents." msgstr "Kontroller danningen/konverteringen av innholdsfortegnelsen." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "Nivå &1 TOC (XPath uttrykk):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "Nivå &2 TOC (XPath uttrykk):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "Nivå &3 TOC (XPath uttrykk):" @@ -4867,8 +5353,8 @@ msgid "&Maximum line length:" msgstr "&Maks linjelengde:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" -msgstr "Tving maks linjelengde" +msgid "Force maximum line length" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 @@ -4966,20 +5452,20 @@ msgstr "" "om avansert bruk av XPath, se
    XPath Tutorial." -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "Omslagssøker kunne ikke starte" - -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "Søk blant omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "Omslagssøker kunne ikke starte" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 @@ -4988,150 +5474,142 @@ msgstr "Søk blant omslag" msgid "Undefined" msgstr "Ikke definert" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "Ja" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "Nei" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "Stjerne(r)" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "Ikke rangert" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr " indeks:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "Automatisk nummererte bøker i denne serien" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "Fjerne alle emneord" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "emneord som skal legges til" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "emneord som skal fjernes" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Ingen detaljer tilgjengelig." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "Enheten er ikke lenger koblet til." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "Få informasjon om enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "Få en liste over bøker på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "Motta kommentar fra enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "Send metadata til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "Overfør samlingene til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "Last opp %d bøker til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "Slett bøker fra enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "Last ned bøker fra enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "Se min bok på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "Sett stadart til send til enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "Send til hovedminnet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "Send til lagringskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "Send til lagringskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:428 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "Hovedminne" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "Overfør og slett fra biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "Overfør spesifisert format" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "Koble fra enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 -msgid "Fetch annotations (experimental)" -msgstr "Hent kommentarer (eksperimentell)" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "Feil ved kommunikasjonen med enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "Velg mappe som skal åpnes som enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:669 -msgid "Failed" -msgstr "Mislykket" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "Feil ved komminikasjonen med enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -5139,124 +5617,124 @@ msgstr "" "En midlertidig feil oppsto ved kommunikasjonen med enheten. Vennligst plugg " "ut og plugg inn igjen enheten, eller ta en omstart." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "Enhet: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr " Funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "Velg for å sende" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "Velg format for å sende til enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "Ingen enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:820 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "Kan ikke sende: Ingen enhet er koblet til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:823 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "Ingen kort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:824 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "Kan ikke sende: Enheten har ikke noe lagringskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "E-bok" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "Vedlagt finner du e-boken" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:873 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "av" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "i %s format" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:887 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "Sender e-post til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:917 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1019 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1081 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1200 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "Ingen passende formater" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "Autokonverter de følgende bøkene før du sender dem via e-post?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Kunne ikke sende følgende bøker som e-post da ingen passende formater ble " "funnet:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "Kunne ikke sende bøker via e-post" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "Kunne ikke sende de følgende bøkene via e-post:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "Sent som e-post:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "Nyheter:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "Vedlagt følger" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "Sent nyheter til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1082 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1201 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "Autokonverter følgende bøker før du laster dem opp til enheten?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "Sender kataloger til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1114 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "Sender nyheter til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "Sender bøker til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1209 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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." @@ -5265,11 +5743,11 @@ msgstr "" "ble funnet. Konverter boken/bøkene til et format som er støttet av din enhet " "først." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "Ikke plass på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1272 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -5292,9 +5770,25 @@ msgstr "Benytt forfattersortering for forfatter" msgid "Save &template:" msgstr "Lagre &mal:" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

    Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" -msgstr "Tilpass &omslag for visning" +msgid "Fit &cover within view" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 msgid "&Previous" @@ -5367,6 +5861,22 @@ msgstr "" msgid "The folder %s is not empty. Please choose an empty folder" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +msgid "No location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +msgid "No location selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "" @@ -5415,15 +5925,15 @@ msgstr "&Profil:" msgid "Edit Comments" msgstr "Rediger kommentarer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "%(plugin_type)s %(plugins)s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "Programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " @@ -5431,19 +5941,19 @@ msgstr "" "\n" "Tilpasning: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "Generell" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "Brukergrensesnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "konvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" @@ -5451,15 +5961,15 @@ msgstr "" "E-post\n" "Forsendelse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "Legg til/Lagre" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "Avansert" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" @@ -5467,23 +5977,23 @@ msgstr "" "Innhold\n" "Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "Programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "Autosend" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "E-Post" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "Formater til e-post. Det første samsvarende formatet vil bli sendt." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 msgid "" "If checked, downloaded news will be automatically mailed
    to this email " "address (provided it is in one of the listed formats)." @@ -5491,47 +6001,55 @@ msgstr "" "Dersom merket av, vil nedlastede nyheter automatisk bli sent
    til denne e-" "postadressen (dersom det er i ett av de opplistede formatene)." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "ny e-postadresse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "Bred" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "Reduser" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "Medium" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "Små" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "Store" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 +msgid "Done" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 +msgid "Confirmation dialogs have all been reset" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "Valgt systemport" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " @@ -5542,109 +6060,119 @@ msgstr "" "via denne porten. For å være sikker, velg et portnummer som er høyere enn " "1024." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "Kunne ikke installere kommandolinjeverktøy." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "Kommandolinjeverktøy installert" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "Kommandolinjeverktøy ble installert i" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" "Dersom du flytter calibre.app, må du re-installere kommandolinjeverktøyene." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "Ingen gyldig programtillegsbane" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "%s er ikke en gyldig bane for programtillegget" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "Velg programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "Programtillegget kan ikke slåes av" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "Programtillegget: %s kan ikke slåes av" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "Programtillegg ikke egendefinert" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "Programtillegg: %s trenger ikke å egendefineres" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "Tilpass" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "Kan ikke fjerne innebygget programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " kan ikke fjernes. Dette er et innebygget programtillegg. Forsøk å slå det " "av istedet." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "Du må velge en kolonne for å slette den" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "Den valgte kolonnen er ikke en tilpasset kolonne" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:709 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "Ønsker du virkelig å slette kolonne %s og alle dataene i den?" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "Feil-logg:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:784 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "tilgangslogg:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:812 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "Kunne ikke starte innholdsserveren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "Ugyldig størrelse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:838 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "Størrelsen %s er ugyldig. må være i formatet breddexhøyde" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "Omstart behøves" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." @@ -5652,19 +6180,19 @@ msgstr "" "Endringene du har utført krever omstart av Calibre. Vennligst kjør omstart " "så snart du kan." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "Sjekker databasens integritet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:954 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "Kunne ikke sjekke databasens integritet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "Noen uoverensstemmelser ble funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5827,31 +6355,24 @@ msgstr "" msgid "Sending to &device" msgstr "Sender til &enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:533 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:458 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:599 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "Innstillinger" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "Varsle når &ny versjon er tilgjengelig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "Last ned &sosiale metadata (emneord/vurdering/osv.) som standard" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" "&Overskriv forfatter og tittel med standard når du laster ned metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "Standard netttilgang &tidsavbrudd:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -5859,144 +6380,159 @@ msgstr "" "Legg inn standard for tidsavbrudd for nettverkstilgang (for eksempel all den " "tid vi går på nettet for å finne informasjon)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " sekunder" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "Velg &språk (krever omstart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "Vanlig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "Høy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "Lav" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "oppgave&prioritet:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "Foretrukket &utdataformat:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +msgid "Reset all disabled &confirmation dialogs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "Foretrukket &inndataformat:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "Bruk &Romerske tall for seriell numerering" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "Slå på oppgave&panelikonet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "Vis &varsler i oppgavepanelet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "Vis &splash bilde når enheten starter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 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/dialogs/config/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "Vis &gjennomsnittlig vurdering i emneordssøkeren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "Søk mens du taster" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "Send nedlastede &nyheter til eBokleseren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "&Slett nyheter fra biblioteket når de automatisk sendes til leseren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 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/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "Velg synlige &kolonner i bibliotekvisningsmodus" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "Fjern en brukerdefinert kolonne" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "Legg til en brukerdefinert kolonne" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "Rediger innstillinger for en brukerdefinert kolonne" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "Bruk intern &leser for:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "Brukergrensesnitt &visning (krever omstart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 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/dialogs/config/config_ui.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "Slå av &animeringer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "Legg til en e-postadresse til hvor du vil sende bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "&Legg til e-post" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "Lag &standard" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "&Fjern e-post" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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-" @@ -6006,32 +6542,58 @@ msgstr "" "automatisk bli sent til nedlastede nyheter til alle e-postadressende som har " "blitt merket av for autosend." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "&Maximum antall ventende arbeidsprosesser (omstart behøves):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 -msgid "&Check database integrity" -msgstr "&Sjekk databasens integritet" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 -msgid "&Install command line tools" -msgstr "&Installer kommandolinjeverktøy" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 -msgid "Open calibre &configuration directory" -msgstr "Åpne Calibre&konfigurasjonsmappen" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" "Begrens maksimalt antall samtidige oppgaver til verdien av CPU &cores" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "Feilsøking &enhetsgjenkjenning" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "&Sjekk databasens integritet" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "Åpne Calibre&konfigurasjonsmappen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "&Installer kommandolinjeverktøy" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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 " @@ -6041,25 +6603,25 @@ msgstr "" "ved å benytte en nettleser fra hvilket som helst sted i verden. Enhver " "forandring av innstillingene vil taes ibruk etter en omstart av serveren." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "Server &port:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "&Brukernavn:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "&Passord:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -6067,7 +6629,7 @@ msgstr "" "Dersom du lar passordet stå tomt, vil enhver kunne gå inn i din boksamling " "ved å benytte web-brukergrensesnittet." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -6075,45 +6637,56 @@ msgstr "" "Maksimal størrelse (breddexhøyde) for å vise omslag. Større omslag vil bli " "re-dimensjonert. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "Maks. &omslagsstørrelse:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "&Vis passord" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "Maksimum &OPDS enheter per spørring:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "Maks OPDS &undergruppert innhold" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "&Start server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "St&op server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "&Test server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "Kjør server &automatisk ved oppstart" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "Vis &serverlogger" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

    Remember to leave calibre running as the server only runs as long as " @@ -6130,7 +6703,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/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." @@ -6138,27 +6711,27 @@ msgstr "" "Her kan du skreddersy Calibres atferd ved å kontrollere hvilke " "programtillegg som skal benyttes." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "Slå på/&Slå av programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "&Skreddersy programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "&Fjern programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "Legg til nytt programtillegg" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "Programtillegg &fil" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "&Legg til" @@ -6199,7 +6772,7 @@ msgstr "Nummer" #: /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:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:542 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "Dato" @@ -6265,11 +6838,9 @@ msgstr "Ingen oppslagsord er angitt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"The lookup name must contain only lower case letters, digits and " +"underscores, and start with a letter" msgstr "" -"Merkelappen kan kun inneholde bokstaver, tall og understreker, og må starte " -"med en bokstav" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:116 msgid "No column heading was provided" @@ -6283,13 +6854,6 @@ msgstr "Søkenavnet %s er allerede benyttet" msgid "The heading %s is already used" msgstr "Overskriften %s er allerede benyttet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" -"Søkenavnet må skrives med små bokstaver og kan ikke inneholde \".\" eller " -"mellomrom" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" @@ -6400,6 +6964,63 @@ msgstr "Tilgjengelige variabler:" msgid "Downloading social metadata, please wait..." msgstr "Laster ned sosiale metadata, vennligst vent..." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "Ctr+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "&Vis dette varselet igjen" @@ -6431,10 +7052,29 @@ msgstr "Slett fra enheten" msgid "Author sort" msgstr "Sortering blant forfattere" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "Behandling av forfatterinformasjon" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +msgid "Sort by author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +msgid "Sort by author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "Forfatter Sorter" @@ -6537,10 +7177,14 @@ msgstr "Vis oppgave&detaljer" msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "Rediger metainformasjon for %d bøker" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "Rediger metainformasjon" @@ -6554,7 +7198,7 @@ msgid "Author s&ort: " msgstr "Forfatter s&orter: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6563,14 +7207,14 @@ msgstr "" "Charles Dickens skal sorteres som Dickens, Charles." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "&Rating:" msgstr "&Bedømning" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "Rating of this book. 0-5 stars" msgstr "Bedømning av denne boken. 0-5 stjerner" @@ -6579,7 +7223,7 @@ msgid "No change" msgstr "Ingen endring" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid " stars" msgstr " stjerner" @@ -6589,8 +7233,8 @@ msgstr "Legg til ta&gger: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "Open Tag Editor" msgstr "Åpne Tagg-redigering" @@ -6637,226 +7281,253 @@ msgid "Remove &stored conversion settings for the selected books" msgstr "Slett &lagrede konverteringsinnstillinger for de valgte bøkene" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "&Basic metadata" msgstr "&Grunnleggende metadata" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "&Custom metadata" msgstr "&Brukervalgte metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:94 msgid "Last modified: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid "Not a valid picture" msgstr "Ikke gylding bilde" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 +msgid "Specify title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 +msgid "You must specify a title and author before generating a cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "Velg formater for " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "Ingen tilatelse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "Du har ikke tillatelse til å lese fra følgende filer:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:203 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "Ingen formater er valgt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "Kunne ikke lese metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "Kunne ikke lese metadata fra %s formatet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "Kunne ikke lese omslaget" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "Kunne ikke lese omslaget fra %s formatet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "Omslaget i %s format er ikke gyldig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "Avbryt redigering av alle gjenværende bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:445 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "Dette ISBN-nummeret er gyldig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "Dette ISBN-nummeret er ugyldig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "Kan ikke bruke verktøy for emneordredigering" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" "Verktøyet for emneordredigering kan ikke benyttes dersom du har modifisert " "emneordene" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "Laster ned omslag..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:565 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "Kan ikke hente omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
    " msgstr "Kunne ikke hente omslag.
    " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "Tidsavbrudd for nedlasting." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" "Kunne ikke finne omslaget for denne boken. Forsøk å spesifisere ISBN først." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 +msgid "" +"For the error message from each cover source, click Show details below." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "Dårlig omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "Omslaget har ikke gyldig bilde" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "Det oppsto feil" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "Det oppsto feil ved nedlastingen av sosiale metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:647 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "Kan ikke hente metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "Du må spesifisere minst en av ISBN, Tittel, Forfatter eller Forlag" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "Ingen adgang" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "Kunne ikke åpne %s. Blir den benyttet i et annet program?" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Edit Meta Information" msgstr "Rediger metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "Meta information" msgstr "Metainformasjon" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Swap the author and title" msgstr "Bytt mellom forfatter og tittel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Author S&ort: " msgstr "Forfatter S&orter: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "" "Automatically create the author sort entry based on the current author entry" msgstr "" "Lag forfattersortering automatisk basert på gjeldende forfatteroppføring" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Remove unused series (Series that have no books)" msgstr "Fjern ubrukte serier (Serier som ikke har noen bøker)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "IS&BN:" msgstr "IS&BN:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Publishe&d:" msgstr "Publisert&t" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "dd MMM yyyy" msgstr "ddMMMyyyy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Date:" msgstr "&Dato:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Comments" msgstr "&Sammendrag" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "&Fetch metadata from server" msgstr "&Hent metadata fra server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Available Formats" msgstr "Tilgjengelige formater" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "Add a new format for this book to the database" msgstr "Legg et nytt format for denne boken til databasen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove the selected formats for this book from the database." msgstr "Fjern det valgte formatet for denne boken fra databasen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Set the cover for the book from the selected format" msgstr "Legg inn omslaget for boken fra det valgte formatet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Update metadata from the metadata in the selected format" msgstr "Oppdater metadata fra metadata i det valgte formatet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Reset cover to default" msgstr "Tilbakestill omslaget til standard" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Download &cover" msgstr "Last ned &omslag" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +msgid "Generate a default cover based on the title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +msgid "&Generate cover" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "Passord kreves" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "Avbryter..." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" @@ -7268,12 +7939,12 @@ msgid "%s (was %s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "Inneholder ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" "Innholdet kan ikke stilles inn for å gjøre ingenting. Slett det istedet." @@ -7318,10 +7989,6 @@ msgstr "" msgid "Rename the item in every book where it is used." msgstr "Foreta navneendring av innholdet i alle bøker der det benyttes." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 -msgid "Ctrl+S" -msgstr "Ctr+S" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "Test e-postinstillinger" @@ -7635,166 +8302,168 @@ msgstr "ISBN:" msgid "Regular expression (?P)" msgstr "Regulært uttrykk (?P)" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:33 -msgid "Similar books..." -msgstr "Samsvarende bøker..." - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:66 -msgid "Add books to library" -msgstr "Legg bøker til biblioteket" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:84 -msgid "Manage collections" -msgstr "Behandle samlinger" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 msgid "Cover Browser" msgstr "Omslagssøker" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Tag Browser" msgstr "Emneordsøker" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 msgid "version" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 msgid "created by Kovid Goyal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 msgid "Connected " msgstr "Tilkoblet " -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:276 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 msgid "Book Details" msgstr "Bokdetaljer" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 msgid "Job" msgstr "Oppgave" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 msgid "Status" msgstr "Status" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 msgid "Progress" msgstr "Fremdrift" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" msgstr "Kjøretid" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" msgstr "Det finnes %d kjørende oppgaver:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" msgstr "Ukjent oppgave" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" msgstr "Det finnes %d ventende jobber:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" msgstr "Kan ikke stoppe oppgaven" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" msgstr "Kan ikke stoppe oppgaven som kommuniserer med enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" msgstr "Oppgaven har allerede blitt kjørt" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" msgstr "Ikke tilgjengelig" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" msgstr "Oppgaver:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:298 -msgid "Click to see list of active jobs." -msgstr "Klikk for å se en liste over aktive oppgaver." +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" msgstr " - Oppgave" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:33 -msgid "Save single format to disk..." -msgstr "Lagre et enkelt format til lagringsenhet..." - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:85 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 msgid "Library" msgstr "Bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 msgid "Card A" msgstr "Kort A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 msgid "Card B" msgstr "Kort B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 msgid "" "Books display will be restricted to those matching the selected saved search" msgstr "" "Bokvisning vil begrenses til dem som samsvarer med de valgte lagrede søkene" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 msgid "Advanced search" msgstr "Avansert søk" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 msgid "" "

    Search the list of books by title, author, publisher, tags, comments, " "etc.

    Words separated by spaces are ANDed" @@ -7802,278 +8471,22 @@ msgstr "" "

    Søk i listen over bøker etter tittel, forfatter, forlegger, emneord, " "kommentarer osv.

    Ord delt med mellomrom forstås som OG" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "Reset Quick Search" msgstr "Tilbakestill hurtigsøk" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Copy current search text (instead of search name)" msgstr "Kopier gjeldende søketekst (istedet for søkenavn)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 msgid "Save current search under the name shown in the box" msgstr "Lagre gjledende søk under navnet som viser i boksen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 msgid "Delete current saved search" msgstr "Slett gjeldende lagrete søk" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:451 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108 -msgid "%d books" -msgstr "%d bøker" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:334 -msgid "Connect to folder" -msgstr "Knytt til mappe" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:340 -msgid "Connect to iTunes" -msgstr "Koble til iTunes" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:354 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:360 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:362 -msgid "Email to" -msgstr "-post til" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:362 -msgid " and delete from library" -msgstr " og slett fra biblioteket" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:373 -msgid "Setup email based sharing of books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:446 -msgid "A" -msgstr "A" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:446 -msgid "Add books" -msgstr "Legg til bøker" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:447 -msgid "E" -msgstr "E" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:447 -msgid "Edit metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:448 -msgid "C" -msgstr "C" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:448 -msgid "Convert books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:449 -msgid "V" -msgstr "V" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:449 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:551 -msgid "View" -msgstr "Vis" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:450 -msgid "Send to device" -msgstr "Send til enhet" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:452 -msgid "Choose calibre library to work with" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:453 -msgid "F" -msgstr "F" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:453 -msgid "Fetch news" -msgstr "Hent nyheter" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:454 -msgid "S" -msgstr "S" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:454 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:534 -msgid "Save to disk" -msgstr "Lagre til disk" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:455 -msgid "Connect/share" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:456 -msgid "Del" -msgstr "Slett" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:456 -msgid "Remove books" -msgstr "Fjern bøker" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:457 -msgid "Browse the calibre User Manual" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:457 -msgid "F1" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:457 -msgid "Help" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:458 -msgid "Ctrl+P" -msgstr "Ctrl+P" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:460 -msgid "M" -msgstr "M" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:460 -msgid "Merge book records" -msgstr "Slå sammen bokoppføringer" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:461 -msgid "Open containing folder" -msgstr "Åpne innholdsfolder" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "Show book details" -msgstr "Vis bokdetaljer" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -msgid "Books by same author" -msgstr "Bøker av samme forfatter" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:467 -msgid "Books in this series" -msgstr "Bøker i denne serien" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "Books by this publisher" -msgstr "Bøker av dette forlaget" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:471 -msgid "Books with the same tags" -msgstr "Bøker med de samme taggene" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:484 -msgid "Edit metadata individually" -msgstr "Rediger metadata individuelt" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:487 -msgid "Edit metadata in bulk" -msgstr "Rediger metadata samlet" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:490 -msgid "Download metadata and covers" -msgstr "Last ned metadata og omslag" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:493 -msgid "Download only metadata" -msgstr "Last kun ned metadata" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:495 -msgid "Download only covers" -msgstr "Last kun ned omslag" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:498 -msgid "Download only social metadata" -msgstr "Last kun ned sosiale metadata" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:504 -msgid "Merge into first selected book - delete others" -msgstr "Slå sammen med første valgte bok - slett øvrige" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:507 -msgid "Merge into first selected book - keep others" -msgstr "Slå sammen med første valgte bok - behold øvrige" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:515 -msgid "Add books from a single directory" -msgstr "Legg til bøker fra en enkelt mappe" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:517 -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 "" -"Legg til bøker fra mapper, inkludert undermapper (En bok per mappe, " -"oppfattes som at alle e-bokfilene er den samme boken i forskjellige format)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:521 -msgid "" -"Add books from directories, including sub directories (Multiple books per " -"directory, assumes every ebook file is a different book)" -msgstr "" -"Legg til bøker fra mappene, inkludert undermapper (Flere bøker per mappe " -"oppfattes som at alle e-bokfilene er forskjellige bøker)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:524 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "Legg til tom bok (Uformatert bokoppføring)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:536 -msgid "Save to disk in a single directory" -msgstr "Lagre til disk i en enkelt mappe" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:374 -msgid "Save only %s format to disk" -msgstr "Lagre kun %s format til disken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:542 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:377 -msgid "Save only %s format to disk in a single directory" -msgstr "Lagre kun %s formatet til disken i en enkelt mappe" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:552 -msgid "View specific format" -msgstr "Vis spesifikt format" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:558 -msgid "Remove selected books" -msgstr "Fjern valgte bøker" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:560 -msgid "Remove files of a specific format from selected books.." -msgstr "Fjern filer for et spesifisert format fra valgte bøker..." - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:563 -msgid "Remove all formats from selected books, except..." -msgstr "Fjern alle formater fra valgte bøker, unntatt..." - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:566 -msgid "Remove covers from selected books" -msgstr "Fjern omslag fra valgte bøker" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:569 -msgid "Remove matching books from device" -msgstr "Fjern samsvarende bøker fra enheten" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:586 -msgid "Convert individually" -msgstr "Konverter individuelt" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:588 -msgid "Bulk convert" -msgstr "Samlet konvertering" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:592 -msgid "Create catalog of books in your calibre library" -msgstr "Lag en katalog av bøker i calibre-biblioteket ditt" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:600 -msgid "Run welcome wizard" -msgstr "Kjør velkomstveiviser" - #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "N" msgstr "N" @@ -8101,7 +8514,7 @@ msgstr "Bok %s of %s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" msgstr "Søkenavnet er \"{0}\"" @@ -8161,11 +8574,7 @@ msgstr "Vis kolonne" msgid "Restore default layout" msgstr "Gjenopprett standard visning" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "Ikke tillatt" - -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -8198,7 +8607,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Ingen treff for søkefrasen %s ble funnet." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 msgid "No matches found" msgstr "Ingen treff" @@ -8215,12 +8624,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Leser verktøylinje" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 msgid "Next Page" msgstr "Neste side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" msgstr "Forrige side" @@ -8264,7 +8673,7 @@ msgid "Do not check for updates" msgstr "Ikke søk etter oppdateringer" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:598 msgid "Calibre Library" msgstr "Calibre-bibliotek" @@ -8390,33 +8799,33 @@ msgstr "&Avslutt" msgid "ERROR: Unhandled exception" msgstr "FEIL: Ubehandlet unntak" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:93 msgid "Book has neither title nor ISBN" msgstr "Boken har verken tittel eller ISBN" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:119 msgid "No matches found for this book" msgstr "Ingen treff ble funnet for denne boken" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 msgid "Search" msgstr "Søk" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "Det valgte søket vil bli permanent slettet. Er du sikker?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "Search (For Advanced Search click the button to the left)" msgstr "Søk (For avansert søk, klikk på knappen til venstre)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 msgid "Saved Searches" msgstr "Lagrete søk" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 msgid "Choose saved search or enter name for new saved search" msgstr "Velg lagret søk eller skriv inn navnet for nytt lagret søk" @@ -8425,15 +8834,15 @@ msgid "Restrict to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" msgstr "(Alle bøker)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 msgid "({0} of {1})" msgstr "({0} av {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" msgstr "({0} av alle)" @@ -8497,102 +8906,102 @@ msgstr "Tøm" msgid "&Alternate shortcut:" msgstr "&Veksle mellom snarveier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" msgstr "Navneendring av '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" msgstr "Rediger sortering for '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" msgstr "Skjul kategorien %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" msgstr "Vis kategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" msgstr "Vis alle kategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" msgstr "Administrere %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" msgstr "Administrere lagrede søk" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" msgstr "Administrere brukerkategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:432 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" msgstr "Søk" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" msgstr "Dupliser søkenavn" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." msgstr "Det lagrede søkenavnet %s er allerede benyttet." -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" msgstr "Sorter etter navn" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" msgstr "Sorter etter popularitet" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" msgstr "Sorter etter gjennomsnittsbedømning" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" msgstr "Sammenlign alle" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" msgstr "Sammenlign hviklet som helst" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 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:786 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 msgid "Manage &user categories" msgstr "Administrer &brukerkategorier" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Convert book %d of %d (%s)" msgstr "Konverter bok %d av %d (%s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:90 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 msgid "Could not convert some books" msgstr "Kunne ikke konvertere enkelte av bøkene" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 msgid "" "Could not convert %d of %d books, because no suitable source format was " "found." @@ -8600,11 +9009,11 @@ msgstr "" "Kunne ikke konvertere %d av %d bøker, fordi ingen passende kildeformater ble " "funnet." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 msgid "Queueing books for bulk conversion" msgstr "Kø bøker for samlet konvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 msgid "Queueing " msgstr "Kø " @@ -8624,54 +9033,28 @@ msgstr "" "De følgende bøkene har allerede blitt konvertert til %s format. Ønsker du å " "konvertere dem på nytt?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Restore" msgstr "&Gjenopprett" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Donate to support calibre" msgstr "&Doner for å støtte Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Eject connected device" msgstr "&Avslutt tilkoblet enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 -msgid "&Restart" -msgstr "&Omstart" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 msgid "Calibre Quick Start Guide" msgstr "Calibre hurtigstart-guide" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:361 -msgid "Cannot configure" -msgstr "Kan ikke konfigurere" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:357 -msgid "Cannot configure while there are running jobs." -msgstr "Kan ikke konfigurere samtidig som en oppgave kjører." - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:362 -msgid "Cannot configure before calibre is restarted." -msgstr "Kan ikke konfigurere før calibre har blitt startet på nytt." - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:404 -msgid "No detailed info available" -msgstr "Ingen detaljert informasjon er tilgjengelig" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:405 -msgid "No detailed information is available for books on the device." -msgstr "" -"Ingen detaljert informasjon er tilgjengelig for bøker på denne enheten." - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:457 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 msgid "Conversion Error" msgstr "Feil ved konverteringen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:458 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -8680,26 +9063,26 @@ msgstr "" "Du må først fjerne DRM beskyttelsen ved å benytte et 3.parts program med " "slike egenskaper." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 msgid "Recipe Disabled" msgstr "Beskrivelse Slettet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 msgid "Failed" msgstr "Feilet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Det finnes aktive oppgaver. Er du sikker på at du ønsker å avslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -8709,11 +9092,11 @@ msgstr "" " Å avslutte kan føre til feil på enheten.
    \n" " Er du sikker på at du ønsker å avslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 msgid "WARNING: Active jobs" msgstr "ADVARSEL: Aktive oppgaver" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -8892,7 +9275,7 @@ msgid "Options to customize the ebook viewer" msgstr "Valgmuligheter for å egendefinere e-bokleseren" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 msgid "Remember last used window size" msgstr "Husk sist brukte vindustørrelse" @@ -8950,36 +9333,36 @@ msgstr "Monospace fontstørrelse i piksler" msgid "The standard font type" msgstr "Standard tegnsetttype" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" msgstr "&Slå opp i ordboken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Gå til..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" msgstr "Neste Avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" msgstr "Forrige Avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" msgstr "Begynnelsen av dokumentet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" msgstr "Slutten av dokumentet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" msgstr "Begynnelsen av avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" msgstr "Slutten av avsnittet" @@ -9035,90 +9418,90 @@ msgstr "Rull til høyre" msgid "Book format" msgstr "Bokformat" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 msgid "Position in book" msgstr "Posisjon i boken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Gå til referanser. For å finne referansenummer, benytt referansemodus." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" msgstr "Søk etter tekst i boken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 msgid "Print Preview" msgstr "Forhåndsvisning av utskrift" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 msgid "Connecting to dict.org to lookup: %s…" msgstr "Kobler til dict.org for å slå opp:%s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 msgid "Choose ebook" msgstr "Velg e-bok" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 msgid "Ebooks" msgstr "E-bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Add bookmark" msgstr "Legg til bokmerke" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Enter title for bookmark:" msgstr "Legg inn tittel for bokmerke:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 msgid "No matches found for: %s" msgstr "Ingen treff ble funnet for: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 msgid "Loading flow..." msgstr "Lastingsflyt..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "Laying out %s" msgstr "Legger ut %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 msgid "Manage Bookmarks" msgstr "Behandle bokmerker" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 msgid "Loading ebook..." msgstr "Laster e-bok..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 msgid "DRM Error" msgstr "DRM Feil" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 msgid "

    This book is protected by DRM" msgstr "

    Denne boken er beskyttet av DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 msgid "Could not open ebook" msgstr "Kunne ikke åpne e-boken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 msgid "Options to control the ebook viewer" msgstr "Valgmuligheter for å kontrollere e-bokleseren" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Om spesifisert, vil leservinduet forsøke å legge seg foran når den starter." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:678 msgid "Print javascript alert and console messages to the console" msgstr "Skriv ut javascriptadvarsel og konsollmeldinger til konsollen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 msgid "" "%prog [options] file\n" "\n" @@ -9236,15 +9619,19 @@ msgstr "Store eller små bokstaver i tittelen" msgid "Drag to resize" msgstr "Dra for å endre størrelse" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 msgid "Show" msgstr "Vis" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 msgid "Hide" msgstr "Skjul" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -9254,14 +9641,14 @@ msgstr "" "kan du koble opp din calibre boksamling direkte til enheten. For å gjøre " "dette må du slå på innholds-serveren." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:374 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Husk å la calibre kjøre, da serveren kun kjører så lenge calibre kjører." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:376 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -9271,20 +9658,20 @@ msgstr "" "WordPlayer. Mitt vertskapsnavn må være det fullt kvalifiserte vertsnavnet " "eller IP-adressen til datamaskinen som calibre kjører på." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:453 msgid "Moving library..." msgstr "Flytter bibliotek..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:470 msgid "Failed to move library" msgstr "Kunne ikke flytte bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:524 msgid "Invalid database" msgstr "Ugyldig database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -9292,21 +9679,21 @@ msgstr "" "

    Et ugyldig bibliotek finnes allerede på %s. Slett dette før du forsøker å " "flytte det gjeldende biblioteket.
    Feil:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:536 msgid "Could not move library" msgstr "Kunne ikke flytte bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:590 msgid "Select location for books" msgstr "Velg lokalisasjon for bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:665 msgid "welcome wizard" msgstr "Velkommen-veiviser" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 @@ -9314,7 +9701,7 @@ msgid "Welcome to calibre" msgstr "Velkommen til calibre" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:50 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 @@ -9337,7 +9724,7 @@ msgstr "&Produsenter" msgid "&Devices" msgstr "&Enheter" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:44 msgid "" "

    Congratulations!

    You have successfully setup calibre. Press the %s " "button to apply your settings." @@ -9345,7 +9732,7 @@ msgstr "" "

    Gratulerer!

    Du har nå satt opp Calibre til din bruk. Klikk på %s " "knappen for å lagre dine innstillinger." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 msgid "" "

    Demo videos

    Videos demonstrating the various features of calibre are " "available online." @@ -9354,7 +9741,7 @@ msgstr "" "egenskapene for calibre som er tilgjengelige online." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 msgid "" "

    User Manual

    A User Manual is also available online." @@ -10252,7 +10639,52 @@ msgstr "Ikke spør etter bekreftelse" msgid "Error: You must specify a column label" msgstr "Feilmelding: Du må spesifisere en kolonnebeskrivelse!" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:809 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:803 +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:821 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:836 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:844 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:851 +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "" "%%prog command [options] [arguments]\n" "\n" @@ -10272,35 +10704,45 @@ msgstr "" "\n" "For hjelp til en individuell kommando: %%prog kommando --help\n" +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:537 +msgid "No label was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:539 +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:71 msgid "%sAverage rating is %3.1f" msgstr "%sGjennomsnittlig vurdering er %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:566 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:596 msgid "Main" msgstr "Hovedvalg" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1796 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1915 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:1825 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1842 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" msgstr "Komprimerer databasen" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1935 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." msgstr "Sjekker for SQL integritet..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1976 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." msgstr "Sjekker etter savnede filer." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1998 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" msgstr "Sjekker ID" @@ -10451,7 +10893,7 @@ msgstr "Konverter baner til små bokstaver." msgid "Replace whitespace with underscores." msgstr "Bytt ut mellomrom med underlinje." -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:258 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:263 msgid "Requested formats not available" msgstr "Etterspurt format er ikke tilgjengelig" @@ -10505,7 +10947,7 @@ msgstr "" "bokstav, når det er fler enn dette antallet elementer. Standard: %default. " "Still inn på høyt antall for å slå av grupperinger." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:93 +#: /home/kovid/work/calibre/src/calibre/library/server/base.py:94 msgid "Password to access your calibre library. Username is " msgstr "Passord for tilgang til ditt Calibrebibliotek. Brukernavn er " @@ -10527,35 +10969,45 @@ msgstr "Sti til bibliotekfolderen som fungerer som innholdsserver" msgid "Write process PID to the specified file" msgstr "Skriv prosess PID til spesifisert fil" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" msgstr "%d elementer" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
    " msgstr "RANGERING: %s
    " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
    " msgstr "EMNEORD: %s
    " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
    " msgstr "SERIER: %s [%s]
    " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" msgstr "Bøker i ditt bibliotek" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " msgstr "Av " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " msgstr "Bøker sortert av " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:542 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" msgstr "Nyeste" @@ -10639,15 +11091,15 @@ msgstr "" msgid "Waiting..." msgstr "Venter …" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:51 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 msgid "Stopped" msgstr "Stoppet" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Finished" msgstr "Fullført" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:75 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 msgid "Working..." msgstr "Arbeider …" @@ -10760,6 +11212,9 @@ msgid "Control email delivery" msgstr "Kontroller e-postlevering" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:118 +msgid "Unknown section" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:140 msgid "Unknown feed" msgstr "Ukjent mating" @@ -10797,11 +11252,11 @@ msgstr "" "Last ikke ned siste versjon av punkt-markerte beskrivelser fra calibres " "server" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:44 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:46 msgid "Unknown News Source" msgstr "Ukjent nyhetskilde" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:608 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:609 msgid "The \"%s\" recipe needs a username and password." msgstr "\"%s\"kvitteringen trenger et brukernavn og et pasord." @@ -10861,27 +11316,27 @@ msgstr "Kunne ikke laste ned omslag: %s" msgid "Downloading cover from %s" msgstr "Laster ned omslag fra %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1002 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1003 msgid "Masthead image downloaded" msgstr "Mastetopp-bilde er lastet ned" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1192 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1172 msgid "Untitled Article" msgstr "Utittelert artikkel" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1263 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1243 msgid "Article downloaded: %s" msgstr "Artikkelen har blitt lastet ned: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1274 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1254 msgid "Article download failed: %s" msgstr "Artikkelen kunne ikke lastes ned: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1291 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 msgid "Fetching feed" msgstr "Henter mating" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1438 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1418 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." @@ -10889,7 +11344,7 @@ msgstr "" "Kunne ikke logge inn. Sjekk at du benytter riktig brukernavn og passord for " "calibres periodiske service." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1454 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1434 msgid "" "You do not have permission to download this issue. Either your subscription " "has expired or you have exceeded the maximum allowed downloads for today." @@ -11478,9 +11933,6 @@ msgstr "Ikke last ned CSS stilsett" #~ msgid "Copying database" #~ msgstr "Kopierer database" -#~ msgid "Alt+S" -#~ msgstr "Alt+S" - #~ msgid "&Search:" #~ msgstr "&Søk:" @@ -11771,6 +12223,9 @@ msgstr "Ikke last ned CSS stilsett" #~ msgid "Click to browse books by their covers" #~ msgstr "Klikk for å se gjennom bøker sortert etter omslag" +#~ msgid "Click to see list of active jobs." +#~ msgstr "Klikk for å se en liste over aktive oppgaver." + #~ msgid "" #~ "

    Browsing books by their covers is disabled.
    Import of pictureflow " #~ "module failed:
    " @@ -11937,6 +12392,9 @@ msgstr "Ikke last ned CSS stilsett" #~ msgid "Communicate with the Sony PRS-300/505 eBook reader." #~ msgstr "Kommuniser med Sony PRS-300/505 eBook reader." +#~ msgid "Force maximum line lenght" +#~ msgstr "Tving maks linjelengde" + #~ msgid "English (AU)" #~ msgstr "Engelsk (AU)" @@ -12066,6 +12524,9 @@ msgstr "Ikke last ned CSS stilsett" #~ msgstr "" #~ "Serienummer. For å legge inn begynnende nuller, bruk {series_index:0>3s}" +#~ msgid "Fit &cover to view" +#~ msgstr "Tilpass &omslag for visning" + #~ msgid "Create catalog of the books in your calibre library" #~ msgstr "Lag katalog for bøker i ditt calibre-bibliotek" @@ -12092,6 +12553,22 @@ msgstr "Ikke last ned CSS stilsett" #~ msgid "Masthead font:" #~ msgstr "Tegnsett for Mastehode:" +#~ msgid "" +#~ "Regex tips:\n" +#~ "- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +#~ "e.g., [Amazon Freebie]\n" +#~ "- A regex pattern of a single dot excludes all genre tags, generating no " +#~ "Genre Section" +#~ msgstr "" +#~ "Regex tips:\n" +#~ "- Standard regex - \\[[\\w ]*\\] - ekskluderer genre av emneord fra formen " +#~ "[tag], f.eks., [Amazon Freebie]\n" +#~ "- Et regex-mønster av et enslig punktum ekskluderer alle genre av emneord, " +#~ "ved å utelate Genre Område" + +#~ msgid "Communicate with the Teclast K3 reader." +#~ msgstr "Kommuniser med Teclast K3 leser" + #~ msgid "" #~ "If an existing book with a similar title and author is found that does not " #~ "have the format being added, the format is added \n" @@ -12175,6 +12652,19 @@ msgstr "Ikke last ned CSS stilsett" #~ msgid " " #~ msgstr " " +#~ msgid "" +#~ "The lookup name must be lower case and cannot contain \":\"s or spaces" +#~ msgstr "" +#~ "Søkenavnet må skrives med små bokstaver og kan ikke inneholde \".\" eller " +#~ "mellomrom" + +#~ msgid "" +#~ "The label must contain only letters, digits and underscores, and start with " +#~ "a letter" +#~ msgstr "" +#~ "Merkelappen kan kun inneholde bokstaver, tall og understreker, og må starte " +#~ "med en bokstav" + #~ msgid "&Restrict to:" #~ msgstr "&Begrens til:" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 606d4e99dd..d9c749dea8 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -7,15 +7,17 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-08-07 01:39+0000\n" -"PO-Revision-Date: 2010-08-06 23:43+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-25 08:21+0000\n" +"Last-Translator: Dingoe \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: 2010-08-08 03:40+0000\n" +"X-Launchpad-Export-Date: 2010-08-26 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" +"X-Poedit-Country: NETHERLANDS\n" +"X-Poedit-Language: Dutch\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 msgid "Set metadata from %s files" @@ -31,12 +33,12 @@ msgstr "Doet helemaal niets" #: /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:506 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:507 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:402 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 @@ -53,7 +55,7 @@ msgstr "Doet helemaal niets" #: /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/fb2.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:332 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 #: /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 @@ -106,24 +108,24 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:826 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:829 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 @@ -131,20 +133,20 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:356 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:368 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:976 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1045 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1646 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1648 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1770 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 @@ -174,6 +176,10 @@ msgstr "Metagegevens schrijver" msgid "Catalog generator" msgstr "Catalogus generator" +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "Actie gebruikers interface" + #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " @@ -248,7 +254,7 @@ msgstr "Stel metagegevens van %s bestanden in" msgid "Conversion Input" msgstr "Conversie Invoer" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -260,11 +266,11 @@ msgstr "" "nuttig voor documenten die geen codering ingesteld hebben, of die een " "foutieve tekencodering aangeven." -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "Conversie Uitvoer" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:251 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 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." @@ -423,11 +429,11 @@ msgstr "Ingeschakelde plug-ins" msgid "No valid plugin found in " msgstr "Geen geldige plugin gevonden in " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "Initialisatie van de plugin %s is mislukt met een traceback:" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -439,19 +445,19 @@ msgstr "" " Pas calibre aan door externe plug-ins te laden.\n" " " -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" "Voeg een plug-in toe door het pad op te geven naar het zip-bestand waarin " "deze zich bevindt." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:519 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Verwijder een aangepaste plug-in op naam. Heeft geen effect op ingebouwde " "plug-ins" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." @@ -459,15 +465,15 @@ msgstr "" "Personaliseer plugin. Geef een naam van een plugin en personalisatie string " "gescheiden met een komma." -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Toon geïnstalleerde plugins" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:525 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Activeer de genoemde plugin" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:527 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Deactiveer de genoemde plugin" @@ -475,7 +481,7 @@ msgstr "Deactiveer de genoemde plugin" msgid "Communicate with Android phones." msgstr "Communiceer met Android telefoons." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -483,7 +489,7 @@ msgstr "" "Komma-gescheiden lijst van folders om e-boeken naar toe te sturen op het " "apparaat. De eerste die wordt gevonden zal worden gebruikt." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Communiceert met S60 telefoons" @@ -498,20 +504,20 @@ msgstr "Apple apparaat gevonden, iTunes wordt gestart, even geduld…" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:246 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:249 msgid "Updating device metadata listing..." -msgstr "Bijwerken van metagegevens lijst op het apparaat…" +msgstr "Bijwerken van metagegevens opsomming op het apparaat…" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:323 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2802 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d van %d" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2847 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "voltooid" @@ -521,7 +527,7 @@ msgstr "Gebruik Series als categorie in iTunes / iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:546 msgid "Cache covers from iTunes/iBooks" -msgstr "Cache covers van iTunes / iBooks" +msgstr "Cache omslagen van iTunes / iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:558 msgid "" @@ -541,19 +547,19 @@ msgstr "" "Sommige omslagafbeeldingen konden niet worden omgezet.\n" "Klik op 'Details weergeven' voor een overzicht." -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2471 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1530 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Nieuws" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2709 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "Verbinden met iTunes." @@ -617,15 +623,15 @@ msgstr "apparaat interface" msgid "Communicate with Hanlin V3 eBook readers." msgstr "Communiceer met Hanlin V3 eboek lezers." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "Communiceer met Hanlin V5 eBoek lezers." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Communiceer met de BOOX eBoek lezer." -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -655,7 +661,7 @@ msgstr "Communicatie met Elonex EB511 ebook reader" #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." -msgstr "Communiceer met de IRex Illiad e-boek lezer." +msgstr "Communiceer met de IRex Iliad e-boek lezer." #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18 @@ -734,7 +740,7 @@ msgid "Adding books to device metadata listing..." msgstr "Toevoegen boeken aan apparaat metagegevens lijst..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 msgid "Not Implemented" msgstr "Niet geïmplementeerd" @@ -759,7 +765,11 @@ msgstr "Verbinden met de Booq Avant" msgid "Communicate with the Sweex MM300" msgstr "Communiceer met de Sweex MM300" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "Communiceer met de Kogan" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "Communiceer met de Pandigital Novel." @@ -803,7 +813,7 @@ msgstr "" "Komma gescheiden lijst van metagegevens velden om in collecties te " "veranderen op de lezer. Mogelijkheden onder andere: " -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:144 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Naamloos" @@ -813,14 +823,14 @@ msgid "Communicate with the Samsung SNE eBook reader." msgstr "Communiceert met de Samsung SNE eBook reader" #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "Communicatie met Telecast K3 Reader" +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "Communiceer met de Teclast K3/K5 reader" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "Verbinden met de Newsmy reader." -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "Communiceer met de iPapyrus reader." @@ -897,7 +907,7 @@ msgstr "Gebruik de sortering op auteur instelling i.p.v. de auteur" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:47 msgid "Template to control how books are saved" -msgstr "Sjabloon dat bepaald hoe boeken worden opgeslagen" +msgstr "Sjabloon dat bepaalt hoe boeken worden opgeslagen" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 @@ -1008,15 +1018,15 @@ msgstr "Geef boek ID" msgid "Set font delta" msgstr "Kies lettertype verschil" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "Gegenereerd %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "Mislukt %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1026,7 +1036,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1036,22 +1046,22 @@ msgstr "" "Waarden van minder dan 256 kunnen resulteren in wazige tekst op uw apparaat " "als de strips in EPUB formaat worden gemaakt." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Geen kleur normalisatie (contrast verbetering) voor afbeeldingen. Standaard: " "Nee (False)" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Behoudt afbeelding aspect ratio. Standaard is beeldvullend." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Geen aanscherpen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1059,11 +1069,11 @@ msgstr "" "Schakel afknippen van strip paginas uit. Voor sommige strips, afknippen kan " "ook inhoud verwijderen samen met de marges." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "Splits landscape afbeeldingen niet in twee portret afbeeldingen" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1071,7 +1081,7 @@ msgstr "" "Behoudt aspect ratio en schaal afbeelding aan de hand van de schermhoogte " "als beeld breedte voor het bekijken in landscape modus." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1079,7 +1089,7 @@ msgstr "" "Gebruik voor rechts-naar-links publicaties zoals manga. Hierdoor worden " "landscape paginas gesplitst in portret paginas van rechts naar links." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1087,7 +1097,7 @@ msgstr "" "Activeer ontspikkelen. Verminderd spikkel ruis. Dit kan de verwerkingstijd " "flink verlengen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1095,26 +1105,26 @@ msgstr "" "Sorteer de bestanden in de comic niet alfabetisch op naam - gebruik de " "voldorde waarin ze zijn toegevoegd aan de comic." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 "" -"Het formaat dat de afbeeldingen in het gemaakte eboek naartoe worden " +"Het formaat waarnaar afbeeldingen in het gemaakte eboek worden " "geconverteerd. U kunt experimenteren om te zien welk formaat de optimale " "grootte en visuele resultaten op uw apparaat genereren." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "Bewerk de afbeelding niet" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "Zet afbeelding niet om in grijswaarden (zwart en wit)" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:426 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Pagina" @@ -1631,7 +1641,7 @@ msgstr "Geef de uitgever op." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:457 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." -msgstr "Geef de serie op waar dit eboek tot behoord." +msgstr "Geef de serie op waar dit eboek toe behoort." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:461 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 @@ -1697,7 +1707,11 @@ msgstr "Transformaties worden toegepast op eboek..." msgid "Creating" msgstr "Aanmaken" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20 +msgid "Failed to parse: %s with error: %s" +msgstr "Bewerking mislukt: %s met fout: %s" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26 msgid "ePub Fixer" msgstr "ePub correctie" @@ -1719,7 +1733,7 @@ msgstr "" "teweeg brengen in je epub bestand. Klachten hierover kan je best wenden tot " "het epubcheck project." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1732,11 +1746,12 @@ msgstr "" "%prog [options] file.epu\n" "Hersteld eenvoudige problemen in EPUB bestanden die ervoor kunnen zorgen dat " "ze geweigerd worden door slecht ontworpen publicatie diensten.\n" -"De standaard instelling is dat er geen herstellingen gebeuren en dat er " -"foutmeldingen worden weergegeven voor iedere gevonden fout. Gebruik de " -"opties om in te stellen welke fouten automatisch hersteld worden." +"\n" +"Standaard worden geen herstellingen gemaakt en foutmeldingen worden " +"weergegeven voor iedere gevonden fout. Gebruik de opties om in te " +"controleren welke fouten automatisch hersteld worden." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "U dient een epub bestand te specifieren." @@ -1777,10 +1792,10 @@ msgid "" "turn off splitting on page breaks." msgstr "" "Deactiveer het splitsen op pagina eind. Normaal gesproken invoer bestanden " -"worden automaitsch opgesplitst in twee bestanden bij iedere pagina einde. " +"worden automatisch opgesplitst in twee bestanden bij iedere pagina einde. " "Dit resulteert in een eboek bestand dat sneller verwerkt kan worden met " "minder werk voor het systeem. Echter, het splitsen zelf is langzaam, en als " -"je bron bestand een groot aantal paginas bevat dan kun je deze splitsing " +"je bronbestand een groot aantal pagina's bevat dan kun je deze splitsing " "uitschakelen." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:73 @@ -2135,7 +2150,7 @@ msgstr "Stripverhaal" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "Titel" @@ -2346,16 +2361,16 @@ msgstr "Boek omslag download" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 msgid "Download covers from openlibrary.org" -msgstr "" +msgstr "Download omslagen van openlibrary.org" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 msgid "ISBN: %s not found" -msgstr "" +msgstr "ISBN: %s niet gevonden" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 msgid "Download covers from librarything.com" -msgstr "" +msgstr "Download omslagen van librarything.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 @@ -2380,35 +2395,35 @@ msgstr "LibraryThing.com server fout. Probeer het later nog eens." msgid "Downloads metadata from Douban.com" msgstr "Download metagegevens van Douban.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "Metagegevens download" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "waarderingen" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "tags" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "Omschrijving/Beoordelingen" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "Download %s van %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "Download metagegevens van Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "Download metagegevens van isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2416,11 +2431,11 @@ msgstr "" "Om isbndb.com te gebruiken moet je je opgeven voor een %sgratis account%s, " "en je toegangs sleutel hieronder invoeren." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:210 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "Download sociale metadata (labels, waarderingen, etc) van amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Download series/labels/waardering-informatie van librarything.com" @@ -2719,7 +2734,7 @@ msgid "" msgstr "" "[opties] bestand.pdf\n" "\n" -"Knip een PDF bestand.\n" +"Een PDF bestand inkorten.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:38 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 @@ -2781,7 +2796,7 @@ msgid "" msgstr "" "[opties] bestand.pdf wachtwoord\n" "\n" -"Ontsleutel een PDF.\n" +"Decodeer een PDF.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 msgid "Decrypt Options:" @@ -2849,7 +2864,7 @@ msgstr "" "\n" "Metagegevens van het eerste PDF bestand zullen worden gebruikt.\n" "\n" -"Combineer individuele PDFs.\n" +"Samenvoegen individuele PDFs.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 msgid "Merge Options:" @@ -2877,7 +2892,7 @@ msgid "" msgstr "" "bestand.pdf graden\n" "\n" -"Roteer paginas van een PDF met de klok mee.\n" +"Roteer pagina's van een PDF met de klok mee.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 msgid "Rotate Options:" @@ -3078,7 +3093,7 @@ msgstr "Sorteer de lijst met labels op naam, populariteit of waardering" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" -msgstr "Aantal boek covers te laten zien in cover browsing modus" +msgstr "Aantal weer te geven boekomslagen in omslag blader modus" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" @@ -3094,7 +3109,7 @@ msgstr "Formaten die worden bekeken met de interne viewer" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Columns to be displayed in the book list" -msgstr "Kolommen zichtbaar in de boeken lijst" +msgstr "Weer te geven kolommen in de boekenlijst" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Automatically launch content server on application startup" @@ -3179,212 +3194,437 @@ msgstr "Kopieer" msgid "Copy to Clipboard" msgstr "Kopieer naar het Klembord" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "Kies bestanden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:245 -msgid "Use library only" -msgstr "Gebruik alleen de bibliotheek" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "Voeg boeken toe" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" +msgstr "Voeg boeken toe uit een enkele folder" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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 "" -"Annotaties van de gebruiker alleen gegenereerd in de hoofdbibliotheek" +"Voeg boeken toe uit folders, inclusief sub-folders (Een boek per folder, " +"neemt aan dat ieder eboek bestand hetzelfde boek in een ander formaat bevat)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:623 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:682 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:719 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:740 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:998 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1116 -msgid "No books selected" -msgstr "Geen boeken geselecteerd" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +msgid "" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Er zijn geen boeken geselecteerd waarvan annotaties kunnen worden opgehaald" +"Voeg boeken toe uit folders, inclusief sub-folders (Meerdere boeken per " +"folder, neemt aan dat ieder eboek bestand een ander boek bevat)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:101 -msgid "Merging user annotations into database" -msgstr "Voeg annotaties van gebruikers samen in een database" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "Voeg leeg boek toe (Boek zonder formaten)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:129 -msgid "%s
    Last Page Read: %d (%d%%)" -msgstr "%s
    Laatste gelezen pagina: %d (%d%%)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" +msgstr "Toevoegen met behulp van ISBN" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:135 -msgid "%s
    Last Page Read: Location %d (%d%%)" -msgstr "%s
    Laatste gelezen pagina: Locatie %d (%d%%)" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
    %s
    " -msgstr "Locatie %d • %s
    %s
    " - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
    " -msgstr "Pagina %d • %s
    " - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
    " -msgstr "Locatie %d • %s
    " - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "Hoeveel lege boeken?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "Hoeveel lege boeken moeten worden toegevoegd?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "Boeken worden geupload naar de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "EPUB Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "LRF Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "HTML Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "LIT Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "MOBI Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "Topaz boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "Text boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "PDF Boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "Stripverhalen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "Archief" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "Ondersteunde boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "Enkele boeken zijn samengevoegd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" "Er zijn duplicaten gevonden en samengevoegd met de volgende bestande boeken:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "De metagegevens konden niet gelezen worden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "Metagegevens konden niet worden gelezen van de volgende" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "Aan collectie toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Geen boek geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" +"De volgende boeken zijn virtueel en kunnen niet toegevoegd worden aan de " +"Calibre bibliotheek:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "Geen boek bestanden gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 +msgid "Add books to library" +msgstr "Voeg boeken toe aan de bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "Haal annoties op (experimenteel)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "Gebruik alleen de bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "" +"Annotaties van de gebruiker alleen gegenereerd in de hoofdbibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "Geen boeken geselecteerd" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" +"Er zijn geen boeken geselecteerd waarvan annotaties kunnen worden opgehaald" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "Voeg annotaties van gebruikers samen in een database" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
    Last Page Read: %d (%d%%)" +msgstr "%s
    Laatste gelezen pagina: %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
    Last Page Read: Location %d (%d%%)" +msgstr "%s
    Laatste gelezen pagina: Locatie %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
    %s
    " +msgstr "Locatie %d • %s
    %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
    " +msgstr "Pagina %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +msgid "Location %d • %s
    " +msgstr "Locatie %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:32 +msgid "Create catalog of books in your calibre library" +msgstr "Maak catalogus van boeken in je calibre bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "Geen boeken geselecteerd voor catalogus" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "Genereren %s catalogus" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "Geen boeken gevonden" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" +"Geen boeken te catalogiseren\n" +"Check uitsluitingstags" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "Catalogus aangemaakt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "Exporteer Catalogus Folder" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "Selecteer uitvoer voor %s.%s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "%d boeken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "Kies een calibre bibliotheek om mee te werken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "Schakel naar bibliotheek..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "Snel schakelen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "Geen bibliotheek gevonden" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +msgid "" +"No existing calibre library was found at %s. It will be removed from the " +"list of known libraries." +msgstr "" +"Geen bestaande Calibre bibliotheek gevonden op %s. Wordt verwijderd van de " +"lijst van bestaande bibliotheken." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "Niet toegestaan" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" +"Je kunt niet van bibliotheek wisselen wanneer het apparaat is aangesloten" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +msgid "You cannot change libraries while jobs are running." +msgstr "" +"Je kunt niet van bibliotheek wisselen wanneer taken worden uitgevoerd" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "C" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "Convert books" +msgstr "Converteer boeken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +msgid "Convert individually" +msgstr "Converteer Individueel" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "Converteer Groep" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "Kan niet converteren" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "Start conversie van %d boek(en)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "Kopieer naar bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "Kopieer geselecteerde boeken naar de aangegeven bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "Kan niet kopieren" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "Geen bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "Geen bibliotheek gevonden op %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "Bezig met kopiëren van" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "Kan boeken niet kopieren: " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "Mislukt" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "%d boeken gekopieerd naar %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Del" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "Verwijder boeken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "Verwijder geselecteerde boeken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "" +"Verwijder bestanden in een specifiek formaat van de geselecteerde boeken.." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "Verwijder alle formaten van de geselecterde boeken, behalve..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "Verwijder omslagen van de geselecteerde boeken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "Verwijder de boeken die aan de criteria voldoen van het apparaat" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "Kan niet verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "Kies formaten om te verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "Kies formaten die niet moeten worden verwijderd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "Kan boeken niet verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "Geen apparaat gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "|Hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:533 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:430 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "Geheugenkaart A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:432 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "Geheugenkaart B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "Er zijn geen boeken om te verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 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.py:557 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "Boeken worden verwijderd van de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" @@ -3392,7 +3632,7 @@ msgstr "" "De geselecteerde boeken zullen permanent worden verwijderd en de " "bestanden gewist van de computer. Weet je dit zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" @@ -3400,62 +3640,157 @@ msgstr "" "De geselecteerde boeken zullen definitief verwijderd worden van uw " "apparaat. Weet u het zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "Verbind met folder" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "Verbind met iTunes" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "Start Content Server" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "Stop Content Server" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "Email naar" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr " en verwijder ze uit de bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "Stel het delen van boeken via email in" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "D" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "Zend naar lezer" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +msgstr "Connectie/deel" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 +msgid "Manage collections" +msgstr "Bewerk collecties" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "E" +msgstr "E" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "Edit metadata" +msgstr "Bewerk metadata" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 +msgid "Merge book records" +msgstr "Voeg gegevens van boeken samen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "M" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "Bewerk metagegevens individueel" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "Bewerk metagegevens op groepsniveau" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "Download metagegevens en omslag afbeeldingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "Download alleen metagegevens" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "Download alleen omslag afbeeldingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "Download alleen sociale metagegevens (labels, waarderingen, etc)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "Samenvoegen met het eerste geselecteerde boek - verwijder de anderen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "Samenvoegen met het eerste geselecteerde boek - behoudt de anderen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "Metagegevens konden niet worden gedownload" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "sociale metagegevens (labels, waarderingen, etc)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "Omslag afbeeldingen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "metagegevens" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "Downloaden van %s voor %d boek(en)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "Sommige metagegevens konden niet worden gedownload" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "Metagegevens konden niet worden gedownload voor de volgende:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "Metagegevens konden niet worden gedownload:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:671 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:602 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:550 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:962 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "Fout" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:681 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "Metagegevens kunnen niet bewerkt worden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:739 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "Kan boeken niet samenvoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "" "Er moeten tenminste twee boeken worden geselecteerd om samen te voegen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

    The second and subsequently selected " @@ -3467,7 +3802,7 @@ msgstr "" "verder geselecteerde boeken zullen niet verwijderd of veranderd worden. " "

    Bevestig dat u hiermee wilt doorgaan." -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

    After merger the second and " @@ -3484,7 +3819,7 @@ msgstr "" "verder geselecteerde boeken zullen permanent worden verwijderd van " "uw computer.

    Weet u zeker dat u hiermee wilt doorgaan?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 msgid "" "You are about to merge more than 5 books. Are you sure you want to " "proceed?" @@ -3492,107 +3827,220 @@ msgstr "" "Je staat op het punt meer dan 5 boeken samen te voegen. Weet je zeker " "dat je dat wilt doen?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:924 -msgid "Cannot save to disk" -msgstr "Kan niet naar schijf worden opgeslagen" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "F" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:927 -msgid "Choose destination directory" -msgstr "Kies een bestemmingsmap" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "Download nieuws" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:933 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "Niet toegestaan" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:934 -msgid "" -"You are tying 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.py:968 -msgid "Error while saving" -msgstr "Fout tijdens opslaan" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:969 -msgid "There was an error while saving." -msgstr "Er is een fout opgetreden tijdens het opslaan." - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:976 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:977 -msgid "Could not save some books" -msgstr "Sommige boeken konden niet worden opgeslagen" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:978 -msgid "Click the show details button to see which ones." -msgstr "Klik de 'laat details zien' knop om te zien welke" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:999 -msgid "No books selected to generate catalog for" -msgstr "Geen boeken geselecteerd voor catalogus" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1016 -msgid "Generating %s catalog..." -msgstr "Genereren %s catalogus" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1021 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 -msgid "No books found" -msgstr "Geen boeken gevonden" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1022 -msgid "" -"No books to catalog\n" -"Check exclude tags" -msgstr "" -"Geen boeken te catalogiseren\n" -"Check uitsluitingstags" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1032 -msgid "Catalog generated." -msgstr "Catalogus aangemaakt" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1035 -msgid "Export Catalog Directory" -msgstr "Exporteer Catalogus Folder" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1036 -msgid "Select destination for %s.%s" -msgstr "Selecteer uitvoer voor %s.%s" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1052 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 msgid "Fetching news from " msgstr "Downloading nieuws van " -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1066 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 msgid " fetched." msgstr " opgehaald" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1115 -msgid "Cannot convert" -msgstr "Kan niet converteren" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Browse the calibre User Manual" +msgstr "Blader door de calibre gebruiksaanwijzing" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1144 -msgid "Starting conversion of %d book(s)" -msgstr "Start conversie van %d boek(en)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "F1" +msgstr "F1" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Help" +msgstr "Hulp" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 +msgid "Open containing folder" +msgstr "Open betreffende map" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 +msgid "O" +msgstr "O" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +msgid "Ctrl+P" +msgstr "Ctrl+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "Voorkeuren" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "Start de welkom wizard" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "Kan niet configureren" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "Can niet configueren terwijl bestaande opdrachten bezig zijn" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +msgid "Cannot configure before calibre is restarted." +msgstr "Is niet te configureren alvorens calibre opnieuw is opgestart" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "&Restart" +msgstr "&Herstarten" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "Ctrl+R" +msgstr "Ctrl+R" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 +msgid "Save single format to disk..." +msgstr "Bewaar enkel formaat op schijf..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40 +msgid "S" +msgstr "S" + +#: /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:45 +msgid "Save to disk" +msgstr "Opslaan op schijf" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:47 +msgid "Save to disk in a single directory" +msgstr "Opslaan op schijf in een enkele folder" + +#: /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 "Bewaar alleen %s formaat op schijf" + +#: /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 "Bewaar enkel %s formaat op de harde schijf, in één enkele map" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:90 +msgid "Cannot save to disk" +msgstr "Kan niet naar schijf worden opgeslagen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93 +msgid "Choose destination directory" +msgstr "Kies een bestemmingsmap" + +#: /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 "" +"U probeert bestanden op te slaan in de Calibre bibliotheek. Dit kan " +"corruptie van de bibliotheek veroorzaken. De optie 'Opslaan naar schijf' is " +"ervoor om bestanden uit uw Calibre bibliotheek naar elders te exporteren." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:135 +msgid "Error while saving" +msgstr "Fout tijdens opslaan" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136 +msgid "There was an error while saving." +msgstr "Er is een fout opgetreden tijdens het opslaan." + +#: /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 +msgid "Could not save some books" +msgstr "Sommige boeken konden niet worden opgeslagen" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 +msgid "Click the show details button to see which ones." +msgstr "Klik de 'laat details zien' knop om te zien welke" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" +msgstr "Laat boek details zien" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" +msgstr "I" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" +msgstr "Geen details beschikbaar" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." +msgstr "Geen details zijn beschikbaar voor de boeken op de lezer." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." +msgstr "Vergelijkbare boeken" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" +msgstr "Alt+A" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" +msgstr "Boeken van dezelfde auteur" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "Alt+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "Boeken in deze serie" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" +msgstr "Alt+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "Boeken van deze uitgever" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "Alt+T" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "Boeken met dezelfde labels" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "V" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "Bekijk" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "Bekijk specifiek formaat" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "Kan niet bekijken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "Kies het te bekijken formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "Meerdere Boeken Geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3604,11 +4052,11 @@ msgstr "" "je computer. Eenmaal gestart kan dit proces niet worden afgebroken totdat " "het klaar is. Wil je verder gaan?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "Kan folder niet openen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "%s heeft geen beschikbare formaten" @@ -3633,7 +4081,7 @@ msgid "The specified directory could not be processed." msgstr "De geselecteerde folder kan niet worden bewerkt." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "Geen boeken" @@ -3773,14 +4221,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 @@ -3848,7 +4300,7 @@ msgstr "Pad" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" @@ -3946,6 +4398,7 @@ msgstr "uitvoer" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 @@ -4037,8 +4490,8 @@ msgstr "E-Boek opties" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1493 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1511 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "Catalogus" @@ -4061,16 +4514,16 @@ msgstr "RegEx tag-patroon om genres uit te sluiten:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" msgstr "" -"RegEx tips:\n" -"- de standaard regex - \\[[\\w ]*\\] - sluit genres uit als in [tag]; b.v. " -"[Amazon Freebie]\n" -"- een regex patroon van een enkele puntsluit alle genres uit en maakt geen " -"Genre Selectie" +"Regex tips:\n" +"- De standaard regex - \\[.+\\] - sluit genre tags uit van met de het " +"formaat [tag], b.v., [Amazon Freebie]\n" +"- Een regex met één . sluit alle genre tags uit, en genereert geen Genre " +"Sectie" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 msgid "Include 'Titles' Section" @@ -4175,7 +4628,7 @@ msgid "&Disable comic processing" msgstr "Schakel strip verwerking uit: &D" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "Uitv&oer formaat" @@ -4191,16 +4644,16 @@ msgstr "Foutopsporing" msgid "Debug the conversion process." msgstr "Zoeken fouten in conversie proces" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "Kies fout opsporings folder" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Invalid debug directory" msgstr "ongeldige folder voor fout opsporing" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "fout opsporings folder kan niet worden aangemaakt" @@ -4364,15 +4817,15 @@ msgstr "Uiterlijk & gedrag" msgid "Control the look and feel of the output" msgstr "Beheers de visualisatie van de uitvoer" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" msgstr "Origineel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 msgid "Left align" msgstr "Links uitlijnen" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "Tekst uitvullen" @@ -4508,34 +4961,34 @@ msgstr "" "Stel de metagegevens in. Het uitvoer bestand zal zoveel metagegevens " "bevatten als mogelijk is." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " -msgstr "Kies cover voor " - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 -msgid "Cannot read" -msgstr "Kan niet lezen" +msgstr "Kies omslag voor " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 +msgid "Cannot read" +msgstr "Kan niet lezen" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "Je hebt geen permissie om het bestand te lezen: " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "Fout bij het lezen van bestand" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

    There was an error reading from file:
    " msgstr "

    Er is een fout opgetreden bij het lezen van bestand:
    " -#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " is geen geldige afbeelding" @@ -4795,18 +5248,18 @@ msgstr "Converteren" msgid "Options specific to the input format." msgstr "Op[ties specifiek voor het invoer formaat." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "Dialoogvenster" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "&Invoer formaat:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "Gebruik opge&slagen conversie instellingen voor individuele boeken" @@ -4824,39 +5277,39 @@ msgid "" msgstr "" "Werk met de detectie van hoofdstuk kopteksten en andere document structuur." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "Detecteer hoofdstukken op (XPath expressie):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "Voeg pagina einden in voor (XPath expressie):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "Koptekst reguliere expressie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "Voetnoot reguliere expressie:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "Ongeldige reguliere expressie" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "Ongeldige reguliere expressie: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "Ongelding XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "De XPath expressie %s is ongeldig" @@ -4894,15 +5347,15 @@ msgstr "Inhoudsopgave" msgid "Control the creation/conversion of the Table of Contents." msgstr "Instellingen voor de creatie/conversie van de inhoudsopgave." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "Niveau &1 Inhoudsopgave (XPath expressie):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "Niveau &2 Inhoudsopgave (XPath expressie):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "Niveau &3 Inhoudsopgave (XPath expressie):" @@ -4968,8 +5421,8 @@ msgid "&Maximum line length:" msgstr "&Maximum regel lengte:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" -msgstr "forceer maximum regel lengte" +msgid "Force maximum line length" +msgstr "Forceer maximale regellengte" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 @@ -5067,20 +5520,20 @@ msgstr "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath " "Handleiding." -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "Kan de omslag browser niet laden" - -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "Zoek op omslag afbeelding" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "Kan de omslag browser niet laden" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 @@ -5089,150 +5542,142 @@ msgstr "Zoek op omslag afbeelding" msgid "Undefined" msgstr "Niet gedefiniëerd" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "Ja" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "Nee" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "sterren" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "Niet gewaardeerd" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "Zet '%s' op vandaag" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "Nummer de boeken in deze serie automatisch" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "Verwijder alle labels" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "toe te voegen labels" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "te verwijderen labels" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Geen details beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "Apparaat niet meer verbonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "Lees apparaat informatie" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "Lees boeken lijst van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "Haal annotaties uit apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "Verstuur metagegevens naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "Stuur de collectie(s) naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "Upload %d boeken naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "Verwijder boeken van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "Download boeken van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" -msgstr "Bekijk book op apparaat" +msgstr "Bekijk boek op apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "Stel standaard stuur naar apparaat actie in" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "Stuur naar hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "Zend naar opslag kaart A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "Zend naar opslag kaart B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:428 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "Hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "Verzend en verwijder uit de bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "Verzend specifiek formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "Verbreek apparaat verbinding" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 -msgid "Fetch annotations (experimental)" -msgstr "Haal annoties op (experimenteel)" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "Selecteer de \"als apparaat\" te openen map" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:669 -msgid "Failed" -msgstr "Mislukt" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -5240,126 +5685,126 @@ msgstr "" "Er is een tijdelijke fout opgetreden tijdens de communicatie met de lezer. " "verwijzer de lezer en plug hem opnieuw in, of herstart." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "Apparaat: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr " gedetecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "Geselecteerd om te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "Kies formaat om naar apparaat te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "Geen apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:820 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "Kan niet zenden: geen apparaat beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:823 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "Geen kaart aanwezig" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:824 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "Kan niet versturen: Apparaat heeft geen opslag kaart" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "E-Boek:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "Aangesloten, je zult het e-boek vinden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:873 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "door" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "in het %s formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:887 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "Versturen van email naar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:917 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1019 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1081 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1200 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "Geen geschikte formaten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" "Auto-converteer de volgende boeken alvorens ze via email te versturen?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -"De voilgende boeken konden niet worden ge-emailed omdat geen beschikbare " +"De volgende boeken konden niet worden ge-emailed omdat geen beschikbare " "formaten zijn gevonden:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "Boeken konden niet worden ge-emailed." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "De volgende boeken konden niet worden ge-emailed:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "Verstuurd via email:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "Nieuws:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "Bijgevoegd is de" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "Nieuws verzonden naar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1082 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1201 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Auto-converteer de volgende boeken alvorens ze te uploaden naar het appraat?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "Verstuur catalogus naar apparaat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1114 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "Versturen van nieuws naar apparaat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "Boeken worden naar de lezer verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1209 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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." @@ -5368,11 +5813,11 @@ msgstr "" "er geen geschikte bestandsformaten konden worden gevonden. Converteer " "boek(en) eerst naar een formaat dat word ondersteund door je lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "Geen schijfruimte op de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1272 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -5395,9 +5840,29 @@ msgstr "Gebruik auteur sortering voor auteur" msgid "Save &template:" msgstr "Bewaar &sjabloon:" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "Voeg boeken toe met behulp van ISBN" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

    Any invalid ISBNs in the list will be " +"ignored." +msgstr "" +"

    Schrijf een lijst van ISBN codes in het linkervak, 1 code per regel. " +"Calibre zal automatisch records creëren voor de boeken aan de hand van de " +"ISBN codes en de gedownloade metadata en omslagen.

    Ongeldige ISBN codes " +"worden genegeerd." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "&Plak van klembord" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" -msgstr "Schaal &omslag naar schermgrootte" +msgid "Fit &cover within view" +msgstr "Pas de &omslag in het overzicht" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 msgid "&Previous" @@ -5473,11 +5938,19 @@ msgstr "De map %s is niet leeg. Kies a.u.b. een lege map" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location" -msgstr "" +msgstr "Geen locatie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location selected" -msgstr "" +msgstr "Geen locatie geselecteerd" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "Ongeldige locatie geselecteerd" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "%s is geen bestaande map" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" @@ -5527,15 +6000,15 @@ msgstr "&Profiel" msgid "Edit Comments" msgstr "Bewerk Commentaar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "%(plugin_type)s %(plugins)s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " @@ -5543,33 +6016,33 @@ msgstr "" "\n" "Persoonlijke instellingen: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "Algemeen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "Conversie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" msgstr "Email" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "Voeg toe / Bewaar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "Geavanceerd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" @@ -5577,80 +6050,80 @@ msgstr "" "Content\n" "Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "Automatisch versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "Email" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" "Formaat te emailen. Het eerste formaat dat overeenkomt zal worden verstuurd." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 msgid "" "If checked, downloaded news will be automatically mailed
    to this email " "address (provided it is in one of the listed formats)." msgstr "" -"Indien gekozen, gedownload nieuws zal automatisch worden geemailed
    \r\n" -"naar dit adres (indien het in een van de ondersteunde formaten is)." +"Indien aangevinkt zal gedownload nieuws automatisch worden verstuurd
    " +"naar dit e-mailadres (indien het in een van de vermelde formaten is)." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "nieuw email adres" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "Breed" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "Smal" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "Middel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "Groot" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "Altijd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "Automatisch" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "Nooit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 msgid "Done" msgstr "Voltooid" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 msgid "Confirmation dialogs have all been reset" msgstr "Bevestiging dialogen zijn allemaal gereset" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "Systeempoort geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " @@ -5661,110 +6134,123 @@ msgstr "" "voorkomen dat de server op deze poort draait. Het is veiliger te kiezen voor " "een poortnummer groter dan 1024." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "Kan commando regel commandos niet installeren." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "commando regel tools geinstalleerd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "Commando regel tools geinstalleerd in" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" "Indien je calibre.app verplaats, zullen de commando regel tools opnieuw " "moeten worden geinstalleerd." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "Geen geldig plugin pad" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "%s is geen geldig plugin pad" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "Kies plugin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "Plugin kan niet worden uitgeschakeld" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "De plugin: %s kan niet worden uitgeschakeld" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "Plugin ondersteund geen persoonlijke instellingen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "Plugin %s heeft geen instellingen nodig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "Aanpassen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "Ingebouwde plugin kan niet worden verwijderd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " Kan niet worden verwijderd. Het is een ingebouwde plugin. Probeer de plugin " "uit te schakelen." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "Ongeldige aanpassing" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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 "" +"De aanpassingen die u maakt zijn ongeldig. Probeer de aanpassingen te " +"resetten en deze vervolgens één voor één weer te veranderen tot u de " +"ongeldige aanpassing vind." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "Om een kolom te verwijderen moet u deze eerst selecteren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "De geselecteerde kolom is geen \"custom\" kolom" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "Weet je het zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "Wilt u werkelijk kolom %s en al zijn gegevens verwijderen?" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "Foutmeldigenlogbestand:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "Toeganglog-bestand:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:821 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "Content server kon niet worden gestart" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "Ongeldige grootte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "De grootte %s is ongeldig. Moet in de vorm BreedtexHoogte zijn" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "Moet herstarten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." @@ -5772,19 +6258,19 @@ msgstr "" "De door u aangebrachte wijzigingen vereisen dat Calibre opnieuw opgestart " "moet worden. Herstart zo spoedig mogelijk." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "Verifieren database integriteit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "Database integriteit kon niet worden geverifieerd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "Inconsistente data gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5956,30 +6442,23 @@ msgstr "" msgid "Sending to &device" msgstr "Verstuur naar &apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:616 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "Voorkeuren" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "Notificeer als een &nieuwe versie beschikbaar is" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "Download &sociale metadata (labels, waarderingen, etc) standaard" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "&Overschrijf auteur en titel standaard met geladen metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "Standaard netwerk &timeout:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -5987,150 +6466,164 @@ msgstr "" "Geef de standaard timeout voor netwerk downloads. (bv. wanneer we informatie " "van het Internet moeten halen)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " seconden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "Kier &taal (herstart nodig)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "Standaard" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "Hoog" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "Laag" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "werk &prioriteit:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "Voorkeur &uitvoer formaat:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 msgid "Reset all disabled &confirmation dialogs" msgstr "Reset alle uitgeschakelde &bevestiging dialogen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "Voorkeur &invoer formaat volgorde:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "Gebruik &Romeinse nummers voor de series" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "Activeer systeemvak icoon" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "Laat ¬ificaties zien in het systeemvak" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "Laat het opstartscherm zien" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 msgid "Show cover &browser in a separate window (needs restart)" msgstr "Beeld omslag &verkenner in een apart scherm (herstart nodig)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "L&aat de gemiddelde waarderingen in de categorieenbrowser zien" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "Zoek al typend" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "Zend gedownload &nieuws automatisch naar eboek lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" "&Verwijder nieuws van bibliotheek zodra het automatisch naar de lezer is " "verstuurd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "&Aantal omslagen zichtbaar in verkenner modus (herstart nodig)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "Selecteer zichtbare &kolommen in bibliotheek weergave" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "Verwijder een door de gebruiker gedefinieerde kolom" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "Voeg een door de gebruiker gedefinieerde kolom toe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "Bewerk een door de gebruiker gedefinieerde kolom" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "Gebruik interne &viewer voor:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "Gebruikers Interface &layout (heeft een herstart nodig):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "aan te brengen beperkingen de huidige bibliotheek wordt geopend:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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 "" +"Pas deze beperking to bij opstarten van calibre als de huidige bibliotheek " +"in gebruik is. Ook gebruikt als naar deze bibliotheek wordt overgeschakeld. " +"NB. Deze instelling is per bibliotheek. " + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:642 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" "Blokkeer alle animaties. Bruikbaar als u een langzame/oude computer heeft." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "Blokkeer &animaties" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "Geef &donatieknop weer (herstart)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "&Werkbalk" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "&Icoon grootte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "Geef &tekst onder de iconen weer:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "Voeg een email adres toe om boeken naar toe te sturen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "&Voeg email toe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "Maak &standaard" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "Verwijde&r email" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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-" @@ -6140,33 +6633,61 @@ msgstr "" "automatisch gestuurd voor gedownload nieuws naar alle email adressen " "waarvoor automatisch opsturen is aangevinkt." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "&Maximum aantal wachten werk processen (herstart nodig)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "&Check database integrity" -msgstr "&Controleer database integriteit" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Install command line tools" -msgstr "Installeer commando regel tools" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Open calibre &configuration directory" -msgstr "Open calibre &configuratie folder" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" "Limiteer het max. aantal gelijktijdige werk processen aan het aantal " "beschikbare processor &cores" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "Foutopsporing &apparaat detectie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "&Controleer database integriteit" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "Open calibre &configuratie folder" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "Installeer commando regel tools" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "&Overige" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" +"De waarden van de aanpassingen staan hieronder weergegeven. Wijzig deze om " +"het gedrag van Calibre aan te passen." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "Alle beschikbare aanpassingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "&Huidige aanpassingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "&Reset naar standaardwaarden" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "&Aanpassingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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 " @@ -6176,25 +6697,25 @@ msgstr "" "bekijken in een webbrowser van waar dan ook ter wereld. Wijzigingen in de " "instellingen hebben pasd effect na het herstarten van de server." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "Server &poort:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "Gebr&uikersnaam:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "W&achtwoord:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -6202,7 +6723,7 @@ msgstr "" "Als je het wachtwoord blank laat, dan kan iedereen je boek collectie zien " "via de web interface" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -6210,45 +6731,60 @@ msgstr "" "De maximum dimensie (BreedtexHoogte) voor weergegeven omslagen. Grotere " "omslagen worden in grootte aangepast. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "Max. &Omslag grootte:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "&Geef wachtwoord weer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "Max. &OPDS onderdelen per zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "Max. OPDS &ongegroepeerde items:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "Beperking (opgeslagen zoekactie) toe te passen:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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 "" +"Deze beperking (gebaseerd op een opgeslagen zoekactie) zal de door de " +"inhoudsserver beschikbare boeken berperken tot die welke overenkoemen met de " +"zoekactie. De instelling is per bibliotheek (dat betekent dat men per " +"bibliotheek een verschillende beperking kan instellen)." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "&Start Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "St&op Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "&Test Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "Start server &automatisch tijdens opstarten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "Bekijk &server logs" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

    Remember to leave calibre running as the server only runs as long as " @@ -6266,7 +6802,7 @@ msgstr "" "gequalificeerde hostname of het IP adres van de computer waar calibre op " "draait." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." @@ -6274,27 +6810,27 @@ msgstr "" "Hiere kun je het gedrag van calibre instellen door te configureren welke " "plugins te gebruiken." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "Activeer/&Deactiveer plugin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "&Persoonlijke instellingen plugin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "&Verwijder plugin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "Voeg nieuwe plugin toe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "Plugin &bestand:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "&Toevoegen" @@ -6335,7 +6871,7 @@ msgstr "Nummer" #: /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:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "Datum" @@ -6402,11 +6938,11 @@ msgstr "Er was geen opzoek naam gegeven" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"The lookup name must contain only lower case letters, digits and " +"underscores, and start with a letter" msgstr "" -"Het label mag alleen letters, cijfers en onderstreep tekens bevatten en moet " -"beginnen met een letter" +"De zoekterm mag slechts kleine letters, cijfers en underscores bevatten en " +"moet beginnen met een letter" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:116 msgid "No column heading was provided" @@ -6420,13 +6956,6 @@ msgstr "De opzoeknaam %s is al in gebruik" msgid "The heading %s is already used" msgstr "De koptekst %s is al in gebruik" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" -"De opzoeknaam moet in kleine letters zijn en mag geen \":\" tekens of " -"spaties bevatten" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" @@ -6538,6 +7067,63 @@ msgstr "Beschikbare variabelen:" msgid "Downloading social metadata, please wait..." msgstr "Download sociale metagegevens, even geduld...." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "Scheidingsteken" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "Kies bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "de hoofdwerkbalk" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "De hoofwerkbalk wanneer een apparaat wordt aangekoppeld" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "Het context menu voor de boeken in de Calibre bibliotheek" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "Het context menu voor de boeken op het apparaat" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "Pas deze acties aan in:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "&Beschikbare acties" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "&Huidige acties" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "Verplaats de gesecteerde actie omhoog" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "Verplaats geselecteerde actie omlaag" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "Ctrl+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "Voeg geselecteerde acties toe aan werkbalk" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "Verwijder geselecteerde acties van de werkbalk" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "&Laat deze waarschuwing nogmaals zien" @@ -6571,10 +7157,32 @@ msgstr "Van apparaat verwijderen" msgid "Author sort" msgstr "auteur sortering" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "Auteur beheer" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +msgid "Sort by author" +msgstr "Gesorteerd op auteur" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +msgid "Sort by author sort" +msgstr "Sorteer op auteurssoort" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" +msgstr "" +"Reset alle auteurssorteerwaarden naar een waarde die automatisch gegenereerd " +"is van de auteursnaam. De manier waarop deze waarde precies gegenereerd " +"wordt kan gecontroleerd worden via Voorkeuren->Geavanceerd->Aanpassingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "Herbereken alle auteurssorteerwaarden" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "Auteur sortering" @@ -6682,10 +7290,14 @@ msgstr "Laat werk opdracht &details zien" msgid "Stop &all non device jobs" msgstr "Stop &alle niet apparaat gerelateerde taken" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "Bewerk van %d boekenCould not fetch cover.
    " msgstr "Omslag kon niet worden gedownload
    " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "De download is verbroken" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" "Kan geen omslag afbeelding voor dit book vinden. Probeer eerst het ISBN " "nummer op te geven." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 msgid "" "For the error message from each cover source, click Show details below." msgstr "" +"Klik hieronder op Details om de foutmeldingen van elke omslagbron in te zien" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "Ongeldige omslag afbeelding" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "De omslag afbeelding is geen geldige afbeelding" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "Er zijn fouten opgetreden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "" "Er waren fouten tijdens het downloaden van de sociale metagegevens (labels, " "waarderingen, etc)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "Metagegevens kunnen niet worden opgevraagd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" "Tenminste een van de volgende gegevens is noodzakelijk: ISBN, Titel, Auteurs " "of Uitgever" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:750 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "Geen toegang" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" "%s van niet worden geopend. Is het in gebruik door een ander programma?" @@ -7021,20 +7636,24 @@ msgstr "Download &omslag afbeelding" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 msgid "Generate a default cover based on the title and author" -msgstr "" +msgstr "Genereer een standaard omslag aan de hand van de titel en auteur" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "&Generate cover" -msgstr "" +msgstr "&Genereer omslag" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "Wachtwoord Noodzakelijk" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "Afbreken..." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "Bezig" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" @@ -7444,8 +8063,8 @@ 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 "" -"Als het label die wilt gebruiken niet in de beschikbare lijst voorkomt, dan " -"kun je hem hier toevoegen als lijst gescheiden met komma's." +"Als het label die u wilt gebruiken niet in de beschikbare lijst voorkomt, " +"dan kun u hem hier toevoegen als lijst gescheiden met komma's." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" @@ -7457,12 +8076,12 @@ msgid "%s (was %s)" msgstr "%s (was %s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "Veld is leeg" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Een veld kan niet leeg zijn. U dient het te verwijderen." @@ -7507,10 +8126,6 @@ msgstr "" msgid "Rename the item in every book where it is used." msgstr "Hernoem het item in ieder boek waar het mee geassocieerd is." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 -msgid "Ctrl+S" -msgstr "Ctrl+S" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "Test email instellingen" @@ -7825,458 +8440,193 @@ msgstr "ISBN:" msgid "Regular expression (?P)" msgstr "Reguliere expressie (?P)" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:33 -msgid "Similar books..." -msgstr "Vergelijkbare boeken" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:66 -msgid "Add books to library" -msgstr "Voeg boeken toe aan de bibliotheek" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:84 -msgid "Manage collections" -msgstr "Bewerk collecties" - -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 msgid "Cover Browser" msgstr "Omslagbrowser" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:110 +msgid "Shift+Alt+B" +msgstr "Shift+Alt+B" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Tag Browser" msgstr "Labelbrowser" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 +msgid "Shift+Alt+T" +msgstr "Shift+Alt+T" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 msgid "version" msgstr "versie" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 msgid "created by Kovid Goyal" msgstr "gecreëerd door Kovid Goyal" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:165 msgid "Connected " msgstr "Verbonden " -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:174 msgid "Update found" msgstr "Bijgewerkte versie gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:276 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:228 msgid "Book Details" msgstr "Details van het boek" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:220 +msgid "Alt+D" +msgstr "Alt+D" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +msgid "Shift+Alt+D" +msgstr "Shift+Alt+D" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 msgid "Job" msgstr "Opdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 msgid "Status" msgstr "Status" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 msgid "Progress" msgstr "Voortgang" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64 msgid "Running time" msgstr "Werktijd" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" msgstr "Er zijn %d draaiende werkopdrachten:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102 msgid "Unknown job" msgstr "Onbekende taak" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" msgstr "Er zijn %d wachtende werkopdrachten:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 msgid "Cannot kill job" msgstr "Opdracht kan niet worden afgebroken" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 msgid "Cannot kill jobs that communicate with the device" msgstr "" "Taken die met het apparaat communicaren kunnen niet worden afgebroken" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223 msgid "Job has already run" msgstr "Taak is al uitgevoerd" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 msgid "Unavailable" msgstr "Niet beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 msgid "Jobs:" msgstr "Opdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:298 -msgid "Click to see list of active jobs." -msgstr "Klik om een lijst met actieve opdrachten te zien" +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +msgid "Shift+Alt+J" +msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +msgid "Click to see list of jobs" +msgstr "Klik om een takenlijst te zien" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" msgstr " - Taken" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:33 -msgid "Save single format to disk..." -msgstr "Bewaar enkel formaat op schijf..." - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 msgid "Eject this device" msgstr "Ontkoppel dit apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:85 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:194 msgid "Library" msgstr "Bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 msgid "Show books in calibre library" msgstr "Geef de boeken in de calibre bibliotheek weer" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Reader" msgstr "Lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Show books in the main memory of the device" msgstr "Geef de boeken in de het hoofdgeheugen van het apparaat weer" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:598 msgid "Card A" msgstr "Geheugenkaart A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 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:91 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:600 msgid "Card B" msgstr "Geheugenkaart B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:82 msgid "Show books in storage card B" msgstr "Geef de boeken weer die op geheugenkaart B staan" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:121 msgid "available" msgstr "beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:152 msgid "" "Books display will be restricted to those matching the selected saved search" msgstr "" "De weergave van boeken zal beperkt worden tot de criteria die aan de " "geselecteerde zoekopdracht voldoen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:165 msgid "Advanced search" msgstr "Geavanceerde Zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:174 msgid "" "

    Search the list of books by title, author, publisher, tags, comments, " "etc.

    Words separated by spaces are ANDed" msgstr "" -"

    Zoek door de boekenlijst gesorteerd op titek, auteur, uitgever, labels, " +"

    Zoek door de boekenlijst gesorteerd op titel, auteur, uitgever, labels, " "commentaar, enz.

    Woorden gescheiden door spaties worden samengevoegd" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "Reset Quick Search" msgstr "Snelzoeken wissen" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Copy current search text (instead of search name)" msgstr "Kopieer de huidige zoektekst (in plaats van zoeknaam)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 msgid "Save current search under the name shown in the box" msgstr "Bewaar de huidige zoekopdracht onder de naam getoond in de box" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 msgid "Delete current saved search" msgstr "Verwijder de huidige bewaarde zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:467 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:108 -msgid "%d books" -msgstr "%d boeken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:305 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:468 -msgid "Choose calibre library to work with" -msgstr "Kies een calibre bibliotheek om mee te werken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:336 -msgid "Connect to folder" -msgstr "Verbind met folder" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:341 -msgid "Connect to iTunes" -msgstr "Verbind met iTunes" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:348 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:356 -msgid "Start Content Server" -msgstr "Start Content Server" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:358 -msgid "Stop Content Server" -msgstr "Stop Content Server" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:369 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:377 -msgid "Email to" -msgstr "Email naar" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:377 -msgid " and delete from library" -msgstr " en verwijder ze uit de bibliotheek" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:389 -msgid "Setup email based sharing of books" -msgstr "Stel het delen van boeken via email in" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:462 -msgid "A" -msgstr "A" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:462 -msgid "Add books" -msgstr "Voeg boeken toe" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "E" -msgstr "E" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:463 -msgid "Edit metadata" -msgstr "Bewerk metadata" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:464 -msgid "C" -msgstr "C" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:464 -msgid "Convert books" -msgstr "Converteer boeken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -msgid "V" -msgstr "V" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:568 -msgid "View" -msgstr "Bekijk" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:466 -msgid "Send to device" -msgstr "Zend naar lezer" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "F" -msgstr "F" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:469 -msgid "Fetch news" -msgstr "Download nieuws" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:470 -msgid "S" -msgstr "S" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:551 -msgid "Save to disk" -msgstr "Opslaan op schijf" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:471 -msgid "Connect/share" -msgstr "Connectie/deel" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:472 -msgid "Del" -msgstr "Del" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:472 -msgid "Remove books" -msgstr "Verwijder boeken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "Browse the calibre User Manual" -msgstr "Blader door de calibre gebruiksaanwijzing" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "F1" -msgstr "F1" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:473 -msgid "Help" -msgstr "Hulp" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:474 -msgid "Ctrl+P" -msgstr "Ctrl+P" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:476 -msgid "M" -msgstr "M" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:476 -msgid "Merge book records" -msgstr "Voeg gegevens van boeken samen" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:477 -msgid "Open containing folder" -msgstr "Open betreffende map" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:479 -msgid "Show book details" -msgstr "Laat boek details zien" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:481 -msgid "Books by same author" -msgstr "Boeken van dezelfde auteur" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:483 -msgid "Books in this series" -msgstr "Boeken in deze serie" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:485 -msgid "Books by this publisher" -msgstr "Boeken van deze uitgever" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:487 -msgid "Books with the same tags" -msgstr "Boeken met dezelfde labels" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:501 -msgid "Edit metadata individually" -msgstr "Bewerk metagegevens individueel" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:504 -msgid "Edit metadata in bulk" -msgstr "Bewerk metagegevens op groepsniveau" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:507 -msgid "Download metadata and covers" -msgstr "Download metagegevens en omslag afbeeldingen" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:510 -msgid "Download only metadata" -msgstr "Download alleen metagegevens" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:512 -msgid "Download only covers" -msgstr "Download alleen omslag afbeeldingen" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:515 -msgid "Download only social metadata" -msgstr "Download alleen sociale metagegevens (labels, waarderingen, etc)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:521 -msgid "Merge into first selected book - delete others" -msgstr "Samenvoegen met het eerste geselecteerde boek - verwijder de anderen" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:524 -msgid "Merge into first selected book - keep others" -msgstr "Samenvoegen met het eerste geselecteerde boek - behoudt de anderen" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:532 -msgid "Add books from a single directory" -msgstr "Voeg boeken toe uit een enkele folder" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:534 -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 "" -"Voeg boeken toe uit folders, inclusief sub-folders (Een boek per folder, " -"neemt aan dat ieder eboek bestand hetzelfde boek in een ander formaat bevat)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:538 -msgid "" -"Add books from directories, including sub directories (Multiple books per " -"directory, assumes every ebook file is a different book)" -msgstr "" -"Voeg boeken toe uit folders, inclusief sub-folders (Meerdere boeken per " -"folder, neemt aan dat ieder eboek bestand een ander boek bevat)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:541 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "Voeg leeg boek toe (Boek zonder formaten)" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:553 -msgid "Save to disk in a single directory" -msgstr "Opslaan op schijf in een enkele folder" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:555 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:385 -msgid "Save only %s format to disk" -msgstr "Bewaar alleen %s formaat op schijf" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:559 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:388 -msgid "Save only %s format to disk in a single directory" -msgstr "Bewaar enkel %s formaat op de harde schijf, in één enkele map" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:569 -msgid "View specific format" -msgstr "Bekijk specifiek formaat" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:575 -msgid "Remove selected books" -msgstr "Verwijder geselecteerde boeken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:577 -msgid "Remove files of a specific format from selected books.." -msgstr "" -"Verwijder bestanden in een specifiek formaat van de geselecteerde boeken.." - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:580 -msgid "Remove all formats from selected books, except..." -msgstr "Verwijder alle formaten van de geselecterde boeken, behalve..." - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:583 -msgid "Remove covers from selected books" -msgstr "Verwijder omslagen van de geselecteerde boeken" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:586 -msgid "Remove matching books from device" -msgstr "Verwijder de boeken die aan de criteria voldoen van het apparaat" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:603 -msgid "Convert individually" -msgstr "Converteer Individueel" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:605 -msgid "Bulk convert" -msgstr "Converteer Groep" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:609 -msgid "Create catalog of books in your calibre library" -msgstr "Maak catalogus van boeken in je calibre bibliotheek" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:617 -msgid "Run welcome wizard" -msgstr "Start de welkom wizard" - #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:284 msgid "N" msgstr "N" @@ -8304,7 +8654,7 @@ msgstr "Boek %s van %s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 msgid "The lookup/search name is \"{0}\"" msgstr "De zoekopdracht is \"{0}\"" @@ -8364,7 +8714,7 @@ msgstr "Geef kolom weer" msgid "Restore default layout" msgstr "Herstel standaard layout" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:541 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -8398,7 +8748,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Geen Resultaten voor de zoekterm %s gevonden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 msgid "No matches found" msgstr "Geen resultaten gevonden" @@ -8415,12 +8765,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF viewer werkbalk" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 msgid "Next Page" msgstr "Volgende Pagina" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 msgid "Previous Page" msgstr "Vorige Pagina" @@ -8602,26 +8952,26 @@ msgid "No matches found for this book" msgstr "Geen overeenkomsten gevonden voor dit boek" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:255 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:554 msgid "Search" msgstr "Zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:307 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "De geselecteerde zoekopdracht zal Definitief gewist worden. Ben je " "zeker?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "Search (For Advanced Search click the button to the left)" msgstr "Zoeken (Voor geavanceerd zoeken klik op de knop links)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:391 msgid "Saved Searches" msgstr "Opgeslagen zoekopdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:399 msgid "Choose saved search or enter name for new saved search" msgstr "" "Kies een opgeslagen zoekopdracht of geef een naam voor een nieuwe te bewaren " @@ -8632,15 +8982,15 @@ msgid "Restrict to" msgstr "Beperkt tot" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:16 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:65 msgid "(all books)" msgstr "(alle boeken)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59 msgid "({0} of {1})" msgstr "({0} of {1})" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:67 msgid "({0} of all)" msgstr "({0} van het geheel)" @@ -8704,78 +9054,78 @@ msgstr "Wissen" msgid "&Alternate shortcut:" msgstr "&Alternative snelkoppeling" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:193 msgid "Rename '%s'" msgstr "Hernoem '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:197 msgid "Edit sort for '%s'" msgstr "Bewerk sorteeropdracht voor '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Hide category %s" msgstr "Verberg categorie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:205 msgid "Show category" msgstr "Toon categorie" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 msgid "Show all categories" msgstr "Bekijk alle categorieën" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:213 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 msgid "Manage %s" msgstr "Beheer %s" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 msgid "Manage Saved Searches" msgstr "Beheer opgeslagen zoekopdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Manage User Categories" msgstr "Beheer gebruikerscategorïen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:432 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:435 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:294 msgid "Searches" msgstr "Zoekopdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:513 msgid "Duplicate search name" msgstr "Dupliceer naam zoekopdracht" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:514 msgid "The saved search name %s is already used." msgstr "De opgeslagen zoekopdracht %s is reeds in gebruik" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by name" msgstr "Sorteer op naam" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:770 msgid "Sort by popularity" msgstr "Sorteer op populariteit" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 msgid "Sort by average rating" msgstr "Sorteer op gemiddelde score" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:774 msgid "Set the sort order for entries in the Tag Browser" msgstr "Leg de sorteervolgorde vast voor de items in de labelbrowser" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match all" msgstr "Match alle" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:780 msgid "Match any" msgstr "Match iedere" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:785 msgid "" "When selecting multiple entries in the Tag Browser match any or all of them" msgstr "" @@ -8783,26 +9133,26 @@ msgstr "" "items die aan alle criteria voldoen, of selecteer items die aan één van deze " "criteria voldoen" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:786 -msgid "Manage &user categories" -msgstr "Beheer &door de gebuiker gecreëerde categorien" - #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:789 +msgid "Manage &user categories" +msgstr "Beheer &door de gebruiker gecreëerde categorien" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792 msgid "Add your own categories to the Tag Browser" msgstr "Voeg je eigen categorïen to aan de labelbrowser" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Convert book %d of %d (%s)" msgstr "Converteer boek %d van %d (%s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:90 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 msgid "Could not convert some books" msgstr "Sommige boeken konden niet worden geconverteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:91 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:204 msgid "" "Could not convert %d of %d books, because no suitable source format was " "found." @@ -8810,11 +9160,11 @@ msgstr "" "Kan %d van de %d boeken niet converteren, omdat geen geschikt invoer formaat " "kon worden gevonden." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:121 msgid "Queueing books for bulk conversion" msgstr "Boeken in de wachtrij voor massa conversie" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:182 msgid "Queueing " msgstr "In Wachtrij " @@ -8834,53 +9184,28 @@ msgstr "" "De volgende boeken waren al geconverteerd naar %s formaat. Wil je dit " "nogmaals doen?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Restore" msgstr "He&rstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:167 msgid "&Donate to support calibre" msgstr "Ondersteun calibre met een &Donatie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Eject connected device" msgstr "Aangesloten apparaat ontkoppelen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 -msgid "&Restart" -msgstr "&Herstarten" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:212 msgid "Calibre Quick Start Guide" msgstr "Calibre snelstart handboek" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:362 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:367 -msgid "Cannot configure" -msgstr "Kan niet configureren" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:363 -msgid "Cannot configure while there are running jobs." -msgstr "Can niet configueren terwijl bestaande opdrachten bezig zijn" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 -msgid "Cannot configure before calibre is restarted." -msgstr "Is niet te configureren alvorens calibre opnieuw is opgestart" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:415 -msgid "No detailed info available" -msgstr "Geen details beschikbaar" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:416 -msgid "No detailed information is available for books on the device." -msgstr "Geen details zijn beschikbaar voor de boeken op de lezer." - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:468 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:441 msgid "Conversion Error" msgstr "Converteer Fout" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:414 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -8888,15 +9213,15 @@ msgstr "" "

    Kon %s niet converteren.

    Het is een eboek met DRM. " "Je moet eerst de DRM verwijderen met externe programma's." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:427 msgid "Recipe Disabled" msgstr "Recept uitgeschakeld" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:442 msgid "Failed" msgstr "Mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development. " @@ -8907,12 +9232,12 @@ msgstr "" "van het programma te steunen. Jouw donatie helpt om de ontwikkeling voort te " "zetten." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:504 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Er zijn actieve werk opdrachten. Weet je zeker dat je af wilt sluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -8923,11 +9248,11 @@ msgstr "" "apparaat.
    \n" " Weet je zeker dat je af wilt sluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:511 msgid "WARNING: Active jobs" msgstr "Waarschuwing: actieve werk opdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -9107,7 +9432,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opties om de eboek viewer te verpersoonlijken" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 msgid "Remember last used window size" msgstr "onthoudt de laatst gebruikte venster grootte" @@ -9164,36 +9489,36 @@ msgstr "De niet-proportionele lettergrootte in px" msgid "The standard font type" msgstr "Het Standaard lettertype" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 msgid "&Lookup in dictionary" msgstr "&Zoek in woordenboek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ga naar..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 msgid "Next Section" msgstr "Volgende sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 msgid "Previous Section" msgstr "Vorige sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "Document Start" msgstr "Begin van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 msgid "Document End" msgstr "Einde van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 msgid "Section Start" msgstr "Begin van sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 msgid "Section End" msgstr "Einde van sectie" @@ -9249,92 +9574,92 @@ msgstr "Naar rechts schuiven" msgid "Book format" msgstr "Boek vorm" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 msgid "Position in book" msgstr "Positie in boek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:192 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Ga naar een referentie. Gebruik referentie modus om referentie nummers te " "zien." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 msgid "Search for text in book" msgstr "Zoek naar tekst in boek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:269 msgid "Print Preview" msgstr "Afdrukvoorbeeld" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:300 msgid "Connecting to dict.org to lookup: %s…" msgstr "Verbinden met dict.org om op te zoeken: %s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 msgid "Choose ebook" msgstr "Kies eboek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:400 msgid "Ebooks" msgstr "Eboeken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Add bookmark" msgstr "Bladwijzer toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:419 msgid "Enter title for bookmark:" msgstr "Geef titel voor bladwijzer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 msgid "No matches found for: %s" msgstr "Geen zoekterm gevonden voor: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 msgid "Loading flow..." msgstr "Bezig met het laden van de kaftenbrowser..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "Laying out %s" msgstr "Opbaren %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:544 msgid "Manage Bookmarks" msgstr "Beheer Bladwijzers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579 msgid "Loading ebook..." msgstr "Eboek wordt geladen..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 msgid "DRM Error" msgstr "DRM foutmelding" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:588 msgid "

    This book is protected by DRM" msgstr "

    Dit boek wordt beschermd door DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:592 msgid "Could not open ebook" msgstr "EBoek kan niet worden geopend" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:666 msgid "Options to control the ebook viewer" msgstr "Opties voor de eboek viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:673 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Indien gespecificeerd, dan zal het viewer venster proberen naar voren te " "komen na het opstarten." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:678 msgid "Print javascript alert and console messages to the console" msgstr "Print javascript waarschuwingen en console berichten op de console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:684 msgid "" "%prog [options] file\n" "\n" @@ -9452,14 +9777,18 @@ msgstr "Elk Woord Met Hoofdletter" msgid "Drag to resize" msgstr "Sleep om de grootte aan te passen" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:873 msgid "Show" msgstr "Weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:880 msgid "Hide" msgstr "Verberg" +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:917 +msgid "Toggle" +msgstr "Omschakelen" + #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " @@ -9605,8 +9934,8 @@ msgid "" "Choose a location for your books. When you add books to calibre, they will " "be copied here:" msgstr "" -"Kies een locatie voor je boeken. Wanneer je boeken toevoegt aan celibre, dan " -"zullen ze hier naar toe worden gecopieerd:" +"Kies een locatie voor je boeken. Wanneer je boeken toevoegt aan Calibre, dan " +"zullen ze hier naar toe worden gekopieerd:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 msgid "&Change" @@ -9871,7 +10200,7 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" -"Creëer een citaat voor BIBTEX ingaves.\n" +"Maak een citaat voor BIBTEX ingaves.\n" "Boolean waarde : True, False\n" "Standaard: '%default'\n" "Van toepassing voor: BIBTEX weergave formaat" @@ -9884,7 +10213,7 @@ msgid "" "Default: '%%default'\n" "Applies to: BIBTEX output format" msgstr "" -"Het sjabloon voor het creëren van citaten gebaseerd op velden uit de " +"Het sjabloon voor het maken van citaten gebaseerd op velden uit de " "database.\n" " Zou een sjabloon moeten zijn met velden ingesloten door {}.\n" "Beschikbare velden: %s.\n" @@ -9922,8 +10251,8 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" -"Ingave type voor Bibtex catalogus.\n" -"Beschikbare types: book, misc, mixed\n" +"Soort item voor Bibtex catalogus.\n" +"Beschikbare soorten: book, misc, mixed\n" "Standaard: '%default'\n" "Van toepassing op: BIBTEX weergave formaat" @@ -9958,8 +10287,7 @@ msgid "" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -"Reguliere Expressie die de labels beschijft die worden uitgesloten als " -"genres.\n" +"Regex die de labels beschijft die worden uitgesloten als genres.\n" "Standaard: '%default' uitgezonderd labels in haken, b.v. '[

    Migrating old database to ebook library in %s

    " msgstr "

    Migreer oude database naar eboek bibliotheek in %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1825 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1944 msgid "Copying %s" -msgstr "Copieer %s" +msgstr "Kopiëren van %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1842 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1961 msgid "Compacting database" msgstr "Comprimeren database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1935 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2054 msgid "Checking SQL integrity..." msgstr "Verifiëren SQL integriteit..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1976 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2095 msgid "Checking for missing files." msgstr "Zoeken naar verloren bestanden" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1998 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2117 msgid "Checked id" msgstr "id gecontroleerd" @@ -10658,7 +11059,7 @@ msgid "" "Normally, calibre will save the cover in a separate file along with the " "actual e-book file(s)." msgstr "" -"Normaal gesproken zal calibre de omslag afbeeling opslaan in een apart " +"Normaal gesproken zal calibre de omslag afbeelding opslaan in een apart " "bestand, samen met de daadwerkelijke e-boek bestanden." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:63 @@ -10798,35 +11199,47 @@ msgstr "Pad naar de bibliotheek map voor de content server" msgid "Write process PID to the specified file" msgstr "Schrijf het proces-PID naar het opgegeven bestand." -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:127 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" +"Specificeert een beperking die gebruikt wordt bij deze aanroeping. Deze " +"optie gaat boven elke per-bibliotheek instelling gespecificeerd in de GUI" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d book" +msgstr "%d boek" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 msgid "%d items" msgstr "%d items" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:144 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:146 msgid "RATING: %s
    " msgstr "SCORE: %s
    " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:147 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "TAGS: %s
    " msgstr "LABELS: %s
    " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:151 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:153 msgid "SERIES: %s [%s]
    " msgstr "SERIES: %s [%s]
    " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:233 msgid "Books in your library" msgstr "Boeken in uw bibliotheek" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:237 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:239 msgid "By " msgstr "Door " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:238 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:240 msgid "Books sorted by " msgstr "Boeken gesorteerd op " -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Newest" msgstr "Nieuwste" @@ -10912,15 +11325,15 @@ msgstr "Hoe en wanneer calibre metadata actualiseert op het apparaat." msgid "Waiting..." msgstr "Wachten..." -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:51 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:52 msgid "Stopped" msgstr "Gestopt" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Finished" msgstr "Voltooid" -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:75 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:76 msgid "Working..." msgstr "Bezig..." @@ -11881,9 +12294,6 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Add Ta&gs: " #~ msgstr "Voeg Ta&gs Toe: " -#~ msgid "Working" -#~ msgstr "Bezig" - #~ msgid "Waiting" #~ msgstr "Wachten" @@ -11962,9 +12372,6 @@ msgstr "Download geen CSS stylesheets" #~ "Laatste versie: %s" -#~ msgid "Alt+S" -#~ msgstr "Alt+S" - #~ msgid "" #~ "Search the list of books by title or author

    Words separated by spaces " #~ "are ANDed" @@ -11991,6 +12398,9 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Click to browse books by their covers" #~ msgstr "Klik om boeken bij hun omslag te bekijken" +#~ msgid "Click to see list of active jobs." +#~ msgstr "Klik om een lijst met actieve opdrachten te zien" + #~ msgid "Click to turn off Cover Browsing" #~ msgstr "Klik om zoeken op omslag uit te schakelen" @@ -12488,6 +12898,9 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Add a tab at the beginning of each paragraph" #~ msgstr "Voerg een tab toe aan het begin van iedere paragraaf" +#~ msgid "Force maximum line lenght" +#~ msgstr "forceer maximum regel lengte" + #~ msgid "Send specific format to storage card B" #~ msgstr "Zend specifiek formaat naar opslag kaart B" @@ -12621,6 +13034,9 @@ msgstr "Download geen CSS stylesheets" #~ msgid "English (PK)" #~ msgstr "Engels (PK)" +#~ msgid "Fit &cover to view" +#~ msgstr "Schaal &omslag naar schermgrootte" + #~ msgid "" #~ "The fields to output when cataloging books in the database. Should be a " #~ "comma-separated list of fields.\n" @@ -12647,9 +13063,25 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Tags to exclude as genres (regex):" #~ msgstr "Labels te vermeiden als genres (reguliere expressie):" +#~ msgid "Communicate with the Teclast K3 reader." +#~ msgstr "Communicatie met Telecast K3 Reader" + #~ msgid "dummy option until real options are determined." #~ msgstr "dummy optie tot echte opties zijn bepaald." +#~ msgid "" +#~ "Regex tips:\n" +#~ "- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +#~ "e.g., [Amazon Freebie]\n" +#~ "- A regex pattern of a single dot excludes all genre tags, generating no " +#~ "Genre Section" +#~ msgstr "" +#~ "RegEx tips:\n" +#~ "- de standaard regex - \\[[\\w ]*\\] - sluit genres uit als in [tag]; b.v. " +#~ "[Amazon Freebie]\n" +#~ "- een regex patroon van een enkele puntsluit alle genres uit en maakt geen " +#~ "Genre Selectie" + #~ msgid "Masthead font:" #~ msgstr "Colofon lettertype:" @@ -12701,6 +13133,19 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Preserve device collections." #~ msgstr "Bewaar collecties op het apparaat" +#~ msgid "" +#~ "The lookup name must be lower case and cannot contain \":\"s or spaces" +#~ msgstr "" +#~ "De opzoeknaam moet in kleine letters zijn en mag geen \":\" tekens of " +#~ "spaties bevatten" + +#~ msgid "" +#~ "The label must contain only letters, digits and underscores, and start with " +#~ "a letter" +#~ msgstr "" +#~ "Het label mag alleen letters, cijfers en onderstreep tekens bevatten en moet " +#~ "beginnen met een letter" + #~ msgid "" #~ "&Location of ebooks (The ebooks are stored in folders sorted by author and " #~ "metadata is stored in the file metadata.db)" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 6bf8abd6fc..44c2329c82 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,170 +7,174 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-08-09 13:57+0000\n" -"PO-Revision-Date: 2010-08-09 19:04+0000\n" -"Last-Translator: Piotr Strębski \n" +"POT-Creation-Date: 2010-08-20 20:19+0000\n" +"PO-Revision-Date: 2010-08-20 21:48+0000\n" +"Last-Translator: Kovid Goyal \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: 2010-08-10 03:33+0000\n" +"X-Launchpad-Export-Date: 2010-08-21 03:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 msgid "Does absolutely nothing" msgstr "Ta opcja zupełnie nic nie zmienia" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:72 -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:75 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:70 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/sony_cache.py:506 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:405 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:100 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:402 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:72 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:335 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:338 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1894 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1896 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:24 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:236 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:279 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:282 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:398 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/book/base.py:20 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/book/base.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:61 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fb2.py:46 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:332 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:123 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:125 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:945 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1057 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdb.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdf.py:28 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/txt.py:14 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:78 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:119 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:153 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:611 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:817 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:819 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:911 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:916 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:982 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:137 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:108 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:173 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/palmdoc/writer.py:29 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ztxt/writer.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:83 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:74 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:81 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:234 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:287 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:826 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:829 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/__init__.py:22 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:868 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:877 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1162 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1165 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:512 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:362 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:382 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:882 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1060 -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/metadata.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:185 -#: /home/kovid/work/trunk/src/calibre/library/cli.py:213 -#: /home/kovid/work/trunk/src/calibre/library/database.py:913 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:358 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:370 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:979 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1048 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1649 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1651 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1773 -#: /home/kovid/work/trunk/src/calibre/library/server/mobile.py:199 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:134 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:137 -#: /home/kovid/work/trunk/src/calibre/library/server/xml.py:68 -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:117 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:64 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:78 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:47 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:50 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:72 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:75 +#: /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:507 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /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:236 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 +#: /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/fb2.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 +#: /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:123 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1057 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28 +#: /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/txt.py:14 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:817 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:819 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:911 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:916 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:982 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:108 +#: /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:39 +#: /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:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1163 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:882 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:186 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 +#: /home/kovid/work/calibre/src/calibre/library/database.py:913 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:362 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1076 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1889 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:136 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:70 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /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:47 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:50 msgid "Unknown" msgstr "Nieznany" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:64 msgid "Base" msgstr "Baza" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:172 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:172 msgid "File type" msgstr "Typ pliku" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:206 msgid "Metadata reader" msgstr "Czytnik metadanych" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:235 msgid "Metadata writer" msgstr "Zapisywanie metadanych" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:263 msgid "Catalog generator" msgstr "Generator katalogu" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:16 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:359 +msgid "User Interface Action" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:16 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 " @@ -180,7 +184,7 @@ msgstr "" "zawierający wszystkie podlinkowane pliki. Ta wtyczka jest uruchamiana za " "każdym razem, gdy dodasz plik HTML do biblioteki." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:52 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:52 msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." @@ -188,7 +192,7 @@ msgstr "" "Kodowanie znaków dla źródłowych plików HTML. Popularne wybory to: cp1252, " "latin1, iso-8859-1 i utf-8." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:59 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:59 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 " @@ -198,57 +202,57 @@ msgstr "" "pmlname_img lub images. Plugin ten jest uruchamiany przy każdym dodaniu " "pliku PML do biblioteki." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:93 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:93 msgid "Extract cover from comic files" -msgstr "Wyodrębnij okładki z plików komisów" +msgstr "Wyodrębnij okładki z plików komiksów" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:120 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:131 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:143 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:153 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:163 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:174 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:184 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:204 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:214 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:224 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:235 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:246 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:258 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:279 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:290 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:300 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:310 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:131 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:143 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:153 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:163 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:174 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:214 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:224 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:258 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:279 +#: /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 msgid "Read metadata from %s files" msgstr "Odczytaj metadane z %s plików" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:269 msgid "Read metadata from ebooks in RAR archives" msgstr "Odczyt metadanych z e-booków w archiwach RAR" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:321 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 msgid "Read metadata from ebooks in ZIP archives" msgstr "Odczyt metadanych z e-booków w archiwach ZIP" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:334 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:344 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:354 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:376 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:387 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:397 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:334 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:344 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:354 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:387 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 msgid "Set metadata in %s files" msgstr "Ustaw metadane w %s plikach" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 msgid "Set metadata from %s files" msgstr "Pobierz metadane z %s plików" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:102 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "Źródłowy format do konwersji" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -260,11 +264,11 @@ msgstr "" "Szczególnie przydatne w przypadku dokumentów, które nie deklarują kodowania " "lub które mają błędne deklaracje kodowania." -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "Docelowy format po konwersji" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:251 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 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." @@ -273,11 +277,11 @@ msgstr "" "dane, tak by były jak najbardziej czytelne dla człowieka. Dla niektórych z " "wtyczek generujących dane wyjściowe może nie dawać to żadnych efektów ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:45 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:45 msgid "Input profile" msgstr "Profil źródłowy" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:49 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:49 msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." @@ -285,84 +289,84 @@ msgstr "" "Ten profil próbuje zapewnić rozsądne wartości domyślne i jest użyteczny, " "jeśli nie wiesz nic o dokumencie wejściowym." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:414 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:414 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" "Ten profil przeznaczony jest dla urządzeń SONY z linii PRS. 500/505/600/700 " "itp." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:69 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:69 msgid "This profile is intended for the SONY PRS 300." msgstr "Ten profil przeznaczony jest dla urządzenia SONY PRS-300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:449 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:449 msgid "This profile is intended for the SONY PRS-900." msgstr "Ten profil przeznaczony jest dla urządzenia SONY PRS-900." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:479 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:479 msgid "This profile is intended for the Microsoft Reader." msgstr "Ten profil przeznaczony jest dla programu Microsoft Reader." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:490 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the Mobipocket books." msgstr "Ten profil przeznaczony jest dla urządzeń Mobipocket." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:503 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "Ten profil przeznaczony jest dla urządzenia Hanlin V3 i jego klonów." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:515 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "Ten profil przeznaczony jest dla urządzenia Hanlin V5 i jego klonów." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:523 msgid "This profile is intended for the Cybook G3." msgstr "Ten profil przeznaczony jest dla urządzenia Cybook G3." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:536 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 msgid "This profile is intended for the Cybook Opus." msgstr "Ten profil przeznaczony jest dla urządzenia Cybook Opus." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:547 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:547 msgid "This profile is intended for the Amazon Kindle." msgstr "Ten profil przeznaczony jest dla urządzenia Amazon Kindle." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:584 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:584 msgid "This profile is intended for the Irex Illiad." msgstr "Ten profil przeznaczony jest dla urządzenia Irex Illiad." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:597 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "" "Ten profil przeznaczony jest dla urządzenia IRex Digital Reader 1000." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:611 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:611 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "Ten profil przeznaczony jest dla urządzenia IRex Digital Reader 800." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:625 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:625 msgid "This profile is intended for the B&N Nook." msgstr "Ten profil przeznaczony jest dla urządzenia B&N Nook." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:228 msgid "Output profile" msgstr "Profil wyjściowy" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:232 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:232 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 " @@ -372,25 +376,25 @@ msgstr "" "jeśli chcesz stworzyć dokument przeznaczony do odczytu na komputerze lub " "większej liczbie urządzeń." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:259 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:259 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "" "Przeznaczone dla iPada i podobnych urządzeń z rozdzielczością 768x1024" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:427 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:427 msgid "This profile is intended for the Kobo Reader." msgstr "Ten profil przeznaczony jest dla urządzenia Kobo Reader." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:440 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 msgid "This profile is intended for the SONY PRS-300." msgstr "Ten profil przeznaczony jest dla urządzenia SONY PRS-300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:458 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 msgid "This profile is intended for the 5-inch JetBook." msgstr "Ten profil przeznaczony jest dla 5 calowego urządzenia JetBook." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:467 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:467 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -398,39 +402,39 @@ msgstr "" "Ten profil przeznaczony jest dla urządzeń z linii SONY PRS w trybie " "panoramicznym. Np. 500/505/700 itd. Głównie użyteczny przy komiksach." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:566 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 msgid "This profile is intended for the Amazon Kindle DX." msgstr "Ten profil przeznaczony jest dla urządzenia Amazon Kindle DX." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Installed plugins" msgstr "Zainstalowane wtyczki" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Mapping for filetype plugins" msgstr "Mapowanie wtyczek dla róznych typów plików" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Local plugin customization" msgstr "Lokalne dostosowanie wtyczek" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Disabled plugins" msgstr "Wyłączone wtyczki" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:37 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Enabled plugins" msgstr "Załączone wtyczki" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:85 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 msgid "No valid plugin found in " msgstr "Nie znaleziono wtyczki w " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:489 msgid "Initialization of plugin %s failed with traceback:" msgstr "Inicjacja wtyczki %s nie udała się - prześledź komunikaty:" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:522 msgid "" " %prog options\n" "\n" @@ -442,16 +446,16 @@ msgstr "" " Spersonalizuj calibre poprzez załadowanie zewnętrznych wtyczek\n" " " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:528 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "Dodaj wtyczkę przez podanie ścieżki do pliku, który ją zawiera." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:519 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:530 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" "Usuń wtyczkę użytkownika - po nazwie. Nie ma wpływu na wtyczki wbudowane." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:532 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." @@ -459,23 +463,23 @@ msgstr "" "Dostosuj wtyczkę. Wprowadź nazwę wtyczki i polecenie dostosowujące " "oddzielając przecinkami." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:523 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 msgid "List all installed plugins" msgstr "Wyświetl wszystkie zainstalowane wtyczki" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:525 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:536 msgid "Enable the named plugin" msgstr "Włącz wtyczkę" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:527 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538 msgid "Disable the named plugin" msgstr "Wyłącz wtyczkę" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 msgid "Communicate with Android phones." msgstr "Umożliwia komunikację z telefonami z Androidem." -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:50 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -483,47 +487,47 @@ msgstr "" "Oddzielonych przecinkami listę katalogów, aby wysłać e-książek w urządzeniu. " "Pierwszy z nich, że istnieje zostaną wykorzystane" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:92 msgid "Communicate with S60 phones." msgstr "Umożliwia komunikację z telefonami S60." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:87 msgid "Communicate with iTunes/iBooks." msgstr "Umożliwia komunikację z aplikacjami iTunes/iBooks." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:93 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:93 msgid "Apple device detected, launching iTunes, please wait ..." msgstr "Urządzenie Apple wykryte, uruchamianie iTunes, proszę czekać..." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:246 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:249 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:246 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:249 msgid "Updating device metadata listing..." msgstr "Uaktualnianie listy metadanych..." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:323 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:362 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:921 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:957 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2802 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2841 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:323 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:362 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:921 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:957 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2822 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2861 msgid "%d of %d" msgstr "%d z %d" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:369 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:962 -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2847 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:369 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:962 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2867 msgid "finished" msgstr "zakończone" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:544 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:544 msgid "Use Series as Category in iTunes/iBooks" msgstr "Używaj cyklu jako kategorii w iTunes/iBooks" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:546 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:546 msgid "Cache covers from iTunes/iBooks" msgstr "Przechowuj okładki z iTunes/iBooks" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:558 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:558 msgid "" "Some books not found in iTunes database.\n" "Delete using the iBooks app.\n" @@ -533,7 +537,7 @@ msgstr "" "Usuwam używając aplikacji iBooks.\n" "Kliknij 'Pokaż szczegóły', aby zobaczyć listę." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:886 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:886 msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." @@ -541,91 +545,91 @@ msgstr "" "Niektóre grafiki okładek nie mogły zostać przekonwertowane.\n" "Kliknij 'Pokaż szczegóły', aby zobaczyć listę." -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2471 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:817 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:823 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:851 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:244 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:187 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:200 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1533 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:132 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2491 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:244 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:190 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:203 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1644 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:132 msgid "News" msgstr "Aktualności" -#: /home/kovid/work/trunk/src/calibre/devices/apple/driver.py:2709 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2729 msgid "Communicate with iTunes." msgstr "Umożliwia komunikację z aplikacją iTunes" -#: /home/kovid/work/trunk/src/calibre/devices/binatone/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17 msgid "Communicate with the Binatone Readme eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Binatone Readme." -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 msgid "Communicate with the Blackberry smart phone." msgstr "Umożliwia komunikację z telefonami Blackberry." -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:14 -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 +#: /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 "Kovid Goyal" -#: /home/kovid/work/trunk/src/calibre/devices/cybook/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22 msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Cybook Gen 3 / Opus." -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:24 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek EB600." -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:193 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:193 msgid "Communicate with the Astak Mentor EB600" msgstr "Umożliwia komunikację z czytnikiem Astak Mentor EB600" -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:216 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:216 msgid "Communicate with the PocketBook 301 reader." msgstr "Umożliwia komunikację z czytnikiem książek PocketBook 301." -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" msgstr "Entourage Edge" -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:18 msgid "Communicate with the Entourage Edge." msgstr "Umożliwia komunikację z czytnikiem Entourage Edge." -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek ESlick." -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:49 msgid "Communicate with the Sigmatek eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Sigmatek." -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:16 -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:30 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:30 msgid "Use an arbitrary folder as a device." msgstr "Użyj dowolnego folderu jako urządzenia." -#: /home/kovid/work/trunk/src/calibre/devices/folder_device/driver.py:26 -#: /home/kovid/work/trunk/src/calibre/devices/interface.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:26 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 msgid "Device Interface" msgstr "Interfejs urządzenia" -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:19 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:19 msgid "Communicate with Hanlin V3 eBook readers." msgstr "Umożliwia komunikację z czytnikiem książek Hanlin V3." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:87 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 msgid "Communicate with Hanlin V5 eBook readers." msgstr "Umożliwia komunikację z czytnikiem książek Hanlin V5." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:115 msgid "Communicate with the BOOX eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek BOOX." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:123 +#: /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." @@ -633,166 +637,170 @@ msgstr "" "Oddzielona przecinkami lista katalogów do przesyłania e-booków na " "urządzenie. Zostanie użyta pierwsza istniejąca pozycja." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:18 msgid "Communicate with the Hanvon N520 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Hanvon N520." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:40 msgid "Communicate with The Book reader." msgstr "Umożliwia komunikację z czytnikiem książek The Book." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:52 msgid "Communicate with the SpringDesign Alex eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek SpringDesign Alex." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:68 msgid "Communicate with the Azbooka" msgstr "Umożliwia komunikację z czytnikiem Azbooka." -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:81 msgid "Communicate with the Elonex EB 511 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Elonex EB 511." -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek IRex Iliad." -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:17 -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:42 +#: /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:42 msgid "John Schember" msgstr "John Schember" -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek IRex Digital Reader 1000." -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42 msgid "Communicate with the IRex Digital Reader 800" msgstr "Umożliwia komunikację z czytnikiem książek IRex Digital Reader 800." -#: /home/kovid/work/trunk/src/calibre/devices/iriver/driver.py:15 +#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15 msgid "Communicate with the Iriver Story reader." msgstr "Umożliwia komunikację z czytnikiem książek Iriver Story." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20 msgid "Communicate with the JetBook eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek JetBook." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:86 msgid "Communicate with the MiBuk Wolder reader." msgstr "Umożliwia komunikację z czytnikiem MiBuk Wolder" -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:42 msgid "Communicate with the Kindle eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Kindle." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:169 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:169 msgid "Communicate with the Kindle 2 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Kindle 2." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:210 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:210 msgid "Communicate with the Kindle DX eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Kindle DX." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:22 msgid "Communicate with the Kobo Reader" msgstr "Umożliwia komunikację z czytnikiem Kobo Reader." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:53 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:56 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:59 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:161 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:68 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:74 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:136 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:143 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:166 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:136 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:166 msgid "Getting list of books on device..." msgstr "Pobieranie listy książek znajdujących się na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:221 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:265 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:253 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:271 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "Usuwanie książek z urządzenia..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:269 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:276 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:278 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:283 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "Usuwanie książki z urządzenia metadanych lista" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:281 -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:315 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:217 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:247 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "Dodanie książki do urządzenia metadanych lista..." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:366 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:441 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:249 msgid "Not Implemented" msgstr "Niezaimplementowane" -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:367 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 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/trunk/src/calibre/devices/misc.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:17 msgid "Communicate with the Palm Pre" msgstr "Umożliwia komunikację z telefonem Palm Pre." -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:37 msgid "Communicate with the Booq Avant" msgstr "Umożliwia komunikację z czytnikiem Booq Avant" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:58 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:58 msgid "Communicate with the Sweex MM300" msgstr "Umożliwia komunikację z czytnikiem Sweex MM300." -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Kogan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 msgid "Communicate with the Pandigital Novel" msgstr "Umożliwia komunikację z czytnikiem Pandigital Novel." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." msgstr "Umożliwia komunikację z tabletem internetowym Nokia 770." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 msgid "Communicate with the Nokia 810 internet tablet." msgstr "Umożliwia komunikację z tabletem internetowym Nokia 810." -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 msgid "Communicate with the Nokia E52" msgstr "Umożliwia komunikację z telefonem Nokia E52." -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20 msgid "The Nook" msgstr "Nook" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:21 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21 msgid "Communicate with the Nook eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Nook." -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Nuut2." -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:89 msgid "Communicate with the Sony PRS-500 eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Sony PRS-500." -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22 msgid "Communicate with all the Sony eBook readers." msgstr "Umożliwia komunikację ze wszystkimi czytnikami książek Sony." -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:61 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:61 msgid "" "Comma separated list of metadata fields to turn into collections on the " "device. Possibilities include: " @@ -800,44 +808,44 @@ msgstr "" "Lista oddzielonych przecinkami pól metadanych do włączenia do zbiorów w " "urządzeniu. Możliwości obejmują: " -#: /home/kovid/work/trunk/src/calibre/devices/prs505/sony_cache.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/structure.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Nienazwany" -#: /home/kovid/work/trunk/src/calibre/devices/sne/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek Samsung SNE." -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:11 -msgid "Communicate with the Teclast K3 reader." -msgstr "Umożliwia komunikację z czytnikiem książek Teclast K3." +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36 msgid "Communicate with the Newsmy reader." msgstr "Umożliwia komunikację z czytnikiem Newsmy." -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the iPapyrus reader." msgstr "Umożliwia komunikację z czytnikiem iPapyrus." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Wykrycie dysku %s niemożliwe. Spróbuj ponownie uruchomić komputer." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:435 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:435 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "Nie można wykryć %s punkt montowania. Spróbuj zrestartować system." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:500 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:500 msgid "Unable to detect the %s disk drive." msgstr "Nie można wykryć %s dysku." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:593 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:593 msgid "Could not find mount helper: %s." msgstr "Nie można znaleźć pomocnika montowania: %s." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:605 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." @@ -845,148 +853,148 @@ msgstr "" "Nie można wykryć %s dysku. Jądro jest prawdopodobnie eksportujących " "przestarzała wersja SYSFS." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:613 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:613 msgid "Unable to mount main memory (Error code: %d)" msgstr "Nie można zamontować pamięci głównej (Kod błędu: %d)" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:750 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:752 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:750 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:752 msgid "The reader has no storage card in this slot." msgstr "Brak pamięci na karcie urządzenia w tym wejściu." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:754 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:754 msgid "Selected slot: %s is not supported." msgstr "Wybrane gniazda: %s nie jest obsługiwany." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:783 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 msgid "There is insufficient free space in main memory" msgstr "Niewystarczająca ilość wolnej pamięci głównej" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:785 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:787 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:785 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:787 msgid "There is insufficient free space on the storage card" msgstr "Na karcie pamięci jest niewystarczająca ilość wolnego miejsca" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:12 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:12 msgid "Configure Device" msgstr "Konfiguruj urządzenie" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:37 msgid "settings for device drivers" msgstr "ustawienia dla sterowników urządzeń" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:39 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:39 msgid "Ordered list of formats the device will accept" msgstr "Uporządkowana lista formatów akceptowanych przez urządzenie" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:41 msgid "Place files in sub directories if the device supports them" msgstr "Umieszczaj pliki w podfolderach, jeśli urządzenie wpiera ich obsługę" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:43 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 msgid "Read metadata from files on device" msgstr "Odczytaj dane meta z książek na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:45 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:45 msgid "Use author sort instead of author" msgstr "Użyj sortowania według autora zamiast autora" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:47 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:47 msgid "Template to control how books are saved" msgstr "Szablon do kontrolowania sposobu, w jaki książki są zapisywane" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 msgid "Extra customization" msgstr "Dodatkowa personalizacja" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 msgid "Communicate with an eBook reader." msgstr "Umożliwia komunikację z czytnikiem książek." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:57 msgid "Get device information..." msgstr "Pobierz informacje o urządzeniu..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:194 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:194 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 msgid "Transferring books to device..." msgstr "Przenoszenie książek na urządzenie..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:314 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:314 msgid "Sending metadata to device..." msgstr "Przesyłanie danych meta do urządzenia..." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:41 msgid "%prog [options] mybook.chm" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:42 msgid "Output directory. Defaults to current directory" msgstr "Katalog docelowy. Domyślnie aktualny katalog" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:45 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 msgid "Set the book title" msgstr "Ustaw tytuł książki" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:47 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:591 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 msgid "Set sort key for the title" msgstr "Ustaw klucz sortowania dla tytułu" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:593 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 msgid "Set the author" msgstr "Ustaw autora" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:595 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 msgid "Set sort key for the author" msgstr "Ustaw klucz sortowania dla autorów" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:597 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 msgid "The category this book belongs to. E.g.: History" msgstr "Kategoria do jakiej należy tak książka np.: Historia" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:600 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:56 +#: /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 "Ściezka do grafiki, która ma być miniaturką tego pliku." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:59 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:59 msgid "Path to a txt file containing a comment." msgstr "Ścieżka do pliku TXT zawierającego komentarz." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:607 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Extract thumbnail from LRF file" msgstr "Wypakuj miniaturkę z pliku LRF" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Set the publisher" msgstr "Ustaw wydawcę" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:609 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the book classification" msgstr "Wpisz klasyfikację książki" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:610 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 msgid "Set the book creator" msgstr "Wpisz twórcę książki" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "Set the book producer" msgstr "Ustaw wytwórcę książki" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:68 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:613 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:68 +#: /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." @@ -994,24 +1002,24 @@ msgstr "" "Wypakuj okładkę z pliku LRF. Format LRF nie zawiera zdefiniowanej okładki " "jako takiej, dlatego postaramy się odgadnąć gdzie jest." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:615 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 msgid "Set book ID" msgstr "Wpisz identyfikator książki" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:72 msgid "Set font delta" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "Wykonane %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:185 msgid "Failed %s" msgstr "Nieudane %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:239 msgid "" "Failed to process comic: \n" "\n" @@ -1021,7 +1029,7 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:258 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 " @@ -1031,24 +1039,24 @@ msgstr "" "Wartości mniejszej niż 256 może powodować niewyraźne tekst na urządzeniu, " "jeśli tworzenia komiksów w formacie EPUB." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Nie zezwalaj na normalizowanie (poprawianie kontrastu) głębi kolorów. " "Domyślne: Fałsz" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Zachowuj proporcję wymiarów grafiki. Domyślnie grafika rozszerzana jest na " "cały ekran." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." msgstr "Wyłącz wyostrzanie" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -1056,11 +1064,11 @@ msgstr "" "Wyłącz przycięcie komiks stron. Dla niektórych komiksy, przycinanie może " "usunąć treści, jak również granice." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" msgstr "Nie dziel grafik panoramicznych na dwie części" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1068,7 +1076,7 @@ msgstr "" "Zachowaj format i skalę obrazu używając wysokości ekranu jako szerokość " "obrazu podczas wyświetlania w trybie panoramicznym." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1076,7 +1084,7 @@ msgstr "" "Służy do prawej do lewej publikacje jak manga. Przyczyny stron krajobraz " "była podzielona na stronach portret od prawej do lewej." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1084,7 +1092,7 @@ msgstr "" "Włącza odplamiacz. Zmniejsza zakłócenia powodowane plamami. Może znacznie " "wydłużyć czas przetwarzania." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1092,7 +1100,7 @@ msgstr "" "Nie sortowanie plików znajdujących się w komiks alfabetycznie według nazwy. " "Zamiast korzystać z kolejności, w jakiej zostały dodane do komiksu." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 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 " @@ -1101,20 +1109,20 @@ msgstr "" "Format zdjęcia w stworzonym ebook są zamieniane na. Można eksperymentować, " "aby zobaczyć, w jakim formacie daje optymalny rozmiar i wygląd urządzenia." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 msgid "Apply no processing to the image" msgstr "Nie uruchamiaj żadnych przekształceń obrazka." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 msgid "Do not convert the image to grayscale (black and white)" msgstr "Nie przekształcaj grafiki do skali szarości (czarno-białe)" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:426 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:431 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:442 msgid "Page" msgstr "Strona" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19 msgid "" "input_file output_file [options]\n" "\n" @@ -1140,32 +1148,32 @@ msgid "" "For full documentation of the conversion system see\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97 msgid "INPUT OPTIONS" msgstr "OPCJE PLIKU ŹRÓDŁOWEGO" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:98 msgid "Options to control the processing of the input %s file" msgstr "Opcje umożliwiające kontrolę nad przetwarzaniem pliku źródłowego %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104 msgid "OUTPUT OPTIONS" msgstr "OPCJE PLIKU WYJŚCIOWEGO" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:105 msgid "Options to control the processing of the output %s" msgstr "Opcje umożliwiające kontrolę nad przetwarzaniem pliku wyjściowego %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:119 msgid "Options to control the look and feel of the output" msgstr "" "Opcje umożliwiające kontrolę nad wyglądem i zachowaniem pliku wyjściowego" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:135 msgid "Control auto-detection of document structure." msgstr "Kontrola autodetekcji struktury dokumentu." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:145 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 " @@ -1175,27 +1183,27 @@ msgstr "" "źródłowy ma już spis treści, to ma on pierwszeństwo przed tym wygenerowanym " "automatycznie." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:155 msgid "Options to set metadata in the output" msgstr "Opcje odpowiedzialne za ustawienia metadanych w plikach wyjściowych" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:158 msgid "Options to help with debugging the conversion" msgstr "Opcje pomocy przy debugowaniu konwersji" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:183 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 msgid "List builtin recipes" msgstr "Lista wbudowanych źródeł" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:256 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:256 msgid "Output saved to" msgstr "Plik wyjściowy zapisany do" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:95 msgid "Level of verbosity. Specify multiple times for greater verbosity." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:102 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 " @@ -1205,7 +1213,7 @@ msgstr "" "Przydatne, gdy nie jesteś pewien, na którym etapie procesu konwersji pojawia " "się błąd." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:111 msgid "" "Specify the input profile. The input profile gives the conversion system " "information on how to interpret various information in the input document. " @@ -1216,7 +1224,7 @@ msgstr "" "jak interpretować różne informacje w dokumencie wejściowym. Na przykład " "długości zależne od rozdzielczości (tj. długość w pikselach). Do wyboru jest:" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 msgid "" "Specify the output profile. The output profile tells the conversion system " "how to optimize the created document for the specified device. In some " @@ -1228,7 +1236,7 @@ msgstr "" "przypadkach profil wyjścia jest konieczny, aby stworzyć dokument działający " "na urządzeniu. Na przykład EPUB na czytniku SONY. Do wyboru jest:" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:133 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:133 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 " @@ -1240,7 +1248,7 @@ msgstr "" "czcionki w dokumencie wyjściowym. Domyślnie rozmiar czcionki jest określany " "na podstawie wybranego profilu wyjściowego." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:143 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-" @@ -1254,11 +1262,11 @@ msgstr "" "używa tych rozmiarów, aby inteligentnie zmieniać wielkość czcionki. " "Domyślnie używane jest mapowanie bazujące na wybranym profilu wyjściowym." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:155 msgid "Disable all rescaling of font sizes." msgstr "Nie skaluj rozmiaru czcionek." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:162 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:162 msgid "" "The line height in pts. Controls spacing between consecutive lines of text. " "By default no line height manipulation is performed." @@ -1266,7 +1274,7 @@ msgstr "" "Wysokość linii w punktach. Kontroluje odstęp między kolejnymi liniami " "tekstu. Domyślnie żadne zmiany wysokości linii nie są zastosowane." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:170 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:170 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 " @@ -1278,7 +1286,7 @@ msgstr "" "pojawia się tekst wychodzący poza stronę i inne błędy. Ta opcja wyłuska " "tekst z tabel i przedstawi go w sposób ciągły." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 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 " @@ -1288,7 +1296,7 @@ msgstr "" "zawartości spisu treści na poziomie pierwszym, przed wszystkimi formami auto-" "wykrywania." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:189 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:189 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 " @@ -1298,7 +1306,7 @@ msgstr "" "zawartości spisu treści na poziomie drugim. Każde wejście jest dodawane pod " "wcześniejszy pierwszy poziom." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 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 " @@ -1308,7 +1316,7 @@ msgstr "" "zawartości spisu treści na poziomie trzecim. Każde wejście jest dodawane pod " "wcześniejszy drugi poziom." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205 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 " @@ -1318,11 +1326,11 @@ msgstr "" "wygenerowanego automatycznie. Z tą opcją, wygenerowany automatycznie spis " "treści jest zawsze używany." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:213 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "Nie dodawaj automatycznie wykrytych rozdziałów do Spisu Treści" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:220 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" @@ -1330,7 +1338,7 @@ msgstr "" "Jeśli wykryto mniej niż tyle rozdziałów, odnośniki są dodawane do spisu " "treści (TOC). Domyślnie: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:227 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 " @@ -1340,7 +1348,7 @@ msgstr "" "Domyślnie ustawienie: %default. Odnośniki są dodawane do TOC tylko jeśli " "odnaleziono mniej rozdziałów niż określony próg." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:235 msgid "" "Remove entries from the Table of Contents whose titles match the specified " "regular expression. Matching entries and all their children are removed." @@ -1348,7 +1356,7 @@ msgstr "" "Usuwa wpisy ze Spisu Treści, których tytuły pasują do określonego wyrażenia. " "Pasujące wpisy i wszystkie podrzędne zostaną usunięte." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:246 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:246 msgid "" "An XPath expression to detect chapter titles. The default is to consider " "

    or

    tags that contain the words \"chapter\",\"book\",\"section\" or " @@ -1358,7 +1366,7 @@ msgid "" "User Manual for further help on using this feature." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:260 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 " @@ -1370,7 +1378,7 @@ msgstr "" "rozdziałami. Wartość \"brak\" wyłącza zaznaczanie rozdziałów, a \"wszystko\" " "włącza linie i strony przerw jednocześnie." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 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 " @@ -1379,42 +1387,42 @@ msgstr "" "Ścieżka do pliku stylów CSS lub sam CSS. Plik CSS zostanie dodany to stylów " "z pliku źródłowego, może więc zostać użyty do nadpisania tych zasad." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:279 msgid "" "An XPath expression. Page breaks are inserted before the specified elements." msgstr "" "Wyrażenie XPath. Znaczniki końca strony są wstawiane przez określonymi " "elementami." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:285 msgid "" "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Ustaw górny margines w punktach. Domyślna wartość %default. Informacja: 72 " "punkty to 1 cal." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:290 msgid "" "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Ustaw dolny margines w punktach. Domyślna wartość %default. Informacja: 72 " "punkty to 1 cal." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295 msgid "" "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Ustaw lewy margines w punktach. Domyślna wartość %default. Informacja: 72 " "punkty to 1 cal." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:300 msgid "" "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Ustaw prawy margines w punktach. Domyślna wartość %default. Informacja: 72 " "punkty to 1 cal." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:306 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:306 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 " @@ -1423,27 +1431,27 @@ msgid "" "Note that only some output formats support justification." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:316 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/trunk/src/calibre/ebooks/conversion/plumber.py:323 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:323 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/trunk/src/calibre/ebooks/conversion/plumber.py:330 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:330 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." msgstr "Preferuj okładkę z pliku źródłowego w stosunku do wybranej okładki." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:336 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336 msgid "" "Insert a blank line between paragraphs. Will not work if the source file " "does not use paragraphs (

    or

    tags)." @@ -1451,7 +1459,7 @@ msgstr "" "Wstaw pusta linię pomiędzy paragrafami. Ustawienie nie będzie działać, jeśli " "plik źródłowy nie używa pragrafów (znaczników

    lub

    )." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:343 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:343 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." @@ -1460,7 +1468,7 @@ msgstr "" "książka na pierwszej stronie zawiera okładkę, a ty wybrałeś okładkę " "zewnętrzną." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:351 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 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." @@ -1468,29 +1476,29 @@ msgstr "" "Wstaw metadane książki na początku książki. Jest to przydatne, jeśli czytnik " "ebook nie obsługuje wyświetlania/wyszukiwania metadanych bezpośrednio." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:359 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359 msgid "" "Attempt to detect and correct hard line breaks and other problems in the " "source file. This may make things worse, so use with care." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:367 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:367 msgid "Use a regular expression to try and remove the header." msgstr "Użyj wyrażenia regularnego aby spróbować usunąć nagłówek." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:374 msgid "The regular expression to use to remove the header." msgstr "Wyrażenie regularne używane do usuwania nagłówka." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:380 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 msgid "Use a regular expression to try and remove the footer." msgstr "Użyj wyrażenia regularnego aby spróbować usunąć stopkę." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:387 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387 msgid "The regular expression to use to remove the footer." msgstr "Wyrażenie regularne używane do usuwania stopki." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:394 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:394 msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." @@ -1498,7 +1506,7 @@ msgstr "" "Odczytaj metadane ze wybranego pliku OPF. Metadane odczytane z tego pliku " "nadpiszą każde metadane pliku źródłowego." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 msgid "" "Transliterate unicode characters to an ASCII representation. Use with care " "because this will replace unicode characters with ASCII. For instance it " @@ -1508,7 +1516,7 @@ msgid "" "number of people will be used (Chinese in the previous example)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:416 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:416 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 " @@ -1518,115 +1526,119 @@ msgid "" "instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:428 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "Wpisz tytuł." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:432 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:432 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "" "Wpisz autorów. Jeśli jest więcej niż jeden, należy oddzielić ich znakami et " "(\"&\")." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:437 msgid "The version of the title to be used for sorting. " msgstr "Wersja tytułu używana przy sortowaniu. " -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:441 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:441 msgid "String to be used when sorting by author. " msgstr "Łańcuch znaków używany przy sortowaniu po autorze. " -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:445 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:445 msgid "Set the cover to the specified file or URL" msgstr "Ustaw okładkę wybierjąć plik lub podając adres URL." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:449 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "Wpisz opis książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:453 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:453 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "Wpisz wydawcę książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:457 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "Wpisz cykl, do którego należy książka." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:461 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:461 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "Ustaw numer ksiązki w cyklu." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:465 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:465 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "Wpisz ocenę. Musi to być cyfra pomiędzy 1 a 5." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:469 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:469 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "Wpisz numer ISBN książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:473 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:473 +#: /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 "Wpisz etykiety dla książki. Kolejne etykiety oddzielaj przecinkami." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:477 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:477 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "Ustaw producenta książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:481 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:481 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "Wpisz język." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:485 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:485 msgid "Set the publication date." msgstr "Ustaw datę publikacji." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:489 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:589 msgid "Could not find an ebook inside the archive" msgstr "Nie znaleziono książki w archiwum" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:647 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:647 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "Wartości numeru w cyklu i oceny muszą być liczbami. Ignoruję" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:654 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:654 msgid "Failed to parse date/time" msgstr "Nie udało się porzetworzyć daty/czasu" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:809 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:809 msgid "Converting input to HTML..." msgstr "Konwertuję plik źródłowy na plik HTML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:836 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:836 msgid "Running transforms on ebook..." msgstr "Wykonywanie przekształceń na książce..." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:923 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:923 msgid "Creating" msgstr "Tworzenie" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/__init__.py:18 +#: /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/trunk/src/calibre/ebooks/epub/fix/epubcheck.py:18 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:18 msgid "Workaround epubcheck bugs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/epubcheck.py:22 +#: /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 " @@ -1634,7 +1646,7 @@ msgid "" "cause significant changes to your epub, complain to the epubcheck project." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/main.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" "%prog [options] file.epub\n" "\n" @@ -1645,31 +1657,31 @@ msgid "" "detected. Use the options to control which errors are automatically fixed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/main.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" msgstr "Musisz wybrać plik EPUB" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:17 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17 msgid "Fix unmanifested files" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:21 +#: /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/trunk/src/calibre/ebooks/epub/fix/unmanifested.py:32 +#: /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/trunk/src/calibre/ebooks/epub/output.py:56 +#: /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/trunk/src/calibre/ebooks/epub/output.py:62 +#: /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 " @@ -1678,7 +1690,7 @@ msgid "" "turn off splitting on page breaks." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:73 +#: /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 " @@ -1689,7 +1701,7 @@ msgstr "" "dużych rozmiarach. Domyślna wartość %defaultKB to rozmiar wymagany przez " "Adobe Digital Editions." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:80 +#: /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 " @@ -1699,7 +1711,7 @@ msgstr "" "domyślna okładka jest generowana z tytułem, autorami itp. Ta opcja wyłącza " "tworzenie takiej okładki." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:86 +#: /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 " @@ -1711,7 +1723,7 @@ msgstr "" "Lite. Bez tej opcji takie urządzenia będą wyświetlać okładkę jako pustą " "stronę." -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:94 +#: /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 " @@ -1720,42 +1732,42 @@ msgid "" "option the image may be slightly distorted, but there will be no borders." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:169 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:169 msgid "Start" msgstr "Rozpocznij" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/fb2ml.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/rbml.py:102 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/txtml.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 msgid "Table of Contents:" msgstr "Spis treści:" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:32 +#: /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 "Nie wstawiaj spisu treści na początku książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:37 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:35 msgid "Add Table of Contents to beginning of the book." msgstr "Dodaj spis treści na początku książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:248 +#: /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/trunk/src/calibre/ebooks/html/input.py:255 +#: /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/trunk/src/calibre/ebooks/html/input.py:264 +#: /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 " @@ -1763,66 +1775,66 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:272 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:272 msgid "" "Average line length for line breaking if the HTML is from a previous partial " "conversion of a PDF file. Default is %default which disables this." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lit/from_any.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." msgstr "Stwórz plik LIT z pliku EPUB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:320 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tBook Designer file detected." msgstr "\twykryto plik Book Designer." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322 msgid "\tParsing HTML..." msgstr "\tAnalizowanie HTML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:345 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:345 msgid "\tBaen file detected. Re-parsing..." msgstr "\tWykryto plik Baen. Ponowna analiza..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:361 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:361 msgid "Written preprocessed HTML to " msgstr "Zapisano wstępnie przetworziny HTML do " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:379 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:379 msgid "Processing %s" msgstr "Przetwarzanie %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:393 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:393 msgid "\tConverting to BBeB..." msgstr "\tKonwersja do BBeB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:539 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:552 +#: /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 "Nie można przetworzyć pliku: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:544 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:544 msgid "%s is an empty file" msgstr "%s jest pustym plikiem" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:564 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 msgid "Failed to parse link %s %s" msgstr "Analiza odnośnika %s %s nie powiodła się" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:608 msgid "Cannot add link %s to TOC" msgstr "Nie można dodać odnośnika %s do spisu treści" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:957 msgid "Unable to process image %s. Error: %s" msgstr "Nie można przetworzyć obrazu %s. Błąd: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1002 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1002 msgid "Unable to process interlaced PNG %s" msgstr "Nie można było przetworzyć pliku PNG z przepolotem %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1017 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1017 msgid "" "Could not process image: %s\n" "%s" @@ -1830,12 +1842,12 @@ msgstr "" "Nie można przetworzyć grafiki: %s\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1772 +#: /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 "Błąd podczas przetwarzania tabeli: %s. Ignoruję znaczniki tabel." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1774 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1843,23 +1855,23 @@ msgstr "" "Nieprawidłowy spis:\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1796 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "Tabela zawiera zbyt dużą komórkę" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 msgid "Could not read cover image: %s" msgstr "Nie można odczytać grafiki okładki: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Cannot read from: %s" msgstr "Nie można odczytać z: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1994 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1994 msgid "Failed to process opf file" msgstr "Nie udało się przetworzyć pliku opf" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:136 +#: /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" @@ -1867,31 +1879,31 @@ msgstr "" "%prog book.lrf\n" "Konwertuje plik LRF do pliku LRS (rozkodowanego jako XML UTF-8 encoded)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 msgid "Output LRS file" msgstr "Wyjściowy plik LRS" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" msgstr "Nie zapisuj zagnieżdżonych w pliku grafik i czcionek na dysku" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." msgstr "Analizowanie LRF..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161 msgid "Creating XML..." msgstr "tworzenie XML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:163 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163 msgid "LRS written to " msgstr "Plik LRS zapisany do " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 msgid "Could not read from thumbnail file:" msgstr "Nie można odczytać z pliku miniaturki:" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:287 +#: /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." @@ -1899,24 +1911,24 @@ msgstr "" "%prog [opcje] file.lrs\n" "Skompiluj plik LRS do pliku LRF." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:288 msgid "Path to output file" msgstr "Ścieżka do pliku wyjściowego" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:114 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:114 msgid "Verbose processing" msgstr "Szczegółowe komunikaty w czasie pracy" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:292 msgid "Convert LRS to LRS, useful for debugging." msgstr "Konwersja LRS do LRS, opcja przydatna przy debugowaniu." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457 msgid "Invalid LRF file. Could not set metadata." msgstr "Niewłaściwy plik LRF. Nie można ustawić metadanych." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:582 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582 msgid "" "%prog [options] mybook.lrf\n" "\n" @@ -1930,27 +1942,27 @@ msgstr "" "Pokaż/edytuj metadane w pliku LRF.\n" "\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:603 +#: /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 "" "Ścieżka do pliku TXT zawierającego komentarz, który ma zostać zapisany w " "pliku LRF." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:90 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90 msgid "Enable autorotation of images that are wider than the screen width." msgstr "Włącz automatyczne obracanie obrazów, które są szersze niż ekran." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94 msgid "Set the space between words in pts. Default is %default" msgstr "" "Ustaw odstęp pomiędzy słowami w punktach (pt). Domyślnie wynosi on %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:97 msgid "Add a header to all the pages with title and author." msgstr "Dodaj nagłówek z tytułem i autorem do wszystkich stron." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:100 +#: /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" @@ -1958,13 +1970,13 @@ msgstr "" "Ustaw format nagłówka. %a jest zastępowane nazwiskiem autora, %t - tytułem " "książki. Styl domyślny: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 msgid "Add extra spacing below the header. Default is %default pt." msgstr "" "Dodaj dodatkowy odstęp poniżej nagłówka. Domyślna wartość to %default " "punktów." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:107 +#: /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" @@ -1972,7 +1984,7 @@ msgstr "" "Minimalne wcięcie paragrafu (wcięcie pierwszej linii paragrafu) w pts. " "Domyślnie: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:112 +#: /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)" @@ -1980,7 +1992,7 @@ msgstr "" "Wyświetlaj tabele w plikach HTML jako obrazki (przydatne, gdy dokument " "zawiera duże lub złożone tabele)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:117 +#: /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" @@ -1988,110 +2000,110 @@ msgstr "" "Pomnóż wielkość tekstu w wyświetlanych tabelach przez ten współczynnik. " "Domyślny to %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:121 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121 msgid "The serif family of fonts to embed" msgstr "Rodzina czcionek szeryfowych do umieszczenia" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:124 msgid "The sans-serif family of fonts to embed" msgstr "Rodzina czcionek sans-serif do umieszczenia" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:127 msgid "The monospace family of fonts to embed" msgstr "Rodzina czcionek o stałej szerokości do umieszczenia" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:152 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:152 msgid "Comic" msgstr "Komiks" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:397 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:65 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:359 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:550 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Title" msgstr "Tytuł" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:398 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:364 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:888 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:888 msgid "Author(s)" msgstr "Autor(rzy)" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:399 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:61 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "Wydawca" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:400 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "Producent" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:401 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:211 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:99 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:318 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1079 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1079 msgid "Comments" msgstr "Komentarze" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:409 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:73 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:306 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1075 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1075 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:143 msgid "Tags" msgstr "Etykiety" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:411 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:26 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:323 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1084 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1084 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 msgid "Series" msgstr "Cykl" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:412 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 msgid "Language" msgstr "Język" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:414 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1067 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "Data" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:416 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "Opublikowana" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:418 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 msgid "Rights" msgstr "Uprawnienia" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/amazon.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazon.py:85 msgid "EDITORIAL REVIEW" msgstr "PRZEGLĄD REDAKCYJNY" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/archive.py:41 +#: /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." @@ -2099,11 +2111,11 @@ 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/trunk/src/calibre/ebooks/metadata/cli.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20 msgid "options" msgstr "opcje" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:21 msgid "" "\n" "Read/Write metadata from/to ebook files.\n" @@ -2117,7 +2129,7 @@ msgid "" "silently ignored.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:40 +#: /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." @@ -2125,7 +2137,7 @@ msgstr "" "Ustaw autorów. Jeśli występuje kilku autorów oddzielaj ich za pomocą znaku " "\"&\". Dane autorów powinny być podane w kolejności: Imię Nazwisko." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:44 +#: /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." @@ -2133,95 +2145,95 @@ msgstr "" "Wersja tytułu używana przy sortowaniu. Jeśli nie jest określona, a tytuł " "jest podany, zostanie ona automatycznie wygenerowana z tytułu." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:48 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." msgstr "Wybierz okładkę dla wybranego pliku." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:58 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 msgid "Set the book category." msgstr "Wpisz kategorię książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:74 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74 msgid "Set the published date." msgstr "Ustaw datę publikacji." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:77 +#: /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 "Pobierz okładkę z książki i zapisz ją do określonego pliku." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:80 +#: /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 "Określ nazwę dla pliku OPF. Metadane zostaną zapisane w tym pliku." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:83 +#: /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/trunk/src/calibre/ebooks/metadata/cli.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88 msgid "Set the BookID in LRF files" msgstr "Ustaw identyfikator książki w plikach LFR" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153 msgid "No file specified" msgstr "Nie wybrano pliku" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:168 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168 msgid "Original metadata" msgstr "Oryginalne metadane" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:185 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185 msgid "Changed metadata" msgstr "Zmienione metadane" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197 msgid "OPF created in" msgstr "Plik OPF stworzony w" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:203 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203 msgid "Cover saved to" msgstr "Okładka zapisana do" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:205 msgid "No cover found" msgstr "Nie znaleziono okładki" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:27 msgid "Cover download" msgstr "Pobiranie okładki" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 msgid "Download covers from openlibrary.org" msgstr "Pobierz okładki z openlibrary.org" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:107 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:136 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 msgid "ISBN: %s not found" msgstr "ISBN: %s nie znaleziono" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:117 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 msgid "Download covers from librarything.com" msgstr "Pobierz okładki z librarything.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:128 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 msgid "LibraryThing.com timed out. Try again later." msgstr "" "Czas oczekiwania na odpowiedź z LibraryThing.com minął. Spróbuj ponownie " "później." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:135 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:75 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." @@ -2229,44 +2241,44 @@ msgstr "" "Nie można pobrać okładki z serwera, z powodu zbyt dużego obciążenia. Spróbuj " "ponownie później." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/covers.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 msgid "LibraryThing.com server error. Try again later." msgstr "Błąd serwera LibraryThing.com. Spróbuj ponownie poźniej." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/douban.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/douban.py:42 msgid "Downloads metadata from Douban.com" msgstr "Pobierz metadane z Douban.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 msgid "Metadata download" msgstr "Pobieranie metadanych" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "ratings" msgstr "oceny" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 msgid "tags" msgstr "etykiety" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 msgid "description/reviews" msgstr "opis/recenzje" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 msgid "Download %s from %s" msgstr "Pobierz %s z %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 msgid "Downloads metadata from Google Books" msgstr "Pobierz metadane z Google Books" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 msgid "Downloads metadata from isbndb.com" msgstr "Pobierz metadane z isbndb.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2274,15 +2286,15 @@ msgstr "" "Aby użyć bazy isbndb.com musisz stworzyc %sdarmowe konkto%s i wpisać poniżej " "klucz dostępu." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:210 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 msgid "Downloads social metadata from amazon.com" msgstr "Pobierz metadane społecznościowe z amazon.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Pobieraj cykl/etykiety/oceny z librarything.com" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:95 msgid "" "\n" "%prog [options] key\n" @@ -2296,27 +2308,27 @@ msgid "" "\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:106 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:106 msgid "The ISBN ID of the book you want metadata for." msgstr "Kod ISBN książki, dla której chcesz pobrać metadane." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:108 msgid "The author whose book to search for." msgstr "Autor poszukiwanych książek." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:110 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:110 msgid "The title of the book to search for." msgstr "Tytuł poszukiwanej książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:112 msgid "The publisher of the book to search for." msgstr "Wydawca poszukiwanej książki." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:76 msgid " not found." msgstr " nie znaleziono" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:86 msgid "" "\n" "%prog [options] ISBN\n" @@ -2325,20 +2337,20 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1226 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1399 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1226 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1399 msgid "Cover" msgstr "Okładka" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22 msgid "Modify images to meet Palm device size limitations." msgstr "Przekształć grafiki tak, aby odpowiadały limitom urządzenia Palm." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26 msgid "When present, use author sort field as author." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:30 +#: /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." @@ -2346,146 +2358,146 @@ msgstr "" "Nie dodawaj spisu treści na końcu książki. Użyteczne jeśli książka posiada " "własny spis treści." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 +#: /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 "Tytuł dla automatuycznie wygenerowanego spisu treści." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37 msgid "Disable compression of the file contents." msgstr "Wyłącz kompresję zawartości pliku." -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:40 +#: /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/trunk/src/calibre/ebooks/mobi/output.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:108 msgid "All articles" msgstr "Wszystkie artykuły" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:259 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:259 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" "To jest książka z czytnika Amazon Topaz. Nie może ona zostać przetworzona." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1400 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1400 msgid "Title Page" msgstr "Strona tytułowa" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1401 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194 msgid "Table of Contents" msgstr "Spis treści" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1402 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1402 msgid "Index" msgstr "Spis" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1403 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1403 msgid "Glossary" msgstr "Słowniczek" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1404 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1404 msgid "Acknowledgements" msgstr "Podziękowania" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1405 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1405 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1406 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1406 msgid "Colophon" msgstr "Kolofon" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1407 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1407 msgid "Copyright" msgstr "Prawa autorskie" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1408 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1408 msgid "Dedication" msgstr "Dedykacja" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1409 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1409 msgid "Epigraph" msgstr "Epigraf" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1410 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1410 msgid "Foreword" msgstr "Przedsłowie" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1411 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1411 msgid "List of Illustrations" msgstr "Lista ilustracji" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1412 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1412 msgid "List of Tables" msgstr "Lista tabel" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1413 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1413 msgid "Notes" msgstr "Notatki" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1414 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1414 msgid "Preface" msgstr "Wstęp" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1415 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1415 msgid "Main Text" msgstr "Tekst główny" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/iterator.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:41 msgid "%s format books are not supported" msgstr "książki formatu %s nie są wspierane" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 msgid "HTML TOC generation options." msgstr "Opcje generowania spisu treści w HTML." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:113 msgid "Book Jacket" msgstr "Obwoluta" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/split.py:34 +#: /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 "" "Nie można znaleźć odpowiedniego punktu do podziału %s. Rozmiar pod-drzewa: " "%d KB" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 msgid "OPF/NCX/etc. generation options." msgstr "Opcje generowania pilków OPF/NCX/itp." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35 msgid "OPF version to generate. Default is %default." msgstr "Wersja OPF do wygenerowania. Domyślnie %default." -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:37 +#: /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/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128 msgid "Footnotes" msgstr "Przypisy" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135 msgid "Sidebar" msgstr "Pasek boczny" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:22 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line represents a paragraph instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:26 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line starting with an indent (either a tab or 2+ " @@ -2493,11 +2505,11 @@ msgid "" "starts with an indent is reached." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:23 +#: /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/trunk/src/calibre/ebooks/pdb/output.py:27 +#: /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." @@ -2505,22 +2517,22 @@ msgstr "" "Określ kodowanie znaków dokumentu wyjściowego. Domyślnie to cp1252. Uwaga: " "ta opcja nie jest honorowana przez wszystkie formaty." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 msgid "Do not extract images from the document" msgstr "Nie pobieraj grafik z dokumentu" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:26 +#: /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.5, this is the " "median line length." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30 msgid "Use the new PDF conversion engine." msgstr "Używaj nowego silnika konwersji do formatu PDF." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/cli.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 msgid "" "command ...\n" "\n" @@ -2532,7 +2544,7 @@ msgid "" "Manipulate a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:29 msgid "" "[options] file.pdf\n" "\n" @@ -2542,110 +2554,110 @@ msgstr "" "\n" "Przytnij plik PDF..\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:38 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:41 +#: /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 "" "Ścieżka do pliku wyjściowego. Domyślnie jest on tworzony w katalogu bieżącym." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:41 +#: /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 "Liczba pikseli do przycięcia od lewej osi X (domyślnie %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:44 +#: /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 "Liczba pikseli do przycięcia od lewej osi Y (domyślnie %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:47 +#: /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 "Liczba pikseli do przycięcia od prawej osi X (domyślnie %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:50 +#: /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 "Liczba pikseli do przycięcia od prawej osi Y (domyślnie %s)" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:53 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 msgid "Crop Options:" msgstr "Opcje przycinania:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /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 "Opcje związane z transformacjami plików PDF" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 msgid "Decrypt Options:" msgstr "Opcje dekodowania:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 msgid "Encrypt Options:" msgstr "Opcje kodowania:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:21 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/info.py:46 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 +#: /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:33 msgid "Author" msgstr "Autor" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47 msgid "Subject" msgstr "Temat" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48 msgid "Creator" msgstr "Autor" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50 msgid "Pages" msgstr "Strony" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51 msgid "File Size" msgstr "Rozmiar pliku" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 msgid "PDF Version" msgstr "Wersja PDF" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25 msgid "" "[options] file1.pdf file2.pdf ...\n" "\n" @@ -2654,33 +2666,33 @@ msgid "" "Merges individual PDFs.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 msgid "Merge Options:" msgstr "Opcje scalania:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:25 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 msgid "Reverse Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:24 +#: /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/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 msgid "Rotate Options:" msgstr "Opcje obracania:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25 msgid "" "\n" "%prog %%name [options] file.pdf page_to_split_on ...\n" @@ -2695,11 +2707,11 @@ msgid "" "Split a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 msgid "Split Options:" msgstr "Opcje dzielenia:" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:31 +#: /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!" @@ -2707,7 +2719,7 @@ msgstr "" "Jednostka miary. Domyślnie cale. Aktualnie to %s. Uwaga: Ta opcja nie " "zmienia jednostek miar dla marginesów!" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:36 +#: /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" @@ -2715,7 +2727,7 @@ msgstr "" "Rozmiar papieru. Rozmiar ten będzie nadpisany, jeśli używany jest któryś z " "profili wyjścia. Domyślny rozmiar to rozmiar listu. Do wyboru masz %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:40 +#: /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." @@ -2724,11 +2736,11 @@ msgstr "" "szerokośćxwysokość np. \"123x321\". Nadpisuje każde domyślne ustawienia " "papieru." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45 msgid "The orientation of the page. Default is portrait. Choices are %s" msgstr "Orientacja strony. Domyślnie pionowo. Aktualnie %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:49 +#: /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 " "ull first page of the generated pdf." @@ -2736,16 +2748,16 @@ msgstr "" "Zachowaj pierwotne proporcje boków okładki zamiast rozciągania jej, by " "zajmowała całą pierwszą stronę wygenerowanego pliku pdf." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/pdftohtml.py:55 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:33 msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "Określ kodowanie znaków dokumentu wyjściowego. Domyślnie to cp1252." -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -2755,12 +2767,12 @@ msgstr "" "najpierw do HTML, a potem spróbuj ponownie.\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 msgid "" "Specify the character encoding of the output document. The default is utf-8." msgstr "Określ kodowanie znaków dokumentu wyjściowego. Domyślnie to utf-8." -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:27 msgid "" "Specify the compression level to use. Scale 1 - 10. 1 being the lowest " "compression but the fastest and 10 being the highest compression but the " @@ -2770,30 +2782,30 @@ msgstr "" "kompresja, ale najszybsze generowanie dokumentu, a 10 to najwyższa " "kompresja, ale najwolniejsze generowanie dokumentu." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:34 msgid "" "Normally extra spaces are condensed into a single space. With this option " "all spaces will be displayed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:37 msgid "" "Run the text input through the markdown pre-processor. To learn more about " "markdown see" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:40 msgid "Do not insert a Table of Contents into the output text." msgstr "Nie wstawiaj spisu treści do dokumentu wyjśćiowego." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:24 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/trunk/src/calibre/ebooks/txt/output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 msgid "" "Specify the character encoding of the output document. The default is utf-8. " "Note: This option is not honored by all formats." @@ -2801,7 +2813,7 @@ msgstr "" "Określ kodowanie znaków dokumentu wyjściowego. Domyślnie to utf-8. Uwaga: ta " "opcja nie jest honorowana przez wszystkie formaty." -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:38 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 " @@ -2809,343 +2821,559 @@ msgid "" "minimum of 25 characters. Use 0 to disable line splitting." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:45 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/trunk/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Send file to storage card instead of main memory by default" msgstr "" "Wyślij plik do karty pamięci zamiast domyślnie ustawionej głównej pamięci." -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Confirm before deleting" msgstr "Potwierdź przed usunięciem" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Struktura głównego okna" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Powiadom mnie, gdy dostępna jest nowa wersja" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Używaj liczb rzymskich do numerowania cyklu" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "Liczba okładek wyświetlanych w trybie przeglądania okładek" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Domyślne wartości dla konwersji do LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Formats that are viewed using the internal viewer" msgstr "Lista formatów które będą otwierane w wewnętrznej przeglądarce" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Columns to be displayed in the book list" msgstr "Kolumny wyświetlane na liście książek" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Automatically launch content server on application startup" msgstr "Automatycznie włączaj serwer zawartości przy starcie aplikacji" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Oldest news kept in database" msgstr "Najstarsze aktualności trzymane w bazie danych" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Show system tray icon" msgstr "Pokaż ikonę w zasobniku systemowym" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Upload downloaded news to device" msgstr "Prześlij pobrane aktualności na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Delete books from library after uploading to device" msgstr "Usuń książki z biblioteki po przesłaniu ich na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Disable notifications from the system tray icon" msgstr "Zablokuj powiadomienia z ikony w zasobniku systemowym" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Default action to perform when send to device button is clicked" msgstr "" "Domyślne działanie do wykonania, gdy został kliknięty przycisk przesyłania " "na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 msgid "Maximum number of waiting worker processes" msgstr "Maksymalna liczba oczekujących zadań" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 msgid "Download social metadata (tags/rating/etc.)" msgstr "Pobierz metadane społecznościowe (etykiety/oceny/itd.)" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 msgid "Overwrite author and title with new metadata" msgstr "Nadpisz autora i tytuł z nowych metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" "Ogranicz maksymalną liczbę jednocześnie przetwarzanych zadań do liczby rdzeni" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 msgid "The layout of the user interface" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:103 msgid "Disable UI animations" msgstr "Zablokuj animacje UI" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:151 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "Skopiowano" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy" msgstr "Kopiuj" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 msgid "Copy to Clipboard" msgstr "Kopiuj do schowka" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:403 msgid "Choose Files" msgstr "Wybiesz pliki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:245 -msgid "Use library only" -msgstr "Użyj tylko biblioteki" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "A" +msgstr "A" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:246 -msgid "User annotations generated from main library only" -msgstr "Użyj tylko adnotacji wygenerowanych na podstawie biblioteki" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:25 +msgid "Add books" +msgstr "Dodaj książki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:623 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:682 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:719 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:740 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:925 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:998 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1116 -msgid "No books selected" -msgstr "Nie wybrano ksiązek" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "Add books from a single directory" +msgstr "Dodaj książki z pojedyńczego folderu" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:76 -msgid "No books selected to fetch annotations from" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +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 "" +"Dodaj książki z folderów, włączając w to podfoldery (Jedna książka na " +"folder, zakładając, że każdy plik jest tą samą książką w innym formacie)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +msgid "" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" +msgstr "" +"Dodaj książki z folderów, włączając w to podfoldery (Wiele książek na " +"folder, zakładając, że każdy plik jest inną książką)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "Dodaj pustą książkę (Wpis książki bez formatów)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:42 +msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:101 -msgid "Merging user annotations into database" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:129 -msgid "%s
    Last Page Read: %d (%d%%)" -msgstr "%s
    Ostatnio czytana strona: %d (%d%%)" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:135 -msgid "%s
    Last Page Read: Location %d (%d%%)" -msgstr "%s
    Ostatnio czytana strona: Lokalizacja %d (%d%%)" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:154 -msgid "Location %d • %s
    %s
    " -msgstr "Lokalizacja %d • %s
    %s
    " - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:163 -msgid "Page %d • %s
    " -msgstr "Strona %d • %s
    " - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:168 -msgid "Location %d • %s
    " -msgstr "Lokalizacja %d • %s
    " - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:81 msgid "How many empty books?" msgstr "Jak wiele pustych książek?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:82 msgid "How many empty books should be added?" msgstr "Jak wiele pustych książek powinno zostać dodanych?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:339 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Uploading books to device." msgstr "Przesyłam książki na urządzenie." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:165 msgid "Books" msgstr "Książki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:158 msgid "EPUB Books" msgstr "Książki EPUB" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 msgid "LRF Books" msgstr "Książki LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 msgid "HTML Books" msgstr "Książki HTML" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 msgid "LIT Books" msgstr "Książki LIT" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 msgid "MOBI Books" msgstr "Książki MOBI" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 msgid "Topaz books" msgstr "Książki Topaz" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 msgid "Text books" msgstr "Książki tekstowe" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "PDF Books" msgstr "Książki PDF" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "Comics" msgstr "Komiksy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "Archives" msgstr "Archiwa" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Supported books" msgstr "Wspierane książki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Merged some books" msgstr "Scal niektóre książki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:208 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" "Znaleziono duplikaty i złączono je z następującymi istniejącymi książkami:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 msgid "Failed to read metadata" msgstr "Nie można było odczytać metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 msgid "Failed to read metadata from the following" msgstr "Nie można było odczytać metadanych z nastepujących" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Add to library" msgstr "Dodaj do biblioteki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:473 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Nie wybrano ksiązki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 msgid "" "The following books are virtual and cannot be added to the calibre library:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "No book files found" msgstr "Nie znaleziono żadnych plików książek" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 +msgid "Add books to library" +msgstr "Dodaj książki do biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:499 +msgid "Fetch annotations (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:235 +msgid "Use library only" +msgstr "Użyj tylko biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +msgid "User annotations generated from main library only" +msgstr "Użyj tylko adnotacji wygenerowanych na podstawie biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "Nie wybrano ksiązek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 +msgid "No books selected to fetch annotations from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:89 +msgid "Merging user annotations into database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:117 +msgid "%s
    Last Page Read: %d (%d%%)" +msgstr "%s
    Ostatnio czytana strona: %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123 +msgid "%s
    Last Page Read: Location %d (%d%%)" +msgstr "%s
    Ostatnio czytana strona: Lokalizacja %d (%d%%)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:142 +msgid "Location %d • %s
    %s
    " +msgstr "Lokalizacja %d • %s
    %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:151 +msgid "Page %d • %s
    " +msgstr "Strona %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +msgid "Location %d • %s
    " +msgstr "Lokalizacja %d • %s
    " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:32 +msgid "Create catalog of books in your calibre library" +msgstr "Stwórz katalog książek w Twojej bibliotece calibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 +msgid "No books selected to generate catalog for" +msgstr "Brak książek do wygenerowania katalogu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:48 +msgid "Generating %s catalog..." +msgstr "Generowanie katalogu %s..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 +msgid "No books found" +msgstr "Nie znaleziono książek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:54 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:64 +msgid "Catalog generated." +msgstr "Katalog wygenerowany" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:67 +msgid "Export Catalog Directory" +msgstr "Eksportuj folder katalogu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:68 +msgid "Select destination for %s.%s" +msgstr "Wybierz folder docelowy dla %s.%s" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:62 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:110 +msgid "%d books" +msgstr "%d książek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:74 +msgid "Choose calibre library to work with" +msgstr "Wybierz bibliotekę calibre, z którą chcesz pracować" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81 +msgid "Switch to library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:88 +msgid "Quick switch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145 +msgid "No library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +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:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:540 +msgid "Not allowed" +msgstr "Niedozwolone" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 +msgid "You cannot change libraries when a device is connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:184 +msgid "You cannot change libraries while jobs are running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "C" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "Convert books" +msgstr "Konwertuj książki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:26 +msgid "Convert individually" +msgstr "Konwertuj pojedynczo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28 +msgid "Bulk convert" +msgstr "Masowa konwersja" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:84 +msgid "Cannot convert" +msgstr "Nie można przekonwertować" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:113 +msgid "Starting conversion of %d book(s)" +msgstr "Rozpoczynam konwersję %d książki(ek)" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:63 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:64 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:97 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:102 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:103 +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:110 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:231 +msgid "Failed" +msgstr "Nie udało się" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +msgid "Copied %d books to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Del" +msgstr "Usuń" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:18 +msgid "Remove books" +msgstr "Usuń książki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:23 +msgid "Remove selected books" +msgstr "Usuń wybrane książki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:25 +msgid "Remove files of a specific format from selected books.." +msgstr "Usuń pliki określonego formatu z wybranych książek..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:28 +msgid "Remove all formats from selected books, except..." +msgstr "Usuń wszystkie formaty z wybranych książek oprócz..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +msgid "Remove covers from selected books" +msgstr "Usuń okładki z wybranych książek" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:34 +msgid "Remove matching books from device" +msgstr "Usuń pasujące książki z urządzenia" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:52 msgid "Cannot delete" msgstr "Usunięcie niemożliwe." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 msgid "Choose formats to be deleted" msgstr "Wybierz formaty do usunięcia" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:83 msgid "Choose formats not to be deleted" msgstr "Wybierz formaty, które nie zostaną usunięte" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:103 msgid "Cannot delete books" msgstr "Nie udało się usunąć książek" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "No device is connected" msgstr "Żadne urządzenie nie jest podłączone" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:114 msgid "Main memory" msgstr "Pamięć głowna" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:533 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:436 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:445 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:445 msgid "Storage Card A" msgstr "Karta pamięci A" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:534 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:438 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:447 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:447 msgid "Storage Card B" msgstr "Karta pamięci B" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:121 msgid "No books to delete" msgstr "Brak książek do usunięcia" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:122 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/trunk/src/calibre/gui2/actions.py:557 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194 msgid "Deleting books from device." msgstr "Usuwanie książek z urządzenia." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:160 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" @@ -3153,7 +3381,7 @@ msgstr "" "Wybrane książki będą trwale usunięte i ich pliki zostaną usunięte z " "twojego komputera. Jesteś pewien?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179 msgid "" "The selected books will be permanently deleted from your device. Are " "you sure?" @@ -3161,61 +3389,156 @@ msgstr "" "Wybrane książki będą trwale usunięte z twojego urządzenia. Jesteś " "pewien?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:25 +msgid "Connect to folder" +msgstr "Podłącz do folderu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:30 +msgid "Connect to iTunes" +msgstr "Połącz z iTunes" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:47 +msgid "Start Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 +msgid "Stop Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid "Email to" +msgstr "Prześlij emailem do" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:68 +msgid " and delete from library" +msgstr " i usuń z biblioteki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:80 +msgid "Setup email based sharing of books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:97 +msgid "Send to device" +msgstr "Prześlij na urządzenie" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 +msgid "Connect/share" +msgstr "Połącz/udostępnij" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 +msgid "Manage collections" +msgstr "Zarządzaj kolekcjami" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "E" +msgstr "E" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24 +msgid "Edit metadata" +msgstr "Edytuj metadane" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 +msgid "Merge book records" +msgstr "Złącz wpisy książki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 +msgid "M" +msgstr "S" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:30 +msgid "Edit metadata individually" +msgstr "Edytuj metadane pojedynczo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:33 +msgid "Edit metadata in bulk" +msgstr "Edytuj metadane masowo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:36 +msgid "Download metadata and covers" +msgstr "Pobierz metadane i okładki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:39 +msgid "Download only metadata" +msgstr "Pobierz tylko metadane" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:41 +msgid "Download only covers" +msgstr "Pobierz tylko okładki" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:44 +msgid "Download only social metadata" +msgstr "Pobierz tylko metadane społecznościowe" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 +msgid "Merge into first selected book - delete others" +msgstr "Połącz do pierwszej wybranej książki - pozostałe usuń" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 +msgid "Merge into first selected book - keep others" +msgstr "Połącz do pierwszej wybranej książki - pozostałe pozostaw" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 msgid "Cannot download metadata" msgstr "Nie można obrac metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 msgid "social metadata" msgstr "metadane społecznościowe" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "covers" msgstr "okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:98 msgid "metadata" msgstr "metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 msgid "Downloading %s for %d book(s)" msgstr "Pobieram %s dla %d książki(ek)" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:124 msgid "Failed to download some metadata" msgstr "Nie udało się pobrać niektórych metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:125 msgid "Failed to download metadata for the following:" msgstr "Nie udało się pobrać metadanych dla następujących e-ksiązek:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:128 msgid "Failed to download metadata:" msgstr "Nie udało się pobrać metadanych:" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:671 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:608 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:550 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:962 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:998 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "Błąd" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:681 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:175 msgid "Cannot edit metadata" msgstr "Nie można edytować metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:739 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:742 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:205 msgid "Cannot merge books" msgstr "Nie można połączyć książek" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:206 msgid "At least two books must be selected for merging" msgstr "Conajmniej dwie książki muszą zostać wybrane, aby móc je połączyć" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:210 msgid "" "All book formats and metadata from the selected books will be added to the " "first selected book.

    The second and subsequently selected " @@ -3223,7 +3546,7 @@ msgid "" "proceed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 msgid "" "All book formats and metadata from the selected books will be merged into " "the first selected book.

    After merger the second and " @@ -3233,7 +3556,7 @@ msgid "" "from your computer.

    Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:233 msgid "" "You are about to merge more than 5 books. Are you sure you want to " "proceed?" @@ -3241,105 +3564,217 @@ msgstr "" "Chcesz połączyć więcej niż 5 książek. Jesteś pewien, że chcesz " "kontynuować?" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "F" +msgstr "F" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +msgid "Fetch news" +msgstr "Pobierz aktualności" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 +msgid "Fetching news from " +msgstr "Pobieranie aktualności z " + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 +msgid " fetched." +msgstr " - pobrano." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Browse the calibre User Manual" +msgstr "Przeglądaj Podręcznik Użytkownika calibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "F1" +msgstr "F1" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Help" +msgstr "Pomoc" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 +msgid "Open containing folder" +msgstr "Otwórz folder zawierający" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 +msgid "O" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +msgid "Ctrl+P" +msgstr "Ctrl+P" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Preferences" +msgstr "Preferencje" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Run welcome wizard" +msgstr "Uruchom kreator wstępnych ustawień" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:37 +msgid "Cannot configure" +msgstr "Nie można konfigurować" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +msgid "Cannot configure while there are running jobs." +msgstr "Nie można konfigurować programu, gdy są aktywne jakieś zadania." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +msgid "Cannot configure before calibre is restarted." +msgstr "Nie można skonfigurować przed restartem calibre." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "&Restart" +msgstr "&Uruchom ponownie" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "Ctrl+R" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 +msgid "Save single format to disk..." +msgstr "Zapisz w pojedynczym formacie na dysku..." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40 +msgid "S" +msgstr "S" + +#: /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:45 +msgid "Save to disk" +msgstr "Zapisz na dysku" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:47 +msgid "Save to disk in a single directory" +msgstr "Zapisz na dysku w pojedyńczym folderze" + +#: /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 "Zapisz na dysku jedynie pliki w formacie %s" + +#: /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 "Zapisz tylko format %s na dysku do pojedynczego katalogu" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:90 msgid "Cannot save to disk" msgstr "Nie można zapisać na dysku" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:927 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93 msgid "Choose destination directory" msgstr "Wyberz folder docelowy" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:933 -#: /home/kovid/work/trunk/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "Niedozwolone" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:934 +#: /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/trunk/src/calibre/gui2/actions.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:135 msgid "Error while saving" msgstr "Błąd podczas zapisywania" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136 msgid "There was an error while saving." msgstr "Wysapił błąd podczas zapisywania." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:976 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:977 +#: /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 msgid "Could not save some books" msgstr "Nie można była zapisać niektórych książek" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145 msgid "Click the show details button to see which ones." msgstr "Kliknij \"Pokaż szczegóły\", aby zobaczyć które." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:999 -msgid "No books selected to generate catalog for" -msgstr "Brak książek do wygenerowania katalogu" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +msgid "Show book details" +msgstr "Pokaż szczegóły ksiązki" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1016 -msgid "Generating %s catalog..." -msgstr "Generowanie katalogu %s..." - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1021 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:264 -msgid "No books found" -msgstr "Nie znaleziono książek" - -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1022 -msgid "" -"No books to catalog\n" -"Check exclude tags" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1032 -msgid "Catalog generated." -msgstr "Katalog wygenerowany" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:24 +msgid "No detailed info available" +msgstr "Brak szczegółowych informacji" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1035 -msgid "Export Catalog Directory" -msgstr "Eksportuj folder katalogu" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:25 +msgid "No detailed information is available for books on the device." +msgstr "Brak szczegółowych informacji dla książek na urządzeniu." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1036 -msgid "Select destination for %s.%s" -msgstr "Wybierz folder docelowy dla %s.%s" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." +msgstr "Podobne książki..." -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1052 -msgid "Fetching news from " -msgstr "Pobieranie aktualności z " +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Alt+A" +msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1066 -msgid " fetched." -msgstr " - pobrano." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:23 +msgid "Books by same author" +msgstr "Książki tego samego autora" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1115 -msgid "Cannot convert" -msgstr "Nie można przekonwertować" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Alt+S" +msgstr "Alt+S" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1144 -msgid "Starting conversion of %d book(s)" -msgstr "Rozpoczynam konwersję %d książki(ek)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24 +msgid "Books in this series" +msgstr "Książki w tym cyklu" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1260 -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by this publisher" +msgstr "Książki tego samego wydawcy" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books with the same tags" +msgstr "Książki z takimi samymi etykietami" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +msgid "V" +msgstr "V" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31 +msgid "View" +msgstr "Wyświetl" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32 +msgid "View specific format" +msgstr "Wyświetl określony format" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 msgid "Cannot view" msgstr "Nie można wyświetlić" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1266 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "Wybierz format do wyświetlenia" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "Wybrano wiele książek" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 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 " @@ -3347,130 +3782,130 @@ msgid "" "continue?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "Nie można otworzyć folderu" -#: /home/kovid/work/trunk/src/calibre/gui2/actions.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 msgid "%s has no available formats." msgstr "%s nie ma dostępnych formatów." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:54 msgid "Searching in" msgstr "Szukam w" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:232 msgid "Adding..." msgstr "Dodawanie..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:245 msgid "Searching in all sub-directories..." msgstr "Szukaj we wszystkich podfolderach..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:258 msgid "Path error" msgstr "Błędna ścieżka" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 msgid "The specified directory could not be processed." msgstr "Wybrany folder nie może byc przetworzony." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:810 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 msgid "No books" msgstr "Brak książek" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:330 msgid "Added" msgstr "Dodano" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:343 msgid "Adding failed" msgstr "Dodawanie nie powiodło się" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:344 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/trunk/src/calibre/gui2/add.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:356 msgid "Duplicates found!" msgstr "Znleziono duplikaty!" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:357 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:360 msgid "Adding duplicates..." msgstr "Dodawanie duplikatów..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:427 msgid "Saving..." msgstr "Zapisywanie..." -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:480 msgid "Saved" msgstr "Zapisano" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:57 msgid "Searching for sub-folders" msgstr "Wyszukiwanie w podfolderach" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:62 msgid "Searching for books" msgstr "Poszukiwanie książek" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:74 msgid "Looking for duplicates based on file hash" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:109 -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:65 msgid "Choose root folder" msgstr "Wybierz folder główny" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:137 msgid "Invalid root folder" msgstr "Niepoprawny folder główny" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:138 msgid "is not a valid root folder" msgstr "nie jest poprawnym folderem głównym" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:148 msgid "Add books to calibre" msgstr "Dodaj książki do calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/finish_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/kindle_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/library_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 msgid "WizardPage" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:22 msgid "Scanning root folder for books" msgstr "Przeszukiwanie folderu głównego pod kątem książek" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/scan_ui.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:23 msgid "This may take a few minutes" msgstr "To może potrwać kilka minut" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:58 msgid "Choose the location to add books from" msgstr "Wybierz lokalizację, skąd zostaną dodane książki" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:59 msgid "Select a folder on your hard disk" msgstr "Wybierz folder na swoim dysku twardym" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:60 msgid "" "

    calibre can scan your computer for existing books automatically. These " "books will then be copied into the calibre library. This wizard will " @@ -3482,11 +3917,11 @@ msgid "" "not under the root folder you choose.

    " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 msgid "&Root folder:" msgstr "Folder &główny:" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 msgid "" "This folder and its sub-folders will be scanned for books to import into " "calibre's library" @@ -3494,57 +3929,61 @@ msgstr "" "Ten folder i wszystkie podfoldery zostaną przeszukane pod kątem książek do " "zaimportowania do biblioteki calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:52 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:79 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:72 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:551 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:552 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:564 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:568 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:570 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:614 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:365 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:370 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:384 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:395 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:397 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:399 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:404 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:406 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:159 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:128 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:267 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:269 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:270 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 msgid "..." msgstr "..." -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:67 msgid "Handle multiple files per book" msgstr "Zarządzanie wieloma plikami dla książki" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:68 msgid "" "&One book per folder, assumes every ebook file in a folder is the same book " "in a different format" @@ -3552,195 +3991,196 @@ msgstr "" "&Jedna książka na folder, zakłada, że każdy plik ebooka w folderze jest tą " "samą książką w innym formacie" -#: /home/kovid/work/trunk/src/calibre/gui2/add_wizard/welcome_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:69 msgid "" "&Multiple books per folder, assumes every ebook file is a different book" msgstr "" "&Wiele książek na folder, zakłada, że każdy plik ebooka w folderze jest inną " "książką" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:23 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:54 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:311 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:116 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:313 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1065 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1065 msgid "Path" msgstr "Ścieżka" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:24 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:117 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:312 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:100 msgid "Formats" msgstr "Formaty" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:25 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:891 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1068 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:891 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1068 msgid "Collections" msgstr "Kolekcje" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:56 msgid "Click to open" msgstr "Kliknij, aby otworzyć" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:305 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:311 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:317 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1074 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1078 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts.py:47 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:73 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:78 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1074 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1078 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:274 msgid "None" msgstr "Brak" -#: /home/kovid/work/trunk/src/calibre/gui2/book_details.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:310 msgid "Click to open Book Details window" msgstr "Kliknij, aby otworzyć szczegóły ksiązki w oknie" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" msgstr "Opcje BibTex" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "Options specific to" msgstr "Opcje specyficzne dla" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "output" msgstr "wyjście" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:88 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:46 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:50 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 msgid "Form" msgstr "Formularz" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 msgid "Bib file encoding:" msgstr "Kodowanie pliku Bib:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 msgid "Fields to include in output:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 msgid "ascii/LaTeX" msgstr "ascii/LaTeX" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 msgid "Encoding configuration (change if you have errors) :" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 msgid "strict" msgstr "ścisłe" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 msgid "replace" msgstr "zastąp" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 msgid "ignore" msgstr "ignoruj" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 msgid "backslashreplace" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 msgid "BibTeX entry type:" msgstr "Typ wpisu BibTex:" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 msgid "mixed" msgstr "mieszany" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 msgid "misc" msgstr "różny" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 msgid "book" msgstr "książka" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 msgid "Create a citation tag?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 msgid "Expression to form the BibTeX citation tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 msgid "" "Some explanation about this template:\n" " -The fields availables are 'author_sort', 'authors', 'id',\n" @@ -3751,175 +4191,175 @@ msgid "" " -For time field, only the date will be used. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 msgid "CSV/XML Options" msgstr "Opcje CVS/XML" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 msgid "E-book options" msgstr "Opcje książki" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:550 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1496 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1514 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:550 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1607 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1625 msgid "Catalog" msgstr "Katalog" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 msgid "'Don't include this book' tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 msgid "'Mark this book as read' tag:" msgstr "Etykieta 'Oznacz tę książkę jako przeczytaną':" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" -"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " +"- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " "e.g., [Amazon Freebie]\n" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 msgid "Include 'Titles' Section" msgstr "Dołącz sekcję 'Tytuły'" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 msgid "Include 'Recently Added' Section" msgstr "Dołącz sekcję 'Ostatnio dodane'" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 msgid "Sort numbers as text" msgstr "Sortuj numery jako tekst" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 msgid "Tab template for catalog.ui" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 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/trunk/src/calibre/gui2/convert/bulk.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:67 msgid "Bulk Convert" msgstr "Masowa konwersja" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:185 msgid "Options specific to the output format." msgstr "Opcje specyficzne dla formatu wyjściowego." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:15 msgid "Comic Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 +#: /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/pdb_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 "źródłowy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:89 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Liczba kolorów:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Wyłącz normalizację" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachowaj &proporcje" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:92 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Wyłącz wyostrzanie" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:93 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Nie &przycinaj" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:94 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Szerokość" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:95 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Pozioma" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Od &prawej do lewej" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nie sor&tuj" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "&Odpalmiacz" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 msgid "&Disable comic processing" msgstr "&Wyłącz przetwarzanie komiksów" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:115 msgid "&Output format:" msgstr "Format w&yjściowy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 msgid "Disable conversion of images to &black and white" msgstr "Wyłącz konwersję grafik na &czarno-białe" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Debugowanie" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21 msgid "Debug the conversion process." msgstr "Debuguj proces konwersji." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "Wybierz folder debugowania" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Invalid debug directory" msgstr "Niewłaściwy folder debugowania" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" msgstr "Nie udało się storzyć folderu debugowania" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:50 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 " @@ -3927,65 +4367,65 @@ msgid "" "conversion parameters like Table of Contents and Chapter Detection." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 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/trunk/src/calibre/gui2/convert/epub_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" msgstr "Wyjściowy EPUB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:49 msgid "Do not &split on page breaks" msgstr "Nie &dziel przy podziałach strony" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:50 msgid "No default &cover" msgstr "Brak domyślnej &okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:51 msgid "No &SVG cover" msgstr "Wyłącz okładkę &SVG" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:52 msgid "Preserve cover &aspect ratio" msgstr "Zachowaj &proporcje rozmiaru okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 msgid "Split files &larger than:" msgstr "&Dziel pliki większe niż:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 msgid " KB" msgstr " KB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" msgstr "Źródłowy FB2" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:29 msgid "Do not insert a &Table of Contents at the beginning of the book." msgstr "Nie wstawiaj &spisu treści na początku książki." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14 msgid "FB2 Output" msgstr "Wyjściowy FB2" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 msgid "&Inline TOC" msgstr "Spis treści w jednej &linii" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:99 msgid "Font rescaling wizard" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:100 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 " @@ -4001,292 +4441,292 @@ msgid "" "for a discussion of how font size rescaling works.

    " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:103 msgid "&Output document" msgstr "Dokument w&yjściowy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:104 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109 msgid "&Base font size:" msgstr "&Główny rozmiar czcionki:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:105 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:123 msgid "Font size &key:" msgstr "&Klucz rozmiaru czcionki:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:127 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:121 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 msgid " pt" msgstr " pkt" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:107 msgid "Use &default values" msgstr "Uzyj &domuślnych wartośći" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 msgid "&Input document" msgstr "Dokument ź&ródłowy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 msgid "&Font size: " msgstr "&Rozmiar czcionki: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 msgid " will map to size: " msgstr " będzie odpowiadać rozmiarowi: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114 msgid "0.0 pt" msgstr "0,0 pt" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 msgid "Look & Feel" msgstr "Wygląd i zachowanie" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:18 msgid "Control the look and feel of the output" msgstr "Kontroluj wygląd i zachowanie pliku wyjściowego" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" msgstr "Oryginalne" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 msgid "Left align" msgstr "Wyrównanie do lewej" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 msgid "Justify text" msgstr "Wyjustowanie tekstu" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:120 msgid "&Disable font size rescaling" msgstr "Nie &skaluj rozmiaru czcionek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:121 msgid "Base &font size:" msgstr "Główny &rozmiar czcionki:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:124 msgid "Wizard to help you choose an appropriate font size key" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:126 msgid "Line &height:" msgstr "Wysokość &linii:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 msgid "Input character &encoding:" msgstr "&Kodowanie znaków w pliku źródłowym:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 msgid "Remove &spacing between paragraphs" msgstr "Usuń &odstępy pomiędzy paragrafami" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 msgid "Indent size:" msgstr "Rozmiar wcięcia:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 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/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid " em" msgstr " em" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 msgid "Text justification:" msgstr "Wyjustowanie tekstu:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 msgid "&Linearize tables" msgstr "&Przekształcaj tabele na tekst" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 msgid "Extra &CSS" msgstr "Dodatkowa stylizacja kodem &CSS" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 msgid "&Transliterate unicode characters to ASCII" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 msgid "Insert &blank line" msgstr "Wstaw &pustą linię" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 msgid "Keep &ligatures" msgstr "Zachowaj &ligatury" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "Wyjściowy LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:116 msgid "Enable &autorotation of wide images" msgstr "Pozwól &automatycznie obracać szerokie grafiki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117 msgid "&Wordspace:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119 msgid "Minimum para. &indent:" msgstr "Minimalne wcięcie paragrafu:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 msgid "Render &tables as images" msgstr "Renderuj &tabele jako grafiki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "Text size multiplier for text in rendered tables:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 msgid "Add &header" msgstr "Dodaj &nagłówek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Header &separation:" msgstr "&Odzielenie nagłówka:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Header &format:" msgstr "&Format nagłówka:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "&Embed fonts" msgstr "&Zagnieżdżone czcionki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 msgid "&Serif font family:" msgstr "Rodzina czcionki &szeryfowej:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 msgid "S&ans-serif font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 msgid "&Monospaced font family:" msgstr "Rodzina czcionki o &jednakowej szerokości znaków:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195 msgid "Metadata" msgstr "Metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:43 msgid "" "Set the metadata. The output file will contain as much of this metadata as " "possible." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:112 msgid "Choose cover for " msgstr "Wybierz okładkę dla " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "Cannot read" msgstr "Nie można odczytać" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:120 msgid "You do not have permission to read the file: " msgstr "Nie masz uprawnień do odczytu pliku: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Error reading file" msgstr "Błąd przy odczycie pliku" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "

    There was an error reading from file:
    " msgstr "

    Wystąpił błąd podczas odczytu z pliku:
    " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 msgid " is not a valid picture" msgstr " nie jest poprawnym formatem grafiki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Book Cover" msgstr "Okładka książki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 msgid "Use cover from &source file" msgstr "Użyj okładki z pliku ź&ródłowego" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Change &cover image:" msgstr "Zmień grafikę &okładki:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "Browse for an image to use as the cover of this book." msgstr "Wybierz obraz, który będzie użyty jako okładka tej książki." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "&Title: " msgstr "&Tytuł: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Change the title of this book" msgstr "Zmień tytuł tej ksiązki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Author(s): " msgstr "&Autor(rzy): " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Author So&rt:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 msgid "" "Change the author(s) of this book. Multiple authors should be separated by a " "comma" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Publisher: " msgstr "&Wydawca: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Ta&gs: " msgstr "E&tykiety: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "" "Tags categorize the book. This is particularly useful while searching. " "

    They can be any words or phrases, separated by commas." @@ -4295,210 +4735,210 @@ msgstr "" "

    Etykiety mogą być dowolnymi słowami lub frazami, oddzielonymi " "przecinkami." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "&Series:" msgstr "&Cykl:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:381 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "List of known series. You can add new series." msgstr "Lista znanych cykli. Możesz dodać nowe cykle." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Book " msgstr "Książka " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:20 msgid "MOBI Output" msgstr "Wyjściowy MOBI" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:42 msgid "Default" msgstr "Domyślne" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:67 msgid "&Title for Table of Contents:" msgstr "&Tytuł dla spisu treści:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:68 msgid "Rescale images for &Palm devices" msgstr "Przeskaluj grafiki dla urządzeń &Palm" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:69 msgid "Use author &sort for author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:70 msgid "Disable compression of the file contents" msgstr "Wyłącz kompresję zawartości pliku." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 msgid "Do not add Table of Contents to book" msgstr "Nie dodawaj spisu treści do ksiązki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 msgid "Kindle options" msgstr "Opcje Kindle" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 msgid "Periodical masthead font:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 msgid "Personal Doc tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" msgstr "Ustawienia strony" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:116 msgid "&Output profile:" msgstr "Profil &wyjściowy:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:117 msgid "Profile description" msgstr "Opis profilu" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:118 msgid "&Input profile:" msgstr "Profil źródłowy:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:119 msgid "Margins" msgstr "Marginesy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 msgid "&Left:" msgstr "&Lewy:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 msgid "&Top:" msgstr "&Górny:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 msgid "&Right:" msgstr "&Prawy:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 msgid "&Bottom:" msgstr "&Dolny:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:12 msgid "PDB Input" msgstr "Źródłowy PDB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:32 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:47 msgid "Treat each &line as a paragraph" msgstr "Traktuj każdą &linię jako paragraf" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:33 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:48 msgid "Assume print formatting" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:16 msgid "PDB Output" msgstr "Wyjściowy PDB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:36 msgid "&Format:" msgstr "&Format:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 msgid "PDF Input" msgstr "Źródłowy PDF" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:39 msgid "Line &Un-Wrapping Factor:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:40 msgid "No &Images" msgstr "Brak &grafik" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:17 msgid "PDF Output" msgstr "Wyjściowy PDF" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 msgid "&Paper Size:" msgstr "Rozmiar &papieru:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 msgid "&Orientation:" msgstr "&Orientacja" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 msgid "Preserve &aspect ratio of cover" msgstr "Zachowaj &proporcje rozmiaru okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" msgstr "Wyjściowy RB" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:83 msgid "No formats available" msgstr "Brak dostępnych formatów" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:84 msgid "Cannot build regex using the GUI builder without a book." msgstr "" "Nie można uworzyć wyrażenia regularnego, używając konstruktora, bez książki." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:103 msgid "Open book" msgstr "Otwórz książkę" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:52 msgid "Regex Builder" msgstr "Konstruktor wyrażeń regularnych" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:53 msgid "Preview" msgstr "Podgląd" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:54 msgid "Regex:" msgstr "Wyrażenie regularne:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:55 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Test" msgstr "Test" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:171 msgid "Convert" msgstr "Konwertuj" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:196 msgid "Options specific to the input format." msgstr "Opcje dotyczące formatu źródłowego." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:64 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "Okno dialogowe" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:113 msgid "&Input format:" msgstr "Format ź&ródłowy:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:114 msgid "Use &saved conversion settings for individual books" msgstr "Uzyj &zapisanych ustawień konwersji dla pojedynczych książek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" "Detection" @@ -4506,72 +4946,72 @@ msgstr "" "Wykrywanie\n" "struktury" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:19 msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Detect chapters at (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:36 msgid "Insert page breaks before (XPath expression):" msgstr "Wstawiaj znaczniki końca strony przed (wyrażenie XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:38 msgid "Header regular expression:" msgstr "Wyrażenie regularne dla nagłówka:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:41 msgid "Footer regular expression:" msgstr "Wyrażenie regularne dla stopki:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:56 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:76 msgid "Invalid regular expression" msgstr "Nieprawidłowe wyrażenie regularne" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:77 msgid "Invalid regular expression: %s" msgstr "Niewłaściwe wyrażenie regularne: %s" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" msgstr "Nieprawidłowe wyrażenie XPath" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 msgid "The XPath expression %s is invalid." msgstr "Wyrażenie XPath %s jest nieprawidłowe." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Chapter &mark:" msgstr "&Znacznik rozdziału:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 msgid "Remove first &image" msgstr "Usuń pierwszą &grafikę" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 msgid "Insert &metadata as page at start of book" msgstr "Wstaw &metadane jako stronę na początku książki" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 msgid "Remove F&ooter" msgstr "Usuń &stopkę" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:66 msgid "Remove H&eader" msgstr "Usuń &nagłówek" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" "Contents" @@ -4579,161 +5019,161 @@ msgstr "" "Spis\n" "treści" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." msgstr "Kontroluj tworzenie/konwersję spisu treści" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" msgstr "Pierwszy poziom spisu treści (wyrażenie XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" msgstr "Drugi poziom spisu treści (wyrażenie XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" msgstr "Trzeci poziom spisu treści (wyrażenie XPath):" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:63 msgid "Do not add &detected chapters to the Table of Contents" msgstr "Nie dodawaj &wykrytych rozdziałów do spisu treści" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:64 msgid "Number of &links to add to Table of Contents" msgstr "Liczba &linków do dodania do spisu tresci" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:65 msgid "Chapter &threshold" msgstr "&Wstęp do rozdziału" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:66 msgid "&Force use of auto-generated Table of Contents" msgstr "&Wymuś użycie wygenerowanego automatycznie spisu treści" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 msgid "TOC &Filter:" msgstr "Filtr spisu treści:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" msgstr "Źródłowy TXT" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:49 msgid "Process using markdown" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:50 msgid "" "

    Markdown is a simple markup language for text files, that allows for " "advanced formatting. To learn more visit markdown." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:51 msgid "Do not insert Table of Contents into output text when using markdown" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:52 msgid "Preserve &spaces" msgstr "Zachowaj od&stępy" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:16 msgid "TXT Output" msgstr "Wyjściowy TXT" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:46 msgid "&Line ending style:" msgstr "Styl zakończenia &linii:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:48 msgid "&Maximum line length:" msgstr "&Maksymalna długość linii:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:49 -msgid "Force maximum line lenght" -msgstr "Wymuś maksymalną długość linii" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 +msgid "Force maximum line length" +msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:51 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:65 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:50 msgid "TextLabel" msgstr "Etykieta tekstowa" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 msgid "Use a wizard to help construct the XPath expression" msgstr "Użyj kreatora pomagającego skonstruować wyrażenie XPath" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:68 msgid "Match HTML &tags with tag name:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:69 msgid "*" msgstr "*" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:70 msgid "a" msgstr "a" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:71 msgid "br" msgstr "br" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 msgid "div" msgstr "div" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 msgid "h1" msgstr "h1" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 msgid "h2" msgstr "h2" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 msgid "h3" msgstr "h3" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 msgid "h4" msgstr "h4" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 msgid "h5" msgstr "h5" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 msgid "h6" msgstr "h6" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 msgid "hr" msgstr "hr" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 msgid "span" msgstr "span" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 msgid "Having the &attribute:" msgstr "Zawierające &atrybut:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 msgid "With &value:" msgstr "O &wartości:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 msgid "(A regular expression)" msgstr "(wyrażenie regularne)" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 msgid "" "

    For example, to match all h2 tags that have class=\"chapter\", set tag to " "h2, attribute to class and value to " @@ -4743,172 +5183,164 @@ msgid "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath Tutorial." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/cover_flow.py:127 -msgid "Cover browser could not be loaded" -msgstr "Nie udało się uruchomić Przeglądarki okładek" - -#: /home/kovid/work/trunk/src/calibre/gui2/cover_flow.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:118 msgid "Browse by covers" msgstr "Przeglądaj po okładkach" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:78 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:102 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:139 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:130 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:205 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:238 -#: /home/kovid/work/trunk/src/calibre/gui2/library/delegates.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:149 +msgid "Cover browser could not be loaded" +msgstr "Nie udało się uruchomić Przeglądarki okładek" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:242 msgid "Undefined" msgstr "Niezdefiniowany" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 msgid "Yes" msgstr "Tak" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 msgid "No" msgstr "Nie" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:122 msgid "star(s)" msgstr "gwiazdka(i)" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:123 msgid "Unrated" msgstr "Brak oceny" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:156 msgid "Set '%s' to today" msgstr "Ustaw '%s' na dzisiaj" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:266 msgid " index:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:443 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "Automatycznie numeruj książki w cyklu" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:498 msgid "Remove all tags" msgstr "Usuń wszystkie etykiety" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:519 msgid "tags to add" msgstr "etykiety do dodania" -#: /home/kovid/work/trunk/src/calibre/gui2/custom_column_widgets.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:524 msgid "tags to remove" msgstr "etykiety do usunięcia" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:49 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Brak szczegółów." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:166 msgid "Device no longer connected." msgstr "Urządzenie zostało już odłączone." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 msgid "Get device information" msgstr "Pobierz informacje o urządzeniach" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Get list of books on device" msgstr "Pozyskaj listę książek na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305 msgid "Get annotations from device" msgstr "Pobierz adnotacje z urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 msgid "Send metadata to device" msgstr "Prześlij metadane do urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Send collections to device" msgstr "Wyślij kolekcje na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:343 msgid "Upload %d books to device" msgstr "Prześlij %d książek na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:358 msgid "Delete books from device" msgstr "Usuń książki na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:375 msgid "Download books from device" msgstr "Pobierz książki z urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 msgid "View book on device" msgstr "Zobacz ksiązki na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 msgid "Set default send to device action" msgstr "Ustaw domyślne działanie przesyłania na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 msgid "Send to main memory" msgstr "Prześlij do pamięci głownej" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 msgid "Send to storage card A" msgstr "Prześlij na kartę pamięci A" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Send to storage card B" msgstr "Prześlij na kartę pamięci B" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:434 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Main Memory" msgstr "Pamięć głowna" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Send and delete from library" msgstr "Wyślij i usuń z biblioteki" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Send specific format" msgstr "Wyślij wybrany format" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Eject device" msgstr "Odłącz urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:499 -msgid "Fetch annotations (experimental)" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 msgid "Error communicating with device" msgstr "Błąd podczas komunikacji z urządzeniem" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:631 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:636 msgid "Select folder to open as device" msgstr "Ustaw folder do otwarcia jako urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:675 -msgid "Failed" -msgstr "Nie udało się" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 msgid "Error talking to device" msgstr "Błąd komunikacji z urządzeniem" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:685 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4916,299 +5348,323 @@ msgstr "" "Wystąpił chwilowy błąd komunikacji z urządzeniem. Odłącz i podłącz je " "ponownie lub uruchom komputer ponownie." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 msgid "Device: " msgstr "Urządzenie: " -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 msgid " detected." msgstr " wykryte" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 msgid "selected to send" msgstr "wybranych do wysłania" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:817 msgid "Choose format to send to device" msgstr "Wybierz format plików przesyłanych na urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:825 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 msgid "No device" msgstr "Brak urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 msgid "Cannot send: No device is connected" msgstr "Nie można było przesłać: Żadne urządenie nie jest podłączone" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:829 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:834 msgid "No card" msgstr "Brak karty" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:830 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:834 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:831 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:835 msgid "Cannot send: Device has no storage card" msgstr "Nie można przesłać: Urządzenie nie posiada karty pamięci" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:876 msgid "E-book:" msgstr "E-book:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Attached, you will find the e-book" msgstr "W załączniku znajdziesz e-booka" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:879 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:179 msgid "by" msgstr "przez" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 msgid "in the %s format." msgstr "w formacie %s." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Sending email to" msgstr "Wysyłanie wiadomości do" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:923 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:931 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1025 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1087 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1206 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1026 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1088 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1215 msgid "No suitable formats" msgstr "Brak odpowiednich formatów" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:925 msgid "Auto convert the following books before sending via email?" msgstr "" "Dokonać automatycznej konwersji następujących książek przed wysłaniem ich " "poprzez email?" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:932 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Nie można było przesłać następujących książek poprzez email, ponieważ nie " "znaleziono odpowiednich formatów:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:950 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:951 msgid "Failed to email books" msgstr "Przesłanie książek na email nie powiodło się" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:951 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 msgid "Failed to email the following books:" msgstr "Przesłanie następujących książek poprzez email nie powiodło się:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:956 msgid "Sent by email:" msgstr "Preślij poprzez email:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:984 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:985 msgid "News:" msgstr "Aktualności:" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:985 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Attached is the" msgstr "Załączony jest" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:996 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sent news to" msgstr "Wysyłaj aktualności do" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1026 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1088 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1208 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Dokonać automatycznej konwersji następujących książek przed przesłaniem ich " "na urządzenie?" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1056 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1057 msgid "Sending catalogs to device." msgstr "Trwa wysyłanie katalogów do urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1121 msgid "Sending news to device." msgstr "Przesyłanie aktualności na urządzenie." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1173 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Sending books to device." msgstr "Wysyłanie książek do urządzenia." -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1215 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1216 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/trunk/src/calibre/gui2/device.py:1277 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1278 msgid "No space on device" msgstr "Brak miejsca na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:1278 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1279 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" "

    Nie można umieścić książek na urządzeniu z powodu braku wolnego miejsca " -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:78 msgid "Select available formats and their order for this device" msgstr "Wybierz dostepne formaty i ich porządek dla tego urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82 msgid "Use sub directories" msgstr "Uzywaj podkatalogów" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:83 msgid "Use author sort for author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85 msgid "Save &template:" msgstr "&Zapisz schemat:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:68 -msgid "Fit &cover to view" -msgstr "Dopasuj &okładkę do rozmiaru okna" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:43 +msgid "Add books by ISBN" +msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:44 +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.

    Any invalid ISBNs in the list will be " +"ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:45 +msgid "&Paste from clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 +msgid "Fit &cover within view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 msgid "&Previous" msgstr "&Poprzednia" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 msgid "&Next" msgstr "&Następna" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:38 msgid "My Books" msgstr "Moje książki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:289 msgid "Generate catalog" msgstr "Wygeneruj katalog" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:70 msgid "Generate catalog for {0} books" msgstr "Wygeneruj katalog dla {0} książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:71 msgid "Catalog &format:" msgstr "&Format katalogu:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:72 msgid "" "Catalog &title (existing catalog with the same title will be replaced):" msgstr "" "&Tytuł katalogu (istniejący katalog o tej samej nazwie zostanie nadpisany):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:73 msgid "&Send catalog to device automatically" msgstr "Automatycznie wyślij katalog do urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 msgid "Catalog options" msgstr "Opcje katalogu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" msgstr "Wybierz format" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:38 msgid "Choose location for calibre library" msgstr "Wybierz lokalizację dla biblioteki calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:45 msgid "Same as current" msgstr "Taka sama jak obecna" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:46 msgid "The location %s contains the current calibre library" msgstr "Lokalizacja %s zawiera obecną bibliotekę calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 msgid "No existing library found" msgstr "Nie odnaleziono żadnej biblioteki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:52 msgid "There is no existing calibre library at %s" msgstr "Nie ma żadnej biblioteki calibre pod %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 msgid "Not empty" msgstr "Nie pusty" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 msgid "The folder %s is not empty. Please choose an empty folder" msgstr "Folder %s nie jest pusty. Proszę wybrać pusty folder." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 msgid "No location selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +msgid "%s is not an existing folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "Wybierz swoją bibliotekę calibre" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:67 msgid "Your calibre library is currently located at {0}" msgstr "Twoja biblioteka calibre jest obecnie dostępna w {0}" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:68 msgid "New &Location:" msgstr "Nowa &lokalizacja:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:69 msgid "Use &existing library at the new location" msgstr "Użyj &istniejącej biblioteki z nową lokalizacją" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:70 msgid "&Create an empty library at the new location" msgstr "&Stwórz pustą bibliotekę pod nową lokalizacją" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_library_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:71 msgid "&Move current library to new location" msgstr "&Przenieś obecną bibliotekę do nowej lokalizacji" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "Ustaw parametry domyślne konwersji komiksów (pliki CBR/CBZ)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 msgid "Set options for converting %s" msgstr "Ustaw opcje dla konwersji %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Tytuł:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(rzy):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 msgid "Edit Comments" msgstr "Edytuj komentarze" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:172 msgid "%(plugin_type)s %(plugins)s" msgstr "%(plugins)s: %(plugin_type)s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "plugins" msgstr "Wtyczki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:182 msgid "" "\n" "Customization: " @@ -5216,19 +5672,19 @@ msgstr "" "\n" "Dostosowywanie: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "General" msgstr "Ogólne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:198 msgid "Interface" msgstr "Interfejs" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "Konwersja" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" @@ -5236,15 +5692,15 @@ msgstr "" "Dostarczanie\n" "poczty email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Add/Save" msgstr "Dodaj/zapisz" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:202 msgid "Advanced" msgstr "Zaawansowane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:203 msgid "" "Content\n" "Server" @@ -5252,207 +5708,217 @@ msgstr "" "Serwer\n" "zawartości" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:204 msgid "Plugins" msgstr "Wtyczki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Auto send" msgstr "Wysyłaj automatycznie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:228 msgid "Email" msgstr "E-mail" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:233 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:234 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/trunk/src/calibre/gui2/dialogs/config/__init__.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:308 msgid "new email address" msgstr "nowy adres email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "Wide" msgstr "Szeroki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 msgid "Narrow" msgstr "Wąski" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Medium" msgstr "Średnie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:508 msgid "Small" msgstr "Małe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 msgid "Large" msgstr "Duże" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Always" msgstr "Zawsze" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "Automatic" msgstr "Automatycznie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 msgid "Never" msgstr "Nigdy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540 msgid "Done" msgstr "Gotowe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 msgid "Confirmation dialogs have all been reset" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:546 msgid "System port selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:547 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " "port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "Failed to install command line tools." msgstr "Nie powiodła się instalacja narzędzi linii poleceń." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Command line tools installed" msgstr "Narzędzia linii poleceń zostały zainstalowane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 msgid "Command line tools installed in" msgstr "Narzędzia linii poleceń zostały zainstalowane w" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:572 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" "Jeśli przeniesiesz calibre.app, będziesz musiał przeinstalować narzędzia " "linii poleceń." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:623 msgid "No valid plugin path" msgstr "Niewłaściwa ścieżka do wtyczki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:624 msgid "%s is not a valid plugin path" msgstr "%s nie jest właściwą ścieżką do wtyczki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:627 msgid "Choose plugin" msgstr "Wybierz wtyczkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Plugin cannot be disabled" msgstr "Wtyczka nie może zostać wyłączona" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid "The plugin: %s cannot be disabled" msgstr "Wtyczka %s nie może zostać wyłączona" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid "Plugin not customizable" msgstr "Tej wtyczki nie można dostosowywać" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:650 msgid "Plugin: %s does not need customization" msgstr "Wtyczka %s nie potrzebuje dodatkowego dostosowywania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:658 msgid "Customize" msgstr "Dostosuj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:696 msgid "Cannot remove builtin plugin" msgstr "Nie można usunąć wbudowanej wtyczki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:697 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " - ta wtyczka nie może zostać usunięta. Ta wtyczka jest wbudowana w program. " "Zamiast tego spróbuj ją wyłączyć." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:712 +msgid "Invalid tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:713 +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/dialogs/config/__init__.py:743 msgid "You must select a column to delete it" msgstr "Musisz wybrać kolumnę, by móc ją usunąć" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:748 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:718 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "Na pewno?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:750 msgid "Do you really want to delete column %s and all its data?" msgstr "Czy na pewno chcesz usunąć kolumnę %s i całą jej zawartość?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:817 msgid "Error log:" msgstr "Dziennik błędów:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:824 msgid "Access log:" msgstr "Dziennik dostępów:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:821 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:315 msgid "Failed to start content server" msgstr "Włączanie serwera zakończone niepowodzeniem" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 msgid "Invalid size" msgstr "Niewłaściwy rozmiar" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" "Rozmiar %s jest nieprawidłowy. Musi on byc podany w fromacie " "wysokośćxszerokość" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Must restart" msgstr "Wymagany restart" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:945 msgid "" "The changes you made require that Calibre be restarted. Please restart as " "soon as practical." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:979 msgid "Checking database integrity" msgstr "Sprawdzanie integralności bazy danych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:999 msgid "Failed to check database integrity" msgstr "Sprawdzenie integralności bazy danych się nie powiodło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1004 msgid "Some inconsistencies found" msgstr "Znaleziono pewne nieścisłości" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:1005 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -5464,22 +5930,22 @@ msgstr "" "Powinieneś sprawdzić je ręcznie. Taka sytuacja może mieć miejsce, gdy " "ręcznie manipulujesz plikami bezpośrednio w folderze biblioteki." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:133 msgid "TabWidget" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:134 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/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:135 msgid "Read metadata only from &file name" msgstr "Odczytaj metadane jedynie z &nazwy pliku" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:136 msgid "" "Swap the firstname and lastname of the author. This affects only metadata " "read from file names." @@ -5487,11 +5953,11 @@ msgstr "" "Zamień pozycjami imię i nazwisko autora. To ma wpływ jedynie na metadane " "odczytywane z nazw plików." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:137 msgid "&Swap author firstname and lastname" msgstr "&Zamień pozycjami imię i nazwisko" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:138 msgid "" "If an existing book with a similar title and author is found that does not " "have the format being added, the format is added\n" @@ -5502,7 +5968,7 @@ msgid "" "punctuation, case, etc. Author match is exact." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:142 msgid "" "If books with similar titles and authors found, &merge the new files " "automatically" @@ -5510,15 +5976,15 @@ msgstr "" "Jeśli zostaną znalezione książki z podobnymi tytułami i autorami, &złącz " "nowe pliki automatycznie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:143 msgid "&Configure metadata from file name" msgstr "&Konfiguruj metadane pobierane z nazwy pliku" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:144 msgid "&Adding books" msgstr "&Dodawanie książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:145 msgid "" "Here you can control how calibre will save your books when you click the " "Save to Disk button:" @@ -5526,60 +5992,60 @@ msgstr "" "Tutaj możesz zmienić sposób, w jaki calibre będzie zapisywał książki gdy " "klikniesz przycisk Zapisz na dysku:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:146 msgid "Save &cover separately" msgstr "Zapisuj &okładki osobno" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:147 msgid "Update &metadata in saved copies" msgstr "Uaktualnij &metadane w zapisanych kopiach" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:148 msgid "Save metadata in &OPF file" msgstr "Zapisz metadane w pliku &OPF" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:149 msgid "Convert non-English characters to &English equivalents" msgstr "" "Zamieniaj znaki nie w języku angielskiem na ich &angielskie odpowiedniki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:150 msgid "Format &dates as:" msgstr "Formatuj &daty według schematu:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:151 msgid "File &formats to save:" msgstr "&Formaty pliku do zapisu:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:152 msgid "Replace space with &underscores" msgstr "Zastąp spacje &podkreślnikami" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:153 msgid "Change paths to &lowercase" msgstr "Zmieniaj ścieżki na &małe litery" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:154 msgid "&Saving books" msgstr "&Zapisywanie książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:155 msgid "Metadata &management:" msgstr "Zarządzanie &metadanymi:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:156 msgid "Manual management" msgstr "Ręczne zarządzanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:157 msgid "Only on send" msgstr "Tylko podczas wysyłania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:158 msgid "Automatic management" msgstr "Automatyczne zarządzanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:159 msgid "" "

  • Manual Management: Calibre updates the metadata and adds " "collections only when a book is sent. With this option, calibre will never " @@ -5598,7 +6064,7 @@ msgstr "" "synchronizował metadane na urządzeniu z tymi w bibliotece calibre przy " "każdym połączeniu.
  • " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:162 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 " @@ -5609,216 +6075,246 @@ msgstr "" "dla pojedynczych urządzeń poprzez dostosowanie wtyczek interfejsów urządzeń " "w menu Preferencje->Wtyczki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:163 msgid "Sending to &device" msgstr "Przesyłanie na &urządzenie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:536 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:474 -#: /home/kovid/work/trunk/src/calibre/gui2/layout.py:616 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:201 -msgid "Preferences" -msgstr "Preferencje" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Show notification when &new version is available" msgstr "Pokaż powiadomienie, gdy &nowa wersja jest dostępna" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "Pobieraj domyślnie metadane &społecznościowe (etykiety/oceny/itd.)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Overwrite author and title by default when fetching metadata" msgstr "Domyślnie &nadpisuj autora i tytuł przy pobieraniu metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Default network &timeout:" msgstr "Domyślny sieciowy &czas oczekiwania:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid " seconds" msgstr " sekund" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Choose &language (requires restart):" msgstr "Wybierz &język (wymaga restartu):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "Normal" msgstr "Normalny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "High" msgstr "Wysoki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "Low" msgstr "Niski" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Job &priority:" msgstr "&Priorytet zdań:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "Preferred &output format:" msgstr "Preferowany format &docelowy:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 msgid "Reset all disabled &confirmation dialogs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:616 msgid "Preferred &input format order:" msgstr "Preferowany porządek formatów &źródłowych:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "Use &Roman numerals for series number" msgstr "Używaj liczb &rzymskich do numerowania cyklu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "Enable system &tray icon (needs restart)" msgstr "" "Aktywuj ikonę w &zasobniku systemowym (wymaga ponownego uruchomienia)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Show ¬ifications in system tray" msgstr "Pokaż &powiadomienia w zasobniku systemowym" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Show &splash screen at startup" msgstr "Pokaż planszę &startową podczas uruchomienia" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 msgid "Show cover &browser in a separate window (needs restart)" msgstr "Pokaż &przeglądarkę okładek w nowym oknie (wymaga restartu)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "Show &average ratings in the tags browser" msgstr "Pokaż &średnie oceny w Przeglądarce etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:625 msgid "Search as you type" msgstr "Szukaj w trakcie wpisywania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:626 msgid "Automatically send downloaded &news to ebook reader" msgstr "Automatycznie przesyłaj pobrane &aktualności na czytnik e-książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:627 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" "&Usuń wiadomości z biblioteki, gdy jest automatycznie wysyłane do czytnika" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:628 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" "&Liczba wyświetlanych okładek w trybie przeglądarki (wymaga restartu):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:629 msgid "Select visible &columns in library view" msgstr "Wybierz &kolumny wyświetlane w widoku biblioteki:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:631 msgid "Remove a user-defined column" msgstr "Usuń kolumnę użytkownika" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:633 msgid "Add a user-defined column" msgstr "Dodaj kolumnę użytkownika" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:635 msgid "Edit settings of a user-defined column" msgstr "Edytuj ustawienia kolumny użytkownika" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:638 msgid "Use internal &viewer for:" msgstr "Użyj &wewnętrzej przeglądarki dla:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:639 msgid "User Interface &layout (needs restart):" msgstr "&Układ interfejsu użytkownika (wymaga restartu):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:640 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:641 +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/dialogs/config/config_ui.py:642 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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:643 msgid "Disable &animations" msgstr "Zablokuj &animacje" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:644 msgid "Show &donate button (restart)" msgstr "Pokaż przycisk &dotacji (wymaga restartu)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:645 msgid "&Toolbar" msgstr "&Pasek narzędzi" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:646 msgid "&Icon size:" msgstr "&Rozmiar ikon:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:647 msgid "Show &text under icons:" msgstr "Pokaż &tekst pod ikonami:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:648 msgid "Add an email address to which to send books" msgstr "Dodaj adres email, na którego chcesz wysłać ksiązki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:649 msgid "&Add email" msgstr "&Dodaj email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:650 msgid "Make &default" msgstr "&Ustaw jako domyślny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:651 msgid "&Remove email" msgstr "&Usuń email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:652 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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:653 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "&Check database integrity" -msgstr "&Sprawdź integralność bazy danych" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Install command line tools" -msgstr "Za&instaluj narzędzia linii komend" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Open calibre &configuration directory" -msgstr "Otwórz katalog &konfiguracyjny calibre" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:654 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" "Ogranicz liczbę jednocześnie wykonywanych zadań do ilości &rdzeni procesora" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:655 msgid "Debug &device detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:656 +msgid "&Check database integrity" +msgstr "&Sprawdź integralność bazy danych" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:657 +msgid "Open calibre &configuration directory" +msgstr "Otwórz katalog &konfiguracyjny calibre" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:658 +msgid "&Install command line tools" +msgstr "Za&instaluj narzędzia linii komend" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:659 +msgid "&Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:660 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:661 +msgid "All available tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:662 +msgid "&Current tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:663 +msgid "&Restore to defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:664 +msgid "&Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:665 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 " @@ -5828,25 +6324,25 @@ msgstr "" "pomocą przeglądarki z dowolnego miejsca na świecie. Jakiekolwiek zmiany w " "ustawieniach zostaną zatwierdzone po ponownym uruchomieniu serwera." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:666 msgid "Server &port:" msgstr "&Port serwera" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:593 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:212 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "Nazwa &użytkownika:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:594 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:213 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "&Hasło:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:669 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -5854,52 +6350,63 @@ msgstr "" "Jeśli pozostawisz pole hasła puste, każdy będzie mógł uzyskać dostęp do " "twojej kolekcji książek przez interfejs internetowy." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:670 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:671 msgid "Max. &cover size:" msgstr "Maks. rozmiar &okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:598 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "&Pokaż hasło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:673 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:674 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:675 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:676 +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/dialogs/config/config_ui.py:677 msgid "&Start Server" msgstr "&Włącz serwer" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:678 msgid "St&op Server" msgstr "W&yłącz serwer" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:679 msgid "&Test Server" msgstr "&Testuj serwer" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:680 msgid "Run server &automatically on startup" msgstr "Uruchom serwer &automatycznie przy starcie aplikacji" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:681 msgid "View &server logs" msgstr "Pokaż dziennik &serwera" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:606 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

    Remember to leave calibre running as the server only runs as long as " "calibre is running.\n" @@ -5915,7 +6422,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/trunk/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:684 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." @@ -5923,188 +6430,183 @@ msgstr "" "Tutaj można dostosować zachowanie Calibre poprzez kontrolę wtyczek, których " "ma używać." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:685 msgid "Enable/&Disable plugin" msgstr "Włącz/&Wyłącz wtyczkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:686 msgid "&Customize plugin" msgstr "&Dostosuj wtyczkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:687 msgid "&Remove plugin" msgstr "&Usuń wtyczkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:688 msgid "Add new plugin" msgstr "Dodaj nową wtyczkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:689 msgid "Plugin &file:" msgstr "&Plik wtyczki:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:691 msgid "&Add" msgstr "&Dodaj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 msgid "Create Tag-based Column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 msgid "Lookup name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 msgid "Column heading" msgstr "Nagłówek kolumny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 msgid "Column type" msgstr "Typ kolumny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 msgid "Use brackets" msgstr "Użyj nawiasów" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 msgid "Values can be edited" msgstr "Wartości mogą być edytowane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 msgid "Text" msgstr "Tekst" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 msgid "Number" msgstr "Liczba" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:889 -#: /home/kovid/work/trunk/src/calibre/library/server/opds.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:31 +#: /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:889 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:568 msgid "Date" msgstr "Data" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 msgid "Tag on book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 msgid "Explanation text added in create_ct_column.py" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 msgid "Create and edit tag-based columns" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:19 msgid "Text, column shown in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:22 msgid "Comma separated text, like tags, shown in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:25 msgid "Long text, like comments, not shown in the tag browser" msgstr "Długi tekst, jak komentarze, nie pokazywany w Przeglądarce etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:28 msgid "Text column for keeping series-like information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:33 msgid "Floating point numbers" msgstr "Liczby wymierne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:35 msgid "Integers" msgstr "Liczby całkowite" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:37 msgid "Ratings, shown with stars" msgstr "Oceany pokazywane gwiazdkami" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:40 msgid "Yes/No" msgstr "Tak/Nie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:69 msgid "No column selected" msgstr "Nie wybrano kolumny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:70 msgid "No column has been selected" msgstr "Żadna kolumna nie została wybrana" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:74 msgid "Selected column is not a user-defined column" msgstr "Wybrana kolumna nie jest kolumną użytkownika" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:105 msgid "No lookup name was provided" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 msgid "" -"The label must contain only letters, digits and underscores, and start with " -"a letter" +"The lookup name must contain only lower case letters, digits and " +"underscores, and start with a letter" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:116 msgid "No column heading was provided" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:122 msgid "The lookup name %s is already used" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:132 msgid "The heading %s is already used" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column.py:134 -msgid "" -"The lookup name must be lower case and cannot contain \":\"s or spaces" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 msgid "Create or edit custom columns" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 msgid "&Lookup name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 msgid "Column &heading" msgstr "&Nagłówek kolumny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 msgid "" "Used for searching the column. Must contain only digits and lower case " "letters." msgstr "" "Używany do przeszukiwania kolumny. Może zawierać tylko cyfry i małe litery." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 msgid "" "Column heading in the library view and category name in the tag browser" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 msgid "Column &type" msgstr "&Typ kolumny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 msgid "What kind of information will be kept in the column." msgstr "Jaki typ informacji będzie przechowywany w kolumnie." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 msgid "" "

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

    \n" @@ -6115,43 +6617,43 @@ msgid "" " " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 msgid "Use MMM yyyy for month + year, yyyy for year only" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 msgid "Default: dd MMM yyyy." msgstr "Domyślnie: dd MMM yyyy." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 msgid "Format for &dates" msgstr "Format dla &dat" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:21 msgid "Getting debug information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:22 msgid "Copy to &clipboard" msgstr "Kopiuj do &schowka" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:24 msgid "Debug device detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:44 msgid "Invalid template" msgstr "Niewłaściwy szablon" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:45 msgid "The template %s is invalid:" msgstr "Szablon %s jest nieprawidłowy:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:42 msgid "Save &template" msgstr "Zapisz &szablon" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:43 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 " @@ -6160,23 +6662,80 @@ msgid "" "by the empty string." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:44 msgid "Available variables:" msgstr "Dostępne zmienne:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/social.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/social.py:34 msgid "Downloading social metadata, please wait..." msgstr "Pobieranie szpołecznościowych metadanych, proszę czekać..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:50 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:63 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:113 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:114 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:115 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar.py:117 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:94 +msgid "Customize the actions in:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:95 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:96 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:97 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:99 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 +msgid "Ctrl+S" +msgstr "Ctrl+S" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:102 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/toolbar_ui.py:104 +msgid "Remove selected actions from toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "&Zawsze pokazuj to ostrzeżenie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/conversion_error_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:42 msgid "ERROR" msgstr "BŁĄD" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:67 +#: /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." @@ -6184,79 +6743,90 @@ msgstr "" "Wszystkie zaznaczone książki będą trwale usunięte z Twojego " "urządzenia. Sprawdź listę." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 msgid "Location" msgstr "Lokalizacja" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/library/models.py:1064 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1064 msgid "Format" msgstr "Format" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 msgid "Delete from device" msgstr "Usuń z urządzenia" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:33 msgid "Author sort" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 msgid "Manage authors" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 msgid "Sort by author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 msgid "Sort by author sort" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +msgid "" +"Reset all the author sort values to a value automatically generated from the " +"author. Exactly how this value is automatically generated can be controlled " +"via Preferences->Advanced->Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +msgid "Recalculate all author sort values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:62 msgid "ISBN" msgstr "ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:162 msgid "Finding metadata..." msgstr "Wyszukuję metadane..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:176 msgid "Could not find metadata" msgstr "Nie można było znaleźć metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:177 msgid "The metadata download seems to have stalled. Try again later." msgstr "" "Pobieranie metadanych wydaje się przedłużać. Spróbuj ponownie później." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:186 msgid "Warning" msgstr "Ostrzeżenie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:187 msgid "Could not fetch metadata from:" msgstr "Nie udało się pobrać metadanych z:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:191 msgid "No metadata found" msgstr "Nie znaleziono metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:192 msgid "" "No metadata found, try adjusting the title and author or the ISBN key." msgstr "" "Nie odnaleziono metadanych. Spróbuj poprawić tytuł i autora albo numer ISBN." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 msgid "Fetch metadata" msgstr "Pobierz metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 msgid "" "

    calibre can find metadata for your books from two locations: Google " "Books and isbndb.com.

    To use isbndb.com you must sign up for a " @@ -6268,127 +6838,131 @@ msgstr "" "musisz zarejestrować się i wpisać " "poniżej swój klucz dostępu." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 msgid "&Access Key:" msgstr "Klucz &dostepu:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 msgid "Fetch" msgstr "Pobierz" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 msgid "Matches" msgstr "Pasujące" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 msgid "" "Select the book that most closely matches your copy from the list below" msgstr "" "Wybierz książkę, która najdokładniej pasuje do Twojej kopii, z listy poniżej" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 msgid "Download &social metadata (tags/rating/etc.) for the selected book" msgstr "" "Pobierz metadane społecznościowe (etykiety/oceny/itd.) dla zaznaczonej " "książki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 msgid "Overwrite author and title with author and title of selected book" msgstr "" "Nadpisz autora i tytuł danymi odnośnie autora i tytułu z zaznaczonej książki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/job_view_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:37 msgid "Details of job" msgstr "Szczegóły zadania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:44 msgid "Active Jobs" msgstr "Aktywne zadanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:45 msgid "&Stop selected job" msgstr "&Zatrzymaj zaznaczone zadanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:46 msgid "Show job &details" msgstr "Pokaż &szczegóły zadania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 msgid "Stop &all non device jobs" msgstr "Zatrzymaj &wszystkie zadania nie na urządzeniu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:111 msgid "Editing meta information for %d books" msgstr "Edytuję metadane dla %d książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:222 +msgid "Applying changes to %d books. This may take a while." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "Edytuj metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 msgid "A&utomatically set author sort" msgstr "A&utomatycznie sortuj według autora" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 msgid "Author s&ort: " msgstr "S&ortowanie według autora: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 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/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "&Rating:" msgstr "&Ocena:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:372 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "Rating of this book. 0-5 stars" msgstr "Ocena tej książki. 0-5 gwiazdek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 msgid "No change" msgstr "Bez zmian" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid " stars" msgstr " gwiazdek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 msgid "Add ta&gs: " msgstr "Dodaj t&agi: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:378 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "Open Tag Editor" msgstr "Otwórz edytor etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 msgid "&Remove tags:" msgstr "&Usuń etykiety:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 msgid "Comma separated list of tags to remove from the books. " msgstr "Lista oddzielonych przecinkami etykiet do usunięcia z książki. " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 msgid "Remove &format:" msgstr "Usuń &format:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 msgid "&Swap title and author" msgstr "Zamień tytuł i autora" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 msgid "" "Selected books will be automatically numbered,\n" "in the order you selected them.\n" @@ -6396,451 +6970,455 @@ msgid "" "Book A will have series number 1 and Book B series number 2." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 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/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 msgid "Remove &stored conversion settings for the selected books" msgstr "Usuń zapi&sane ustawienia konwersji dla wybranych książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "&Basic metadata" msgstr "&Podstawowe metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "&Custom metadata" msgstr "&Własne metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:94 msgid "Last modified: %s" msgstr "Ostatnio modyfikacja: %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid "Not a valid picture" msgstr "To nie jest działający obrazek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:152 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Choose formats for " msgstr "Wybierz formaty dla " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "No permission" msgstr "Brak uprawnień" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "You do not have permission to read the following files:" msgstr "Nie masz uprawnień do odczytu następujących plików:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:224 msgid "No format selected" msgstr "Nie wybrano formatu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata" msgstr "Nie można odczytać metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:236 msgid "Could not read metadata from %s format" msgstr "Nie można odczytać metadanych z formatu %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:283 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "Could not read cover" msgstr "Nie udało się odczytać okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Could not read cover from %s format" msgstr "Nie można odczytać okładki z formatu %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:291 msgid "The cover in the %s format is invalid" msgstr "Okładka w formacie %s jest nieprawidłowa" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:328 msgid "Abort the editing of all remaining books" msgstr "Przerwij edycję wszystkich pozostałych książek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:465 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 msgid "This ISBN number is valid" msgstr "Numer ISBN jest poprawny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:474 msgid "This ISBN number is invalid" msgstr "Numer ISBN nie jest poprawny" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Cannot use tag editor" msgstr "Nie można użyć edytora etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:554 msgid "The tags editor cannot be used if you have modified the tags" msgstr "Edytor etykiet nie może zostać użyty, jeśli zmodyfikowałeś etykiety" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:574 msgid "Downloading cover..." msgstr "Pobieranie okładki..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:585 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:590 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:596 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Cannot fetch cover" msgstr "Nie można pobrać okładki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:586 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:597 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 msgid "Could not fetch cover.
    " msgstr "Nie można pobrać okładki.
    " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:588 msgid "The download timed out." msgstr "Czas pobierania minął." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:591 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" "Nie udało się odnaleźć okładki dla tej książki. Spróbuj podać najpierw numer " "ISBN." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:604 msgid "" "For the error message from each cover source, click Show details below." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "Bad cover" msgstr "Zła okładka" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 msgid "The cover is not a valid picture" msgstr "Ta okładka nie jest działającym obrazkiem" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors" msgstr "Pojawiły się błędy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 msgid "There were errors downloading social metadata" msgstr "Wystepiły błędy podczas pobierania społecznościowych metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "Cannot fetch metadata" msgstr "Nie można pobrać metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" "Musisz określić co najmniej jeden element - kod ISBN, tytuł, autor lub " "wydawca" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:750 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:759 msgid "Permission denied" msgstr "Brak dostępu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:760 msgid "Could not open %s. Is it being used by another program?" msgstr "" "Nie można otworzyć %s. Czy ten plik nie jest przypadkiem używany przez inny " "program?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Edit Meta Information" msgstr "Edytuj metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "Meta information" msgstr "Metadane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Swap the author and title" msgstr "Zamień autora z tytułem" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "" "Automatically create the author sort entry based on the current author entry" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Remove unused series (Series that have no books)" msgstr "" "Usuń nieużywane cykle (cykle, które są nie przypisane do żadnej książki)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "IS&BN:" msgstr "IS&BN:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Publishe&d:" msgstr "Wy&dana:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "dd MMM yyyy" msgstr "dd MMM rrrr" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Date:" msgstr "&Data:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Comments" msgstr "&Komentarze" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "&Fetch metadata from server" msgstr "&Pobierz metadane z serwera" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Available Formats" msgstr "Dostępne formaty" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "Add a new format for this book to the database" msgstr "Dodaj nowy format tej książki do bazy danych." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove the selected formats for this book from the database." msgstr "Usuń zaznaczone formaty tej ksiązki z bazy danych." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Set the cover for the book from the selected format" msgstr "Przypisz okładkę dla tej książki z wybranego formatu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Update metadata from the metadata in the selected format" msgstr "Uaktualnij metadane pobierając je z metadanych wybranego formatu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Reset cover to default" msgstr "Przywróć domyślną okładkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Download &cover" msgstr "Pobierz o&kładkę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 msgid "Generate a default cover based on the title and author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "&Generate cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "Wymagane hasło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59 msgid "Aborting..." msgstr "Przerywanie..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 +msgid "Working" +msgstr "Zajęty" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" msgstr "" "Obecnie zapisane wyszukanie będzie trwale usunięte. Jesteś pewien?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 msgid "Saved Search Editor" msgstr "Edytor zapisanych wyszukań" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 msgid "Saved Search: " msgstr "Zapisane wyszukania: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 msgid "Select a saved search to edit" msgstr "Wybierz zapisane wyszukanie do edycji" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 msgid "Delete this selected saved search" msgstr "Usuń wybrane zapisane wyszukanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 msgid "Enter a new saved search name." msgstr "Podaj nazwę nowego zapisanego wyszukania." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 msgid "Add the new saved search" msgstr "Dodaj nowe zapisane wyszukanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 msgid "Change the contents of the saved search" msgstr "Zmień zawartość zapisanego wyszukania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:120 msgid "Need username and password" msgstr "Potrzebna jest nazwa użytkownika oraz hasło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 msgid "You must provide a username and/or password to use this news source." msgstr "" "Musisz podać nazwę użytkownik i/lub hasło, aby móc korzystać z tego źródła " "aktualności." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:172 msgid "Created by: " msgstr "Stworzone przez: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:179 msgid "Last downloaded: never" msgstr "Ostatnio pobrano: nigdy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:194 msgid "%d days, %d hours and %d minutes ago" msgstr "%d dni, %d godzin i %d minut temu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:196 msgid "Last downloaded" msgstr "Ostatnio pobrano" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:220 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:192 msgid "Schedule news download" msgstr "Zaplanuj pobieranie aktualności" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:223 msgid "Add a custom news source" msgstr "Dodaj własne źródło aktualności" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:228 msgid "Download all scheduled new sources" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:328 msgid "No internet connection" msgstr "Brak połączenia z internetem" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:329 msgid "Cannot download news as no internet connection is active" msgstr "" "Nie można pobrac żadnych aktualności dopóki żadne połączenie internetowe nie " "jest aktywne" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:193 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:278 msgid "Recipes" msgstr "Źródła" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:194 msgid "Download all scheduled recipes at once" msgstr "Pobierz wszystkie zaplanowane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:195 msgid "Download &all scheduled" msgstr "Pobierz &wszystkie zaplanowane aktualności" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:196 msgid "blurb" msgstr "blurb" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 msgid "&Schedule for download:" msgstr "&Zaplanuj do pobrania:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:198 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 msgid "Every " msgstr "Co " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 msgid "day" msgstr "dzień" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 msgid "Monday" msgstr "poniedziałek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 msgid "Tuesday" msgstr "wtorek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 msgid "Wednesday" msgstr "środę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 msgid "Thursday" msgstr "czwartek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 msgid "Friday" msgstr "piątek" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 msgid "Saturday" msgstr "sobotę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 msgid "Sunday" msgstr "niedzielę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 msgid "at" msgstr "o" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " dni" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 msgid "&Account" msgstr "&Konto" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 msgid "For the scheduling to work, you must leave calibre running." msgstr "" "Aby zaplanowane działania były wykonywane, musisz zostawić włączone calibre." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 msgid "&Schedule" msgstr "&Planowanie" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 msgid "Add &title as tag" msgstr "Dodaj &tytuł jako etykietę" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 msgid "&Extra tags:" msgstr "&Dodatkowe etykiety:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 msgid "&Advanced" msgstr "Z&aawansowane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "&Download now" msgstr "&Pobierz teraz" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -6848,20 +7426,20 @@ msgstr "" "Usuń pobrane aktualności starsze niż podana liczba dni. Ustaw zero, aby " "wyłączyć usuwanie." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "Delete downloaded news older than " msgstr "Usuń pobrane aktualności starsze niż " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" msgstr "zawiera" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." msgstr "" "Tekst, którego szukasz. Jest on interpretowany jako wyrażenie regularne." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 msgid "" "

    Negate this match. That is, only return results that do not match " "this query." @@ -6869,62 +7447,62 @@ msgstr "" "

    Zaneguj to wyszukiwanie. Wynikami będą książki, które nie pasują " "do tekstu wyszukiwania." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 msgid "Negate" msgstr "Zaneguj" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:113 msgid "Advanced Search" msgstr "Wyszukiwanie zaawansowane" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:114 msgid "Find entries that have..." msgstr "Znajdź wpisy zawierające..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:115 msgid "&All these words:" msgstr "&Wszystkie te słowa:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:116 msgid "This exact &phrase:" msgstr "Dokładnie tę &frazę:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:117 msgid "&One or more of these words:" msgstr "&Jedno lub więcej z tych słów:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 msgid "But dont show entries that have..." msgstr "Ale nie pokazuj wpisów zawierających..." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 msgid "Any of these &unwanted words:" msgstr "Którekolwiek z &niechcianych słów:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 msgid "What kind of match to use:" msgstr "Jaki rodzaj porównywania ma być używany:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 msgid "Contains: the word or phrase matches anywhere in the metadata" msgstr "Zawieranie: słowo lub fraza występuje gdziekolwiek w metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 msgid "Equals: the word or phrase must match an entire metadata field" msgstr "" "Równość: słowo lub fraza musi w całości pasować do wpisu w metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 msgid "" "Regular expression: the expression must match anywhere in the metadata" msgstr "" "Wyrażenie regularne: wyrażenie musi pasować gdziekolwiek w metadanych" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 msgid " " msgstr " " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 msgid "" "See the User Manual for more help" @@ -6932,84 +7510,84 @@ msgstr "" "Zerknij do Podręcznika Użytkownika, aby uzyskać więcej informacji" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/select_formats.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" msgstr "Wybierz formaty" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:80 msgid "Authors" msgstr "Autorzy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/trunk/src/calibre/library/field_metadata.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:111 msgid "Publishers" msgstr "Wydawcy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:114 msgid " (not on any book)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:166 msgid "" "The current tag category will be permanently deleted. Are you sure?" msgstr "" "Obecna kategoria etykiet będzie trwale usunięta. Jesteś pewien?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:153 msgid "User Categories Editor" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:154 msgid "A&vailable items" msgstr "D&ostępne elementy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:155 msgid "Apply tags to current tag category" msgstr "Przypisz etykiety do obecnej kategorii etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:157 msgid "A&pplied items" msgstr "Elementy do &zastosowania" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 msgid "Unapply (remove) tag from current tag category" msgstr "Usuń etykiety z obecnej kategorii etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160 msgid "Category name: " msgstr "Nazwa kategorii: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161 msgid "Select a category to edit" msgstr "Wybierz kategorię do edycji" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162 msgid "Delete this selected tag category" msgstr "Usuń wybraną kategorię etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:164 msgid "Enter a new category name. Select the kind before adding it." msgstr "Podaj nazwę nowej kategorii. Przed dodaniem wybierz typ." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165 msgid "Add the new category" msgstr "Dodaj nową kategorię" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 msgid "Category filter: " msgstr "Filtr kategorii: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_categories_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168 msgid "Select the content kind of the new category" msgstr "Wybierz typ zawartości nowej kategorii" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Are your sure?" msgstr "Jesteś pewien?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:69 msgid "" "The following tags are used by one or more books. Are you certain you want " "to delete them?" @@ -7017,15 +7595,15 @@ msgstr "" "Następujące etykiety są przypisane do jednej lub więcej książek. Czy jesteś " "pewien, że chcesz je usunąć?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" msgstr "Edytor etykiet" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" msgstr "&Dostępne etykiety" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." @@ -7033,23 +7611,23 @@ msgstr "" "Usuń etykietę z bazy danych. To działanie usunie tę etykietę ze wszystkich " "książek i usunie ją z bazy danych." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" msgstr "Przypisz etykietę do tej książki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" msgstr "&Przypisane etykiety" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" msgstr "Usuń etykietę z tej książki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" msgstr "Dod&aj etykietę:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." @@ -7057,53 +7635,53 @@ msgstr "" "Jeśli etykieta, której chcesz użyć, nie jest dostępna na liście, możesz " "dodać ją tutaj. Pole akceptuje listę etykiet oddzieloną przecinkami." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" msgstr "Dodaj etykietę do dostępnych etykiet i przypisz ją do tej książki" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:20 msgid "%s (was %s)" msgstr "%s (był %s)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:503 msgid "Item is blank" msgstr "Element jest pusty" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:504 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Element nie może zostać ustawiony jako pusty. Po prostu go usuń." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:91 msgid "No item selected" msgstr "Nie wybrano elementu" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:92 msgid "You must select one item from the list of Available items." msgstr "Musisz wybrać jeden element z listy dostępnych elementów." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:101 msgid "No items selected" msgstr "Nie wybrano elementów" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:102 msgid "You must select at least one items from the list." msgstr "Musisz wybrać przynajmniej jeden element z listy." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:106 msgid "Are you certain you want to delete the following items?" msgstr "Czy na pewno chcesz usunąć następujące elementy?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 msgid "Category Editor" msgstr "Edytor kategorii" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 msgid "Items in use" msgstr "Używane elementy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 msgid "" "Delete item from database. This will unapply the item from all books and " "then remove it from the database." @@ -7111,139 +7689,135 @@ msgstr "" "Usuń element z bazy danych. Ta opcja odłączy element ze wszystkich książek, " "a potem usunie go z bazy danych." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 msgid "Rename the item in every book where it is used." msgstr "Zmień nazwę elementu w każdej książce, w której jest używany." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 -msgid "Ctrl+S" -msgstr "Ctrl+S" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "Testuj ustawienia email" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:52 msgid "Send test mail from %s to:" msgstr "Wyślij testowy email z %s na:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "&Test" msgstr "&Test" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:127 msgid "No recipe selected" msgstr "Nie zaznaczono źródła" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:132 msgid "The attached file: %s is a recipe to download %s." msgstr "Załączony plik: %s jest źródłem do pobrania %s." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:133 msgid "Recipe for " msgstr "Źródło dla " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:150 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" msgstr "Przełącz na tryb zaawansowany" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:164 msgid "Switch to Basic mode" msgstr "Przełącz na tryb podstawowy" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:174 msgid "Feed must have a title" msgstr "Strumień musi mieć tytuł" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:175 msgid "The feed must have a title" msgstr "Strumień musi mieć tytuł" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:179 msgid "Feed must have a URL" msgstr "Strumień musi poisadać adres URL" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:180 msgid "The feed %s must have a URL" msgstr "Strumień %s musi poisadać adres URL" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:185 msgid "Already exists" msgstr "Już istnieje" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:186 msgid "This feed has already been added to the recipe" msgstr "Ten strumień został już dodany do" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:227 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:286 msgid "Invalid input" msgstr "Niepoprawne dane wejściowe" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:228 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:237 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:287 msgid "

    Could not create recipe. Error:
    %s" msgstr "

    Nie można było stworzyć źródła. Błąd:
    %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:241 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:290 msgid "Replace recipe?" msgstr "Zastąpić źródłó?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:242 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:291 msgid "A custom recipe named %s already exists. Do you want to replace it?" msgstr "Własne źródło o nazwie %s już istnieje. Chcesz je zastąpić?" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick recipe" msgstr "Wybierz źródło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick the recipe to customize" msgstr "Wybierz źródło, które chcesz dostosować" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:277 msgid "Choose a recipe file" msgstr "Wybierz plik źródła" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" msgstr "Dodaj własne źródło aktualności" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" msgstr "Dostępne źródła użytkownika" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 msgid "Add/Update &recipe" msgstr "Dodaj/Uaktualnij ź&ródło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 msgid "&Remove recipe" msgstr "&Usuń źródło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 msgid "&Share recipe" msgstr "&Przekaż źródło" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 msgid "Customize &builtin recipe" msgstr "Dostosuj jedno z &domyślnych źródeł" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 msgid "&Load recipe from file" msgstr "&Wczytaj źródło z pliku" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 msgid "" "