diff --git a/.bzrignore b/.bzrignore index 01782b1b39..b0b87a34e6 100644 --- a/.bzrignore +++ b/.bzrignore @@ -37,6 +37,5 @@ nbproject/ calibre_plugins/ recipes/.git recipes/.gitignore -recipes/tv_*.recipe recipes/README recipes/katalog_egazeciarz.recipe diff --git a/COPYRIGHT b/COPYRIGHT index f6eeffc5cd..85d70a8aa8 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -28,6 +28,12 @@ License: LGPL-2.1+ The full text of the LGPL is distributed as in /usr/share/common-licenses/LGPL-2.1 on Debian systems. +Files: src/calibre/utils/fonts/woff/* +Copyright: Jonathan Kew? +License: LGPL-2.1 + The full text of the LGPL is distributed as in + /usr/share/common-licenses/LGPL-2.1 on Debian systems. + Files: src/calibre/ebooks/hyphenate.py Copyright: Copyright (C) 1990, 2004, 2005 Gerard D.C. Kuiken. License: other diff --git a/Changelog.yaml b/Changelog.yaml index a17cb4b82f..f4c5e25cb4 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -19,6 +19,103 @@ # new recipes: # - title: +- version: 0.9.5 + date: 2012-11-02 + + new features: + - title: "Font embedding: Add support for the CSS 3 Fonts module, which means you can embed font families that have more that the usual four faces, with the full set of font-stretch and font-weight variations. Of course, whether the fonts actually show up on a reader will depend on the readers' support for CSS 3." + + - title: "Sharing by email: Allow specifying an 'alias' or friendly name by which to identify each email recipient." + tickets: [1069076] + + - title: "Embedding fonts: Allow adding ttf/otf font files to calibre directly to be used for embedding. That way the fonts do not have to be installed system wide. You can add a font to calibre via the 'Add fonts' button in the font chooser dialog for embedding fonts." + + - title: "E-book viewer: Add the ability to rotate images to the popup image viewer." + tickets: [1073513] + + - title: "Generate cover: Speedup searching the system for a font that can render special characters" + + - title: "A new custom font scanner to locate all fonts on the system. Faster and less crash prone that fontconfig/freetype" + + - title: "Font family chooser: Show the faces available for a family when clicking on the family" + + bug fixes: + - title: "Get Books: Fix eHarlequin and Kobo stores." + tickets: [1072702] + + - title: "Kobo driver: Fix a bug that could cause the on device book matching to fail in certain circumstances." + tickets: [1072437] + + - title: "Kobo driver: When using a SD card do not delete shelves that contain on books on the card (there might be books in the shelf in the main memory)." + tickets: [1073792] + + - title: "Workaround for bug in the windows API CreateHardLink function that breaks using calibre libraries on some networked filesystems." + + - title: "Template editor: Use dummy metadata instead of blank/unknown values" + + - title: "Windows: abort setting of title/author if any of the books' files are in use. Results in less surprising behavior than before, when the title/author would be changed, but the on disk location would not." + + improved recipes: + - Financial Times UK + - Science AAAS + - The Atlantic + + new recipes: + - title: "Pravda in english, italian and portuguese" + author: Darko Miletic + + - title: "Delco Times" + author: Krittika Goyal + + +- version: 0.9.4 + date: 2012-10-26 + + new features: + - title: "Conversion: Add an option to embed a font family into the book." + description: "The embedded font is used as the base font for all text that does not specify its own font family in the input document. Works only with output formats that support font embedding, principally EPUB/AZW3. Option is found under Look & Feel in the conversion dialog. You can ensure that the font is used for all text, regardless of the input document's styles by filtering out font family styles via the Filter Style Information option in the Conversion dialog." + type: major + + - title: "When changing the title/author of a book, use hard links instead of copying the books' files, for a large speedup. Only works on filesystems that support hardlinks." + + - title: "Linux installer: Resume interrupted downloads and verify the SHA-512 signature of the downloaded file before installing it." + + bug fixes: + - title: "Windows: Check if any of the files of a book are in use before changing the title/author, this prevents the creation of duplicate files if one of the files is open in another program" + + - title: "Kobo driver: Fix the ondevice status for some books getting lost." + tickets: [1069403] + + - title: "Catalogs: Fix regression that broke use of prefix rules." + tickets: [1070086] + + - title: "Tag Browser: Fix sorting incorrect for accented letters" + tickets: [1069835] + + - title: "Make the bundled Liberation fonts available on all platforms for embedding" + + - title: "Use mimetype for fonts from the EPUB 3 specification" + + - title: "Get Books: Handle website change that broke the SONY Store plugin" + + - title: "Generate cover: If the default font cannot render characters in the metadata (for example for east asian languages) try to automatically find a font on the system that is capable of rendering the characters" + + - title: "Fix regression that broke certain types of CSS selectors." + tickets: [1068937] + + - title: "Use font-weight:bold instead of font-weight:bolder for the and tags as ADE cant handle bolder when embedded fonts are used" + + improved recipes: + - New York Post + - PC World + - TIME Magazine + - Associated Press + + new recipes: + - title: Yazihane + author: A Erdogan + + - version: 0.9.3 date: 2012-10-19 diff --git a/manual/develop.rst b/manual/develop.rst index a6f1a1308e..b9fba195d3 100644 --- a/manual/develop.rst +++ b/manual/develop.rst @@ -72,13 +72,21 @@ After installing Bazaar, you can get the |app| source code with the command:: bzr branch lp:calibre -On Windows you will need the complete path name, that will be something like :file:`C:\\Program Files\\Bazaar\\bzr.exe`. To update a branch -to the latest code, use the command:: +On Windows you will need the complete path name, that will be something like :file:`C:\\Program Files\\Bazaar\\bzr.exe`. + +To update a branch to the latest code, use the command:: bzr merge -The calibre repository is huge so the branch operation above takes along time (about an hour). If you want to get the code faster, the sourcecode for the latest release is always available as an -`archive `_. +|app| is a very large project with a very long source control history, so the +above can take a while (10mins to an hour depending on your internet speed). + +If you want to get the code faster, the sourcecode for the latest release is +always available as an `archive `_. +You can also use bzr to just download the source code, without the history, +using:: + + bzr branch --stacked lp:calibre Submitting your changes to be included ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -109,7 +117,7 @@ Whenever you commit changes to your branch with the command:: bzr commit -m "Comment describing your change" Kovid can merge it directly from your branch into the main |app| source tree. You should also keep an eye on the |app| -`development forum `. Before making major changes, you should +`development forum `_. Before making major changes, you should discuss them in the forum or contact Kovid directly (his email address is all over the source code). Windows development environment diff --git a/manual/faq.rst b/manual/faq.rst index c8a7b67d27..b434927c04 100644 --- a/manual/faq.rst +++ b/manual/faq.rst @@ -327,9 +327,8 @@ You can browse your |app| collection on your Android device is by using the calibre content server, which makes your collection available over the net. First perform the following steps in |app| - * Set the :guilabel:`Preferred Output Format` in |app| to EPUB (The output format can be set under :guilabel:`Preferences->Interface->Behavior`) - * Set the output profile to Tablet (this will work for phones as well), under :guilabel:`Preferences->Conversion->Common Options->Page Setup` - * Convert the books you want to read on your device to EPUB format by selecting them and clicking the Convert button. + * Set the :guilabel:`Preferred Output Format` in |app| to EPUB for normal Android devices or MOBI for Kindles (The output format can be set under :guilabel:`Preferences->Interface->Behavior`) + * Convert the books you want to read on your device to EPUB/MOBI format by selecting them and clicking the Convert button. * Turn on the Content Server in |app|'s preferences and leave |app| running. Now on your Android device, open the browser and browse to @@ -557,6 +556,27 @@ There can be two reasons why |app| is showing a empty list of books: * Your metadata.db file was deleted/corrupted. In this case, you can ask |app| to rebuild the metadata.db from its backups. Right click the |app| icon in the |app| toolbar (it will say 0 books underneath it) and select Library maintenance->Restore database. |app| will automatically rebuild metadata.db. +I am getting errors with my calibre library on a networked drive/NAS? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Do not put your calibre library on a networked drive**. + +A filesystem is a complex beast. Most network filesystems lack various +filesystem features that |app| uses. Some dont support file locking, some dont +support hardlinking, some are just flaky. Additionally, |app| is a single user +application, if you accidentally run two copies of |app| on the same networked +library, bad things will happen. Finally, different OSes impose different +limitations on filesystems, so if you share your networked drive across OSes, +once again, bad things *will happen*. + +Consider using the |app| Content Server to make your books available on other +computers. Run |app| on a single computer and access it via the Content Server +or a Remote Desktop solution. + +If you must share the actual library, use a file syncing tool like +DropBox or rsync or Microsoft SkyDrive instead of a networked drive. Even with +these tools there is danger of data corruption/loss, so only do this if you are +willing to live with that risk. Content From The Web --------------------- @@ -638,6 +658,9 @@ There are three possible things I know of, that can cause this: * You are using a Wacom branded mouse. There is an incompatibility between Wacom mice and the graphics toolkit |app| uses. Try using a non-Wacom mouse. + * If you use RoboForm, it is known to cause |app| to crash. Add |app| to + the blacklist of programs inside RoboForm to fix this. + * Sometimes if some software has installed lots of new files in your fonts folder, |app| can crash until it finishes indexing them. Just start |app|, then leave it alone for about 20 minutes, without clicking on anything. After that you should be able to use |app| as normal. @@ -674,7 +697,20 @@ If you still cannot get the installer to work and you are on windows, you can us My antivirus program claims |app| is a virus/trojan? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Your antivirus program is wrong. Antivirus programs use heuristics, patterns of code that "looks suspicuous" to detect viruses. It's rather like racial profiling. |app| is a completely open source product. You can actually browse the source code yourself (or hire someone to do it for you) to verify that it is not a virus. Please report the false identification to whatever company you buy your antivirus software from. If the antivirus program is preventing you from downloading/installing |app|, disable it temporarily, install |app| and then re-enable it. +The first thing to check is that you are downloading |app| from the official +website: ``_. |app| is a very popular program +and unscrupulous people try to setup websites offering it for download to fool +the unwary. + +If you have the official download and your antivirus program is still claiming +|app| is a virus, then, your antivirus program is wrong. Antivirus programs use +heuristics, patterns of code that "look suspicious" to detect viruses. It's +rather like racial profiling. |app| is a completely open source product. You +can actually browse the source code yourself (or hire someone to do it for you) +to verify that it is not a virus. Please report the false identification to +whatever company you buy your antivirus software from. If the antivirus program +is preventing you from downloading/installing |app|, disable it temporarily, +install |app| and then re-enable it. How do I backup |app|? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/manual/images/sg_pref.jpg b/manual/images/sg_pref.jpg deleted file mode 100644 index 8bab672c25..0000000000 Binary files a/manual/images/sg_pref.jpg and /dev/null differ diff --git a/manual/images/sg_pref.png b/manual/images/sg_pref.png new file mode 100644 index 0000000000..59faa5f3e9 Binary files /dev/null and b/manual/images/sg_pref.png differ diff --git a/manual/sub_groups.rst b/manual/sub_groups.rst index 2b5c3b3856..c08df9a901 100644 --- a/manual/sub_groups.rst +++ b/manual/sub_groups.rst @@ -65,7 +65,7 @@ You create the custom column in the usual way, using Preferences -> Add your own Then after restarting |app|, you must tell |app| that the column is to be treated as a hierarchy. Go to Preferences -> Look and Feel -> Tag Browser and enter the lookup name "#genre" into the "Categories with hierarchical items" box. Press Apply, and you are done with setting up. -.. image:: images/sg_pref.jpg +.. image:: images/sg_pref.png :align: center At the point there are no genres in the column. We are left with the last step: how to apply a genre to a book. A genre does not exist in |app| until it appears on at least one book. To learn how to apply a genre for the first time, we must go into some detail about what a genre looks like in the metadata for a book. diff --git a/recipes/atlantic.recipe b/recipes/atlantic.recipe index 928f1343b3..55e02b2ad1 100644 --- a/recipes/atlantic.recipe +++ b/recipes/atlantic.recipe @@ -38,8 +38,10 @@ class TheAtlantic(BasicNewsRecipe): self.timefmt = ' [%s]'%ds cover = soup.find('img', src=True, attrs={'class':'cover'}) + if cover is not None: - self.cover_url = cover['src'].replace(' ', '%20') + self.cover_url = re.sub('\s','%20',re.sub('jpg.*','jpg',cover['src'])) + self.log(self.cover_url) feeds = [] seen_titles = set([]) @@ -47,18 +49,16 @@ class TheAtlantic(BasicNewsRecipe): section_title = self.tag_to_string(section.find('h2')) self.log('Found section:', section_title) articles = [] - for post in section.findAll('div', attrs={'class':lambda x : x and - 'post' in x}): - h = post.find(['h3', 'h4']) - title = self.tag_to_string(h) + for post in section.findAll('h3', attrs={'class':'headline'}): + a = post.find('a', href=True) + title = self.tag_to_string(a) if title in seen_titles: continue seen_titles.add(title) - a = post.find('a', href=True) url = a['href'] if url.startswith('/'): url = 'http://www.theatlantic.com'+url - p = post.find('p', attrs={'class':'dek'}) + p = post.parent.find('p', attrs={'class':'dek'}) desc = None self.log('\tFound article:', title, 'at', url) if p is not None: @@ -69,19 +69,29 @@ class TheAtlantic(BasicNewsRecipe): if articles: feeds.append((section_title, articles)) - poems = [] - self.log('Found section: Poems') - pd = soup.find('h2', text='Poetry').parent.parent - for poem in pd.findAll('h4'): - title = self.tag_to_string(poem) - url = poem.find('a')['href'] - if url.startswith('/'): - url = 'http://www.theatlantic.com' + url - self.log('\tFound article:', title, 'at', url) - poems.append({'title':title, 'url':url, 'description':'', - 'date':''}) - if poems: - feeds.append(('Poems', poems)) + rightContent=soup.find('div', attrs = {'class':'rightContent'}) + for module in rightContent.findAll('div', attrs={'class':'module'}): + section_title = self.tag_to_string(module.find('h2')) + articles = [] + for post in module.findAll('div', attrs={'class':'post'}): + a = post.find('a', href=True) + title = self.tag_to_string(a) + if title in seen_titles: + continue + seen_titles.add(title) + url = a['href'] + if url.startswith('/'): + url = 'http://www.theatlantic.com'+url + p = post.parent.find('p', attrs={'class':'dek'}) + desc = None + self.log('\tFound article:', title, 'at', url) + if p is not None: + desc = self.tag_to_string(p) + self.log('\t\t', desc) + articles.append({'title':title, 'url':url, 'description':desc, 'date':''}) + if articles: + feeds.append((section_title, articles)) + return feeds @@ -100,4 +110,3 @@ class TheAtlantic(BasicNewsRecipe): table.replaceWith(div) return soup - diff --git a/recipes/delco_times.recipe b/recipes/delco_times.recipe new file mode 100644 index 0000000000..6c163bd3e5 --- /dev/null +++ b/recipes/delco_times.recipe @@ -0,0 +1,26 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class HindustanTimes(BasicNewsRecipe): + title = u'Delcoe Times' + language = 'en' + __author__ = 'Krittika Goyal' + oldest_article = 1 #days + max_articles_per_feed = 25 + #encoding = 'cp1252' + use_embedded_content = False + + no_stylesheets = True + auto_cleanup = True + + + feeds = [ +('News', + 'http://www.delcotimes.com/?rss=news'), +('Sports', + 'http://www.delcotimes.com/?rss=sports'), +('Business', + 'http://business-news.thestreet.com/the-delaware-county-daily-times/rss/109393'), +('Entertainment', + 'http://www.delcotimes.com/?rss=entertainment'), +] + diff --git a/recipes/financial_times_uk.recipe b/recipes/financial_times_uk.recipe index 4e5b522ae9..6af000d990 100644 --- a/recipes/financial_times_uk.recipe +++ b/recipes/financial_times_uk.recipe @@ -55,7 +55,6 @@ class FinancialTimes(BasicNewsRecipe): ,dict(name='div' , attrs={'class':'standfirst'}) ,dict(name='div' , attrs={'id' :'storyContent'}) ,dict(name='div' , attrs={'class':['ft-story-body','index-detail']}) - ,dict(name='div' , attrs={'class':['ft-story-body','index-detail']}) ,dict(name='h2' , attrs={'class':'entry-title'} ) ,dict(name='span', attrs={'class':lambda x: x and 'posted-on' in x.split()} ) ,dict(name='span', attrs={'class':'author_byline'} ) @@ -91,7 +90,10 @@ class FinancialTimes(BasicNewsRecipe): url = rawlink if not rawlink.startswith('http://'): url = self.PREFIX + rawlink - urlverified = self.browser.open_novisit(url).geturl() # resolve redirect. + try: + urlverified = self.browser.open_novisit(url).geturl() # resolve redirect. + except: + continue title = self.tag_to_string(item) date = strftime(self.timefmt) articles.append({ @@ -175,3 +177,6 @@ class FinancialTimes(BasicNewsRecipe): tfile.close() self.temp_files.append(tfile) return tfile.name + + def cleanup(self): + self.browser.open('https://registration.ft.com/registration/login/logout?location=') \ No newline at end of file diff --git a/recipes/icons/pravda_en.png b/recipes/icons/pravda_en.png new file mode 100644 index 0000000000..f91f59c554 Binary files /dev/null and b/recipes/icons/pravda_en.png differ diff --git a/recipes/icons/pravda_it.png b/recipes/icons/pravda_it.png new file mode 100644 index 0000000000..f91f59c554 Binary files /dev/null and b/recipes/icons/pravda_it.png differ diff --git a/recipes/icons/pravda_por.png b/recipes/icons/pravda_por.png new file mode 100644 index 0000000000..f91f59c554 Binary files /dev/null and b/recipes/icons/pravda_por.png differ diff --git a/recipes/icons/pravda_ru.png b/recipes/icons/pravda_ru.png new file mode 100644 index 0000000000..f91f59c554 Binary files /dev/null and b/recipes/icons/pravda_ru.png differ diff --git a/recipes/lrb.recipe b/recipes/lrb.recipe index 4a203c80ae..6453e78724 100644 --- a/recipes/lrb.recipe +++ b/recipes/lrb.recipe @@ -40,6 +40,6 @@ class LondonReviewOfBooks(BasicNewsRecipe): soup = self.index_to_soup('http://www.lrb.co.uk/') cover_item = soup.find('p',attrs={'class':'cover'}) if cover_item: - cover_url = 'http://www.lrb.co.uk' + cover_item.a.img['src'] + cover_url = cover_item.a.img['src'] return cover_url diff --git a/recipes/nytimesbook.recipe b/recipes/nytimesbook.recipe index 686f30b69a..5388da9dcb 100644 --- a/recipes/nytimesbook.recipe +++ b/recipes/nytimesbook.recipe @@ -1,5 +1,4 @@ from calibre.web.feeds.news import BasicNewsRecipe -from calibre.ebooks.BeautifulSoup import BeautifulSoup class NewYorkTimesBookReview(BasicNewsRecipe): title = u'New York Times Book Review' @@ -7,50 +6,16 @@ class NewYorkTimesBookReview(BasicNewsRecipe): __author__ = 'Krittika Goyal' oldest_article = 8 #days max_articles_per_feed = 1000 - recursions = 2 + #recursions = 2 #encoding = 'latin1' + use_embedded_content = False + + no_stylesheets = True + auto_cleanup = True - remove_stylesheets = True - #remove_tags_before = dict(name='h1', attrs={'class':'heading'}) - remove_tags_after = dict(name='div', attrs={'id':'authorId'}) - remove_tags = [ - dict(name='iframe'), - dict(name=['div', 'a'], attrs={'class':['enlargeThis', 'jumpLink']}), - dict(name='div', attrs={'id':['sidebarArticles', 'toolsRight']}), - #dict(name='ul', attrs={'class':'article-tools'}), - #dict(name='ul', attrs={'class':'articleTools'}), - ] - match_regexps = [ - r'http://www.nytimes.com/.+pagewanted=[2-9]+' - ] feeds = [ -('New York Times Sunday Book Review', - 'http://feeds.nytimes.com/nyt/rss/SundayBookReview'), -] + ('New York Times Sunday Book Review', + 'http://feeds.nytimes.com/nyt/rss/SundayBookReview'), + ] - - def preprocess_html(self, soup): - story = soup.find(name='div', attrs={'id':'article'}) - #td = heading.findParent(name='td') - #td.extract() - soup = BeautifulSoup('t') - body = soup.find(name='body') - body.insert(0, story) - #for x in soup.findAll(name='p', text=lambda x:x and '-->' in x): - #p = x.findParent('p') - #if p is not None: - #p.extract() - return soup - - def postprocess_html(self, soup, first): - for div in soup.findAll(id='pageLinks'): - div.extract() - if not first: - h1 = soup.find('h1') - if h1 is not None: - h1.extract() - t = soup.find(attrs={'class':'timestamp'}) - if t is not None: - t.extract() - return soup diff --git a/recipes/pravda_en.recipe b/recipes/pravda_en.recipe new file mode 100644 index 0000000000..85e8bc91fe --- /dev/null +++ b/recipes/pravda_en.recipe @@ -0,0 +1,53 @@ +__license__ = 'GPL v3' +__copyright__ = '2012, Darko Miletic ' +''' +english.pravda.ru +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Pravda_eng(BasicNewsRecipe): + title = 'Pravda in English' + __author__ = 'Darko Miletic' + description = 'News from Russia and rest of the world' + publisher = 'PRAVDA.Ru' + category = 'news, politics, Russia' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'utf8' + use_embedded_content = False + language = 'en_RU' + remove_empty_feeds = True + publication_type = 'newspaper' + masthead_url = 'http://english.pravda.ru/pix/logo.gif' + extra_css = """ + body{font-family: Arial,sans-serif } + img{margin-bottom: 0.4em; display:block} + """ + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes=['lang', 'style'] + keep_only_tags = [dict(name='div', attrs={'id':'article'})] + + + feeds = [ + (u'World' , u'http://english.pravda.ru/world/export-articles.xml' ) + ,(u'Russia' , u'http://english.pravda.ru/russia/export-articles.xml' ) + ,(u'Society' , u'http://english.pravda.ru/society/export-articles.xml' ) + ,(u'Incidents', u'http://english.pravda.ru/hotspots/export-articles.xml' ) + ,(u'Opinion' , u'http://english.pravda.ru/opinion/export-articles.xml' ) + ,(u'Science' , u'http://english.pravda.ru/science/export-articles.xml' ) + ,(u'Business' , u'http://english.pravda.ru/business/export-articles.xml' ) + ,(u'Economics', u'http://english.pravda.ru/russia/economics/export-articles.xml') + ,(u'Politics' , u'http://english.pravda.ru/russia/politics/export-articles.xml' ) + ] + + def print_version(self, url): + return url + '?mode=print' diff --git a/recipes/pravda_it.recipe b/recipes/pravda_it.recipe new file mode 100644 index 0000000000..67ec52ed19 --- /dev/null +++ b/recipes/pravda_it.recipe @@ -0,0 +1,52 @@ +__license__ = 'GPL v3' +__copyright__ = '2012, Darko Miletic ' +''' +italia.pravda.ru +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Pravda_ita(BasicNewsRecipe): + title = 'Pravda in Italiano' + __author__ = 'Darko Miletic' + description = 'News from Russia and rest of the world' + publisher = 'PRAVDA.Ru' + category = 'news, politics, Russia' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'utf8' + use_embedded_content = False + language = 'it' + remove_empty_feeds = True + publication_type = 'newspaper' + masthead_url = 'http://italia.pravda.ru/pix/logo.gif' + extra_css = """ + body{font-family: Arial,sans-serif } + img{margin-bottom: 0.4em; display:block} + """ + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes=['lang', 'style'] + keep_only_tags = [dict(name='div', attrs={'id':'article'})] + + + feeds = [ + (u'Dal mondo' , u'http://italia.pravda.ru/world/export-articles.xml' ) + ,(u'Russia' , u'http://italia.pravda.ru/russia/export-articles.xml' ) + ,(u'Societa' , u'http://italia.pravda.ru/society/export-articles.xml' ) + ,(u'Avvenimenti', u'http://italia.pravda.ru/hotspots/export-articles.xml' ) + ,(u'Opinioni' , u'http://italia.pravda.ru/opinion/export-articles.xml' ) + ,(u'Scienza' , u'http://italia.pravda.ru/science/export-articles.xml' ) + ,(u'Economia' , u'http://italia.pravda.ru/russia/economics/export-articles.xml') + ,(u'Politica' , u'http://italia.pravda.ru/russia/politics/export-articles.xml' ) + ] + + def print_version(self, url): + return url + '?mode=print' diff --git a/recipes/pravda_por.recipe b/recipes/pravda_por.recipe new file mode 100644 index 0000000000..9022817f59 --- /dev/null +++ b/recipes/pravda_por.recipe @@ -0,0 +1,51 @@ +__license__ = 'GPL v3' +__copyright__ = '2012, Darko Miletic ' +''' +port.pravda.ru +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Pravda_port(BasicNewsRecipe): + title = u'Pravda em português' + __author__ = 'Darko Miletic' + description = 'News from Russia and rest of the world' + publisher = 'PRAVDA.Ru' + category = 'news, politics, Russia' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'utf8' + use_embedded_content = False + language = 'pt' + remove_empty_feeds = True + publication_type = 'newspaper' + masthead_url = 'http://port.pravda.ru/pix/logo.gif' + extra_css = """ + body{font-family: Arial,sans-serif } + img{margin-bottom: 0.4em; display:block} + """ + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes=['lang', 'style'] + keep_only_tags = [dict(name='div', attrs={'id':'article'})] + + + feeds = [ + (u'Mundo' , u'http://port.pravda.ru/mundo/export-articles.xml' ) + ,(u'Russia' , u'http://port.pravda.ru/russa/export-articles.xml' ) + ,(u'Sociedade' , u'http://port.pravda.ru/sociedade/export-articles.xml' ) + ,(u'Cultura' , u'http://port.pravda.ru/sociedade/cultura/export-articles.xml') + ,(u'Ciencia' , u'http://port.pravda.ru/science/export-articles.xml' ) + ,(u'Desporto' , u'http://port.pravda.ru/desporto/export-articles.xml' ) + ,(u'CPLP' , u'http://port.pravda.ru/cplp/export-articles.xml' ) + ] + + def print_version(self, url): + return url + '?mode=print' diff --git a/recipes/pravda_ru.recipe b/recipes/pravda_ru.recipe new file mode 100644 index 0000000000..4d62c84638 --- /dev/null +++ b/recipes/pravda_ru.recipe @@ -0,0 +1,50 @@ +__license__ = 'GPL v3' +__copyright__ = '2012, Darko Miletic ' +''' +www.pravda.ru +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Pravda_ru(BasicNewsRecipe): + title = u'Правда' + __author__ = 'Darko Miletic' + description = u'Правда.Ру: Аналитика и новости' + publisher = 'PRAVDA.Ru' + category = 'news, politics, Russia' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'utf8' + use_embedded_content = False + language = 'ru' + remove_empty_feeds = True + publication_type = 'newspaper' + masthead_url = 'http://www.pravda.ru/pix/logo.gif' + extra_css = """ + body{font-family: Arial,sans-serif } + img{margin-bottom: 0.4em; display:block} + """ + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_attributes=['lang', 'style'] + keep_only_tags = [dict(name='div', attrs={'id':'article'})] + + feeds = [ + (u'Мир' , u'http://www.pravda.ru/world/export.xml' ) + ,(u'Религия' , u'http://www.pravda.ru/faith/export.xml' ) + ,(u'Общество' , u'http://www.pravda.ru/society/export.xml' ) + ,(u'Происшествия', u'http://www.pravda.ru/accidents/export.xml') + ,(u'Наука' , u'http://www.pravda.ru/science/export.xml' ) + ,(u'Экономика' , u'http://www.pravda.ru/economics/export.xml') + ,(u'Политика' , u'http://www.pravda.ru/politics/export.xml' ) + ] + + def print_version(self, url): + return url + '?mode=print' diff --git a/recipes/science_aas.recipe b/recipes/science_aas.recipe index f94ab1eb99..2d486e4458 100644 --- a/recipes/science_aas.recipe +++ b/recipes/science_aas.recipe @@ -27,7 +27,7 @@ class ScienceAAS(BasicNewsRecipe): br = BasicNewsRecipe.get_browser() if self.username is not None and self.password is not None: br.open(self.LOGIN) - br.select_form(nr=1) + br.select_form(nr=0) br['username'] = self.username br['code' ] = self.password br.submit() diff --git a/recipes/yementimes.recipe b/recipes/yementimes.recipe index 426c9a748c..fa327d21cd 100644 --- a/recipes/yementimes.recipe +++ b/recipes/yementimes.recipe @@ -1,5 +1,4 @@ from calibre.web.feeds.news import BasicNewsRecipe -from calibre.ebooks.BeautifulSoup import BeautifulSoup, Tag class YemenTimesRecipe(BasicNewsRecipe): __license__ = 'GPL v3' @@ -13,7 +12,7 @@ class YemenTimesRecipe(BasicNewsRecipe): category = u'News, Opinion, Yemen' description = u'Award winning weekly from Yemen, promoting press freedom, professional journalism and the defense of human rights.' - oldest_article = 7 + oldest_article = 10 max_articles_per_feed = 100 use_embedded_content = False encoding = 'utf-8' @@ -21,27 +20,13 @@ class YemenTimesRecipe(BasicNewsRecipe): remove_empty_feeds = True no_stylesheets = True remove_javascript = True + auto_cleanup = True - keep_only_tags = [] - keep_only_tags.append(dict(name = 'div', attrs = {'id': 'ctl00_ContentPlaceHolder1_MAINNEWS0_Panel1', - 'class': 'DMAIN2'})) - remove_attributes = ['style'] - INDEX = 'http://www.yementimes.com/' - feeds = [] - feeds.append((u'Our Viewpoint', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=6&pnm=OUR%20VIEWPOINT')) - feeds.append((u'Local News', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=3&pnm=Local%20news')) - feeds.append((u'Their News', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=80&pnm=Their%20News')) - feeds.append((u'Report', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=8&pnm=report')) - feeds.append((u'Health', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=51&pnm=health')) - feeds.append((u'Interview', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=77&pnm=interview')) - feeds.append((u'Opinion', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=7&pnm=opinion')) - feeds.append((u'Business', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=5&pnm=business')) - feeds.append((u'Op-Ed', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=81&pnm=Op-Ed')) - feeds.append((u'Culture', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=75&pnm=Culture')) - feeds.append((u'Readers View', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=4&pnm=Readers%20View')) - feeds.append((u'Variety', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=9&pnm=Variety')) - feeds.append((u'Education', u'http://www.yementimes.com/DEFAULTSUB.ASPX?pnc=57&pnm=Education')) + feeds = [ +('News', + 'http://www.yementimes.com/?tpl=1341'), +] extra_css = ''' body {font-family:verdana, arial, helvetica, geneva, sans-serif;} @@ -53,73 +38,4 @@ class YemenTimesRecipe(BasicNewsRecipe): conversion_options = {'comments': description, 'tags': category, 'language': 'en', 'publisher': publisher, 'linearize_tables': True} - def get_browser(self): - br = BasicNewsRecipe.get_browser() - br.set_handle_gzip(True) - return br - - def parse_index(self): - answer = [] - for feed_title, feed in self.feeds: - soup = self.index_to_soup(feed) - - newsbox = soup.find('div', 'newsbox') - main = newsbox.findNextSibling('table') - - articles = [] - for li in main.findAll('li'): - title = self.tag_to_string(li.a) - url = self.INDEX + li.a['href'] - articles.append({'title': title, 'date': None, 'url': url, 'description': '
 '}) - - answer.append((feed_title, articles)) - - return answer - - def preprocess_html(self, soup): - freshSoup = self.getFreshSoup(soup) - - headline = soup.find('div', attrs = {'id': 'DVMTIT'}) - if headline: - div = headline.findNext('div', attrs = {'id': 'DVTOP'}) - img = None - if div: - img = div.find('img') - - headline.name = 'h1' - freshSoup.body.append(headline) - if img is not None: - freshSoup.body.append(img) - - byline = soup.find('div', attrs = {'id': 'DVTIT'}) - if byline: - date_el = byline.find('span') - if date_el: - pub_date = self.tag_to_string(date_el) - date = Tag(soup, 'div', attrs = [('class', 'yemen_date')]) - date.append(pub_date) - date_el.extract() - - raw = '
'.join(['%s' % (part) for part in byline.findAll(text = True)]) - author = BeautifulSoup('') - - if date is not None: - freshSoup.body.append(date) - freshSoup.body.append(author) - - story = soup.find('div', attrs = {'id': 'DVDET'}) - if story: - for table in story.findAll('table'): - if table.find('img'): - table['class'] = 'yemen_caption' - - freshSoup.body.append(story) - - return freshSoup - - def getFreshSoup(self, oldSoup): - freshSoup = BeautifulSoup('') - if oldSoup.head.title: - freshSoup.head.title.append(self.tag_to_string(oldSoup.head.title)) - return freshSoup diff --git a/resources/images/rotate-right.png b/resources/images/rotate-right.png new file mode 100644 index 0000000000..664eb88f00 Binary files /dev/null and b/resources/images/rotate-right.png differ diff --git a/resources/images/view-image.png b/resources/images/view-image.png new file mode 100644 index 0000000000..2fd944560e Binary files /dev/null and b/resources/images/view-image.png differ diff --git a/setup/build_environment.py b/setup/build_environment.py index 6601578345..492eca0697 100644 --- a/setup/build_environment.py +++ b/setup/build_environment.py @@ -87,8 +87,6 @@ ft_libs = [] ft_inc_dirs = [] jpg_libs = [] jpg_lib_dirs = [] -fc_inc = '/usr/include/fontconfig' -fc_lib = '/usr/lib' podofo_inc = '/usr/include/podofo' podofo_lib = '/usr/lib' chmlib_inc_dirs = chmlib_lib_dirs = [] @@ -107,8 +105,6 @@ if iswindows: 'source', 'i18n')] icu_lib_dirs = [os.path.join(ICU, 'source', 'lib')] sqlite_inc_dirs = [sw_inc_dir] - fc_inc = os.path.join(sw_inc_dir, 'fontconfig') - fc_lib = sw_lib_dir chmlib_inc_dirs = consolidate('CHMLIB_INC_DIR', os.path.join(prefix, 'build', 'chmlib-0.40', 'src')) chmlib_lib_dirs = consolidate('CHMLIB_LIB_DIR', os.path.join(prefix, @@ -131,8 +127,6 @@ if iswindows: podofo_inc = os.path.join(sw_inc_dir, 'podofo') podofo_lib = sw_lib_dir elif isosx: - fc_inc = '/sw/include/fontconfig' - fc_lib = '/sw/lib' podofo_inc = '/sw/podofo' podofo_lib = '/sw/lib' magick_inc_dirs = consolidate('MAGICK_INC', @@ -166,13 +160,6 @@ else: ft_libs = pkgconfig_libs('freetype2', '', '') -fc_inc = os.environ.get('FC_INC_DIR', fc_inc) -fc_lib = os.environ.get('FC_LIB_DIR', fc_lib) -fc_error = None if os.path.exists(os.path.join(fc_inc, 'fontconfig.h')) else \ - ('fontconfig header files not found on your system. ' - 'Try setting the FC_INC_DIR and FC_LIB_DIR environment ' - 'variables.') - magick_error = None if not magick_inc_dirs or not os.path.exists(os.path.join(magick_inc_dirs[0], 'wand')): diff --git a/setup/extensions.py b/setup/extensions.py index 989a9ddbe9..6e3c7e4836 100644 --- a/setup/extensions.py +++ b/setup/extensions.py @@ -13,7 +13,7 @@ from multiprocessing import cpu_count from PyQt4.pyqtconfig import QtGuiModuleMakefile from setup import Command, islinux, isbsd, isosx, SRC, iswindows -from setup.build_environment import (fc_inc, fc_lib, chmlib_inc_dirs, fc_error, +from setup.build_environment import (chmlib_inc_dirs, podofo_inc, podofo_lib, podofo_error, pyqt, OSX_SDK, NMAKE, QMAKE, msvc, MT, win_inc, win_lib, win_ddk, magick_inc_dirs, magick_lib_dirs, magick_libs, chmlib_lib_dirs, sqlite_inc_dirs, icu_inc_dirs, @@ -48,6 +48,9 @@ class Extension(object): self.optional = kwargs.get('optional', False) self.needs_ddk = kwargs.get('needs_ddk', False) + def preflight(self, obj_dir, compiler, linker, builder, cflags, ldflags): + pass + reflow_sources = glob.glob(os.path.join(SRC, 'calibre', 'ebooks', 'pdf', '*.cpp')) reflow_headers = glob.glob(os.path.join(SRC, 'calibre', 'ebooks', 'pdf', '*.h')) @@ -59,7 +62,6 @@ if isosx: icu_libs = ['icucore'] icu_cflags = ['-DU_DISABLE_RENAMING'] # Needed to use system libicucore.dylib - extensions = [ Extension('speedup', @@ -122,13 +124,6 @@ extensions = [ libraries=ft_libs, lib_dirs=ft_lib_dirs), - Extension('fontconfig', - ['calibre/utils/fonts/fontconfig.c'], - inc_dirs = [fc_inc], - libraries=['fontconfig'], - lib_dirs=[fc_lib], - error=fc_error), - Extension('woff', ['calibre/utils/fonts/woff/main.c', 'calibre/utils/fonts/woff/woff.c'], @@ -243,6 +238,7 @@ if isunix: cc = os.environ.get('CC', 'gcc') cxx = os.environ.get('CXX', 'g++') cflags = os.environ.get('OVERRIDE_CFLAGS', + # '-Wall -DNDEBUG -ggdb -fno-strict-aliasing -pipe') '-O3 -Wall -DNDEBUG -fno-strict-aliasing -pipe') cflags = shlex.split(cflags) + ['-fPIC'] ldflags = os.environ.get('OVERRIDE_LDFLAGS', '-Wall') @@ -305,9 +301,6 @@ class Build(Command): CFLAGS - Extra compiler flags LDFLAGS - Extra linker flags - FC_INC_DIR - fontconfig header files - FC_LIB_DIR - fontconfig library - POPPLER_INC_DIR - poppler header files POPPLER_LIB_DIR - poppler-qt4 library @@ -373,8 +366,9 @@ class Build(Command): compiler = cxx if ext.needs_cxx else cc linker = msvc.linker if iswindows else compiler objects = [] - einc = self.inc_dirs_to_cflags(ext.inc_dirs) obj_dir = self.j(self.obj_dir, ext.name) + ext.preflight(obj_dir, compiler, linker, self, cflags, ldflags) + einc = self.inc_dirs_to_cflags(ext.inc_dirs) if ext.needs_ddk: ddk_flags = ['-I'+x for x in win_ddk] cflags.extend(ddk_flags) @@ -395,7 +389,7 @@ class Build(Command): dest = self.dest(ext) elib = self.lib_dirs_to_ldflags(ext.lib_dirs) xlib = self.libraries_to_ldflags(ext.libraries) - if self.newer(dest, objects): + if self.newer(dest, objects+ext.extra_objs): print 'Linking', ext.name cmd = [linker] if iswindows: diff --git a/setup/installer/osx/app/main.py b/setup/installer/osx/app/main.py index 14df94f4ba..cf1918abaf 100644 --- a/setup/installer/osx/app/main.py +++ b/setup/installer/osx/app/main.py @@ -15,8 +15,8 @@ from setup import __version__ as VERSION, __appname__ as APPNAME, basenames, \ LICENSE = open('LICENSE', 'rb').read() MAGICK_HOME='@executable_path/../Frameworks/ImageMagick' ENV = dict( - FC_CONFIG_DIR='@executable_path/../Resources/fonts', - FC_CONFIG_FILE='@executable_path/../Resources/fonts/fonts.conf', + FONTCONFIG_PATH='@executable_path/../Resources/fonts', + FONTCONFIG_FILE='@executable_path/../Resources/fonts/fonts.conf', MAGICK_CONFIGURE_PATH=MAGICK_HOME+'/config', MAGICK_CODER_MODULE_PATH=MAGICK_HOME+'/modules-Q16/coders', MAGICK_CODER_FILTER_PATH=MAGICK_HOME+'/modules-Q16/filter', @@ -379,7 +379,7 @@ class Py2App(object): @flush def add_poppler(self): info('\nAdding poppler') - for x in ('libpoppler.27.dylib',): + for x in ('libpoppler.28.dylib',): self.install_dylib(os.path.join(SW, 'lib', x)) for x in ('pdftohtml', 'pdftoppm', 'pdfinfo'): self.install_dylib(os.path.join(SW, 'bin', x), False) @@ -411,7 +411,6 @@ class Py2App(object): raw = open(fc, 'rb').read() raw = raw.replace('/usr/share/fonts', '''\ /Library/Fonts - /Network/Library/Fonts /System/Library/Fonts /usr/X11R6/lib/X11/fonts /usr/share/fonts diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 12443b4898..e578d64607 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -281,8 +281,6 @@ class Win32Freeze(Command, WixMixIn): for x in ('zlib1.dll', 'libxml2.dll'): shutil.copy2(self.j(bindir, x+'.manifest'), self.dll_dir) - shutil.copytree(os.path.join(SW, 'etc', 'fonts'), - os.path.join(self.base, 'fontconfig')) # Copy ImageMagick for pat in ('*.dll', '*.xml'): for f in glob.glob(self.j(IMAGEMAGICK, pat)): diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index 9502135f6e..fe0d8380e0 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -276,27 +276,6 @@ cp build/kdewin32-msvc-0.3.9/build/bin/Release/*.exp lib/ cp -r build/kdewin32-msvc-0.3.9/include/msvc/ include/ cp build/kdewin32-msvc-0.3.9/include/*.h include/ -fontconfig ---------------- - -Get it from http://www.winkde.org/pub/kde/ports/win32/repository/win32libs/ -mkdir build -Remove subdirectory test from the bottom of CMakeLists.txt -run cmake - -Set build type to release and project config to dll -Right click on the fontconfig project and select properties. Add sw/include/msvc to the include paths -Build only fontconfig - -cp build/fontconfig-msvc-2.4.2-3/build/src/Release/*.dll bin -cp build/fontconfig-msvc-2.4.2-3/build/src/Release/*.lib lib -cp build/fontconfig-msvc-2.4.2-3/build/src/Release/*.exp lib -cp -r build/fontconfig-msvc-2.4.2-3/fontconfig/ include/ - -Also install the etc files from the font-config-bin archive from kde win32libs -It contains correct fonts.conf etc. - - poppler ------------- diff --git a/setup/iso_639/ca.po b/setup/iso_639/ca.po index a6064b3da6..f4e26346d5 100644 --- a/setup/iso_639/ca.po +++ b/setup/iso_639/ca.po @@ -12,14 +12,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2012-10-21 16:27+0000\n" +"PO-Revision-Date: 2012-10-28 09:28+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-10-22 04:39+0000\n" -"X-Generator: Launchpad (build 16165)\n" +"X-Launchpad-Export-Date: 2012-10-29 04:59+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Language: ca\n" #. name for aaa @@ -10536,43 +10536,43 @@ msgstr "Izere" #. name for jaa msgid "Jamamadí" -msgstr "" +msgstr "Jamamadí" #. name for jab msgid "Hyam" -msgstr "" +msgstr "Ham" #. name for jac msgid "Popti'" -msgstr "" +msgstr "Jacaltec" #. name for jad msgid "Jahanka" -msgstr "" +msgstr "Jahanka" #. name for jae msgid "Yabem" -msgstr "" +msgstr "Yabem" #. name for jaf msgid "Jara" -msgstr "" +msgstr "Jara" #. name for jah msgid "Jah Hut" -msgstr "" +msgstr "Jah Hut" #. name for jaj msgid "Zazao" -msgstr "" +msgstr "Zazao" #. name for jak msgid "Jakun" -msgstr "" +msgstr "Jakun" #. name for jal msgid "Yalahatan" -msgstr "" +msgstr "Jalahatan" #. name for jam msgid "Creole English; Jamaican" @@ -10580,31 +10580,31 @@ msgstr "Anglès crioll; Jamaica" #. name for jao msgid "Yanyuwa" -msgstr "" +msgstr "Yanyula" #. name for jaq msgid "Yaqay" -msgstr "" +msgstr "Yaqay" #. name for jar msgid "Jarawa (Nigeria)" -msgstr "" +msgstr "Jarawa (Nigèria)" #. name for jas msgid "Javanese; New Caledonian" -msgstr "" +msgstr "Javanès; Nova Caledònia" #. name for jat msgid "Jakati" -msgstr "" +msgstr "Jakati" #. name for jau msgid "Yaur" -msgstr "" +msgstr "Yaur" #. name for jav msgid "Javanese" -msgstr "" +msgstr "Javanès" #. name for jax msgid "Malay; Jambi" @@ -10612,11 +10612,11 @@ msgstr "Malai; Jambi" #. name for jay msgid "Yan-nhangu" -msgstr "" +msgstr "Jarnango" #. name for jaz msgid "Jawe" -msgstr "" +msgstr "Jawe" #. name for jbe msgid "Judeo-Berber" @@ -10624,27 +10624,27 @@ msgstr "Judeo-berber" #. name for jbj msgid "Arandai" -msgstr "" +msgstr "Arandai" #. name for jbn msgid "Nafusi" -msgstr "" +msgstr "Djerbi" #. name for jbo msgid "Lojban" -msgstr "" +msgstr "Lojban" #. name for jbr msgid "Jofotek-Bromnya" -msgstr "" +msgstr "Jofotek-Bromnya" #. name for jbt msgid "Jabutí" -msgstr "" +msgstr "Jaboti" #. name for jbu msgid "Jukun Takum" -msgstr "" +msgstr "Jukun Takum" #. name for jcs msgid "Jamaican Country Sign Language" @@ -10652,31 +10652,31 @@ msgstr "Llenguatge de signes del país jamaicà" #. name for jct msgid "Krymchak" -msgstr "" +msgstr "Judeocrimeà" #. name for jda msgid "Jad" -msgstr "" +msgstr "Jad" #. name for jdg msgid "Jadgali" -msgstr "" +msgstr "Jadgali" #. name for jdt msgid "Judeo-Tat" -msgstr "" +msgstr "Judeotat" #. name for jeb msgid "Jebero" -msgstr "" +msgstr "Jebero" #. name for jee msgid "Jerung" -msgstr "" +msgstr "Jerung" #. name for jeg msgid "Jeng" -msgstr "" +msgstr "Jeng" #. name for jeh msgid "Jeh" @@ -11012,7 +11012,7 @@ msgstr "" #. name for jvn msgid "Javanese; Caribbean" -msgstr "" +msgstr "Javanès; Carib" #. name for jwi msgid "Jwira-Pepesa" diff --git a/setup/iso_639/eu.po b/setup/iso_639/eu.po index a262c93085..92b3057e51 100644 --- a/setup/iso_639/eu.po +++ b/setup/iso_639/eu.po @@ -9,14 +9,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2012-04-18 13:08+0000\n" -"Last-Translator: Asier Iturralde Sarasola \n" +"PO-Revision-Date: 2012-10-29 14:16+0000\n" +"Last-Translator: gorkaazk \n" "Language-Team: Euskara \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-04-19 04:36+0000\n" -"X-Generator: Launchpad (build 15108)\n" +"X-Launchpad-Export-Date: 2012-10-30 04:44+0000\n" +"X-Generator: Launchpad (build 16206)\n" "Language: eu\n" #. name for aaa @@ -73,7 +73,7 @@ msgstr "Anambé" #. name for aao msgid "Arabic; Algerian Saharan" -msgstr "" +msgstr "Arabiera, Aljeriako Saharakoa" #. name for aap msgid "Arára; Pará" @@ -181,31 +181,32 @@ msgstr "Abazera" #. name for abr msgid "Abron" -msgstr "" +msgstr "Abron; (bono hizkuntza, Ghana)" #. name for abs msgid "Malay; Ambonese" -msgstr "" +msgstr "Malaysiera; (\"ambonese\" hizkuntza)" #. name for abt msgid "Ambulas" -msgstr "" +msgstr "Ambulas hizkuntza" #. name for abu msgid "Abure" msgstr "" +"Abure hizkuntza (edo abonwa; edo akaplass) (Niger, Kongo, Boli-kosta)" #. name for abv msgid "Arabic; Baharna" -msgstr "" +msgstr "Arabiera; baharna" #. name for abw msgid "Pal" -msgstr "" +msgstr "Pal hizkuntza (Papua)" #. name for abx msgid "Inabaknon" -msgstr "" +msgstr "Inabaknon hizkuntza (edo abaknon, Filipina uharteak)" #. name for aby msgid "Aneme Wake" diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index 4b0ba5cf68..b64fd08d0a 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -690,29 +690,6 @@ def remove_bracketed_text(src, buf.append(char) return u''.join(buf) -def load_builtin_fonts(): - # On linux these are loaded by fontconfig which means that - # they are available to Qt as well, since Qt uses fontconfig - from calibre.utils.fonts import fontconfig - fontconfig - - families = {u'Liberation Serif', u'Liberation Sans', u'Liberation Mono'} - - if iswindows or isosx: - import glob - from PyQt4.Qt import QFontDatabase - families = set() - for f in glob.glob(P('fonts/liberation/*.ttf')): - with open(f, 'rb') as s: - # Windows requires font files to be executable for them to be - # loaded successfully, so we use the in memory loader - fid = QFontDatabase.addApplicationFontFromData(s.read()) - if fid > -1: - families |= set(map(unicode, - QFontDatabase.applicationFontFamilies(fid))) - - return families - def ipython(user_ns=None): from calibre.utils.ipython import ipython ipython(user_ns=user_ns) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 6bc9995384..05715882f7 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -4,7 +4,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = u'calibre' -numeric_version = (0, 9, 3) +numeric_version = (0, 9, 5) __version__ = u'.'.join(map(unicode, numeric_version)) __author__ = u"Kovid Goyal " @@ -36,6 +36,7 @@ isunix = isosx or islinux isportable = os.environ.get('CALIBRE_PORTABLE_BUILD', None) is not None ispy3 = sys.version_info.major > 2 isxp = iswindows and sys.getwindowsversion().major < 6 +isworker = os.environ.has_key('CALIBRE_WORKER') or os.environ.has_key('CALIBRE_SIMPLE_WORKER') try: preferred_encoding = locale.getpreferredencoding() @@ -83,7 +84,6 @@ class Plugins(collections.Mapping): 'magick', 'podofo', 'cPalmdoc', - 'fontconfig', 'progress_indicator', 'chmlib', 'chm_extra', diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index e665f31b2e..693a9c4a6a 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -1394,6 +1394,16 @@ class StoreEKnigiStore(StoreBase): formats = ['EPUB', 'PDF', 'HTML'] affiliate = True +class StoreEmpikStore(StoreBase): + name = 'Empik' + author = u'Tomasz Długosz' + description = u'Empik to marka o unikalnym dziedzictwie i legendarne miejsce, dawne “okno na świat”. Jest obecna w polskim krajobrazie kulturalnym od 60 lat (wcześniej jako Kluby Międzynarodowej Prasy i Książki).' + actual_plugin = 'calibre.gui2.store.stores.empik_plugin:EmpikStore' + + headquarters = 'PL' + formats = ['EPUB', 'MOBI', 'PDF'] + affiliate = True + class StoreEscapeMagazineStore(StoreBase): name = 'EscapeMagazine' author = u'Tomasz Długosz' @@ -1661,6 +1671,7 @@ plugins += [ StoreEbooksGratuitsStore, StoreEHarlequinStore, StoreEKnigiStore, + StoreEmpikStore, StoreEscapeMagazineStore, StoreFeedbooksStore, StoreFoylesUKStore, diff --git a/src/calibre/debug.py b/src/calibre/debug.py index 22871cab9e..a06096c593 100644 --- a/src/calibre/debug.py +++ b/src/calibre/debug.py @@ -19,6 +19,8 @@ Run an embedded python interpreter. ''') parser.add_option('-c', '--command', help='Run python code.', default=None) parser.add_option('-e', '--exec-file', default=None, help='Run the python code in file.') + parser.add_option('-f', '--subset-font', default=False, + action='store_true', help='Subset the specified font') parser.add_option('-d', '--debug-device-driver', default=False, action='store_true', help='Debug the specified device driver.') parser.add_option('-g', '--gui', default=False, action='store_true', @@ -209,6 +211,11 @@ def main(args=sys.argv): execfile(ef, g) return + if len(args) > 1 and args[1] in ('-f', '--subset-font'): + from calibre.utils.fonts.sfnt.subset import main + main(['subset-font']+args[2:]) + return + opts, args = option_parser().parse_args(args) if opts.gui: from calibre.gui2.main import main diff --git a/src/calibre/devices/android/driver.py b/src/calibre/devices/android/driver.py index 6159d1b065..db318e5df2 100644 --- a/src/calibre/devices/android/driver.py +++ b/src/calibre/devices/android/driver.py @@ -212,7 +212,7 @@ class ANDROID(USBMS): 'VIZIO', 'GOOGLE', 'FREESCAL', 'KOBO_INC', 'LENOVO', 'ROCKCHIP', 'POCKET', 'ONDA_MID', 'ZENITHIN', 'INGENIC', 'PMID701C', 'PD', 'PMP5097C', 'MASS', 'NOVO7', 'ZEKI', 'COBY', 'SXZ', 'USB_2.0', - 'COBY_MID', 'VS', 'AINOL', 'TOPWISE'] + 'COBY_MID', 'VS', 'AINOL', 'TOPWISE', 'PAD703'] WINDOWS_MAIN_MEM = ['ANDROID_PHONE', 'A855', 'A853', 'INC.NEXUS_ONE', '__UMS_COMPOSITE', '_MB200', 'MASS_STORAGE', '_-_CARD', 'SGH-I897', 'GT-I9000', 'FILE-STOR_GADGET', 'SGH-T959_CARD', 'SGH-T959', 'SAMSUNG_ANDROID', diff --git a/src/calibre/devices/kobo/books.py b/src/calibre/devices/kobo/books.py index ca51d67e1d..43b06185a2 100644 --- a/src/calibre/devices/kobo/books.py +++ b/src/calibre/devices/kobo/books.py @@ -58,7 +58,8 @@ class Book(Book_): self.datetime = time.gmtime() self.contentID = None - self.current_shelves = [] + self.current_shelves = [] + self.kobo_collections = [] if thumbnail_name is not None: self.thumbnail = ImageWrapper(thumbnail_name) @@ -99,6 +100,10 @@ class KTCollectionsBookList(CollectionsBookList): lpath = getattr(book, 'lpath', None) if lpath is None: continue + # If the book is not in the current library, we don't want to use the metadtaa for the collections + if book.application_id is None: +# debug_print("KTCollectionsBookList:get_collections - Book not in current library") + continue # Decide how we will build the collections. The default: leave the # book in all existing collections. Do not add any new ones. attrs = ['device_collections'] @@ -115,7 +120,8 @@ class KTCollectionsBookList(CollectionsBookList): elif prefs['manage_device_metadata'] == 'on_connect': # For existing books, modify the collections only if the user # specified 'on_connect' - attrs += collection_attributes + attrs = collection_attributes + book.device_collections = [] if show_debug: debug_print("KTCollectionsBookList:get_collections - attrs=", attrs) diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index dcab3026ec..dbc89d071c 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -33,7 +33,7 @@ class KOBO(USBMS): gui_name = 'Kobo Reader' description = _('Communicate with the Kobo Reader') author = 'Timothy Legge and David Forrester' - version = (2, 0, 2) + version = (2, 0, 3) dbversion = 0 fwversion = 0 @@ -653,6 +653,7 @@ class KOBO(USBMS): @classmethod def book_from_path(cls, prefix, lpath, title, authors, mime, date, ContentType, ImageID): +# debug_print("KOBO:book_from_path - title=%s"%title) from calibre.ebooks.metadata import MetaInformation if cls.settings().read_metadata or cls.MUST_READ_METADATA: @@ -1199,7 +1200,7 @@ class KOBOTOUCH(KOBO): author = 'David Forrester' description = 'Communicate with the Kobo Touch, Glo and Mini firmware. Based on the existing Kobo driver by %s.' % (KOBO.author) - supported_dbversion = 65 + supported_dbversion = 70 min_supported_dbversion = 53 booklist_class = KTCollectionsBookList @@ -1408,9 +1409,14 @@ class KOBOTOUCH(KOBO): debug_print("KoboTouch:update_booklist - have a deleted book") # Label Previews if accessibility == 6: - playlist_map[lpath].append('Preview') + if isdownloaded == 'false': + playlist_map[lpath].append('Recommendation') + else: + playlist_map[lpath].append('Preview') elif accessibility == 4: playlist_map[lpath].append('Recommendation') + + kobo_collections = playlist_map[lpath][:] if len(bookshelves) > 0: playlist_map[lpath].extend(bookshelves) @@ -1428,13 +1434,15 @@ class KOBOTOUCH(KOBO): debug_print('KoboTouch:update_booklist - bl[idx].device_collections=', bl[idx].device_collections) debug_print('KoboTouch:update_booklist - playlist_map=', playlist_map) debug_print('KoboTouch:update_booklist - bookshelves=', bookshelves) + debug_print('KoboTouch:update_booklist - kobo_collections=', kobo_collections) debug_print('KoboTouch:update_booklist - series="%s"' % bl[idx].series) debug_print('KoboTouch:update_booklist - the book=', bl[idx]) debug_print('KoboTouch:update_booklist - the authors=', bl[idx].authors) debug_print('KoboTouch:update_booklist - application_id=', bl[idx].application_id) bl_cache[lpath] = None - if bl[idx].title_sort is not None: - bl[idx].title = bl[idx].title_sort + # removed to allow recognizing of ePub with an UUID inside + # if bl[idx].title_sort is not None: + # bl[idx].title = bl[idx].title_sort if ImageID is not None: imagename = self.imagefilename_from_imageID(ImageID) if imagename is not None: @@ -1454,8 +1462,9 @@ class KOBOTOUCH(KOBO): if lpath in playlist_map: bl[idx].device_collections = playlist_map.get(lpath,[]) + bl[idx].current_shelves = bookshelves + bl[idx].kobo_collections = kobo_collections changed = True - bl[idx].current_shelves = bookshelves if show_debug: debug_print('KoboTouch:update_booklist - updated bl[idx].device_collections=', bl[idx].device_collections) @@ -1490,10 +1499,12 @@ class KOBOTOUCH(KOBO): debug_print(" the book:", book) debug_print(" author_sort:'%s'"%book.author_sort) debug_print(" bookshelves:", bookshelves) + debug_print(" kobo_collections:", kobo_collections) # print 'Update booklist' book.device_collections = playlist_map.get(lpath,[])# if lpath in playlist_map else [] book.current_shelves = bookshelves + book.kobo_collections = kobo_collections book.contentID = ContentID # debug_print('KoboTouch:update_booklist - title=', title, 'book.device_collections', book.device_collections) @@ -1630,7 +1641,8 @@ class KOBOTOUCH(KOBO): #print "count found in cache: %d, count of files in metadata: %d, need_sync: %s" % \ # (len(bl_cache), len(bl), need_sync) # Bypassing the KOBO sync_booklists as that does things we don't need to do - if need_sync: #self.count_found_in_bl != len(bl) or need_sync: + # Also forcing sync to see if this solves issues with updating shelves and matching books. + if need_sync or True: #self.count_found_in_bl != len(bl) or need_sync: debug_print("KoboTouch:books - about to sync_booklists") if oncard == 'cardb': USBMS.sync_booklists(self, (None, None, bl)) @@ -1948,7 +1960,6 @@ class KOBOTOUCH(KOBO): debug_print("Booklists=", booklists) if self.dbversion < 53: self.reset_readstatus(connection, oncard) - self.remove_from_bookshelves(connection, oncard) if self.dbversion >= 14: debug_print("No Collections - reseting FavouritesIndex") self.reset_favouritesindex(connection, oncard) @@ -1961,6 +1972,7 @@ class KOBOTOUCH(KOBO): if book.application_id is not None: # debug_print("KoboTouch:update_device_database_collections - about to remove a book from shelves book.title=%s" % book.title) self.remove_book_from_device_bookshelves(connection, book) + book.device_collections.extend(book.kobo_collections) if not prefs['manage_device_metadata'] == 'manual' and delete_empty_shelves: debug_print("KoboTouch:update_device_database_collections - about to clear empty bookshelves") self.delete_empty_bookshelves(connection) @@ -2096,7 +2108,7 @@ class KOBOTOUCH(KOBO): def remove_book_from_device_bookshelves(self, connection, book): show_debug = self.is_debugging_title(book.title)# or True - remove_shelf_list = set(book.current_shelves) - set(book.device_collections)# - set(["Im_Reading", "Read", "Closed"]) + remove_shelf_list = set(book.current_shelves) - set(book.device_collections) if show_debug: debug_print('KoboTouch:remove_book_from_device_bookshelves - book.application_id="%s"'%book.application_id) @@ -2212,11 +2224,8 @@ class KOBOTOUCH(KOBO): debug_print('KoboTouch:check_for_bookshelf bookshelf_name="%s"'%bookshelf_name) test_query = 'SELECT InternalName, Name, _IsDeleted FROM Shelf WHERE Name = ?' test_values = (bookshelf_name, ) - addquery = 'INSERT INTO "main"."Shelf"'\ - ' ("CreationDate","InternalName","LastModified","Name","_IsDeleted","_IsVisible","_IsSynced")'\ - ' VALUES (?, ?, ?, ?, ?, ?, ?)' - add_values = ( - time.strftime(self.TIMESTAMP_STRING, time.gmtime()), + addquery = 'INSERT INTO "main"."Shelf"' + add_values = (time.strftime(self.TIMESTAMP_STRING, time.gmtime()), bookshelf_name, time.strftime(self.TIMESTAMP_STRING, time.gmtime()), bookshelf_name, @@ -2224,6 +2233,17 @@ class KOBOTOUCH(KOBO): "true", "false", ) + if self.dbversion < 64: + addquery += ' ("CreationDate","InternalName","LastModified","Name","_IsDeleted","_IsVisible","_IsSynced")'\ + ' VALUES (?, ?, ?, ?, ?, ?, ?)' + else: + addquery += ' ("CreationDate", "InternalName","LastModified","Name","_IsDeleted","_IsVisible","_IsSynced", "Id")'\ + ' VALUES (?, ?, ?, ?, ?, ?, ?, ?)' + add_values = add_values +(bookshelf_name,) + + if show_debug: + debug_print('KoboTouch:check_for_bookshelf addquery=', addquery) + debug_print('KoboTouch:check_for_bookshelf add_values=', add_values) updatequery = 'UPDATE Shelf SET _IsDeleted = "false" WHERE Name = ?' cursor = connection.cursor() diff --git a/src/calibre/devices/mtp/driver.py b/src/calibre/devices/mtp/driver.py index 1584a3bf93..bc55654b1e 100644 --- a/src/calibre/devices/mtp/driver.py +++ b/src/calibre/devices/mtp/driver.py @@ -114,7 +114,7 @@ class MTP_DEVICE(BASE): except: prints('Failed to load existing driveinfo.calibre file, with error:') traceback.print_exc() - dinfo = None + dinfo = {} if dinfo.get('device_store_uuid', None) is None: dinfo['device_store_uuid'] = unicode(uuid.uuid4()) if dinfo.get('device_name', None) is None: diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 49d766c67f..598522799c 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -901,8 +901,11 @@ class Device(DeviceConfig, DevicePlugin): for d in drives: try: winutil.eject_drive(bytes(d)[0]) - except: - pass + except Exception as e: + try: + prints(as_unicode(e)) + except: + pass t = Thread(target=do_it, args=[drives]) t.daemon = True diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py index 9cf0e51e7e..a5417be220 100644 --- a/src/calibre/ebooks/__init__.py +++ b/src/calibre/ebooks/__init__.py @@ -254,7 +254,6 @@ def unit_convert(value, base, font, dpi): def generate_masthead(title, output_path=None, width=600, height=60): from calibre.ebooks.conversion.config import load_defaults - from calibre.utils.fonts import fontconfig from calibre.utils.config import tweaks fp = tweaks['generate_cover_title_font'] if not fp: @@ -264,11 +263,10 @@ def generate_masthead(title, output_path=None, width=600, height=60): masthead_font_family = recs.get('masthead_font', 'Default') if masthead_font_family != 'Default': - masthead_font = fontconfig.files_for_family(masthead_font_family) - # Assume 'normal' always in dict, else use default - # {'normal': (path_to_font, friendly name)} - if 'normal' in masthead_font: - font_path = masthead_font['normal'][0] + from calibre.utils.fonts.scanner import font_scanner + faces = font_scanner.fonts_for_family(masthead_font_family) + if faces: + font_path = faces[0]['path'] if not font_path or not os.access(font_path, os.R_OK): font_path = default_font diff --git a/src/calibre/ebooks/conversion/cli.py b/src/calibre/ebooks/conversion/cli.py index 2aa0add3ee..d68c16c559 100644 --- a/src/calibre/ebooks/conversion/cli.py +++ b/src/calibre/ebooks/conversion/cli.py @@ -133,6 +133,7 @@ def add_pipeline_options(parser, plumber): [ 'base_font_size', 'disable_font_rescaling', 'font_size_mapping', 'embed_font_family', + 'subset_embedded_fonts', 'line_height', 'minimum_line_height', 'linearize_tables', 'extra_css', 'filter_css', diff --git a/src/calibre/ebooks/conversion/plugins/epub_input.py b/src/calibre/ebooks/conversion/plugins/epub_input.py index f0af2d28c5..70a561226d 100644 --- a/src/calibre/ebooks/conversion/plugins/epub_input.py +++ b/src/calibre/ebooks/conversion/plugins/epub_input.py @@ -150,8 +150,15 @@ class EPUBInput(InputFormatPlugin): from calibre import walk from calibre.ebooks import DRMError from calibre.ebooks.metadata.opf2 import OPF - zf = ZipFile(stream) - zf.extractall(os.getcwdu()) + try: + zf = ZipFile(stream) + zf.extractall(os.getcwdu()) + except: + log.exception('EPUB appears to be invalid ZIP file, trying a' + ' more forgiving ZIP parser') + from calibre.utils.localunzip import extractall + stream.seek(0) + extractall(stream) encfile = os.path.abspath(os.path.join('META-INF', 'encryption.xml')) opf = self.find_opf() if opf is None: diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py index bfd2e36359..8d6a6e22f8 100644 --- a/src/calibre/ebooks/conversion/plumber.py +++ b/src/calibre/ebooks/conversion/plumber.py @@ -204,6 +204,17 @@ OptionRecommendation(name='embed_font_family', 'with some output formats, principally EPUB and AZW3.') ), +OptionRecommendation(name='subset_embedded_fonts', + recommended_value=False, level=OptionRecommendation.LOW, + help=_( + 'Subset all embedded fonts. Every embedded font is reduced ' + 'to contain only the glyphs used in this document. This decreases ' + 'the size of the font files. Useful if you are embedding a ' + 'particularly large font with lots of unused glyphs. Note that ' + 'subsetting is only supported for fonts that contain TrueType ' + 'outlines, not Postscript outlines.') + ), + OptionRecommendation(name='linearize_tables', recommended_value=False, level=OptionRecommendation.LOW, help=_('Some badly designed documents use tables to control the ' @@ -1112,6 +1123,10 @@ OptionRecommendation(name='search_replace', RemoveFakeMargins()(self.oeb, self.log, self.opts) RemoveAdobeMargins()(self.oeb, self.log, self.opts) + if self.opts.subset_embedded_fonts: + from calibre.ebooks.oeb.transforms.subset import SubsetFonts + SubsetFonts()(self.oeb, self.log, self.opts) + pr(0.9) self.flush() diff --git a/src/calibre/ebooks/lrf/__init__.py b/src/calibre/ebooks/lrf/__init__.py index b12c0d6b34..725338ead8 100644 --- a/src/calibre/ebooks/lrf/__init__.py +++ b/src/calibre/ebooks/lrf/__init__.py @@ -34,24 +34,24 @@ class PRS500_PROFILE(object): name = 'prs500' def find_custom_fonts(options, logger): - from calibre.utils.fonts import fontconfig - files_for_family = fontconfig.files_for_family + from calibre.utils.fonts.scanner import font_scanner fonts = {'serif' : None, 'sans' : None, 'mono' : None} def family(cmd): return cmd.split(',')[-1].strip() if options.serif_family: f = family(options.serif_family) - fonts['serif'] = files_for_family(f) + fonts['serif'] = font_scanner.legacy_fonts_for_family(f) + print (111111, fonts['serif']) if not fonts['serif']: logger.warn('Unable to find serif family %s'%f) if options.sans_family: f = family(options.sans_family) - fonts['sans'] = files_for_family(f) + fonts['sans'] = font_scanner.legacy_fonts_for_family(f) if not fonts['sans']: logger.warn('Unable to find sans family %s'%f) if options.mono_family: f = family(options.mono_family) - fonts['mono'] = files_for_family(f) + fonts['mono'] = font_scanner.legacy_fonts_for_family(f) if not fonts['mono']: logger.warn('Unable to find mono family %s'%f) return fonts diff --git a/src/calibre/ebooks/metadata/epub.py b/src/calibre/ebooks/metadata/epub.py index c62f265633..bc81df5a79 100644 --- a/src/calibre/ebooks/metadata/epub.py +++ b/src/calibre/ebooks/metadata/epub.py @@ -10,6 +10,7 @@ from cStringIO import StringIO from contextlib import closing from calibre.utils.zipfile import ZipFile, BadZipfile, safe_replace +from calibre.utils.localunzip import LocalZipFile from calibre.ebooks.BeautifulSoup import BeautifulStoneSoup from calibre.ebooks.metadata import MetaInformation from calibre.ebooks.metadata.opf2 import OPF @@ -105,10 +106,13 @@ class OCFReader(OCF): class OCFZipReader(OCFReader): def __init__(self, stream, mode='r', root=None): - try: - self.archive = ZipFile(stream, mode=mode) - except BadZipfile: - raise EPubException("not a ZIP .epub OCF container") + if isinstance(stream, (LocalZipFile, ZipFile)): + self.archive = stream + else: + try: + self.archive = ZipFile(stream, mode=mode) + except BadZipfile: + raise EPubException("not a ZIP .epub OCF container") self.root = root if self.root is None: name = getattr(stream, 'name', False) @@ -119,8 +123,18 @@ class OCFZipReader(OCFReader): super(OCFZipReader, self).__init__() def open(self, name, mode='r'): + if isinstance(self.archive, LocalZipFile): + return self.archive.open(name) return StringIO(self.archive.read(name)) +def get_zip_reader(stream, root=None): + try: + zf = ZipFile(stream, mode='r') + except: + stream.seek(0) + zf = LocalZipFile(stream) + return OCFZipReader(zf, root=root) + class OCFDirReader(OCFReader): def __init__(self, path): self.root = path @@ -184,7 +198,12 @@ def render_cover(opf, opf_path, zf, reader=None): def get_cover(opf, opf_path, stream, reader=None): raster_cover = opf.raster_cover stream.seek(0) - zf = ZipFile(stream) + try: + zf = ZipFile(stream) + except: + stream.seek(0) + zf = LocalZipFile(stream) + if raster_cover: base = posixpath.dirname(opf_path) cpath = posixpath.normpath(posixpath.join(base, raster_cover)) @@ -207,7 +226,7 @@ def get_cover(opf, opf_path, stream, reader=None): def get_metadata(stream, extract_cover=True): """ Return metadata as a :class:`Metadata` object """ stream.seek(0) - reader = OCFZipReader(stream) + reader = get_zip_reader(stream) mi = reader.opf.to_book_metadata() if extract_cover: try: @@ -232,7 +251,7 @@ def _write_new_cover(new_cdata, cpath): def set_metadata(stream, mi, apply_null=False, update_timestamp=False): stream.seek(0) - reader = OCFZipReader(stream, root=os.getcwdu()) + reader = get_zip_reader(stream, root=os.getcwdu()) raster_cover = reader.opf.raster_cover mi = MetaInformation(mi) new_cdata = None @@ -283,7 +302,11 @@ def set_metadata(stream, mi, apply_null=False, update_timestamp=False): reader.opf.timestamp = mi.timestamp newopf = StringIO(reader.opf.render()) - safe_replace(stream, reader.container[OPF.MIMETYPE], newopf, + if isinstance(reader.archive, LocalZipFile): + reader.archive.safe_replace(reader.container[OPF.MIMETYPE], newopf, + extra_replacements=replacements) + else: + safe_replace(stream, reader.container[OPF.MIMETYPE], newopf, extra_replacements=replacements) try: if cpath is not None: diff --git a/src/calibre/ebooks/oeb/transforms/flatcss.py b/src/calibre/ebooks/oeb/transforms/flatcss.py index cb5720c08a..f963f468aa 100644 --- a/src/calibre/ebooks/oeb/transforms/flatcss.py +++ b/src/calibre/ebooks/oeb/transforms/flatcss.py @@ -178,44 +178,40 @@ class CSSFlattener(object): body_font_family = None if not family: return body_font_family, efi - from calibre.utils.fonts import fontconfig - from calibre.utils.fonts.utils import (get_font_characteristics, - panose_to_css_generic_family, get_font_names) - faces = fontconfig.fonts_for_family(family) - if not faces or not u'normal' in faces: + from calibre.utils.fonts.scanner import font_scanner + from calibre.utils.fonts.utils import panose_to_css_generic_family + faces = font_scanner.fonts_for_family(family) + if not faces: msg = (u'No embeddable fonts found for family: %r'%self.opts.embed_font_family) if failure_critical: raise ValueError(msg) self.oeb.log.warn(msg) return body_font_family, efi - for k, v in faces.iteritems(): - ext, data = v[0::2] - weight, is_italic, is_bold, is_regular, fs_type, panose = \ - get_font_characteristics(data) - generic_family = panose_to_css_generic_family(panose) - family_name, subfamily_name, full_name = get_font_names(data) - if k == u'normal': - body_font_family = u"'%s',%s"%(family_name, generic_family) - if family_name.lower() != family.lower(): - self.oeb.log.warn(u'Failed to find an exact match for font:' - u' %r, using %r instead'%(family, family_name)) - else: - self.oeb.log(u'Embedding font: %s'%family_name) - font = {u'font-family':u'"%s"'%family_name} - if is_italic: - font[u'font-style'] = u'italic' - if is_bold: - font[u'font-weight'] = u'bold' + for i, font in enumerate(faces): + ext = 'otf' if font['is_otf'] else 'ttf' fid, href = self.oeb.manifest.generate(id=u'font', - href=u'%s.%s'%(ascii_filename(full_name).replace(u' ', u'-'), ext)) + href=u'%s.%s'%(ascii_filename(font['full_name']).replace(u' ', u'-'), ext)) item = self.oeb.manifest.add(fid, href, - guess_type(full_name+'.'+ext)[0], - data=data) + guess_type('dummy.'+ext)[0], + data=font_scanner.get_font_data(font)) item.unload_data_from_memory() - font[u'src'] = u'url(%s)'%item.href + + cfont = { + u'font-family':u'"%s"'%font['font-family'], + u'panose-1': u' '.join(map(unicode, font['panose'])), + u'src': u'url(%s)'%item.href, + } + + if i == 0: + generic_family = panose_to_css_generic_family(font['panose']) + body_font_family = u"'%s',%s"%(font['font-family'], generic_family) + self.oeb.log(u'Embedding font: %s'%font['font-family']) + for k in (u'font-weight', u'font-style', u'font-stretch'): + if font[k] != u'normal': + cfont[k] = font[k] rule = '@font-face { %s }'%('; '.join(u'%s:%s'%(k, v) for k, v in - font.iteritems())) + cfont.iteritems())) rule = cssutils.parseString(rule) efi.append(rule) diff --git a/src/calibre/ebooks/oeb/transforms/subset.py b/src/calibre/ebooks/oeb/transforms/subset.py new file mode 100644 index 0000000000..9b10aaad06 --- /dev/null +++ b/src/calibre/ebooks/oeb/transforms/subset.py @@ -0,0 +1,284 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from collections import defaultdict + +from calibre.ebooks.oeb.base import urlnormalize +from calibre.utils.fonts.sfnt.subset import subset, NoGlyphs, UnsupportedFont + +class SubsetFonts(object): + + ''' + Subset all embedded fonts. Must be run after CSS flattening, as it requires + CSS normalization and flattening to work. + ''' + + def __call__(self, oeb, log, opts): + self.oeb, self.log, self.opts = oeb, log, opts + + self.find_embedded_fonts() + if not self.embedded_fonts: + self.log.debug('No embedded fonts found') + return + self.find_style_rules() + self.find_font_usage() + + totals = [0, 0] + + def remove(font): + totals[1] += len(font['item'].data) + self.oeb.manifest.remove(font['item']) + font['rule'].parentStyleSheet.deleteRule(font['rule']) + + for font in self.embedded_fonts: + if not font['chars']: + self.log('The font %s is unused. Removing it.'%font['src']) + remove(font) + continue + try: + raw, old_stats, new_stats = subset(font['item'].data, font['chars']) + except NoGlyphs: + self.log('The font %s has no used glyphs. Removing it.'%font['src']) + remove(font) + continue + except UnsupportedFont as e: + self.log.warn('The font %s is unsupported for subsetting. %s'%( + font['src'], e)) + sz = len(font['item'].data) + totals[0] += sz + totals[1] += sz + else: + font['item'].data = raw + nlen = sum(new_stats.itervalues()) + olen = sum(old_stats.itervalues()) + self.log('Decreased the font %s to %.1f%% of its original size'% + (font['src'], nlen/olen *100)) + totals[0] += nlen + totals[1] += olen + + font['item'].unload_data_from_memory() + + if totals[0]: + self.log('Reduced total font size to %.1f%% of original'% + (totals[0]/totals[1] * 100)) + + def get_font_properties(self, rule, default=None): + ''' + Given a CSS rule, extract normalized font properties from + it. Note that shorthand font property should already have been expanded + by the CSS flattening code. + ''' + props = {} + s = rule.style + for q in ('font-family', 'src', 'font-weight', 'font-stretch', + 'font-style'): + g = 'uri' if q == 'src' else 'value' + try: + val = s.getProperty(q).propertyValue[0] + val = getattr(val, g) + if q == 'font-family': + val = [x.value for x in s.getProperty(q).propertyValue] + if val and val[0] == 'inherit': + val = None + except (IndexError, KeyError, AttributeError, TypeError, ValueError): + val = None if q in {'src', 'font-family'} else default + if q in {'font-weight', 'font-stretch', 'font-style'}: + val = val.lower() if val else val + if val == 'inherit': + val = default + if q == 'font-weight': + val = {'normal':'400', 'bold':'700'}.get(val, val) + if val not in {'100', '200', '300', '400', '500', '600', '700', + '800', '900', 'bolder', 'lighter'}: + val = default + if val == 'normal': val = '400' + elif q == 'font-style': + if val not in {'normal', 'italic', 'oblique'}: + val = default + elif q == 'font-stretch': + if val not in { 'normal', 'ultra-condensed', 'extra-condensed', + 'condensed', 'semi-condensed', 'semi-expanded', + 'expanded', 'extra-expanded', 'ultra-expanded'}: + val = default + props[q] = val + return props + + def find_embedded_fonts(self): + ''' + Find all @font-face rules and extract the relevant info from them. + ''' + self.embedded_fonts = [] + for item in self.oeb.manifest: + if not hasattr(item.data, 'cssRules'): continue + for i, rule in enumerate(item.data.cssRules): + if rule.type != rule.FONT_FACE_RULE: + continue + props = self.get_font_properties(rule, default='normal') + if not props['font-family'] or not props['src']: + continue + + path = item.abshref(props['src']) + ff = self.oeb.manifest.hrefs.get(urlnormalize(path), None) + if not ff: + continue + props['item'] = ff + if props['font-weight'] in {'bolder', 'lighter'}: + props['font-weight'] = '400' + props['weight'] = int(props['font-weight']) + props['chars'] = set() + props['rule'] = rule + self.embedded_fonts.append(props) + + def find_style_rules(self): + ''' + Extract all font related style information from all stylesheets into a + dict mapping classes to font properties specified by that class. All + the heavy lifting has already been done by the CSS flattening code. + ''' + rules = defaultdict(dict) + for item in self.oeb.manifest: + if not hasattr(item.data, 'cssRules'): continue + for i, rule in enumerate(item.data.cssRules): + if rule.type != rule.STYLE_RULE: + continue + props = {k:v for k,v in + self.get_font_properties(rule).iteritems() if v} + if not props: + continue + for sel in rule.selectorList: + sel = sel.selectorText + if sel and sel.startswith('.'): + # We dont care about pseudo-selectors as the worst that + # can happen is some extra characters will remain in + # the font + sel = sel.partition(':')[0] + rules[sel[1:]].update(props) + + self.style_rules = dict(rules) + + def find_font_usage(self): + for item in self.oeb.manifest: + if not hasattr(item.data, 'xpath'): continue + for body in item.data.xpath('//*[local-name()="body"]'): + base = {'font-family':['serif'], 'font-weight': '400', + 'font-style':'normal', 'font-stretch':'normal'} + self.find_usage_in(body, base) + + def elem_style(self, cls, inherited_style): + ''' + Find the effective style for the given element. + ''' + classes = cls.split() + style = inherited_style.copy() + for cls in classes: + style.update(self.style_rules.get(cls, {})) + wt = style.get('font-weight', None) + pwt = inherited_style.get('font-weight', '400') + if wt == 'bolder': + style['font-weight'] = { + '100':'400', + '200':'400', + '300':'400', + '400':'700', + '500':'700', + }.get(pwt, '900') + elif wt == 'lighter': + style['font-weight'] = { + '600':'400', '700':'400', + '800':'700', '900':'700'}.get(pwt, '100') + + return style + + def used_font(self, style): + ''' + Given a style find the embedded font that matches it. Returns None if + no match is found ( can happen if not family matches). + ''' + ff = style.get('font-family', []) + lnames = {x.lower() for x in ff} + matching_set = [] + + # Filter on font-family + for ef in self.embedded_fonts: + flnames = {x.lower() for x in ef.get('font-family', [])} + if not lnames.intersection(flnames): + continue + matching_set.append(ef) + if not matching_set: + return None + + # Filter on font-stretch + widths = {x:i for i, x in enumerate(( 'ultra-condensed', + 'extra-condensed', 'condensed', 'semi-condensed', 'normal', + 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded' + ))} + + width = widths[style.get('font-stretch', 'normal')] + for f in matching_set: + f['width'] = widths[style.get('font-stretch', 'normal')] + + min_dist = min(abs(width-f['width']) for f in matching_set) + nearest = [f for f in matching_set if abs(width-f['width']) == + min_dist] + if width <= 4: + lmatches = [f for f in nearest if f['width'] <= width] + else: + lmatches = [f for f in nearest if f['width'] >= width] + matching_set = (lmatches or nearest) + + # Filter on font-style + fs = style.get('font-style', 'normal') + order = { + 'oblique':['oblique', 'italic', 'normal'], + 'normal':['normal', 'oblique', 'italic'] + }.get(fs, ['italic', 'oblique', 'normal']) + for q in order: + matches = [f for f in matching_set if f.get('font-style', 'normal') + == q] + if matches: + matching_set = matches + break + + # Filter on font weight + fw = int(style.get('font-weight', '400')) + if fw == 400: + q = [400, 500, 300, 200, 100, 600, 700, 800, 900] + elif fw == 500: + q = [500, 400, 300, 200, 100, 600, 700, 800, 900] + elif fw < 400: + q = [fw] + list(xrange(fw-100, -100, -100)) + list(xrange(fw+100, + 100, 1000)) + else: + q = [fw] + list(xrange(fw+100, 100, 1000)) + list(xrange(fw-100, + -100, -100)) + for wt in q: + matches = [f for f in matching_set if f['weight'] == wt] + if matches: + return matches[0] + + def find_chars(self, elem): + ans = set() + if elem.text: + ans |= set(elem.text) + for child in elem: + if child.tail: + ans |= set(child.tail) + return ans + + def find_usage_in(self, elem, inherited_style): + style = self.elem_style(elem.get('class', ''), inherited_style) + for child in elem: + self.find_usage_in(child, style) + font = self.used_font(style) + if font: + chars = self.find_chars(elem) + if chars: + font['chars'] |= chars + + diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 688b134f0e..895bb5a6b2 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -1,18 +1,19 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' """ The GUI """ -import os, sys, Queue, threading +import os, sys, Queue, threading, glob from threading import RLock from urllib import unquote from PyQt4.Qt import (QVariant, QFileInfo, QObject, SIGNAL, QBuffer, Qt, QByteArray, QTranslator, QCoreApplication, QThread, QEvent, QTimer, pyqtSignal, QDateTime, QDesktopServices, QFileDialog, QFileIconProvider, QSettings, QColor, - QIcon, QApplication, QDialog, QUrl, QFont, QPalette) + QIcon, QApplication, QDialog, QUrl, QFont, QPalette, + QFontDatabase) ORG_NAME = 'KovidsBrain' APP_UID = 'libprs500' -from calibre import prints, load_builtin_fonts +from calibre import prints from calibre.constants import (islinux, iswindows, isbsd, isfrozen, isosx, plugins, config_dir, filesystem_encoding, DEBUG) from calibre.utils.config import Config, ConfigProxy, dynamic, JSONConfig @@ -779,7 +780,6 @@ class Application(QApplication): qt_app = self self._file_open_paths = [] self._file_open_lock = RLock() - load_builtin_fonts() self.setup_styles(force_calibre_style) if DEBUG: @@ -792,6 +792,29 @@ class Application(QApplication): self.redirect_notify = True return ret + def load_builtin_fonts(self, scan_for_fonts=False): + global _rating_font + if scan_for_fonts: + from calibre.utils.fonts.scanner import font_scanner + # Start scanning the users computer for fonts + font_scanner + + # Load the builtin fonts and any fonts added to calibre by the user to + # Qt + for ff in glob.glob(P('fonts/liberation/*.?tf')) + \ + [P('fonts/calibreSymbols.otf')] + \ + glob.glob(os.path.join(config_dir, 'fonts', '*.?tf')): + if ff.rpartition('.')[-1].lower() in {'ttf', 'otf'}: + with open(ff, 'rb') as s: + # Windows requires font files to be executable for them to be + # loaded successfully, so we use the in memory loader + fid = QFontDatabase.addApplicationFontFromData(s.read()) + if fid > -1: + fam = QFontDatabase.applicationFontFamilies(fid) + fam = set(map(unicode, fam)) + if u'calibre Symbols' in fam: + _rating_font = u'calibre Symbols' + def load_calibre_style(self): # On OS X QtCurve resets the palette, so we preserve it explicitly orig_pal = QPalette(self.palette()) @@ -964,22 +987,9 @@ def is_gui_thread(): global gui_thread return gui_thread is QThread.currentThread() -_rating_font = None +_rating_font = 'Arial Unicode MS' if iswindows else 'sans-serif' def rating_font(): global _rating_font - if _rating_font is None: - from PyQt4.Qt import QFontDatabase - _rating_font = 'Arial Unicode MS' if iswindows else 'sans-serif' - fontid = QFontDatabase.addApplicationFont( - #P('fonts/liberation/LiberationSerif-Regular.ttf') - P('fonts/calibreSymbols.otf') - ) - if fontid > -1: - try: - _rating_font = unicode(list( - QFontDatabase.applicationFontFamilies(fontid))[0]) - except: - pass return _rating_font def find_forms(srcdir): diff --git a/src/calibre/gui2/actions/device.py b/src/calibre/gui2/actions/device.py index 5fa44bd7ae..9be0aaaf0c 100644 --- a/src/calibre/gui2/actions/device.py +++ b/src/calibre/gui2/actions/device.py @@ -120,17 +120,19 @@ class ShareConnMenu(QMenu): # {{{ for account in keys: formats, auto, default = opts.accounts[account] subject = opts.subjects.get(account, '') + alias = opts.aliases.get(account, '') dest = 'mail:'+account+';'+formats+';'+subject action1 = DeviceAction(dest, False, False, I('mail.png'), - account) + alias or account) action2 = DeviceAction(dest, True, False, I('mail.png'), - account + ' ' + _('(delete from library)')) + (alias or account) + ' ' + _('(delete from library)')) self.email_to_menu.addAction(action1) self.email_to_and_delete_menu.addAction(action2) map(self.memory.append, (action1, action2)) if default: ac = DeviceAction(dest, False, False, - I('mail.png'), _('Email to') + ' ' +account) + I('mail.png'), _('Email to') + ' ' +(alias or + account)) self.addAction(ac) self.email_actions.append(ac) ac.a_s.connect(sync_menu.action_triggered) diff --git a/src/calibre/gui2/catalog/catalog_epub_mobi.py b/src/calibre/gui2/catalog/catalog_epub_mobi.py index 1ed11a55d7..04a5fe9527 100644 --- a/src/calibre/gui2/catalog/catalog_epub_mobi.py +++ b/src/calibre/gui2/catalog/catalog_epub_mobi.py @@ -239,10 +239,11 @@ class PluginWidget(QWidget,Ui_Form): def initialize(self, name, db): ''' - CheckBoxControls (c_type: check_box): - ['generate_titles','generate_series','generate_genres', - 'generate_recently_added','generate_descriptions','include_hr'] + ['cross_reference_authors', + 'generate_titles','generate_series','generate_genres', + 'generate_recently_added','generate_descriptions', + 'include_hr'] ComboBoxControls (c_type: combo_box): ['exclude_source_field','header_note_source_field', 'merge_source_field'] diff --git a/src/calibre/gui2/catalog/catalog_epub_mobi.ui b/src/calibre/gui2/catalog/catalog_epub_mobi.ui index b32e596f54..5c016ffdb5 100644 --- a/src/calibre/gui2/catalog/catalog_epub_mobi.ui +++ b/src/calibre/gui2/catalog/catalog_epub_mobi.ui @@ -305,7 +305,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] Other options - + @@ -372,7 +372,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] - + @@ -397,7 +397,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] - + @@ -413,7 +413,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] - + @@ -447,7 +447,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] - + E&xtra Description note: @@ -460,7 +460,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] - + @@ -561,6 +561,27 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] + + + + Author cross-references: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + For books with multiple authors, list each author separately + + + + + diff --git a/src/calibre/gui2/convert/look_and_feel.py b/src/calibre/gui2/convert/look_and_feel.py index 1609a0add3..24ee288cc6 100644 --- a/src/calibre/gui2/convert/look_and_feel.py +++ b/src/calibre/gui2/convert/look_and_feel.py @@ -32,7 +32,7 @@ class LookAndFeelWidget(Widget, Ui_Form): Widget.__init__(self, parent, ['change_justification', 'extra_css', 'base_font_size', 'font_size_mapping', 'line_height', 'minimum_line_height', - 'embed_font_family', + 'embed_font_family', 'subset_embedded_fonts', 'smarten_punctuation', 'unsmarten_punctuation', 'disable_font_rescaling', 'insert_blank_line', 'remove_paragraph_spacing', diff --git a/src/calibre/gui2/convert/look_and_feel.ui b/src/calibre/gui2/convert/look_and_feel.ui index 1d3d1c1db3..16f781cb2c 100644 --- a/src/calibre/gui2/convert/look_and_feel.ui +++ b/src/calibre/gui2/convert/look_and_feel.ui @@ -406,7 +406,14 @@ - + + + + + + &Subset all embedded fonts + + diff --git a/src/calibre/gui2/convert/mobi_output.py b/src/calibre/gui2/convert/mobi_output.py index ac2bf15164..6a5c4120a0 100644 --- a/src/calibre/gui2/convert/mobi_output.py +++ b/src/calibre/gui2/convert/mobi_output.py @@ -29,38 +29,8 @@ class PluginWidget(Widget, Ui_Form): ) self.db, self.book_id = db, book_id - ''' - from calibre.utils.fonts import fontconfig - - global font_family_model - if font_family_model is None: - font_family_model = FontFamilyModel() - try: - font_family_model.families = fontconfig.find_font_families(allowed_extensions=['ttf']) - except: - import traceback - font_family_model.families = [] - print 'WARNING: Could not load fonts' - traceback.print_exc() - font_family_model.families.sort() - font_family_model.families[:0] = [_('Default')] - - self.font_family_model = font_family_model - self.opt_masthead_font.setModel(self.font_family_model) - ''' self.opt_mobi_file_type.addItems(['old', 'both', 'new']) self.initialize_options(get_option, get_help, db, book_id) - ''' - def set_value_handler(self, g, val): - if unicode(g.objectName()) in 'opt_masthead_font': - idx = -1 - if val: - idx = g.findText(val, Qt.MatchFixedString) - if idx < 0: - idx = 0 - g.setCurrentIndex(idx) - return True - return False - ''' + diff --git a/src/calibre/gui2/dialogs/metadata_bulk.ui b/src/calibre/gui2/dialogs/metadata_bulk.ui index 2c4a409a22..917dfbb159 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.ui +++ b/src/calibre/gui2/dialogs/metadata_bulk.ui @@ -504,7 +504,11 @@ from the value in the box - When doing a same format to same format conversion, for e.g., EPUB to EPUB, calibre saves the original EPUB as ORIGINAL_EPUB. This option tells calibre to restore the EPUB from ORIGINAL_EPUB. Useful if you did a bulk conversion of a large number of books and something went wrong. + When doing a same format to same format conversion, +for e.g., EPUB to EPUB, calibre saves the original EPUB + as ORIGINAL_EPUB. This option tells calibre to restore + the EPUB from ORIGINAL_EPUB. Useful if you did a bulk + conversion of a large number of books and something went wrong. Restore pre conversion &originals, if available diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index a395ecf6b9..fc8a528830 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -219,7 +219,13 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): if mi: self.mi = mi else: - self.mi = Metadata(None, None) + self.mi = Metadata(_('Title'), [_('Author')]) + self.mi.author_sort = _('Author Sort') + self.mi.series = _('Series') + self.mi.series_index = 3 + self.mi.rating = 4.0 + self.mi.tags = [_('Tag 1'), _('Tag 2')] + self.mi.languages = ['eng'] # Remove help icon on title bar icon = self.windowIcon() diff --git a/src/calibre/gui2/font_family_chooser.py b/src/calibre/gui2/font_family_chooser.py index b69d596d5f..e3a2662ac4 100644 --- a/src/calibre/gui2/font_family_chooser.py +++ b/src/calibre/gui2/font_family_chooser.py @@ -7,13 +7,16 @@ __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' +import os, shutil + from PyQt4.Qt import (QFontInfo, QFontMetrics, Qt, QFont, QFontDatabase, QPen, QStyledItemDelegate, QSize, QStyle, QStringListModel, pyqtSignal, QDialog, QVBoxLayout, QApplication, QFontComboBox, QPushButton, QToolButton, QGridLayout, QListView, QWidget, QDialogButtonBox, QIcon, - QHBoxLayout, QLabel, QModelIndex) + QHBoxLayout, QLabel, QModelIndex, QLineEdit) -from calibre.utils.icu import sort_key +from calibre.constants import config_dir +from calibre.gui2 import choose_files, error_dialog, info_dialog def writing_system_for_font(font): has_latin = True @@ -112,8 +115,54 @@ class FontFamilyDelegate(QStyledItemDelegate): r.setLeft(r.left() + w) painter.drawText(r, Qt.AlignVCenter|Qt.AlignLeading|Qt.TextSingleLine, sample) -class Typefaces(QWidget): - pass +class Typefaces(QLabel): + + def __init__(self, parent=None): + QLabel.__init__(self, parent) + self.setMinimumWidth(400) + self.base_msg = '

'+_('Choose a font family')+'

' + self.setText(self.base_msg) + self.setWordWrap(True) + + def show_family(self, family, faces): + if not family: + self.setText(self.base_msg) + return + msg = ''' +

%s

+
+ {0} +
+ '''%(_('Available faces for %s')%family) + entries = [] + for font in faces: + sf = (font['wws_subfamily_name'] or font['preferred_subfamily_name'] + or font['subfamily_name']) + entries.append(''' +
{sf}
+
font-stretch: {width} font-weight: {weight} font-style: + {style}
+ + '''.format(sf=sf, width=font['font-stretch'], + weight=font['font-weight'], style=font['font-style'])) + msg = msg.format('\n\n'.join(entries)) + self.setText(msg) + +class FontsView(QListView): + + changed = pyqtSignal() + + def __init__(self, parent): + QListView.__init__(self, parent) + self.setSelectionMode(self.SingleSelection) + self.setAlternatingRowColors(True) + self.d = FontFamilyDelegate(self) + self.setItemDelegate(self.d) + + def currentChanged(self, current, previous): + self.changed.emit() + QListView.currentChanged(self, current, previous) + class FontFamilyDialog(QDialog): @@ -121,28 +170,15 @@ class FontFamilyDialog(QDialog): QDialog.__init__(self, parent) self.setWindowTitle(_('Choose font family')) self.setWindowIcon(QIcon(I('font.png'))) - from calibre.utils.fonts import fontconfig - try: - self.families = fontconfig.find_font_families() - except: - self.families = [] - print ('WARNING: Could not load fonts') - import traceback - traceback.print_exc() - # Restrict to Qt families as we need the font to be available in - # QFontDatabase - qt_families = set([unicode(x) for x in QFontDatabase().families()]) - self.families = list(qt_families.intersection(set(self.families))) - self.families.sort(key=sort_key) - self.families.insert(0, _('None')) + from calibre.utils.fonts.scanner import font_scanner + self.font_scanner = font_scanner + self.m = QStringListModel(self) + self.build_font_list() self.l = l = QGridLayout() self.setLayout(l) - self.view = QListView(self) - self.m = QStringListModel(self.families) + self.view = FontsView(self) self.view.setModel(self.m) - self.d = FontFamilyDelegate(self) - self.view.setItemDelegate(self.d) self.view.setCurrentIndex(self.m.index(0)) if current_family: for i, val in enumerate(self.families): @@ -150,22 +186,114 @@ class FontFamilyDialog(QDialog): self.view.setCurrentIndex(self.m.index(i)) break self.view.doubleClicked.connect(self.accept, type=Qt.QueuedConnection) - self.view.setSelectionMode(self.view.SingleSelection) - self.view.setAlternatingRowColors(True) - + self.view.changed.connect(self.current_changed, + type=Qt.QueuedConnection) + self.faces = Typefaces(self) self.bb = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel) self.bb.accepted.connect(self.accept) self.bb.rejected.connect(self.reject) + self.add_fonts_button = afb = self.bb.addButton(_('Add &fonts'), + self.bb.ActionRole) + afb.setIcon(QIcon(I('plus.png'))) + afb.clicked.connect(self.add_fonts) self.ml = QLabel(_('Choose a font family from the list below:')) + self.search = QLineEdit(self) + self.search.setPlaceholderText(_('Search')) + self.search.returnPressed.connect(self.find) + self.nb = QToolButton(self) + self.nb.setIcon(QIcon(I('arrow-down.png'))) + self.nb.setToolTip(_('Find Next')) + self.pb = QToolButton(self) + self.pb.setIcon(QIcon(I('arrow-up.png'))) + self.pb.setToolTip(_('Find Previous')) + self.nb.clicked.connect(self.find_next) + self.pb.clicked.connect(self.find_previous) - self.faces = Typefaces(self) + l.addWidget(self.ml, 0, 0, 1, 4) + l.addWidget(self.search, 1, 0, 1, 1) + l.addWidget(self.nb, 1, 1, 1, 1) + l.addWidget(self.pb, 1, 2, 1, 1) + l.addWidget(self.view, 2, 0, 1, 3) + l.addWidget(self.faces, 1, 3, 2, 1) + l.addWidget(self.bb, 3, 0, 1, 4) + l.setAlignment(self.faces, Qt.AlignTop) - l.addWidget(self.ml, 0, 0, 1, 2) - l.addWidget(self.view, 1, 0, 1, 1) - l.addWidget(self.faces, 1, 1, 1, 1) - l.addWidget(self.bb, 2, 0, 1, 2) + self.resize(800, 600) - self.resize(600, 500) + def set_current(self, i): + self.view.setCurrentIndex(self.m.index(i)) + + def keyPressEvent(self, e): + if e.key() == Qt.Key_Return: + return + return QDialog.keyPressEvent(self, e) + + def find(self, backwards=False): + i = self.view.currentIndex().row() + if i < 0: i = 0 + q = icu_lower(unicode(self.search.text())).strip() + if not q: return + r = (xrange(i-1, -1, -1) if backwards else xrange(i+1, + len(self.families))) + for j in r: + f = self.families[j] + if q in icu_lower(f): + self.set_current(j) + return + + def find_next(self): + self.find() + + def find_previous(self): + self.find(backwards=True) + + def build_font_list(self): + try: + self.families = list(self.font_scanner.find_font_families()) + except: + self.families = [] + print ('WARNING: Could not load fonts') + import traceback + traceback.print_exc() + self.families.insert(0, _('None')) + self.m.setStringList(self.families) + + def add_fonts(self): + from calibre.utils.fonts.metadata import FontMetadata + files = choose_files(self, 'add fonts to calibre', + _('Select font files'), filters=[(_('TrueType/OpenType Fonts'), + ['ttf', 'otf'])], all_files=False) + if not files: return + families = set() + for f in files: + try: + with open(f, 'rb') as stream: + fm = FontMetadata(stream) + except: + import traceback + error_dialog(self, _('Corrupt font'), + _('Failed to read metadata from the font file: %s')% + f, det_msg=traceback.format_exc(), show=True) + return + families.add(fm.font_family) + families = sorted(families) + + dest = os.path.join(config_dir, 'fonts') + for f in files: + shutil.copyfile(f, os.path.join(dest, os.path.basename(f))) + self.font_scanner.do_scan() + self.build_font_list() + self.m.reset() + self.view.setCurrentIndex(self.m.index(0)) + if families: + for i, val in enumerate(self.families): + if icu_lower(val) == icu_lower(families[0]): + self.view.setCurrentIndex(self.m.index(i)) + break + + info_dialog(self, _('Added fonts'), + _('Added font families: %s')%( + ', '.join(families)), show=True) @property def font_family(self): @@ -173,6 +301,11 @@ class FontFamilyDialog(QDialog): if idx == 0: return None return self.families[idx] + def current_changed(self): + fam = self.font_family + self.faces.show_family(fam, self.font_scanner.fonts_for_family(fam) + if fam else None) + class FontFamilyChooser(QWidget): family_changed = pyqtSignal(object) diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 641ac23611..49e5c497fe 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -871,12 +871,18 @@ class BooksModel(QAbstractTableModel): # {{{ try: return self._set_data(index, value) except (IOError, OSError) as err: + import traceback if getattr(err, 'errno', None) == errno.EACCES: # Permission denied - import traceback + fname = getattr(err, 'filename', None) + p = 'Locked file: %s\n\n'%fname if fname else '' error_dialog(get_gui(), _('Permission denied'), _('Could not change the on disk location of this' ' book. Is it open in another program?'), - det_msg=traceback.format_exc(), show=True) + det_msg=p+traceback.format_exc(), show=True) + return False + error_dialog(get_gui(), _('Failed to set data'), + _('Could not set data, click Show Details to see why.'), + det_msg=traceback.format_exc(), show=True) except: import traceback traceback.print_exc() diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 0b4a755679..7a73f12294 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -291,6 +291,7 @@ def run_in_debug_mode(logpath=None): def run_gui(opts, args, actions, listener, app, gui_debug=None): initialize_file_icon_provider() + app.load_builtin_fonts(scan_for_fonts=True) if not dynamic.get('welcome_wizard_was_run', False): from calibre.gui2.wizard import wizard wizard().exec_() diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 0da9b1bcf4..409088d315 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -91,22 +91,26 @@ class TitleEdit(EnLineEdit): def commit(self, db, id_): title = self.current_val - try: - if self.COMMIT: - getattr(db, 'set_'+ self.TITLE_ATTR)(id_, title, notify=False) - else: - getattr(db, 'set_'+ self.TITLE_ATTR)(id_, title, notify=False, - commit=False) - except (IOError, OSError) as err: - if getattr(err, 'errno', -1) == errno.EACCES: # Permission denied - import traceback - fname = err.filename if err.filename else 'file' - error_dialog(self, _('Permission denied'), - _('Could not open %s. Is it being used by another' - ' program?')%fname, det_msg=traceback.format_exc(), - show=True) - return False - raise + if title != self.original_val: + # Only try to commit if changed. This allow setting of other fields + # to work even if some of the book files are opened in windows. + try: + if self.COMMIT: + getattr(db, 'set_'+ self.TITLE_ATTR)(id_, title, notify=False) + else: + getattr(db, 'set_'+ self.TITLE_ATTR)(id_, title, notify=False, + commit=False) + except (IOError, OSError) as err: + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + import traceback + fname = getattr(err, 'filename', None) + p = 'Locked file: %s\n\n'%fname if fname else '' + error_dialog(self, _('Permission denied'), + _('Could not change the on disk location of this' + ' book. Is it open in another program?'), + det_msg=p+traceback.format_exc(), show=True) + return False + raise return True @dynamic_property @@ -262,19 +266,23 @@ class AuthorsEdit(EditWithComplete): def commit(self, db, id_): authors = self.current_val - try: - self.books_to_refresh |= db.set_authors(id_, authors, notify=False, - allow_case_change=True) - except (IOError, OSError) as err: - if getattr(err, 'errno', -1) == errno.EACCES: # Permission denied - import traceback - fname = err.filename if err.filename else 'file' - error_dialog(self, _('Permission denied'), - _('Could not open "%s". Is it being used by another' - ' program?')%fname, det_msg=traceback.format_exc(), - show=True) - return False - raise + if authors != self.original_val: + # Only try to commit if changed. This allow setting of other fields + # to work even if some of the book files are opened in windows. + try: + self.books_to_refresh |= db.set_authors(id_, authors, notify=False, + allow_case_change=True) + except (IOError, OSError) as err: + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + import traceback + fname = getattr(err, 'filename', None) + p = 'Locked file: %s\n\n'%fname if fname else '' + error_dialog(self, _('Permission denied'), + _('Could not change the on disk location of this' + ' book. Is it open in another program?'), + det_msg=p+traceback.format_exc(), show=True) + return False + raise return True @dynamic_property diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 54067f4c0f..a736f9fb27 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -188,6 +188,10 @@ class MetadataSingleDialogBase(ResizableDialog): self.tags_editor_button.setToolTip(_('Open Tag Editor')) self.tags_editor_button.setIcon(QIcon(I('chapters.png'))) self.tags_editor_button.clicked.connect(self.tags_editor) + self.clear_tags_button = QToolButton(self) + self.clear_tags_button.setToolTip(_('Clear all tags')) + self.clear_tags_button.setIcon(QIcon(I('trash.png'))) + self.clear_tags_button.clicked.connect(self.tags.clear) self.basic_metadata_widgets.append(self.tags) self.identifiers = IdentifiersEdit(self) @@ -322,6 +326,7 @@ class MetadataSingleDialogBase(ResizableDialog): ' program?')%fname, det_msg=traceback.format_exc(), show=True) return + raise if mi is None: return cdata = None @@ -444,11 +449,12 @@ class MetadataSingleDialogBase(ResizableDialog): except (IOError, OSError) as err: if getattr(err, 'errno', None) == errno.EACCES: # Permission denied import traceback - fname = err.filename if err.filename else 'file' + fname = getattr(err, 'filename', None) + p = 'Locked file: %s\n\n'%fname if fname else '' error_dialog(self, _('Permission denied'), - _('Could not open %s. Is it being used by another' - ' program?')%fname, det_msg=traceback.format_exc(), - show=True) + _('Could not change the on disk location of this' + ' book. Is it open in another program?'), + det_msg=p+traceback.format_exc(), show=True) return False raise for widget in getattr(self, 'custom_metadata_widgets', []): @@ -654,9 +660,10 @@ class MetadataSingleDialog(MetadataSingleDialogBase): # {{{ l.addItem(self.tabs[0].spc_one, 1, 0, 1, 3) sto(self.cover.buttons[-1], self.rating) create_row2(1, self.rating) - sto(self.rating, self.tags) - create_row2(2, self.tags, self.tags_editor_button) - sto(self.tags_editor_button, self.paste_isbn_button) + sto(self.rating, self.tags_editor_button) + sto(self.tags_editor_button, self.tags) + create_row2(2, self.tags, self.clear_tags_button, front_button=self.tags_editor_button) + sto(self.clear_tags_button, self.paste_isbn_button) sto(self.paste_isbn_button, self.identifiers) create_row2(3, self.identifiers, self.clear_identifiers_button, front_button=self.paste_isbn_button) @@ -759,6 +766,7 @@ class MetadataSingleDialogAlt1(MetadataSingleDialogBase): # {{{ tl.addWidget(self.swap_title_author_button, 0, 0, 2, 1) tl.addWidget(self.manage_authors_button, 2, 0, 1, 1) tl.addWidget(self.paste_isbn_button, 12, 0, 1, 1) + tl.addWidget(self.tags_editor_button, 6, 0, 1, 1) create_row(0, self.title, self.title_sort, button=self.deduce_title_sort_button, span=2, @@ -771,7 +779,7 @@ class MetadataSingleDialogAlt1(MetadataSingleDialogBase): # {{{ create_row(4, self.series, self.series_index, button=self.clear_series_button, icon='trash.png') create_row(5, self.series_index, self.tags) - create_row(6, self.tags, self.rating, button=self.tags_editor_button) + create_row(6, self.tags, self.rating, button=self.clear_tags_button) create_row(7, self.rating, self.pubdate) create_row(8, self.pubdate, self.publisher, button=self.pubdate.clear_button, icon='trash.png') @@ -783,7 +791,8 @@ class MetadataSingleDialogAlt1(MetadataSingleDialogBase): # {{{ button=self.clear_identifiers_button, icon='trash.png') sto(self.clear_identifiers_button, self.swap_title_author_button) sto(self.swap_title_author_button, self.manage_authors_button) - sto(self.manage_authors_button, self.paste_isbn_button) + sto(self.manage_authors_button, self.tags_editor_button) + sto(self.tags_editor_button, self.paste_isbn_button) tl.addItem(QSpacerItem(1, 1, QSizePolicy.Fixed, QSizePolicy.Expanding), 13, 1, 1 ,1) @@ -894,6 +903,7 @@ class MetadataSingleDialogAlt2(MetadataSingleDialogBase): # {{{ tl.addWidget(self.swap_title_author_button, 0, 0, 2, 1) tl.addWidget(self.manage_authors_button, 2, 0, 2, 1) tl.addWidget(self.paste_isbn_button, 12, 0, 1, 1) + tl.addWidget(self.tags_editor_button, 6, 0, 1, 1) create_row(0, self.title, self.title_sort, button=self.deduce_title_sort_button, span=2, @@ -906,7 +916,7 @@ class MetadataSingleDialogAlt2(MetadataSingleDialogBase): # {{{ create_row(4, self.series, self.series_index, button=self.clear_series_button, icon='trash.png') create_row(5, self.series_index, self.tags) - create_row(6, self.tags, self.rating, button=self.tags_editor_button) + create_row(6, self.tags, self.rating, button=self.clear_tags_button) create_row(7, self.rating, self.pubdate) create_row(8, self.pubdate, self.publisher, button=self.pubdate.clear_button, icon='trash.png') @@ -918,7 +928,8 @@ class MetadataSingleDialogAlt2(MetadataSingleDialogBase): # {{{ button=self.clear_identifiers_button, icon='trash.png') sto(self.clear_identifiers_button, self.swap_title_author_button) sto(self.swap_title_author_button, self.manage_authors_button) - sto(self.manage_authors_button, self.paste_isbn_button) + sto(self.manage_authors_button, self.tags_editor_button) + sto(self.tags_editor_button, self.paste_isbn_button) tl.addItem(QSpacerItem(1, 1, QSizePolicy.Fixed, QSizePolicy.Expanding), 13, 1, 1 ,1) diff --git a/src/calibre/gui2/preferences/emailp.py b/src/calibre/gui2/preferences/emailp.py index 892b01f095..7f348030c0 100644 --- a/src/calibre/gui2/preferences/emailp.py +++ b/src/calibre/gui2/preferences/emailp.py @@ -19,12 +19,14 @@ from calibre.utils.smtp import config as smtp_prefs class EmailAccounts(QAbstractTableModel): # {{{ - def __init__(self, accounts, subjects): + def __init__(self, accounts, subjects, aliases={}): QAbstractTableModel.__init__(self) self.accounts = accounts self.subjects = subjects + self.aliases = aliases self.account_order = sorted(self.accounts.keys()) - self.headers = map(QVariant, [_('Email'), _('Formats'), _('Subject'), _('Auto send')]) + self.headers = map(QVariant, [_('Email'), _('Formats'), _('Subject'), + _('Auto send'), _('Alias')]) self.default_font = QFont() self.default_font.setBold(True) self.default_font = QVariant(self.default_font) @@ -36,7 +38,9 @@ class EmailAccounts(QAbstractTableModel): # {{{ '{author_sort} can be used here.'), '

'+_('If checked, downloaded news will be automatically ' 'mailed
to this email address ' - '(provided it is in one of the listed formats).')]))) + '(provided it is in one of the listed formats).'), + _('Friendly name to use for this email address') + ]))) def rowCount(self, *args): return len(self.account_order) @@ -67,6 +71,8 @@ class EmailAccounts(QAbstractTableModel): # {{{ return QVariant(self.accounts[account][0]) if col == 2: return QVariant(self.subjects.get(account, '')) + if col == 4: + return QVariant(self.aliases.get(account, '')) if role == Qt.FontRole and self.accounts[account][2]: return self.default_font if role == Qt.CheckStateRole and col == 3: @@ -88,6 +94,11 @@ class EmailAccounts(QAbstractTableModel): # {{{ self.accounts[account][1] ^= True elif col == 2: self.subjects[account] = unicode(value.toString()) + elif col == 4: + self.aliases.pop(account, None) + aval = unicode(value.toString()).strip() + if aval: + self.aliases[account] = aval elif col == 1: self.accounts[account][0] = unicode(value.toString()).upper() elif col == 0: @@ -156,7 +167,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.send_email_widget.initialize(self.preferred_to_address) self.send_email_widget.changed_signal.connect(self.changed_signal.emit) opts = self.send_email_widget.smtp_opts - self._email_accounts = EmailAccounts(opts.accounts, opts.subjects) + self._email_accounts = EmailAccounts(opts.accounts, opts.subjects, + opts.aliases) self._email_accounts.dataChanged.connect(lambda x,y: self.changed_signal.emit()) self.email_view.setModel(self._email_accounts) @@ -184,6 +196,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): raise AbortCommit('abort') self.proxy['accounts'] = self._email_accounts.accounts self.proxy['subjects'] = self._email_accounts.subjects + self.proxy['aliases'] = self._email_accounts.aliases return ConfigWidgetBase.commit(self) diff --git a/src/calibre/gui2/preferences/plugins.py b/src/calibre/gui2/preferences/plugins.py index 382b07260b..912518568a 100644 --- a/src/calibre/gui2/preferences/plugins.py +++ b/src/calibre/gui2/preferences/plugins.py @@ -403,7 +403,12 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): return all_locations = OrderedDict(ConfigWidget.LOCATIONS) - plugin_action = plugin.load_actual_plugin(self.gui) + try: + plugin_action = plugin.load_actual_plugin(self.gui) + except: + # Broken plugin, fails to initialize. Given that, it's probably + # already configured, so we can just quit. + return installed_actions = OrderedDict([ (key, list(gprefs.get('action-layout-'+key, []))) for key in all_locations]) diff --git a/src/calibre/gui2/store/stores/amazon_de_plugin.py b/src/calibre/gui2/store/stores/amazon_de_plugin.py index 69e7dcaafc..846903cd4a 100644 --- a/src/calibre/gui2/store/stores/amazon_de_plugin.py +++ b/src/calibre/gui2/store/stores/amazon_de_plugin.py @@ -6,102 +6,19 @@ __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -from contextlib import closing +from calibre.gui2.store.stores.amazon_uk_plugin import AmazonUKKindleStore -from lxml import html - -from PyQt4.Qt import QUrl - -from calibre import browser -from calibre.gui2 import open_url -from calibre.gui2.store import StorePlugin -from calibre.gui2.store.search_result import SearchResult - -class AmazonDEKindleStore(StorePlugin): +class AmazonDEKindleStore(AmazonUKKindleStore): ''' For comments on the implementation, please see amazon_plugin.py ''' - def open(self, parent=None, detail_item=None, external=False): - aff_id = {'tag': 'charhale0a-21'} - store_link = ('http://www.amazon.de/gp/redirect.html?ie=UTF8&site-redirect=de' - '&tag=%(tag)s&linkCode=ur2&camp=1638&creative=19454' - '&location=http://www.amazon.de/ebooks-kindle/b?node=530886031') % aff_id - if detail_item: - aff_id['asin'] = detail_item - store_link = ('http://www.amazon.de/gp/redirect.html?ie=UTF8' + aff_id = {'tag': 'charhale0a-21'} + store_link = ('http://www.amazon.de/gp/redirect.html?ie=UTF8&site-redirect=de' + '&tag=%(tag)s&linkCode=ur2&camp=1638&creative=19454' + '&location=http://www.amazon.de/ebooks-kindle/b?node=530886031') + store_link_details = ('http://www.amazon.de/gp/redirect.html?ie=UTF8' '&location=http://www.amazon.de/dp/%(asin)s&site-redirect=de' - '&tag=%(tag)s&linkCode=ur2&camp=1638&creative=6742') % aff_id - open_url(QUrl(store_link)) + '&tag=%(tag)s&linkCode=ur2&camp=1638&creative=6742') + search_url = 'http://www.amazon.de/s/?url=search-alias%3Ddigital-text&field-keywords=' - def search(self, query, max_results=10, timeout=60): - search_url = 'http://www.amazon.de/s/?url=search-alias%3Ddigital-text&field-keywords=' - url = search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') - br = browser() - - counter = max_results - with closing(br.open(url, timeout=timeout)) as f: - # doc = html.fromstring(f.read().decode('latin-1', 'replace')) - # Apparently amazon Europe is responding in UTF-8 now - doc = html.fromstring(f.read()) - - data_xpath = '//div[contains(@class, "result") and contains(@class, "product")]' - format_xpath = './/span[@class="format"]/text()' - cover_xpath = './/img[@class="productImage"]/@src' - - for data in doc.xpath(data_xpath): - if counter <= 0: - break - - # Even though we are searching digital-text only Amazon will still - # put in results for non Kindle books (author pages). So we need - # to explicitly check if the item is a Kindle book and ignore it - # if it isn't. - format = ''.join(data.xpath(format_xpath)) - if 'kindle' not in format.lower(): - continue - - # We must have an asin otherwise we can't easily reference the - # book later. - asin = ''.join(data.xpath("@name")) - - cover_url = ''.join(data.xpath(cover_xpath)) - - title = ''.join(data.xpath('.//a[@class="title"]/text()')) - price = ''.join(data.xpath('.//div[@class="newPrice"]/span[contains(@class, "price")]/text()')) - - author = ''.join(data.xpath('.//h3[@class="title"]/span[@class="ptBrand"]/text()')) - if author.startswith('von '): - author = author[4:] - - counter -= 1 - - s = SearchResult() - s.cover_url = cover_url.strip() - s.title = title.strip() - s.author = author.strip() - s.price = price.strip() - s.detail_item = asin.strip() - s.formats = 'Kindle' - - yield s - - def get_details(self, search_result, timeout): - drm_search_text = u'Gleichzeitige Verwendung von Geräten' - drm_free_text = u'Keine Einschränkung' - url = 'http://amazon.de/dp/' - - br = browser() - with closing(br.open(url + search_result.detail_item, timeout=timeout)) as nf: - idata = html.fromstring(nf.read()) - if idata.xpath('boolean(//div[@class="content"]//li/b[contains(text(), "' + - drm_search_text + '")])'): - if idata.xpath('boolean(//div[@class="content"]//li[contains(., "' + - drm_free_text + '") and contains(b, "' + - drm_search_text + '")])'): - search_result.drm = SearchResult.DRM_UNLOCKED - else: - search_result.drm = SearchResult.DRM_UNKNOWN - else: - search_result.drm = SearchResult.DRM_LOCKED - return True diff --git a/src/calibre/gui2/store/stores/amazon_es_plugin.py b/src/calibre/gui2/store/stores/amazon_es_plugin.py index 094f1e13c9..afd6552272 100644 --- a/src/calibre/gui2/store/stores/amazon_es_plugin.py +++ b/src/calibre/gui2/store/stores/amazon_es_plugin.py @@ -6,78 +6,17 @@ __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -from contextlib import closing +from calibre.gui2.store.stores.amazon_uk_plugin import AmazonUKKindleStore -from lxml import html - -from PyQt4.Qt import QUrl - -from calibre import browser -from calibre.gui2 import open_url -from calibre.gui2.store import StorePlugin -from calibre.gui2.store.search_result import SearchResult - -class AmazonESKindleStore(StorePlugin): +class AmazonESKindleStore(AmazonUKKindleStore): ''' For comments on the implementation, please see amazon_plugin.py ''' - def open(self, parent=None, detail_item=None, external=False): - aff_id = {'tag': 'charhale09-21'} - store_link = 'http://www.amazon.es/ebooks-kindle/b?_encoding=UTF8&node=827231031&tag=%(tag)s&ie=UTF8&linkCode=ur2&camp=3626&creative=24790' % aff_id - if detail_item: - aff_id['asin'] = detail_item - store_link = 'http://www.amazon.es/gp/redirect.html?ie=UTF8&location=http://www.amazon.es/dp/%(asin)s&tag=%(tag)s&linkCode=ur2&camp=3626&creative=24790' % aff_id - open_url(QUrl(store_link)) - - def search(self, query, max_results=10, timeout=60): - search_url = 'http://www.amazon.es/s/?url=search-alias%3Ddigital-text&field-keywords=' - url = search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') - br = browser() - - counter = max_results - with closing(br.open(url, timeout=timeout)) as f: - # doc = html.fromstring(f.read().decode('latin-1', 'replace')) - # Apparently amazon Europe is responding in UTF-8 now - doc = html.fromstring(f.read()) - - data_xpath = '//div[contains(@class, "result") and contains(@class, "product")]' - format_xpath = './/span[@class="format"]/text()' - cover_xpath = './/img[@class="productImage"]/@src' - - for data in doc.xpath(data_xpath): - if counter <= 0: - break - - # Even though we are searching digital-text only Amazon will still - # put in results for non Kindle books (author pages). So we need - # to explicitly check if the item is a Kindle book and ignore it - # if it isn't. - format = ''.join(data.xpath(format_xpath)) - if 'kindle' not in format.lower(): - continue - - # We must have an asin otherwise we can't easily reference the - # book later. - asin = ''.join(data.xpath("@name")) - - cover_url = ''.join(data.xpath(cover_xpath)) - - title = ''.join(data.xpath('.//a[@class="title"]/text()')) - price = ''.join(data.xpath('.//div[@class="newPrice"]/span[contains(@class, "price")]/text()')) - author = unicode(''.join(data.xpath('.//h3[@class="title"]/span[@class="ptBrand"]/text()'))) - if author.startswith('de '): - author = author[3:] - - counter -= 1 - - s = SearchResult() - s.cover_url = cover_url.strip() - s.title = title.strip() - s.author = author.strip() - s.price = price.strip() - s.detail_item = asin.strip() - s.formats = 'Kindle' - s.drm = SearchResult.DRM_UNKNOWN - - yield s + aff_id = {'tag': 'charhale09-21'} + store_link = ('http://www.amazon.es/ebooks-kindle/b?_encoding=UTF8&' + 'node=827231031&tag=%(tag)s&ie=UTF8&linkCode=ur2&camp=3626&creative=24790') + store_link_details = ('http://www.amazon.es/gp/redirect.html?ie=UTF8&' + 'location=http://www.amazon.es/dp/%(asin)s&tag=%(tag)s' + '&linkCode=ur2&camp=3626&creative=24790') + search_url = 'http://www.amazon.es/s/?url=search-alias%3Ddigital-text&field-keywords=' \ No newline at end of file diff --git a/src/calibre/gui2/store/stores/amazon_fr_plugin.py b/src/calibre/gui2/store/stores/amazon_fr_plugin.py index 4e31d69ca5..97a6179d7b 100644 --- a/src/calibre/gui2/store/stores/amazon_fr_plugin.py +++ b/src/calibre/gui2/store/stores/amazon_fr_plugin.py @@ -6,79 +6,16 @@ __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -from contextlib import closing -from lxml import html +from calibre.gui2.store.stores.amazon_uk_plugin import AmazonUKKindleStore -from PyQt4.Qt import QUrl - -from calibre import browser -from calibre.gui2 import open_url -from calibre.gui2.store import StorePlugin -from calibre.gui2.store.search_result import SearchResult - -class AmazonFRKindleStore(StorePlugin): +class AmazonFRKindleStore(AmazonUKKindleStore): ''' For comments on the implementation, please see amazon_plugin.py ''' - def open(self, parent=None, detail_item=None, external=False): - aff_id = {'tag': 'charhale-21'} - store_link = 'http://www.amazon.fr/livres-kindle/b?ie=UTF8&node=695398031&ref_=sa_menu_kbo1&_encoding=UTF8&tag=%(tag)s&linkCode=ur2&camp=1642&creative=19458' % aff_id + aff_id = {'tag': 'charhale-21'} + store_link = 'http://www.amazon.fr/livres-kindle/b?ie=UTF8&node=695398031&ref_=sa_menu_kbo1&_encoding=UTF8&tag=%(tag)s&linkCode=ur2&camp=1642&creative=19458' % aff_id + store_link_details = 'http://www.amazon.fr/gp/redirect.html?ie=UTF8&location=http://www.amazon.fr/dp/%(asin)s&tag=%(tag)s&linkCode=ur2&camp=1634&creative=6738' + search_url = 'http://www.amazon.fr/s/?url=search-alias%3Ddigital-text&field-keywords=' - if detail_item: - aff_id['asin'] = detail_item - store_link = 'http://www.amazon.fr/gp/redirect.html?ie=UTF8&location=http://www.amazon.fr/dp/%(asin)s&tag=%(tag)s&linkCode=ur2&camp=1634&creative=6738' % aff_id - open_url(QUrl(store_link)) - - def search(self, query, max_results=10, timeout=60): - search_url = 'http://www.amazon.fr/s/?url=search-alias%3Ddigital-text&field-keywords=' - url = search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') - br = browser() - - counter = max_results - with closing(br.open(url, timeout=timeout)) as f: - # doc = html.fromstring(f.read().decode('latin-1', 'replace')) - # Apparently amazon Europe is responding in UTF-8 now - doc = html.fromstring(f.read()) - - data_xpath = '//div[contains(@class, "result") and contains(@class, "product")]' - format_xpath = './/span[@class="format"]/text()' - cover_xpath = './/img[@class="productImage"]/@src' - - for data in doc.xpath(data_xpath): - if counter <= 0: - break - - # Even though we are searching digital-text only Amazon will still - # put in results for non Kindle books (author pages). So we need - # to explicitly check if the item is a Kindle book and ignore it - # if it isn't. - format = ''.join(data.xpath(format_xpath)) - if 'kindle' not in format.lower(): - continue - - # We must have an asin otherwise we can't easily reference the - # book later. - asin = ''.join(data.xpath("@name")) - - cover_url = ''.join(data.xpath(cover_xpath)) - - title = ''.join(data.xpath('.//a[@class="title"]/text()')) - price = ''.join(data.xpath('.//div[@class="newPrice"]/span[contains(@class, "price")]/text()')) - author = unicode(''.join(data.xpath('.//h3[@class="title"]/span[@class="ptBrand"]/text()'))) - if author.startswith('de '): - author = author[3:] - - counter -= 1 - - s = SearchResult() - s.cover_url = cover_url.strip() - s.title = title.strip() - s.author = author.strip() - s.price = price.strip() - s.detail_item = asin.strip() - s.formats = 'Kindle' - s.drm = SearchResult.DRM_UNKNOWN - - yield s diff --git a/src/calibre/gui2/store/stores/amazon_it_plugin.py b/src/calibre/gui2/store/stores/amazon_it_plugin.py index 39dd1ee0ce..563c26bfa1 100644 --- a/src/calibre/gui2/store/stores/amazon_it_plugin.py +++ b/src/calibre/gui2/store/stores/amazon_it_plugin.py @@ -6,78 +6,17 @@ __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -from contextlib import closing +from calibre.gui2.store.stores.amazon_uk_plugin import AmazonUKKindleStore -from lxml import html - -from PyQt4.Qt import QUrl - -from calibre import browser -from calibre.gui2 import open_url -from calibre.gui2.store import StorePlugin -from calibre.gui2.store.search_result import SearchResult - -class AmazonITKindleStore(StorePlugin): +class AmazonITKindleStore(AmazonUKKindleStore): ''' For comments on the implementation, please see amazon_plugin.py ''' - def open(self, parent=None, detail_item=None, external=False): - aff_id = {'tag': 'httpcharles07-21'} - store_link = 'http://www.amazon.it/ebooks-kindle/b?_encoding=UTF8&node=827182031&tag=%(tag)s&ie=UTF8&linkCode=ur2&camp=3370&creative=23322' % aff_id - if detail_item: - aff_id['asin'] = detail_item - store_link = 'http://www.amazon.it/gp/redirect.html?ie=UTF8&location=http://www.amazon.it/dp/%(asin)s&tag=%(tag)s&linkCode=ur2&camp=3370&creative=23322' % aff_id - open_url(QUrl(store_link)) - - def search(self, query, max_results=10, timeout=60): - search_url = 'http://www.amazon.it/s/?url=search-alias%3Ddigital-text&field-keywords=' - url = search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') - br = browser() - - counter = max_results - with closing(br.open(url, timeout=timeout)) as f: - # doc = html.fromstring(f.read().decode('latin-1', 'replace')) - # Apparently amazon Europe is responding in UTF-8 now - doc = html.fromstring(f.read()) - - data_xpath = '//div[contains(@class, "result") and contains(@class, "product")]' - format_xpath = './/span[@class="format"]/text()' - cover_xpath = './/img[@class="productImage"]/@src' - - for data in doc.xpath(data_xpath): - if counter <= 0: - break - - # Even though we are searching digital-text only Amazon will still - # put in results for non Kindle books (author pages). So we need - # to explicitly check if the item is a Kindle book and ignore it - # if it isn't. - format = ''.join(data.xpath(format_xpath)) - if 'kindle' not in format.lower(): - continue - - # We must have an asin otherwise we can't easily reference the - # book later. - asin = ''.join(data.xpath("@name")) - - cover_url = ''.join(data.xpath(cover_xpath)) - - title = ''.join(data.xpath('.//a[@class="title"]/text()')) - price = ''.join(data.xpath('.//div[@class="newPrice"]/span[contains(@class, "price")]/text()')) - author = unicode(''.join(data.xpath('.//h3[@class="title"]/span[@class="ptBrand"]/text()'))) - if author.startswith('di '): - author = author[3:] - - counter -= 1 - - s = SearchResult() - s.cover_url = cover_url.strip() - s.title = title.strip() - s.author = author.strip() - s.price = price.strip() - s.detail_item = asin.strip() - s.formats = 'Kindle' - s.drm = SearchResult.DRM_UNKNOWN - - yield s + aff_id = {'tag': 'httpcharles07-21'} + store_link = ('http://www.amazon.it/ebooks-kindle/b?_encoding=UTF8&' + 'node=827182031&tag=%(tag)s&ie=UTF8&linkCode=ur2&camp=3370&creative=23322') + store_link_details = ('http://www.amazon.it/gp/redirect.html?ie=UTF8&' + 'location=http://www.amazon.it/dp/%(asin)s&tag=%(tag)s&' + 'linkCode=ur2&camp=3370&creative=23322') + search_url = 'http://www.amazon.it/s/?url=search-alias%3Ddigital-text&field-keywords=' diff --git a/src/calibre/gui2/store/stores/amazon_plugin.py b/src/calibre/gui2/store/stores/amazon_plugin.py index bc1fa641bf..4bd1a42c9d 100644 --- a/src/calibre/gui2/store/stores/amazon_plugin.py +++ b/src/calibre/gui2/store/stores/amazon_plugin.py @@ -127,35 +127,14 @@ class AmazonKindleStore(StorePlugin): counter = max_results with closing(br.open(url, timeout=timeout)) as f: doc = html.fromstring(f.read().decode('latin-1', 'replace')) - - # Amazon has two results pages. - is_shot = doc.xpath('boolean(//div[@id="shotgunMainResults"])') - # Horizontal grid of books. Search "Paolo Bacigalupi" - if is_shot: - data_xpath = '//div[contains(@class, "result")]' - format_xpath = './/div[@class="productTitle"]//text()' - asin_xpath = './/div[@class="productTitle"]//a' - cover_xpath = './/div[@class="productTitle"]//img/@src' - title_xpath = './/div[@class="productTitle"]/a//text()' - price_xpath = './/div[@class="newPrice"]/span/text()' - # Vertical list of books. - else: - # New style list. Search "Paolo Bacigalupi" - if doc.xpath('boolean(//div[@class="image"])'): - data_xpath = '//div[contains(@class, "results")]//div[contains(@class, "result")]' - format_xpath = './/span[@class="binding"]//text()' - asin_xpath = './/div[@class="image"]/a[1]' - cover_xpath = './/img[@class="productImage"]/@src' - title_xpath = './/a[@class="title"]/text()' - price_xpath = './/span[contains(@class, "price")]/text()' - # Old style list. Search "martin" - else: - data_xpath = '//div[contains(@class, "result")]' - format_xpath = './/span[@class="format"]//text()' - asin_xpath = './/div[@class="productImage"]/a[1]' - cover_xpath = './/div[@class="productImage"]//img/@src' - title_xpath = './/div[@class="productTitle"]/a/text()' - price_xpath = './/div[@class="newPrice"]//span//text()' + + data_xpath = '//div[contains(@class, "prod")]' + format_xpath = './/ul[contains(@class, "rsltL")]//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()' + asin_xpath = './/div[@class="image"]/a[1]' + cover_xpath = './/img[@class="productImage"]/@src' + title_xpath = './/h3[@class="newaps"]/a//text()' + author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]/text()' + price_xpath = './/ul[contains(@class, "rsltL")]//span[contains(@class, "lrg") and contains(@class, "bld")]/text()' for data in doc.xpath(data_xpath): if counter <= 0: @@ -186,14 +165,14 @@ class AmazonKindleStore(StorePlugin): cover_url = ''.join(data.xpath(cover_xpath)) title = ''.join(data.xpath(title_xpath)) + author = ''.join(data.xpath(author_xpath)) + try: + author = author.split('by ', 1)[1].split(" (")[0] + except: + pass + price = ''.join(data.xpath(price_xpath)) - if is_shot: - author = format.split(' by ')[-1] - else: - author = ''.join(data.xpath('.//span[@class="ptBrand"]/text()')) - author = author.split('by ')[-1] - counter -= 1 s = SearchResult() diff --git a/src/calibre/gui2/store/stores/amazon_uk_plugin.py b/src/calibre/gui2/store/stores/amazon_uk_plugin.py index 7fb1cec2d3..15980a3e8c 100644 --- a/src/calibre/gui2/store/stores/amazon_uk_plugin.py +++ b/src/calibre/gui2/store/stores/amazon_uk_plugin.py @@ -6,8 +6,9 @@ __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -from contextlib import closing +import re +from contextlib import closing from lxml import html from PyQt4.Qt import QUrl @@ -18,57 +19,80 @@ from calibre.gui2.store import StorePlugin from calibre.gui2.store.search_result import SearchResult class AmazonUKKindleStore(StorePlugin): + aff_id = {'tag': 'calcharles-21'} + store_link = ('http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&' + 'location=http://www.amazon.co.uk/Kindle-eBooks/b?' + 'ie=UTF8&node=341689031&ref_=sa_menu_kbo2&tag=%(tag)s&' + 'linkCode=ur2&camp=1634&creative=19450') + store_link_details = ('http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&' + 'location=http://www.amazon.co.uk/dp/%(asin)s&tag=%(tag)s&' + 'linkCode=ur2&camp=1634&creative=6738') + search_url = 'http://www.amazon.co.uk/s/?url=search-alias%3Ddigital-text&field-keywords=' + ''' For comments on the implementation, please see amazon_plugin.py ''' def open(self, parent=None, detail_item=None, external=False): - aff_id = {'tag': 'calcharles-21'} - store_link = 'http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&location=http://www.amazon.co.uk/Kindle-eBooks/b?ie=UTF8&node=341689031&ref_=sa_menu_kbo2&tag=%(tag)s&linkCode=ur2&camp=1634&creative=19450' % aff_id + store_link = self.store_link % self.aff_id if detail_item: - aff_id['asin'] = detail_item - store_link = 'http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&location=http://www.amazon.co.uk/dp/%(asin)s&tag=%(tag)s&linkCode=ur2&camp=1634&creative=6738' % aff_id + self.aff_id['asin'] = detail_item + store_link = self.store_link_details % self.aff_id open_url(QUrl(store_link)) def search(self, query, max_results=10, timeout=60): - search_url = 'http://www.amazon.co.uk/s/?url=search-alias%3Ddigital-text&field-keywords=' - url = search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') + url = self.search_url + query.encode('ascii', 'backslashreplace').replace('%', '%25').replace('\\x', '%').replace(' ', '+') br = browser() counter = max_results with closing(br.open(url, timeout=timeout)) as f: - # Apparently amazon Europe is responding in UTF-8 now - doc = html.fromstring(f.read()) + doc = html.fromstring(f.read())#.decode('latin-1', 'replace')) - data_xpath = '//div[contains(@class, "result") and contains(@class, "product")]' - format_xpath = './/span[@class="format"]/text()' + data_xpath = '//div[contains(@class, "prod")]' + format_xpath = './/ul[contains(@class, "rsltL")]//span[contains(@class, "lrg") and not(contains(@class, "bld"))]/text()' + asin_xpath = './/div[@class="image"]/a[1]' cover_xpath = './/img[@class="productImage"]/@src' + title_xpath = './/h3[@class="newaps"]/a//text()' + author_xpath = './/h3[@class="newaps"]//span[contains(@class, "reg")]/text()' + price_xpath = './/ul[contains(@class, "rsltL")]//span[contains(@class, "lrg") and contains(@class, "bld")]/text()' for data in doc.xpath(data_xpath): if counter <= 0: break # Even though we are searching digital-text only Amazon will still - # put in results for non Kindle books (author pages). So we need + # put in results for non Kindle books (author pages). Se we need # to explicitly check if the item is a Kindle book and ignore it # if it isn't. - format = ''.join(data.xpath(format_xpath)) - if 'kindle' not in format.lower(): + format_ = ''.join(data.xpath(format_xpath)) + if 'kindle' not in format_.lower(): continue # We must have an asin otherwise we can't easily reference the # book later. - asin = ''.join(data.xpath("@name")) + asin_href = None + asin_a = data.xpath(asin_xpath) + if asin_a: + asin_href = asin_a[0].get('href', '') + m = re.search(r'/dp/(?P.+?)(/|$)', asin_href) + if m: + asin = m.group('asin') + else: + continue + else: + continue cover_url = ''.join(data.xpath(cover_xpath)) - title = ''.join(data.xpath('.//a[@class="title"]/text()')) - price = ''.join(data.xpath('.//div[@class="newPrice"]/span[contains(@class, "price")]/text()')) + title = ''.join(data.xpath(title_xpath)) + author = ''.join(data.xpath(author_xpath)) + try: + author = author.split('by ', 1)[1].split(" (")[0] + except: + pass - author = ''.join(data.xpath('.//h3[@class="title"]/span[@class="ptBrand"]/text()')) - if author.startswith('by '): - author = author[3:] + price = ''.join(data.xpath(price_xpath)) counter -= 1 @@ -78,37 +102,10 @@ class AmazonUKKindleStore(StorePlugin): s.author = author.strip() s.price = price.strip() s.detail_item = asin.strip() + s.drm = SearchResult.DRM_UNKNOWN s.formats = 'Kindle' yield s def get_details(self, search_result, timeout): - # We might already have been called. - if search_result.drm: - return - - url = 'http://amazon.co.uk/dp/' - drm_search_text = u'Simultaneous Device Usage' - drm_free_text = u'Unlimited' - - br = browser() - with closing(br.open(url + search_result.detail_item, timeout=timeout)) as nf: - idata = html.fromstring(nf.read()) - if not search_result.author: - search_result.author = ''.join(idata.xpath('//div[@class="buying" and contains(., "Author")]/a/text()')) - is_kindle = idata.xpath('boolean(//div[@class="buying"]/h1/span/span[contains(text(), "Kindle Edition")])') - if is_kindle: - search_result.formats = 'Kindle' - if idata.xpath('boolean(//div[@class="content"]//li/b[contains(text(), "' + - drm_search_text + '")])'): - if idata.xpath('boolean(//div[@class="content"]//li[contains(., "' + - drm_free_text + '") and contains(b, "' + - drm_search_text + '")])'): - search_result.drm = SearchResult.DRM_UNLOCKED - else: - search_result.drm = SearchResult.DRM_UNKNOWN - else: - search_result.drm = SearchResult.DRM_LOCKED - return True - - + pass diff --git a/src/calibre/gui2/store/stores/eharlequin_plugin.py b/src/calibre/gui2/store/stores/eharlequin_plugin.py index daa67e801c..ec85ccf1d3 100644 --- a/src/calibre/gui2/store/stores/eharlequin_plugin.py +++ b/src/calibre/gui2/store/stores/eharlequin_plugin.py @@ -6,7 +6,6 @@ __license__ = 'GPL 3' __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' -import random import re import urllib2 from contextlib import closing @@ -25,23 +24,12 @@ from calibre.gui2.store.web_store_dialog import WebStoreDialog class EHarlequinStore(BasicStoreConfig, StorePlugin): def open(self, parent=None, detail_item=None, external=False): - m_url = 'http://www.dpbolvw.net/' - h_click = 'click-4879827-534091' - d_click = 'click-4879827-10375439' - # Use Kovid's affiliate id 30% of the time. - if random.randint(1, 10) in (1, 2, 3): - h_click = 'click-4913808-534091' - d_click = 'click-4913808-10375439' - - url = m_url + h_click - detail_url = None - if detail_item: - detail_url = m_url + d_click + detail_item + url = 'http://www.harlequin.com/' if external or self.config.get('open_external', False): - open_url(QUrl(url_slash_cleaner(detail_url if detail_url else url))) + open_url(QUrl(url_slash_cleaner(detail_item if detail_item else url))) else: - d = WebStoreDialog(self.gui, url, parent, detail_url) + d = WebStoreDialog(self.gui, url, parent, detail_item) d.setWindowTitle(self.name) d.set_tags(self.config.get('tags', '')) d.exec_() @@ -74,7 +62,7 @@ class EHarlequinStore(BasicStoreConfig, StorePlugin): s.title = title.strip() s.author = author.strip() s.price = price.strip() - s.detail_item = '?url=http://ebooks.eharlequin.com/' + id.strip() + s.detail_item = 'http://ebooks.eharlequin.com/' + id.strip() s.formats = 'EPUB' yield s diff --git a/src/calibre/gui2/store/stores/empik_plugin.py b/src/calibre/gui2/store/stores/empik_plugin.py new file mode 100644 index 0000000000..16a7ee13e3 --- /dev/null +++ b/src/calibre/gui2/store/stores/empik_plugin.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- + +from __future__ import (unicode_literals, division, absolute_import, print_function) + +__license__ = 'GPL 3' +__copyright__ = '2011-2012, Tomasz Długosz ' +__docformat__ = 'restructuredtext en' + +import re +import urllib +from contextlib import closing + +from lxml import html + +from PyQt4.Qt import QUrl + +from calibre import browser, url_slash_cleaner +from calibre.gui2 import open_url +from calibre.gui2.store import StorePlugin +from calibre.gui2.store.basic_config import BasicStoreConfig +from calibre.gui2.store.search_result import SearchResult +from calibre.gui2.store.web_store_dialog import WebStoreDialog + +class EmpikStore(BasicStoreConfig, StorePlugin): + + def open(self, parent=None, detail_item=None, external=False): + plain_url = 'http://www.empik.com/ebooki' + url = 'https://ssl.afiliant.com/affskrypt,,2f9de2,,23c7f,,,?u=(' + plain_url + ')' + detail_url = None + + if detail_item: + detail_url = 'https://ssl.afiliant.com/affskrypt,,2f9de2,,23c7f,,,?u=(' + detail_item + ')' + + if external or self.config.get('open_external', False): + open_url(QUrl(url_slash_cleaner(detail_url if detail_url else url))) + else: + d = WebStoreDialog(self.gui, url, parent, detail_url) + d.setWindowTitle(self.name) + d.set_tags(self.config.get('tags', '')) + d.exec_() + + def search(self, query, max_results=10, timeout=60): + url = 'http://www.empik.com/szukaj/produkt?c=ebooki-ebooki&q=' + urllib.quote(query) + '&qtype=basicForm&start=1&catalogType=pl&searchCategory=3501&resultsPP=' + str(max_results) + + br = browser() + + counter = max_results + with closing(br.open(url, timeout=timeout)) as f: + doc = html.fromstring(f.read()) + for data in doc.xpath('//div[@class="productsSet"]/div'): + if counter <= 0: + break + + id = ''.join(data.xpath('.//a[@class="productBox-450Title"]/@href')) + if not id: + continue + + cover_url = ''.join(data.xpath('.//div[@class="productBox-450Pic"]/a/img/@src')) + title = ''.join(data.xpath('.//a[@class="productBox-450Title"]/text()')) + title = re.sub(r' \(ebook\)', '', title) + author = ''.join(data.xpath('.//div[@class="productBox-450Author"]/a/text()')) + price = ''.join(data.xpath('.//div[@class="actPrice"]/text()')) + formats = ''.join(data.xpath('.//div[@class="productBox-450Type"]/text()')) + formats = re.sub(r'Ebook *,? *','', formats) + formats = re.sub(r'\(.*\)','', formats) + drm = data.xpath('boolean(.//div[@class="productBox-450Type" and contains(text(), "ADE")])') + + counter -= 1 + + s = SearchResult() + s.cover_url = cover_url + s.title = title.strip() + ' ' + formats + s.author = author.strip() + s.price = price + s.detail_item = 'http://empik.com' + id.strip() + s.formats = formats.upper().strip() + s.drm = SearchResult.DRM_LOCKED if drm else SearchResult.DRM_UNLOCKED + + yield s + diff --git a/src/calibre/gui2/store/stores/google_books_plugin.py b/src/calibre/gui2/store/stores/google_books_plugin.py index 60b78e3f7d..63fc3ef942 100644 --- a/src/calibre/gui2/store/stores/google_books_plugin.py +++ b/src/calibre/gui2/store/stores/google_books_plugin.py @@ -68,10 +68,10 @@ class GoogleBooksStore(BasicStoreConfig, StorePlugin): continue title = ''.join(data.xpath('.//h3/a//text()')) - authors = data.xpath('.//span[@class="f"]//a//text()') - if authors and authors[-1].strip().lower() in ('preview', 'read'): + authors = data.xpath('.//div[@class="f"]//a//text()') + while authors and authors[-1].strip().lower() in ('preview', 'read', 'more editions'): authors = authors[:-1] - else: + if not authors: continue author = ', '.join(authors) diff --git a/src/calibre/gui2/store/stores/kobo_plugin.py b/src/calibre/gui2/store/stores/kobo_plugin.py index 0b2fc1c9a1..5a8b5618d5 100644 --- a/src/calibre/gui2/store/stores/kobo_plugin.py +++ b/src/calibre/gui2/store/stores/kobo_plugin.py @@ -7,6 +7,7 @@ __copyright__ = '2011, John Schember ' __docformat__ = 'restructuredtext en' import random +import urllib import urllib2 from contextlib import closing @@ -24,23 +25,24 @@ from calibre.gui2.store.web_store_dialog import WebStoreDialog class KoboStore(BasicStoreConfig, StorePlugin): def open(self, parent=None, detail_item=None, external=False): - m_url = 'http://www.dpbolvw.net/' - h_click = 'click-4879827-10762497' - d_click = 'click-4879827-10772898' + pub_id = 'sHa5EXvYOwA' # Use Kovid's affiliate id 30% of the time. if random.randint(1, 10) in (1, 2, 3): - h_click = 'click-4913808-10762497' - d_click = 'click-4913808-10772898' + pub_id = '0dsO3kDu/AU' + + murl = 'http://click.linksynergy.com/fs-bin/click?id=%s&offerid=268429.4&type=3&subid=0' % pub_id - url = m_url + h_click - detail_url = None if detail_item: - detail_url = m_url + d_click + detail_item + purl = 'http://click.linksynergy.com/link?id=%s&offerid=268429&type=2&murl=%s' % (pub_id, urllib.quote_plus(detail_item)) + url = purl + else: + purl = None + url = murl if external or self.config.get('open_external', False): - open_url(QUrl(url_slash_cleaner(detail_url if detail_url else url))) + open_url(QUrl(url_slash_cleaner(url))) else: - d = WebStoreDialog(self.gui, url, parent, detail_url) + d = WebStoreDialog(self.gui, murl, parent, purl) d.setWindowTitle(self.name) d.set_tags(self.config.get('tags', '')) d.exec_() @@ -60,15 +62,19 @@ class KoboStore(BasicStoreConfig, StorePlugin): id = ''.join(data.xpath('.//div[@class="SearchImageContainer"]/a[1]/@href')) if not id: continue + try: + id = id.split('?', 1)[0] + except: + continue - price = ''.join(data.xpath('.//span[@class="OurPrice"]/strong/text()')) + price = ''.join(data.xpath('.//span[@class="KV2OurPrice"]/strong/text()')) if not price: price = '$0.00' cover_url = ''.join(data.xpath('.//div[@class="SearchImageContainer"]//img[1]/@src')) - title = ''.join(data.xpath('.//div[@class="SCItemHeader"]/h1/a[1]/text()')) - author = ', '.join(data.xpath('.//div[@class="SCItemSummary"]//span//a/text()')) + title = ''.join(data.xpath('.//div[@class="SCItemHeader"]//a[1]/text()')) + author = ', '.join(data.xpath('.//div[@class="SCItemSummary"]//span[contains(@class, "Author")]//a/text()')) drm = data.xpath('boolean(.//span[@class="SCAvailibilityFormatsText" and not(contains(text(), "DRM-Free"))])') counter -= 1 @@ -78,7 +84,7 @@ class KoboStore(BasicStoreConfig, StorePlugin): s.title = title.strip() s.author = author.strip() s.price = price.strip() - s.detail_item = '?url=http://www.kobobooks.com/' + id.strip() + s.detail_item = 'http://www.kobobooks.com/' + id.strip() s.drm = SearchResult.DRM_LOCKED if drm else SearchResult.DRM_UNLOCKED s.formats = 'EPUB' diff --git a/src/calibre/gui2/store/stores/libri_de_plugin.py b/src/calibre/gui2/store/stores/libri_de_plugin.py index 643cac3d99..a87928da78 100644 --- a/src/calibre/gui2/store/stores/libri_de_plugin.py +++ b/src/calibre/gui2/store/stores/libri_de_plugin.py @@ -25,7 +25,7 @@ class LibreDEStore(BasicStoreConfig, StorePlugin): def open(self, parent=None, detail_item=None, external=False): url = 'http://ad.zanox.com/ppc/?18817073C15644254T' url_details = ('http://ad.zanox.com/ppc/?18817073C15644254T&ULP=[[' - 'http://www.libri.de/shop/action/productDetails?artiId={0}]]') + 'http://www.ebook.de/shop/action/productDetails?artiId={0}]]') if external or self.config.get('open_external', False): if detail_item: @@ -41,33 +41,38 @@ class LibreDEStore(BasicStoreConfig, StorePlugin): d.exec_() def search(self, query, max_results=10, timeout=60): - url = ('http://www.libri.de/shop/action/quickSearch?facetNodeId=6' - '&mainsearchSubmit=Los!&searchString=' + urllib2.quote(query)) + url = ('http://www.ebook.de/de/pathSearch?nav=52122&searchString=' + + urllib2.quote(query)) br = browser() counter = max_results with closing(br.open(url, timeout=timeout)) as f: doc = html.fromstring(f.read()) - for data in doc.xpath('//div[contains(@class, "item")]'): + for data in doc.xpath('//div[contains(@class, "articlecontainer")]'): if counter <= 0: break - details = data.xpath('./div[@class="beschreibungContainer"]') + details = data.xpath('./div[@class="articleinfobox"]') if not details: continue details = details[0] - id = ''.join(details.xpath('./div[@class="text"]/a/@name')).strip() - if not id: + id_ = ''.join(details.xpath('./a/@name')).strip() + if not id_: continue - cover_url = ''.join(details.xpath('.//div[@class="coverImg"]/a/img/@src')) - title = ''.join(details.xpath('./div[@class="text"]/span[@class="titel"]/a/text()')).strip() - author = ''.join(details.xpath('./div[@class="text"]/span[@class="author"]/text()')).strip() + title = ''.join(details.xpath('.//a[@class="su1_c_l_titel"]/text()')).strip() + + author = ''.join(details.xpath('.//div[@class="author"]/text()')).strip() + if author.startswith('von'): + author = author[4:] + pdf = details.xpath( - 'boolean(.//span[@class="format" and contains(text(), "pdf")]/text())') + 'boolean(.//span[@class="bindername" and contains(text(), "pdf")]/text())') epub = details.xpath( - 'boolean(.//span[@class="format" and contains(text(), "epub")]/text())') + 'boolean(.//span[@class="bindername" and contains(text(), "epub")]/text())') mobi = details.xpath( - 'boolean(.//span[@class="format" and contains(text(), "mobipocket")]/text())') + 'boolean(.//span[@class="bindername" and contains(text(), "mobipocket")]/text())') + + cover_url = ''.join(data.xpath('.//div[@class="coverImg"]/a/img/@src')) price = ''.join(data.xpath('.//span[@class="preis"]/text()')).replace('*', '').strip() counter -= 1 @@ -78,7 +83,7 @@ class LibreDEStore(BasicStoreConfig, StorePlugin): s.author = author.strip() s.price = price s.drm = SearchResult.DRM_UNKNOWN - s.detail_item = id + s.detail_item = id_ formats = [] if epub: formats.append('ePub') diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 33b36cf6ec..81ee82f2b6 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -485,7 +485,7 @@ class DocumentView(QWebView): # {{{ self.dictionary_action.triggered.connect(self.lookup) self.addAction(self.dictionary_action) self.image_popup = ImagePopup(self) - self.view_image_action = QAction(_('View &image...'), self) + self.view_image_action = QAction(QIcon(I('view-image.png')), _('View &image...'), self) self.view_image_action.triggered.connect(self.image_popup) self.search_action = QAction(QIcon(I('dictionary.png')), _('&Search for next occurrence'), self) diff --git a/src/calibre/gui2/viewer/image_popup.py b/src/calibre/gui2/viewer/image_popup.py index 67e9831a52..075143f3c3 100644 --- a/src/calibre/gui2/viewer/image_popup.py +++ b/src/calibre/gui2/viewer/image_popup.py @@ -8,7 +8,8 @@ __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' from PyQt4.Qt import (QDialog, QPixmap, QUrl, QScrollArea, QLabel, QSizePolicy, - QDialogButtonBox, QVBoxLayout, QPalette, QApplication, QSize, QIcon, Qt) + QDialogButtonBox, QVBoxLayout, QPalette, QApplication, QSize, QIcon, + Qt, QTransform) from calibre.gui2 import choose_save_file, gprefs @@ -37,12 +38,15 @@ class ImageView(QDialog): self.zi_button = zi = bb.addButton(_('Zoom &in'), bb.ActionRole) self.zo_button = zo = bb.addButton(_('Zoom &out'), bb.ActionRole) self.save_button = so = bb.addButton(_('&Save as'), bb.ActionRole) + self.rotate_button = ro = bb.addButton(_('&Rotate'), bb.ActionRole) zi.setIcon(QIcon(I('plus.png'))) zo.setIcon(QIcon(I('minus.png'))) so.setIcon(QIcon(I('save.png'))) + ro.setIcon(QIcon(I('rotate-right.png'))) zi.clicked.connect(self.zoom_in) zo.clicked.connect(self.zoom_out) so.clicked.connect(self.save_image) + ro.clicked.connect(self.rotate_image) self.l = l = QVBoxLayout() self.setLayout(l) @@ -76,6 +80,14 @@ class ImageView(QDialog): self.scrollarea.verticalScrollBar()): sb.setValue(int(factor*sb.value()) + ((factor - 1) * sb.pageStep()/2)) + def rotate_image(self): + pm = self.label.pixmap() + t = QTransform() + t.rotate(90) + pm = pm.transformed(t) + self.label.setPixmap(pm) + self.label.adjustSize() + def __call__(self): geom = self.avail_geom self.label.setPixmap(self.current_img) @@ -93,6 +105,14 @@ class ImageView(QDialog): gprefs['viewer_image_popup_geometry'] = bytearray(self.saveGeometry()) return QDialog.done(self, e) + def wheelEvent(self, event): + if event.delta() < -14: + self.zoom_out() + event.accept() + elif event.delta() > 14: + event.accept() + self.zoom_in() + class ImagePopup(object): def __init__(self, parent): @@ -114,3 +134,12 @@ class ImagePopup(object): if not d.isVisible(): self.dialogs.remove(d) +if __name__ == '__main__': + import sys + app = QApplication([]) + p = QPixmap() + p.load(sys.argv[-1]) + u = QUrl.fromLocalFile(sys.argv[-1]) + d = ImageView(None, p, u) + d() + app.exec_() diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index be332ec207..7b624f170a 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -1137,6 +1137,7 @@ def main(args=sys.argv): if pid <= 0: override = 'calibre-ebook-viewer' if islinux else None app = Application(args, override_program_name=override) + app.load_builtin_fonts() app.setWindowIcon(QIcon(I('viewer.png'))) QApplication.setOrganizationName(ORG_NAME) QApplication.setApplicationName(APP_UID) diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index a990baaa1e..7730d2d733 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -3,18 +3,16 @@ __copyright__ = '2008, Kovid Goyal ' ''' Miscellaneous widgets used in the GUI ''' -import re, traceback, os +import re, os from PyQt4.Qt import (QIcon, QFont, QLabel, QListWidget, QAction, QListWidgetItem, QTextCharFormat, QApplication, QSyntaxHighlighter, QCursor, QColor, QWidget, QPixmap, QSplitterHandle, QToolButton, - QAbstractListModel, QVariant, Qt, SIGNAL, pyqtSignal, QRegExp, QSize, - QSplitter, QPainter, QLineEdit, QComboBox, QPen, QGraphicsScene, QMenu, - QStringListModel, QCompleter, QStringList, QTimer, QRect, - QFontDatabase, QGraphicsView, QByteArray) + QVariant, Qt, SIGNAL, pyqtSignal, QRegExp, QSize, QSplitter, QPainter, + QLineEdit, QComboBox, QPen, QGraphicsScene, QMenu, QStringListModel, + QCompleter, QStringList, QTimer, QRect, QGraphicsView, QByteArray) -from calibre.constants import iswindows -from calibre.gui2 import (NONE, error_dialog, pixmap_to_data, gprefs, +from calibre.gui2 import (error_dialog, pixmap_to_data, gprefs, warning_dialog) from calibre.gui2.filename_pattern_ui import Ui_Form from calibre import fit_image @@ -348,46 +346,6 @@ class CoverView(QGraphicsView, ImageDropMixin): # {{{ # }}} -class FontFamilyModel(QAbstractListModel): # {{{ - - def __init__(self, *args): - QAbstractListModel.__init__(self, *args) - from calibre.utils.fonts import fontconfig - try: - self.families = fontconfig.find_font_families() - except: - self.families = [] - print 'WARNING: Could not load fonts' - traceback.print_exc() - # Restrict to Qt families as Qt tends to crash - qt_families = set([unicode(x) for x in QFontDatabase().families()]) - self.families = list(qt_families.intersection(set(self.families))) - self.families.sort() - self.families[:0] = [_('None')] - self.font = QFont('Arial' if iswindows else 'sansserif') - - def rowCount(self, *args): - return len(self.families) - - def data(self, index, role): - try: - family = self.families[index.row()] - except: - traceback.print_exc() - return NONE - if role == Qt.DisplayRole: - return QVariant(family) - if role == Qt.FontRole: - # If a user chooses some non standard font as the interface font, - # rendering some font names causes Qt to crash, so return what is - # hopefully a "safe" font - return QVariant(self.font) - return NONE - - def index_of(self, family): - return self.families.index(family.strip()) -# }}} - # BasicList {{{ class BasicListItem(QListWidgetItem): diff --git a/src/calibre/library/catalogs/epub_mobi.py b/src/calibre/library/catalogs/epub_mobi.py index 251db5cf88..de56e27e6e 100644 --- a/src/calibre/library/catalogs/epub_mobi.py +++ b/src/calibre/library/catalogs/epub_mobi.py @@ -41,6 +41,13 @@ class EPUB_MOBI(CatalogPlugin): help = _('Title of generated catalog used as title in metadata.\n' "Default: '%default'\n" "Applies to: AZW3, ePub, MOBI output formats")), + Option('--cross-reference-authors', + default=False, + dest='cross_reference_authors', + action = 'store_true', + help=_("Create cross-references in Authors section for books with multiple authors.\n" + "Default: '%default'\n" + "Applies to: AZW3, ePub, MOBI output formats")), Option('--debug-pipeline', default=None, dest='debug_pipeline', @@ -58,7 +65,6 @@ class EPUB_MOBI(CatalogPlugin): help=_("Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[Project Gutenberg]', and '+', the default tag for read books.\n" "Applies to: AZW3, ePub, MOBI output formats")), - Option('--exclusion-rules', default="(('Catalogs','Tags','Catalog'),)", dest='exclusion_rules', @@ -72,7 +78,6 @@ class EPUB_MOBI(CatalogPlugin): "When multiple rules are defined, all rules will be applied.\n" "Default: \n" + '"' + '%default' + '"' + "\n" "Applies to AZW3, ePub, MOBI output formats")), - Option('--generate-authors', default=False, dest='generate_authors', @@ -318,8 +323,8 @@ class EPUB_MOBI(CatalogPlugin): build_log.append(" opts:") for key in keys: if key in ['catalog_title','author_clip','connected_kindle','creator', - 'description_clip','exclude_book_marker','exclude_genre', - 'exclude_tags','exclusion_rules', 'fmt', + 'cross_reference_authors','description_clip','exclude_book_marker', + 'exclude_genre','exclude_tags','exclusion_rules', 'fmt', 'header_note_source_field','merge_comments_rule', 'output_profile','prefix_rules','read_book_marker', 'search_text','sort_by','sort_descriptions_by_author','sync', diff --git a/src/calibre/library/catalogs/epub_mobi_builder.py b/src/calibre/library/catalogs/epub_mobi_builder.py index 48bb634fd6..dbc73925b6 100644 --- a/src/calibre/library/catalogs/epub_mobi_builder.py +++ b/src/calibre/library/catalogs/epub_mobi_builder.py @@ -14,11 +14,12 @@ from calibre.customize.conversion import DummyReporter from calibre.customize.ui import output_profiles from calibre.ebooks.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup, Tag, NavigableString from calibre.ebooks.chardet import substitute_entites +from calibre.ebooks.metadata import author_to_author_sort from calibre.library.catalogs import AuthorSortMismatchException, EmptyCatalogException from calibre.ptempfile import PersistentTemporaryDirectory from calibre.utils.config import config_dir from calibre.utils.date import format_date, is_date_undefined, now as nowf -from calibre.utils.filenames import ascii_text +from calibre.utils.filenames import ascii_text, shorten_components_to from calibre.utils.icu import capitalize, collation_order, sort_key from calibre.utils.magick.draw import thumbnail from calibre.utils.zipfile import ZipFile @@ -109,6 +110,7 @@ class CatalogBuilder(object): self.stylesheet = stylesheet self.cache_dir = os.path.join(config_dir, 'caches', 'catalog') self.catalog_path = PersistentTemporaryDirectory("_epub_mobi_catalog", prefix='') + self.content_dir = os.path.join(self.catalog_path, "content") self.excluded_tags = self.get_excluded_tags() self.generate_for_kindle_azw3 = True if (_opts.fmt == 'azw3' and _opts.output_profile and @@ -127,12 +129,13 @@ class CatalogBuilder(object): self.books_by_title = None self.books_by_title_no_series_prefix = None self.books_to_catalog = None - self.content_dir = os.path.join(self.catalog_path, "content") self.current_step = 0.0 self.error = [] self.generate_recently_read = False self.genres = [] - self.genre_tags_dict = None + self.genre_tags_dict = \ + self.filter_db_tags(max_len = 245 - len("%s/Genre_.html" % self.content_dir)) \ + if self.opts.generate_genres else None self.html_filelist_1 = [] self.html_filelist_2 = [] self.merge_comments_rule = dict(zip(['field','position','hr'], @@ -505,7 +508,7 @@ class CatalogBuilder(object): if not os.path.isdir(images_path): os.makedirs(images_path) - def detect_author_sort_mismatches(self): + def detect_author_sort_mismatches(self, books_to_test): """ Detect author_sort mismatches. Sort by author, look for inconsistencies in author_sort among @@ -513,17 +516,18 @@ class CatalogBuilder(object): annoyance for EPUB. Inputs: - self.books_to_catalog (list): list of books to catalog + books_by_author (list): list of books to test, possibly unsorted Output: - self.books_by_author (list): sorted by author + (none) Exceptions: AuthorSortMismatchException: author_sort mismatch detected """ - self.books_by_author = sorted(list(self.books_to_catalog), key=self._kf_books_by_author_sorter_author) - authors = [(record['author'], record['author_sort']) for record in self.books_by_author] + books_by_author = sorted(list(books_to_test), key=self._kf_books_by_author_sorter_author) + + authors = [(record['author'], record['author_sort']) for record in books_by_author] current_author = authors[0] for (i,author) in enumerate(authors): if author != current_author and i: @@ -582,7 +586,10 @@ class CatalogBuilder(object): if rule['field'].lower() == 'tags': if rule['pattern'].lower() in map(unicode.lower,record['tags']): if self.opts.verbose: - _log_prefix_rule_match_info(rule, record, rule['pattern']) + self.opts.log.info(" %s '%s' by %s (%s: Tags includes '%s')" % + (rule['prefix'],record['title'], + record['authors'][0], rule['name'], + rule['pattern'])) return rule['prefix'] # Regex match for custom field @@ -698,6 +705,7 @@ class CatalogBuilder(object): def fetch_books_by_author(self): """ Generate a list of books sorted by author. + For books with multiple authors, relist book with additional authors. Sort the database by author. Report author_sort inconsistencies as warning when building EPUB or MOBI, error when building MOBI. Collect a list of unique authors to self.authors. @@ -717,25 +725,30 @@ class CatalogBuilder(object): self.update_progress_full_step(_("Sorting database")) - self.detect_author_sort_mismatches() + books_by_author = list(self.books_to_catalog) + self.detect_author_sort_mismatches(books_by_author) + if self.opts.cross_reference_authors: + books_by_author = self.relist_multiple_authors(books_by_author) + + #books_by_author = sorted(list(books_by_author), key=self._kf_books_by_author_sorter_author) - # Sort authors using sort_key to normalize accented letters # Determine the longest author_sort length before sorting - asl = [i['author_sort'] for i in self.books_by_author] + asl = [i['author_sort'] for i in books_by_author] las = max(asl, key=len) - self.books_by_author = sorted(self.books_to_catalog, + + books_by_author = sorted(books_by_author, key=lambda x: sort_key(self._kf_books_by_author_sorter_author_sort(x, len(las)))) if self.DEBUG and self.opts.verbose: - tl = [i['title'] for i in self.books_by_author] + tl = [i['title'] for i in books_by_author] lt = max(tl, key=len) fs = '{:<6}{:<%d} {:<%d} {!s}' % (len(lt),len(las)) print(fs.format('','Title','Author','Series')) - for i in self.books_by_author: + for i in books_by_author: print(fs.format('', i['title'],i['author_sort'],i['series'])) # Build the unique_authors set from existing data - authors = [(record['author'], capitalize(record['author_sort'])) for record in self.books_by_author] + authors = [(record['author'], capitalize(record['author_sort'])) for record in books_by_author] # authors[] contains a list of all book authors, with multiple entries for multiple books by author # authors[]: (([0]:friendly [1]:sort)) @@ -773,6 +786,7 @@ class CatalogBuilder(object): author[2])).encode('utf-8')) self.authors = unique_authors + self.books_by_author = books_by_author return True def fetch_books_by_title(self): @@ -860,15 +874,15 @@ class CatalogBuilder(object): this_title['series_index'] = 0.0 this_title['title_sort'] = self.generate_sort_title(this_title['title']) - if 'authors' in record: - # from calibre.ebooks.metadata import authors_to_string - # return authors_to_string(self.authors) + if 'authors' in record: this_title['authors'] = record['authors'] + # Synthesize author attribution from authors list if record['authors']: this_title['author'] = " & ".join(record['authors']) else: - this_title['author'] = 'Unknown' + this_title['author'] = _('Unknown') + this_title['authors'] = [this_title['author']] if 'author_sort' in record and record['author_sort'].strip(): this_title['author_sort'] = record['author_sort'] @@ -1090,7 +1104,7 @@ class CatalogBuilder(object): self.bookmarked_books = bookmarks - def filter_db_tags(self): + def filter_db_tags(self, max_len): """ Remove excluded tags from data set, return normalized genre list. Filter all db tags, removing excluded tags supplied in opts. @@ -1098,13 +1112,13 @@ class CatalogBuilder(object): tags are flattened to alphanumeric ascii_text. Args: - (none) + max_len: maximum length of normalized tag to fit within OS constraints Return: genre_tags_dict (dict): dict of filtered, normalized tags in data set """ - def _format_tag_list(tags, indent=2, line_break=70, header='Tag list'): + def _format_tag_list(tags, indent=1, line_break=70, header='Tag list'): def _next_tag(sorted_tags): for (i, tag) in enumerate(sorted_tags): if i < len(tags) - 1: @@ -1123,6 +1137,31 @@ class CatalogBuilder(object): out_str = ' ' * (indent + 1) return ans + out_str + def _normalize_tag(tag, max_len): + """ Generate an XHTML-legal anchor string from tag. + + Parse tag for non-ascii, convert to unicode name. + + Args: + tags (str): tag name possible containing symbols + max_len (int): maximum length of tag + + Return: + normalized (str): unicode names substituted for non-ascii chars, + clipped to max_len + """ + + normalized = massaged = re.sub('\s','',ascii_text(tag).lower()) + if re.search('\W',normalized): + normalized = '' + for c in massaged: + if re.search('\W',c): + normalized += self.generate_unicode_name(c) + else: + normalized += c + shortened = shorten_components_to(max_len, [normalized])[0] + return shortened + # Entry point normalized_tags = [] friendly_tags = [] @@ -1141,7 +1180,7 @@ class CatalogBuilder(object): if tag == ' ': continue - normalized_tags.append(self.normalize_tag(tag)) + normalized_tags.append(_normalize_tag(tag, max_len)) friendly_tags.append(tag) genre_tags_dict = dict(zip(friendly_tags,normalized_tags)) @@ -1938,8 +1977,6 @@ class CatalogBuilder(object): self.update_progress_full_step(_("Genres HTML")) - self.genre_tags_dict = self.filter_db_tags() - # Extract books matching filtered_tags genre_list = [] for friendly_tag in sorted(self.genre_tags_dict, key=sort_key): @@ -2021,10 +2058,11 @@ class CatalogBuilder(object): books_by_current_author += 1 # Write the genre book list as an article - titles_spanned = self.generate_html_by_genre(genre, True if index==0 else False, - genre_tag_set[genre], - "%s/Genre_%s.html" % (self.content_dir, - genre)) + outfile = "%s/Genre_%s.html" % (self.content_dir, genre) + titles_spanned = self.generate_html_by_genre(genre, + True if index==0 else False, + genre_tag_set[genre], + outfile) tag_file = "content/Genre_%s.html" % genre master_genre_list.append({'tag':genre, @@ -2546,7 +2584,7 @@ class CatalogBuilder(object): for (i, tag) in enumerate(sorted(book.get('tags', []))): aTag = Tag(_soup,'a') if self.opts.generate_genres: - aTag['href'] = "Genre_%s.html" % self.normalize_tag(tag) + aTag['href'] = "Genre_%s.html" % self.genre_tags_dict[tag] aTag.insert(0,escape(NavigableString(tag))) genresTag.insert(gtc, aTag) gtc += 1 @@ -2757,7 +2795,6 @@ class CatalogBuilder(object): """ from calibre.ebooks.conversion.config import load_defaults - from calibre.utils.fonts import fontconfig MI_WIDTH = 600 MI_HEIGHT = 60 @@ -2767,11 +2804,10 @@ class CatalogBuilder(object): masthead_font_family = recs.get('masthead_font', 'Default') if masthead_font_family != 'Default': - masthead_font = fontconfig.files_for_family(masthead_font_family) - # Assume 'normal' always in dict, else use default - # {'normal': (path_to_font, friendly name)} - if 'normal' in masthead_font: - font_path = masthead_font['normal'][0] + from calibre.utils.fonts.scanner import font_scanner + faces = font_scanner.fonts_for_family(masthead_font_family) + if faces: + font_path = faces[0]['path'] if not font_path or not os.access(font_path, os.R_OK): font_path = default_font @@ -4602,28 +4638,6 @@ class CatalogBuilder(object): return merged - def normalize_tag(self, tag): - """ Generate an XHTML-legal anchor string from tag. - - Parse tag for non-ascii, convert to unicode name. - - Args: - tags (str): tag name possible containing symbols - - Return: - normalized (str): unicode names substituted for non-ascii chars - """ - - normalized = massaged = re.sub('\s','',ascii_text(tag).lower()) - if re.search('\W',normalized): - normalized = '' - for c in massaged: - if re.search('\W',c): - normalized += self.generate_unicode_name(c) - else: - normalized += c - return normalized - def process_exclusions(self, data_set): """ Filter data_set based on exclusion_rules. @@ -4696,6 +4710,43 @@ class CatalogBuilder(object): else: return data_set + def relist_multiple_authors(self, books_by_author): + """ Create multiple entries for books with multiple authors + + Given a list of books by author, scan list for books with multiple + authors. Add a cloned copy of the book per additional author. + + Args: + books_by_author (list): book list possibly containing books + with multiple authors + + Return: + (list): books_by_author with additional cloned entries for books with + multiple authors + """ + + multiple_author_books = [] + + # Find the multiple author books + for book in books_by_author: + if len(book['authors']) > 1: + multiple_author_books.append(book) + + for book in multiple_author_books: + cloned_authors = list(book['authors']) + for x, author in enumerate(book['authors']): + if x: + first_author = cloned_authors.pop(0) + cloned_authors.append(first_author) + new_book = deepcopy(book) + new_book['author'] = ' & '.join(cloned_authors) + new_book['authors'] = list(cloned_authors) + asl = [author_to_author_sort(auth) for auth in cloned_authors] + new_book['author_sort'] = ' & '.join(asl) + books_by_author.append(new_book) + + return books_by_author + def update_progress_full_step(self, description): """ Update calibre's job status UI. diff --git a/src/calibre/library/custom_columns.py b/src/calibre/library/custom_columns.py index 453f03f38a..2401ef3026 100644 --- a/src/calibre/library/custom_columns.py +++ b/src/calibre/library/custom_columns.py @@ -292,6 +292,7 @@ class CustomColumns(object): if num is not None: data = self.custom_column_num_map[num] table,lt = self.custom_table_names(data['num']) + self.dirty_books_referencing('#'+data['label'], id, commit=False) self.conn.execute('DELETE FROM %s WHERE value=?'%lt, (id,)) self.conn.execute('DELETE FROM %s WHERE id=?'%table, (id,)) self.conn.commit() diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 05f5cdec74..5952e11e57 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -646,12 +646,13 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): spath = os.path.join(self.library_path, *current_path.split('/')) tpath = os.path.join(self.library_path, *path.split('/')) - wam = WindowsAtomicFolderMove(spath) if iswindows and current_path else None + source_ok = current_path and os.path.exists(spath) + wam = WindowsAtomicFolderMove(spath) if iswindows and source_ok else None try: if not os.path.exists(tpath): os.makedirs(tpath) - if current_path and os.path.exists(spath): # Migrate existing files + if source_ok: # Migrate existing files self.copy_cover_to(id, os.path.join(tpath, 'cover.jpg'), index_is_id=True, windows_atomic_move=wam, use_hardlink=True) @@ -669,7 +670,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): 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): + if source_ok: if not samefile(spath, tpath): if wam is not None: wam.delete_originals() @@ -1432,7 +1433,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if use_hardlink: try: hardlink_file(path, dest) - return + return True except: pass with lopen(dest, 'wb') as d: @@ -2204,13 +2205,14 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): def set(self, row, column, val, allow_case_change=False): ''' - Convenience method for setting the title, authors, publisher or rating + Convenience method for setting the title, authors, publisher, tags or + rating ''' id = self.data[row][0] - col = {'title':1, 'authors':2, 'publisher':3, 'rating':4, 'tags':7}[column] + col = self.FIELD_MAP[column] books_to_refresh = set() - self.data.set(row, col, val) + set_args = (row, col, val) if column == 'authors': val = string_to_authors(val) books_to_refresh |= self.set_authors(id, val, notify=False, @@ -2226,6 +2228,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): books_to_refresh |= \ self.set_tags(id, [x.strip() for x in val.split(',') if x.strip()], append=False, notify=False, allow_case_change=allow_case_change) + self.data.set(*set_args) self.data.refresh_ids(self, [id]) self.set_path(id, True) self.notify('metadata', [id]) @@ -2473,6 +2476,23 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.clean_standard_field('authors', commit=True) return books_to_refresh + def windows_check_if_files_in_use(self, book_id): + ''' + Raises an EACCES IOError if any of the files in the folder of book_id + are opened in another program on windows. + ''' + if iswindows: + path = self.path(book_id, index_is_id=True) + if path: + spath = os.path.join(self.library_path, *path.split('/')) + wam = None + if os.path.exists(spath): + try: + wam = WindowsAtomicFolderMove(spath) + finally: + if wam is not None: + wam.close_handles() + def set_authors(self, id, authors, notify=True, commit=True, allow_case_change=False): ''' @@ -2481,6 +2501,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): :param authors: A list of authors. ''' + self.windows_check_if_files_in_use(id) books_to_refresh = self._set_authors(id, authors, allow_case_change=allow_case_change) self.dirtied(set([id])|books_to_refresh, commit=False) @@ -2531,6 +2552,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): Note that even if commit is False, the db will still be committed to because this causes the location of files to change ''' + self.windows_check_if_files_in_use(id) if not self._set_title(id, title): return self.set_path(id, index_is_id=True) diff --git a/src/calibre/library/save_to_disk.py b/src/calibre/library/save_to_disk.py index d7ef189d7f..550ac3251e 100644 --- a/src/calibre/library/save_to_disk.py +++ b/src/calibre/library/save_to_disk.py @@ -200,6 +200,11 @@ def get_components(template, mi, id, timefmt='%b %Y', length=250, template = re.sub(r'\{series_index[^}]*?\}', '', template) if mi.rating is not None: format_args['rating'] = mi.format_rating(divide_by=2.0) + if mi.identifiers: + format_args['identifiers'] = mi.format_field_extended('identifiers')[1] + else: + format_args['identifiers'] = '' + if hasattr(mi.timestamp, 'timetuple'): format_args['timestamp'] = strftime(timefmt, mi.timestamp.timetuple()) if hasattr(mi.pubdate, 'timetuple'): diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index 8ca0a36528..f173c46ca0 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py @@ -37,14 +37,6 @@ def test_freetype(): test() print ('FreeType OK!') -def test_fontconfig(): - from calibre.utils.fonts import fontconfig - families = fontconfig.find_font_families() - num = len(families) - if num < 10: - raise RuntimeError('Fontconfig found only %d font families'%num) - print ('Fontconfig OK! (%d families)'%num) - def test_winutil(): from calibre.devices.scanner import win_pnp_drives matches = win_pnp_drives.scanner() @@ -123,13 +115,12 @@ def test(): test_plugins() test_lxml() test_freetype() - test_fontconfig() test_sqlite() - test_qt() test_imaging() test_unrar() test_icu() test_woff() + test_qt() if iswindows: test_win32() test_winutil() diff --git a/src/calibre/translations/af.po b/src/calibre/translations/af.po index d32815fac8..424c350a23 100644 --- a/src/calibre/translations/af.po +++ b/src/calibre/translations/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-14 16:03+0000\n" "Last-Translator: Albé Theunissen \n" "Language-Team: Afrikaans \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:13+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:37+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Doen absolute niks" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -942,26 +942,26 @@ msgstr "Pad na biblioteek te lank. Moet minder as %d karakters wees." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Hoof" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kaart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kaart B" @@ -1151,14 +1151,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nuus" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalogus" @@ -1208,10 +1208,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12075,6 +12075,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13368,7 +13372,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16719,7 +16723,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17310,39 +17314,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18946,17 +18950,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index e49ef5b071..254efbc4b7 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -8,17 +8,17 @@ msgid "" msgstr "" "Project-Id-Version: iso_639_3\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/calibre\n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-05-24 09:38+0000\n" -"Last-Translator: abbas \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-31 19:43+0000\n" +"Last-Translator: mourad \n" "Language-Team: awadh alghaamdi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:14+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-11-01 04:35+0000\n" +"X-Generator: Launchpad (build 16218)\n" "X-Poedit-Country: SAUDI ARABIA\n" "Language: ar\n" "X-Poedit-Language: Arabic\n" @@ -64,7 +64,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" -msgstr "لا يفعل شيئًا" +msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 #: /home/kovid/work/calibre/src/calibre/db/cache.py:106 @@ -219,12 +219,12 @@ msgstr "لا يفعل شيئًا" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -235,11 +235,11 @@ msgstr "لا يفعل شيئًا" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:45 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:53 msgid "Unknown" -msgstr "غير محدّد" +msgstr "مجهول" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:77 msgid "Base" -msgstr "أساس" +msgstr "قاعدة" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:81 @@ -272,7 +272,7 @@ msgstr "مولّد الفهرس" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:527 msgid "User Interface Action" -msgstr "واجهة المستخدم" +msgstr "العمليات على واجهة المستخدم" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:561 #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 @@ -1009,26 +1009,26 @@ msgstr "الطريق إلى المكتبة وقتا طويلا. يجب أن يك #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "نعم" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "الصفحة الرئيسية" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "بلكبيبي" @@ -1224,14 +1224,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "الأخبار" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "الفهرس" @@ -1284,10 +1284,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12327,6 +12327,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13627,7 +13631,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16992,7 +16996,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "نتذكر الماضي حجم الإطار المستخدمة" @@ -17555,39 +17559,39 @@ msgstr "" msgid "Loading ebook..." msgstr "يتم تحميل الكتاب الإلكتروني..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "لم يتمكن من فتح الكتاب الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19194,17 +19198,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ast.po b/src/calibre/translations/ast.po index 426874ddc2..3b24c0a27a 100644 --- a/src/calibre/translations/ast.po +++ b/src/calibre/translations/ast.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-09-26 16:28+0000\n" "Last-Translator: Xandru \n" "Language-Team: Asturian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:14+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:38+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -935,26 +935,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1129,14 +1129,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1184,10 +1184,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12044,6 +12044,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13337,7 +13341,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16688,7 +16692,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17279,39 +17283,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18915,17 +18919,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/az.po b/src/calibre/translations/az.po index 5b46a4e4b2..e5d0db3b58 100644 --- a/src/calibre/translations/az.po +++ b/src/calibre/translations/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-07 14:00+0000\n" "Last-Translator: Emin Mastizadeh \n" "Language-Team: Azerbaijani \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:14+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:38+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -933,26 +933,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1127,14 +1127,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1182,10 +1182,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12042,6 +12042,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13335,7 +13339,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16686,7 +16690,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17277,39 +17281,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18913,17 +18917,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ber.po b/src/calibre/translations/ber.po index d7e0ba5879..52fd355b59 100644 --- a/src/calibre/translations/ber.po +++ b/src/calibre/translations/ber.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-14 04:57+0000\n" "Last-Translator: Walid AMMOU \n" "Language-Team: Berber (Other) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:15+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:39+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "ⵉⵏⵖⵎⵉⵙⵏ" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 83273bcc42..cbe92c0c64 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-24 13:23+0000\n" "Last-Translator: Nelly Hoang \n" "Language-Team: bg\n" @@ -14,8 +14,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:15+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:40+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Generated-By: pygettext.py 1.5\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -175,12 +175,12 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -993,26 +993,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Да" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1217,14 +1217,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Новини" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Каталог" @@ -1272,10 +1272,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12150,6 +12150,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13443,7 +13447,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16796,7 +16800,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17387,39 +17391,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19023,17 +19027,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/bn.po b/src/calibre/translations/bn.po index c2d0eb74ff..bfd1cd8822 100644 --- a/src/calibre/translations/bn.po +++ b/src/calibre/translations/bn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-04-12 14:19+0000\n" "Last-Translator: Kazi Shahnoor Ashraf \n" "Language-Team: Bengali \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:15+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:39+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/br.po b/src/calibre/translations/br.po index acbe62f963..c59f168120 100644 --- a/src/calibre/translations/br.po +++ b/src/calibre/translations/br.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-13 04:22+0000\n" "Last-Translator: Denis \n" "Language-Team: Breton \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:15+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:39+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -932,26 +932,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1126,14 +1126,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Keleier" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1181,10 +1181,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12044,6 +12044,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13337,7 +13341,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16688,7 +16692,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17279,39 +17283,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18915,17 +18919,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po index aa77564d7c..30f993da4e 100644 --- a/src/calibre/translations/bs.po +++ b/src/calibre/translations/bs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-01-02 13:31+0000\n" "Last-Translator: Kenan Dervišević \n" "Language-Team: Bosnian \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:15+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:39+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -176,12 +176,12 @@ msgstr "Ne radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -935,26 +935,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1129,14 +1129,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Vijesti" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1184,10 +1184,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12045,6 +12045,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13338,7 +13342,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16693,7 +16697,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcije za prilagođavanje preglednika e-knjiga" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zapamti zadnju korištenu veličinu prozora" @@ -17284,39 +17288,39 @@ msgstr "Upravljanje zabilješkama" msgid "Loading ebook..." msgstr "Učitavam e-knjigu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nije moguće otvoriti e-knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opcije pomoću kojih se kontroliše preglednik e-knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18920,17 +18924,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index cb6c854470..37d2258927 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-21 14:25+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-27 12:43+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:16+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-28 04:40+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -178,12 +178,12 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -1000,26 +1000,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Sí" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Inici" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Targeta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Targeta B" @@ -1238,14 +1238,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notícies" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catàleg" @@ -1301,10 +1301,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -3788,6 +3788,12 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"Incrusta la família de tipus de lletra al llibre. Especifica la lletra " +"«base» que s'utilitza per al llibre. Si el document d'entrada especifica els " +"seus tipus de lletra pot substituir aquesta lletra base. Podeu utilitzar " +"l'opció de la informació del filtre d'estils per suprimir tipus de lletra " +"del document d'entrada. Tingueu en compte que la incrustació de lletra només " +"funciona amb alguns formats de sortida, principalment EPUB i AZW3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 msgid "" @@ -8711,7 +8717,7 @@ msgstr "Alçada de la &línia:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "&Incrusta els tipus de lletra" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -9142,6 +9148,7 @@ msgstr "Obre un llibre" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:215 msgid "Click the Open button below to open a ebook to use for testing." msgstr "" +"Feu clic al botó «Obre» per obrir un llibre per utilitzar-lo com a proba." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" @@ -13563,7 +13570,7 @@ msgstr "Expressió regular (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Tria el tipus de lletra" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13583,11 +13590,15 @@ msgstr "Cap" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Trieu un tipus de lletra la la llista següent:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Tria el &tipus de lletra" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Elimina el tipus de lletra" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -14307,7 +14318,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:273 #, python-format msgid "Could not open \"%s\". Is it being used by another program?" -msgstr "" +msgstr "No s'ha pogut obrir «%s». L'està utilitzant un altre programa?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 msgid "" @@ -15013,13 +15024,13 @@ msgstr "Procés d'addició" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Si s'activa, aquesta opció fa que el calibre comprovi si un\n" -" fitxer que s'està afegint automàticament ja està a la\n" -" biblioteca del calibre. Si és així un missatge emergent\n" -" us demanarà si el voleu afegir igualment." +"Si s'estableix fa que el calibre comprovi si un fitxer\n" +" que s'està afegint automàticament ja està a la biblioteca.\n" +" Si hi és, un missatge emergent us pregunarà si voleu\n" +" afegir-lo igualment." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18896,7 +18907,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcions per personalitzar el visor de llibres electrònics" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Recorda la darrera mida de finestra que s'ha fet servir" @@ -19525,38 +19536,38 @@ msgstr "Gestiona els marcadors" msgid "Loading ebook..." msgstr "S'està carregant el llibre..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "No s'ha pogut obrir el llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Error desconegut" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opcions de control del visor de llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si s'indica, la finestra del visor intentarà anar al primer pla quan " "s'iniciï." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si s'indica, s'intentarà que la finestra del visor s'obri en pantalla " "completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" "Dirigeix les alertes de javascript i els missatges de consola a la consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19564,7 +19575,7 @@ msgstr "" "La posició que s'obrirà el llibre especificat. La posició és una ubicació " "que es mostra a la cantonada superior esquerra del visor." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21160,6 +21171,23 @@ msgid "" "that a new OPF has been createdsince the column was added). You will see the " "JSON for the\"display\" for the new column in the OPF." msgstr "" +"Un diccionari d'opcions per personalitzar com s'interpretaran les dades de " +"la columna. És una cadena JSON. Per a columnes d'enumeració utilitzeu --" +"display=\"{\\\"enum_values\\\":[\\\"val1\\\", \\\"val2\\\"]}\"\n" +"Hi ha moltes opcions que poden estar amb la variable «display». Les opcions " +"per tipus de columna són:\n" +"composite: composite_template, composite_sort, make_category,contains_html, " +"use_decorations\n" +"datetime: date_format\n" +"enumeration: enum_values, enum_colors, use_decorations\n" +"int, float: number_format\n" +"text: is_names, use_decorations\n" +"\n" +"La millor manera de trobar combinacions vàlides és crear una columna " +"personalitzada del tipus adequat a la interfície gràfica i mirar la còpia de " +"seguretat OPF per a un llibre (assegureu-vos que es crea un nou OPF després " +"de crear la columna). Veureu la cadena JSON per a «display» de la nova " +"columna al fitxer OPF." #: /home/kovid/work/calibre/src/calibre/library/cli.py:721 msgid "You must specify label, name and datatype" @@ -21572,18 +21600,18 @@ msgstr "s'ha restaurat la preferència " msgid "creating custom column " msgstr "s'està creant una columna personalitzada " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

S'està migrant la base de dades antiga a la biblioteca de %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "S'està copiant %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "S'està compactant la base de dades" @@ -22231,7 +22259,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/filenames.py:284 msgid "File is open in another process" -msgstr "" +msgstr "El fitxer està obert en un altre procés" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:31 #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:182 diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 799d7bc4fb..d1214829a5 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.9.3\n" -"POT-Creation-Date: 2012-10-24 09:36+IST\n" -"PO-Revision-Date: 2012-10-24 09:36+IST\n" +"Project-Id-Version: calibre 0.9.5\n" +"POT-Creation-Date: 2012-11-02 09:21+IST\n" +"PO-Revision-Date: 2012-11-02 09:21+IST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -30,7 +30,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:101 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:77 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:666 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:667 #: /home/kovid/work/calibre/src/calibre/devices/mtp/books.py:45 #: /home/kovid/work/calibre/src/calibre/devices/mtp/books.py:69 #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:229 @@ -131,8 +131,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:108 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:109 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:443 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:414 @@ -154,15 +154,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1062 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1273 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1276 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1068 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1279 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1282 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1373 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:246 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:257 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:398 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 @@ -173,12 +173,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2276 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2430 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2879 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3526 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3528 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3665 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -882,35 +882,35 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/debug.py:65 +#: /home/kovid/work/calibre/src/calibre/debug.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "Cause a running calibre instance, if any, to be shutdown. Note that if there are running jobs, they will be silently aborted, so use with care." msgstr "" -#: /home/kovid/work/calibre/src/calibre/debug.py:187 +#: /home/kovid/work/calibre/src/calibre/debug.py:189 msgid "Debug log" msgstr "" @@ -1048,14 +1048,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3383 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3339 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3357 msgid "Catalog" msgstr "" @@ -1099,10 +1099,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1320 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1324 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1654 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1438,47 +1438,47 @@ msgid "Upload covers for books (newer readers)" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:70 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1219 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 msgid "Normally, the KOBO readers get the cover image from the ebook file itself. With this option, calibre will send a separate cover image to the reader, useful if you have modified the cover." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:74 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:75 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 msgid "A bug in an earlier version left non kepubs book records in the database. With this option Calibre will show the expired records and allow you to delete them with the new delete logic." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:80 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 msgid "Kobo previews are included on the Touch and some other versions by default they are no longer displayed as there is no good reason to see them. Enable if you wish to see/delete them." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:84 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 msgid "Show Recommendations" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:85 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 msgid "Kobo now shows recommendations on the device. In some case these have files but in other cases they are just pointers to the web site to buy. Enable if you wish to see/delete them." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 msgid "Attempt to support newer firmware" msgstr "" @@ -1503,73 +1503,73 @@ msgstr "" 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/kobo/driver.py:1093 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1099 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1094 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1100 #, python-format msgid "
Book Last Read: %(time)s
Percentage Read: %(pr)d%%
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1117 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1118 #, python-format msgid "Chapter %(chapter)d: %(chapter_title)s
%(typ)s
Chapter Progress: %(chapter_progress)s%%
%(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1126 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1127 #, python-format msgid "Chapter %(chapter)d: %(chapter_title)s
%(typ)s
Chapter Progress: %(chapter_progress)s%%
Highlight: %(text)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1135 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1145 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1136 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1146 #, python-format msgid "Chapter %(chapter)d: %(chapter_title)s
%(typ)s
Chapter Progress: %(chapter_progress)s%%
Highlight: %(text)s
Notes: %(annotation)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1211 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1212 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1213 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1214 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1214 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1215 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1215 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 msgid "Create new bookshelves on the Kobo Touch if they do not exist. This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 msgid "Delete any empty bookshelves from the Kobo Touch when syncing is finished. This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1219 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 msgid "Always upload covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "If the Upload covers option is selected, the driver will only replace covers already on the device. Select this option if you want covers uploaded the first time you send the book to the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 msgid "Kobo routinely updates the firmware and the database version. With this option Calibre will attempt to perform full read-write functionality - Here be Dragons!! Enable only if you are comfortable with restoring your kobo to factory defaults and testing software. This driver supports firmware V2.0.x and DBVersion up to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1248 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1248 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 msgid "Part of title of a book that can be used when doing some tests for debugging. The test is to see if the string is contained in the title of a book. The better the match, the less extraneous output." msgstr "" @@ -3401,8 +3401,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:769 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1073 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 @@ -3415,7 +3416,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1068 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1074 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Author(s)" msgstr "" @@ -3431,7 +3432,7 @@ msgid "Producer" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:773 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:946 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:948 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:157 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:245 msgid "Comments" @@ -3452,6 +3453,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 @@ -3579,7 +3581,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1487 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1279 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:958 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:960 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 msgid "Cover" msgstr "" @@ -3787,7 +3789,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:958 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:966 #, python-format msgid "Book %(sidx)s of %(series)s" msgstr "" @@ -3846,159 +3848,159 @@ msgstr "" msgid "Table of Contents:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:118 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:120 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:122 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:124 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:126 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:128 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:130 msgid "Match tags by any or all." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:132 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:134 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:140 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:142 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:143 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:144 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:147 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:149 msgid "Delete news books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 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:152 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:153 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:155 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:160 msgid "Start searching as you type. If this is disabled then search will only take place when the Enter or Return key is pressed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:163 msgid "When searching, show all books with search results highlighted instead of showing only the matches. You can use the N or F3 keys to go to the next match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:188 msgid "Maximum number of simultaneous conversion/news download jobs. This number is twice the actual value for historical reasons." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:191 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:193 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:195 msgid "Automatically download the cover, if available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:197 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:199 msgid "The layout of the user interface. Wide has the book details panel on the right and narrow has it at the bottom." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:203 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:205 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:210 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:276 msgid "WARNING:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:286 msgid "ERROR:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:298 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:258 msgid "Show this confirmation again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:337 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "Restart needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:339 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:741 msgid "Restart calibre now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:568 msgid "Choose Files" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:754 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:762 msgid "Books" msgstr "" @@ -4779,7 +4781,7 @@ msgid "Stop Content Server" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:114 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:134 msgid "Email to" msgstr "" @@ -4787,45 +4789,45 @@ msgstr "" msgid "Email to and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:128 msgid "(delete from library)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:144 msgid "Setup email based sharing of books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:162 msgid "D" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:162 msgid "Send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:180 msgid "Connect/share" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:238 msgid "Disable autostart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:239 msgid "Do you want wireless device connections to be started automatically when calibre starts?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:262 msgid "Many IP addresses. See Start/Stop dialog." msgstr "" @@ -5325,7 +5327,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:234 #: /usr/src/qt-everywhere-opensource-src-4.8.2/src/gui/widgets/qdialogbuttonbox.cpp:667 msgid "&Cancel" @@ -5504,7 +5506,7 @@ msgid "No books found" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:288 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:794 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:802 msgid "No permission" msgstr "" @@ -5721,7 +5723,7 @@ msgid "Book %(sidx)s of %(series)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1071 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1077 msgid "Collections" msgstr "" @@ -5977,7 +5979,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:791 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:601 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4665 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4663 msgid "False" msgstr "" @@ -6908,44 +6910,44 @@ msgid "Set the metadata. The output file will contain as much of this metadata a msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:99 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1008 msgid "This book has no cover" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1002 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1010 #, python-format msgid "Cover size: %(width)d x %(height)d pixels" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:909 msgid "Choose cover for " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:917 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:910 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:195 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:926 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:927 msgid "

There was an error reading from file:
" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:929 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:937 msgid " is not a valid picture" msgstr "" @@ -6998,14 +7000,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:561 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1092 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1100 msgid "Tags categorize the book. This is particularly useful while searching.

They can be any words or phrases, separated by commas." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:568 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:458 msgid "&Series:" msgstr "" @@ -7013,7 +7015,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:569 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:457 msgid "List of known series. You can add new series." msgstr "" @@ -7377,7 +7379,7 @@ msgid "Remove the currently selected expression" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:871 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:879 msgid "&Remove" msgstr "" @@ -7752,7 +7754,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:233 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1404 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1412 msgid "Undefined" msgstr "" @@ -8596,7 +8598,7 @@ msgid "&Title:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:215 msgid "&Author(s):" msgstr "" @@ -8605,7 +8607,7 @@ msgid "&Profile:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:247 #: /usr/src/qt-everywhere-opensource-src-4.8.2/src/gui/widgets/qdialogbuttonbox.cpp:658 msgid "&OK" msgstr "" @@ -8649,6 +8651,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222 msgid "Author" msgstr "" @@ -8658,7 +8661,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1069 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1075 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -8764,36 +8767,36 @@ msgid "No matches found" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:433 msgid "Change Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:161 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:300 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:434 msgid "Upper Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:299 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:435 msgid "Lower Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:163 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:436 msgid "Swap Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:437 msgid "Title Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:438 msgid "Capitalize" msgstr "" @@ -8956,7 +8959,7 @@ msgid "Standard metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:928 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:930 msgid "Custom metadata" msgstr "" @@ -9095,13 +9098,13 @@ msgid "Specify how the author(s) of this book should be sorted. For example Char msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1058 msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:555 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:556 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1051 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1059 msgid "Rating of this book. 0-5 stars" msgstr "" @@ -9168,7 +9171,7 @@ msgid "&Force numbers to start with:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1386 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1394 msgid "&Date:" msgstr "" @@ -9190,7 +9193,7 @@ msgid "Clear published date" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:591 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1155 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1163 msgid "&Languages:" msgstr "" @@ -9252,13 +9255,13 @@ msgid "Set from &ebook file(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:609 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:569 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:734 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:736 msgid "&Basic metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:610 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:578 msgid "&Custom metadata" msgstr "" @@ -9780,7 +9783,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:676 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 msgid "Search" msgstr "" @@ -10224,7 +10227,7 @@ msgid "&Author:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1091 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1099 msgid "Ta&gs:" msgstr "" @@ -10525,31 +10528,44 @@ msgstr "" msgid "Copy the selected color name to the clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:223 +msgid "Author Sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:227 +msgid "Tag 1" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:227 +msgid "Tag 2" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:269 msgid "Template language tutorial" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:273 msgid "Template function reference" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:291 msgid "EXCEPTION: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:318 msgid "No column chosen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:319 msgid "You must specify a column to be colored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:322 msgid "No template provided" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:323 msgid "The template box cannot be empty" msgstr "" @@ -10949,7 +10965,7 @@ msgid "Regular expression (?P)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:149 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1288 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1296 msgid "ISBN:" msgstr "" @@ -10973,11 +10989,28 @@ msgstr "" msgid "Regular expression (?P)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:123 +msgid "Choose a font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:136 +#, python-format +msgid "Available faces for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:171 msgid "Choose font family" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:195 +msgid "Add &fonts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:199 +msgid "Choose a font family from the list below:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:406 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:409 @@ -10989,18 +11022,44 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:148 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:363 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 -msgid "Choose a font family from the list below:" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:223 +msgid "Select font files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:223 +msgid "TrueType/OpenType Fonts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:233 +msgid "Corrupt font" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:234 +#, python-format +msgid "Failed to read metadata from the font file: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:253 +msgid "Added fonts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:254 +#, python-format +msgid "Added font families: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:279 msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:288 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -11273,7 +11332,7 @@ msgid "Copy current search text (instead of search name)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1058 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066 msgid "stars" msgstr "" @@ -11296,50 +11355,55 @@ msgid "Modified" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:785 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1405 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1411 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:312 msgid "The lookup/search name is \"{0}\"" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:791 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1413 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:876 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:104 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:320 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:450 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:451 msgid "Could not change the on disk location of this book. Is it open in another program?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:883 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889 msgid "Failed to set data" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:890 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1066 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1072 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1070 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1076 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1387 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1393 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1390 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1396 msgid "Double click to edit me

" msgstr "" @@ -11560,49 +11624,49 @@ msgstr "" msgid "Starting %s: Loading books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:334 msgid "If you are sure it is not running" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:337 msgid "may be running in the system tray, in the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:339 msgid "upper right region of the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:341 msgid "lower right region of the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:344 msgid "try rebooting your computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:363 msgid "try deleting the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:349 msgid "Cannot Start " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:350 #, python-format msgid "%s is already running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:371 msgid "No running calibre found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:375 msgid "Shutdown command sent, waiting for shutdown..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 msgid "Failed to shutdown running calibre instance" msgstr "" @@ -11622,65 +11686,53 @@ msgstr "" msgid "Unhandled exception" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:321 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:449 -#, python-format -msgid "Could not open %s. Is it being used by another program?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:142 msgid "Specify how this book should be sorted when by title. For example, The Exorcist might be sorted as Exorcist, The." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:144 msgid "Title &sort:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:153 msgid " The green color indicates that the current title sort matches the current title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:156 msgid " The red color warns that the current title sort does not match the current title. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:230 msgid "Authors changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:231 msgid "You have changed the authors for this book. You must save these changes before you can use Manage authors. Do you want to save these changes?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:273 -#, python-format -msgid "Could not open \"%s\". Is it being used by another program?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:314 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.\n" "If the box is colored green, then text matches the individual author's sort strings. If it is colored red, then the authors and this text do not match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:319 msgid "Author s&ort:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:321 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:329 msgid " The green color indicates that the current author sort matches the current author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:332 msgid " The red color indicates that the current author sort does not match the current author. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:511 msgid "&Number:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:611 #, python-format msgid "" "Last modified: %s\n" @@ -11688,113 +11740,113 @@ msgid "" "Double click to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:621 #, python-format msgid "Restore %s from the original" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:667 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675 msgid "Set metadata for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:682 msgid "Add a format to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:689 msgid "Remove the selected format from this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:752 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:760 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:795 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:803 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:834 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:838 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:846 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:839 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847 #, python-format msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:867 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:875 msgid "&Browse" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:877 msgid "T&rim" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:885 msgid "Download co&ver" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:886 msgid "&Generate cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:928 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:936 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:960 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:953 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:961 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:972 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:980 msgid "Invalid cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:981 msgid "Could not change cover as the image is invalid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1127 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1135 msgid "Tags changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1136 msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes. Apply changes?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1156 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1164 msgid "A comma separated list of languages for this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1187 msgid "Unknown language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1180 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1188 #, python-format msgid "The language %s is not recognized" msgid_plural "The languages %s are not recognized" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1192 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1200 msgid "I&ds:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1193 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1201 #, python-format msgid "" "Edit the identifiers for this book. For example: \n" @@ -11802,38 +11854,38 @@ msgid "" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1257 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1265 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1327 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1260 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1268 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1330 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1285 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1293 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1315 msgid "Invalid ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1286 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1294 msgid "Enter an ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1308 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1316 msgid "The ISBN you entered is not valid. Try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1332 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1340 msgid "&Publisher:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1415 msgid "Clear date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1441 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1449 msgid "Publishe&d:" msgstr "" @@ -11979,54 +12031,59 @@ msgstr "" msgid " [%(num)d of %(tot)d]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:333 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:340 -msgid "Could not read cover" +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:321 +#, python-format +msgid "Could not open %s. Is it being used by another program?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:341 +msgid "Could not read cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:335 #, python-format msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342 #, python-format msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:516 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:523 #, python-format msgid "Save changes and edit the metadata of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:619 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:822 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:824 msgid "Change cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:679 msgid "Co&mments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:717 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:863 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:865 msgid "&Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:722 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:724 msgid "&Cover and formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:792 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:794 msgid "C&ustom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:803 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:805 msgid "&Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871 msgid "Basic metadata" msgstr "" @@ -12216,7 +12273,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -12670,7 +12727,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:152 msgid "Formats" @@ -12996,31 +13053,39 @@ msgstr "" msgid "&Remove email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 -msgid "Auto send" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:28 msgid "Email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:28 msgid "Subject" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:29 +msgid "Alias" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:29 +msgid "Auto send" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:34 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:35 msgid "Subject of the email to use when sending. When left blank the title will be used for the subject. Also, the same templates used for \"Save to disk\" such as {title} and {author_sort} can be used here." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:39 msgid "If checked, downloaded news will be automatically mailed
to this email address (provided it is in one of the listed formats)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:42 +msgid "Friendly name to use for this email address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:128 msgid "new email address" msgstr "" @@ -15287,7 +15352,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -15653,23 +15718,27 @@ msgstr "" msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +msgid "&Rotate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -15854,35 +15923,35 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "The position at which to open the specified book. The position is a location as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -15979,19 +16048,19 @@ msgstr "" msgid "The name %r does not appear to end with a file extension. The name must end with a file extension like .epub or .mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:950 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:947 msgid "Drag to resize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:975 msgid "Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:985 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:982 msgid "Hide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1022 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1019 msgid "Toggle" msgstr "" @@ -16684,81 +16753,81 @@ msgstr "" msgid "Description HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2814 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2812 msgid "NCX header" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2893 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2891 msgid "NCX for Descriptions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3020 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3018 msgid "NCX for Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3102 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3100 #, python-format msgid "Series beginning with %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3104 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3102 #, python-format msgid "Series beginning with '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3148 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3146 msgid "NCX for Titles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3232 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3230 #, python-format msgid "Titles beginning with %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3234 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3232 #, python-format msgid "Titles beginning with '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3276 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3274 msgid "NCX for Authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3352 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3350 #, python-format msgid "Authors beginning with %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3354 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3352 #, python-format msgid "Authors beginning with '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3395 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3393 msgid "NCX for Recently Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3588 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3586 msgid "NCX for Recently Read" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3730 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3728 msgid "NCX for Genres" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3853 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3851 msgid "Generating OPF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4233 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4231 msgid "Thumbnails" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4239 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4237 msgid "Thumbnail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4755 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4753 msgid "Saving NCX" msgstr "" @@ -17358,17 +17427,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3691 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3720 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3737 msgid "Compacting database" msgstr "" @@ -17376,10 +17445,6 @@ msgstr "" msgid "Identifiers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:223 -msgid "Author Sort" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:335 msgid "Series Sort" msgstr "" @@ -17879,7 +17944,7 @@ msgstr "" msgid "Characters typed in the search box will match their accented versions, based on the language you have chosen for the calibre interface. For example, in English, searching for n will match %s and n, but if your language is Spanish it will only match n. Note that this is much slower than a simple search on very large libraries." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/filenames.py:284 +#: /home/kovid/work/calibre/src/calibre/utils/filenames.py:289 msgid "File is open in another process" msgstr "" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 21a2a64638..6a0821c846 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-31 12:00+0000\n" "Last-Translator: Štěpán Krb \n" "Language-Team: Czech \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:16+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:40+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -974,26 +974,26 @@ msgstr "Cesta ke složce knihovny je moc dlouhá. Musí mít méně než %d znak #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ano" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Hlavní" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Karta B" @@ -1195,14 +1195,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Zprávy" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1257,10 +1257,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12824,6 +12824,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14142,7 +14146,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17560,7 +17564,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti úpravy prohlížeče elektronických knih" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zapamatuj si posledně použitou velikost okna" @@ -18162,41 +18166,41 @@ msgstr "Spravovat záložky" msgid "Loading ebook..." msgstr "Načítám knihu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nemohu otevřít eknihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Volby ke kontrole prohlížeče ebooků" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "Pokud specifikováno, okno prohlížeče se zobrazí po startu v popředí." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Pokud je zadáno, pokusí se při spuštění otevřít okno prohlížeče na celou " "obrazovku." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Tisknout upozornění javascriptu a konzolové zprávy do konzole" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19914,17 +19918,17 @@ msgstr "" msgid "creating custom column " msgstr "vytváření uživatelských sloupců " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migruji starou databázi do knihovy ebooků v %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopírování %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Zhutňování databáze" diff --git a/src/calibre/translations/cy.po b/src/calibre/translations/cy.po index a4bfc216be..5014375bc5 100644 --- a/src/calibre/translations/cy.po +++ b/src/calibre/translations/cy.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-02-26 20:21+0000\n" "Last-Translator: Rachael Munns \n" "Language-Team: Welsh \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? " "2 : 3;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:31+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:55+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -176,12 +176,12 @@ msgstr "Dim yn gwneud dim byd" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -940,26 +940,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Iawn" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Sail" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Cerdyn A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Cerdyn B" @@ -1134,14 +1134,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Newyddion" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalog" @@ -1189,10 +1189,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12050,6 +12050,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13343,7 +13347,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16694,7 +16698,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17285,39 +17289,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18921,17 +18925,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 60f1033059..72e9126f2c 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-13 17:59+0000\n" "Last-Translator: Jens Holm \n" "Language-Team: Danish \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:16+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:40+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -977,26 +977,26 @@ msgstr "Sti til bibliotek for lang. Skal være kortere end %d tegn." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Main/hjem/primær" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kort A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kort B" @@ -1203,14 +1203,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nyheder" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1265,10 +1265,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12584,6 +12584,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13900,7 +13904,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17356,7 +17360,7 @@ msgid "Options to customize the ebook viewer" msgstr "Indstillinger til tilpasning af e-bogsviseren" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Husk størrelsen på vinduet" @@ -17952,41 +17956,41 @@ msgstr "Administrér bogmærker" msgid "Loading ebook..." msgstr "Henter e-bog..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Kunne ikke åbne e-bog" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Valg til at styre e-bogsviser" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Hvis specificeret, vil visningsvindue prøve at komme i front ved start." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Hvis angivet, vil oversigtsvindue prøve at åbne i fuld skærm under start." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Udskriv javascript alert og konsol beskeder til konsolen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19805,17 +19809,17 @@ msgstr "" msgid "creating custom column " msgstr "opret tilpasset søjle " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Flytter gammel database til e-bogsbibliotek i %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Komprimerer database" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index c6cbdf3ace..4ca05ba497 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-20 14:01+0000\n" -"Last-Translator: SimonFS \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-31 14:34+0000\n" +"Last-Translator: Patrick Haake \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:19+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-11-01 04:35+0000\n" +"X-Generator: Launchpad (build 16218)\n" "X-Poedit-Bookmarks: 3327,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -177,12 +177,12 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -885,7 +885,7 @@ msgstr "Dieses Profil ist geeignet für den Amazon Kindle DX." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Dieses Profil ist für den Amazon Kindle PaperWhite gedacht" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." @@ -998,26 +998,26 @@ msgstr "Pfad zur Datenbank zu lang. Muss kürzer als %d Zeichen sein" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Haupt" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Karte A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Karte B" @@ -1234,14 +1234,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nachrichten" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1297,10 +1297,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1589,7 +1589,7 @@ msgstr "Ort %(dl)d • %(typ)s
" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." -msgstr "" +msgstr "Kommuniziere mit dem Kindle 2/3/4/Touch/PaperWhite eBook-Reader" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" @@ -1842,7 +1842,7 @@ msgstr "Der Kobo Touch ab Firmware V2.0.0 unterstützt Bücherregale" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1213 msgid "Specify a tags type column for automatic management" -msgstr "" +msgstr "Bestimmen Sie eine Tag-Typ-Spalte für automatische Verwaltung" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1214 msgid "Create Bookshelves" @@ -1882,6 +1882,10 @@ msgid "" "already on the device. Select this option if you want covers uploaded the " "first time you send the book to the device." msgstr "" +"Wenn die \"Buchcover hochladen\" Option ausgewählt ist, wird der Treiber nur " +"die Cover ersetzen, die bereits auf dem Gerät vorhanden sind. Wählen Sie " +"diese Option wenn beim erstmaligen Senden eines Buches ein Cover hochgeladen " +"werden soll." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 msgid "" @@ -1891,10 +1895,16 @@ msgid "" "factory defaults and testing software. This driver supports firmware V2.0.x " "and DBVersion up to " msgstr "" +"Kobo macht regelmäßig Updates der Firmware und der Datenbankversion. Mit " +"dieser Option wird Calibre versuchen volle Lese- und Schreibberechtigungen " +"zu erhalten. Hic sunt dracones!! Nur einschalten, wenn Sie sich sicher sind, " +"dass Sie Ihren Kobo auf Werkszustand zurücksetzen und die Software testen " +"wollen. Dieser Treiber unterstützt die Firmware V2.0.x und die DBVersion bis " +"zu " #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "Title to test when debugging" -msgstr "" +msgstr "Titel für Fehlerbehebung" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1248 msgid "" @@ -1902,6 +1912,9 @@ msgid "" "debugging. The test is to see if the string is contained in the title of a " "book. The better the match, the less extraneous output." msgstr "" +"Teil des Titels eines Buches, der während Fehlerbehebungen genutzt werden " +"kann. Der Test prüft, ob die Zeichenkette in dem Buchtitel vorhanden ist. Je " +"besser die Übereinstimmung, desto weniger Fehlausgaben." #: /home/kovid/work/calibre/src/calibre/devices/misc.py:19 msgid "Communicate with the Palm Pre" @@ -1966,7 +1979,7 @@ msgstr "Kommuniziere mit dem Ex124G" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:414 msgid "Communicate with the WayteQ Reader" -msgstr "" +msgstr "Mit dem WayteQ Reader kommunizieren" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" @@ -6363,7 +6376,7 @@ msgstr "Den Inhalte-Server starten/anhalten" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:96 #, python-format msgid " [%(ip)s, port %(port)d]" -msgstr "" +msgstr " [%(ip)s, port %(port)d]" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:100 msgid "Stop Content Server" @@ -8760,7 +8773,7 @@ msgstr "&Zeilenabstand" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "&Einschließen der Schriftfamilie:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -9138,6 +9151,9 @@ msgid "" "the output profile to the default output profile. Otherwise the output " "profile will override these settings." msgstr "" +"Hinweis: Die Einstellungen zur Seitengröße greifen nur, wenn Sie das " +"Ausgabeprofil auf das Standardprofil gestellt haben. Ansonsten wird das " +"Ausgabeprofil diese Einstellungen überschreiben." #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" @@ -9190,6 +9206,7 @@ msgstr "Buch öffnen" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:215 msgid "Click the Open button below to open a ebook to use for testing." msgstr "" +"Klicken Sie unten auf den Öffnen-Button, um ein e-Book zum Testen zu öffnen." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" @@ -13650,7 +13667,7 @@ msgstr "Regulärer Ausdruck (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Wähle Schriftfamilie" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13670,11 +13687,15 @@ msgstr "Keine" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Wähle eine Schriftfamilie aus der untenstehenden Liste:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Wähle &Schriftfamilie" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Schriftfamilie zurücksetzen" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -14395,6 +14416,8 @@ msgstr "" #, python-format msgid "Could not open \"%s\". Is it being used by another program?" msgstr "" +"Konnte \"%s\" nicht öffnen. Wird es gerade von einem anderen Programm " +"benutzt?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 msgid "" @@ -15103,13 +15126,14 @@ msgstr "Der Hinzufügen &Prozess" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Wenn gesetzt, wird calibre prüfen, ob eine Datei\n" -" die automatisch hinzugefügt wird, schon in der Bibliothek ist.\n" -" Wenn ja, wird eine Popup-Nachricht angezeigt, ob\n" -" Sie die Datei trotzdem hinzufügen wollen." +"Wenn gesetzt, wird calibre überprüfen, ob eine Datei\n" +" schon in der calibre-Bibliothek vorhanden ist, wenn diese automatisch " +"hinzugefügt wurde.\n" +" Wenn dies zutrifft, wird ein Pop-Up erscheinen und fragen, ob Sie \n" +" die Datei trotzdem hinzufügen wollen." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -19020,7 +19044,7 @@ msgid "Options to customize the ebook viewer" msgstr "Einstellungen zum Anpassen des E-Book-Betrachters" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zuletzt verwendete Fenstergröße merken" @@ -19388,7 +19412,7 @@ msgstr "Gespeichertes Theme löschen:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:436 msgid "&Theming" -msgstr "Themes" +msgstr "&Themes" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53 msgid "No results found for:" @@ -19653,37 +19677,37 @@ msgstr "Lesezeichen verwalten" msgid "Loading ebook..." msgstr "Lade E-Book..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Konnte E-Book nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Unbekannter Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Steuerung des E-Book-Betrachters" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Falls ausgewählt, wird das Betrachterfenster nach Möglichkeit im Vordergrund " "geöffnet." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Falls ausgewählt, wird das Betrachterfenster nach Möglichkeit im " "Vollbildmodus geöffnet." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Javascript Alarme und Konsolennachrichten auf der Konsole ausgeben" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19691,7 +19715,7 @@ msgstr "" "Bildschirmposition, an der das Buch geöffnet werden soll. Die Stelle wird " "oben links im Betrachter angezeigt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21701,17 +21725,17 @@ msgstr "wiederhergestellte Einstellung " msgid "creating custom column " msgstr "Erstelle benutzerdefinierte Spalte " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migriere alte Datenbank zu E-Book Bibliothek in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopiere %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -22368,7 +22392,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/filenames.py:284 msgid "File is open in another process" -msgstr "" +msgstr "Datei ist in einem anderen Prozess geöffnet" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:31 #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:182 @@ -22796,6 +22820,11 @@ msgid "" "template program mode using the template \"{:'approximate_formats()'}\". " "Note that format names are always uppercase, as in EPUB." msgstr "" +"approximate_formats() -- gibt eine kommagetrennte Liste der Formate, die " +"einem Buch einmal zugewiesen waren. Es gibt keine Garantie, dass diese Liste " +"korrekt ist, obwohl sie es wahrscheinlich ist. Diese Funktion kann im " +"Vorlagen Programmiermodus ausgeführt werden: \"{:'approximate_formats()'}\". " +"Beachten Sie, dass die Formatnamen immer in Großbuchstaben sind, wie in EPUB." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:620 msgid "" @@ -23025,6 +23054,11 @@ msgid "" "list1 and list2 are separated by separator, as are the items in the returned " "list." msgstr "" +"list_union(list1, list2, separator) -- gibt eine Liste mit den " +"zusammengeführten Elementen aus list1 und list2 zurück, wobei Duplikate " +"durch schreibungsunabhängigen Vergleich entfernt werden. Wenn Elemente sich " +"in der Schreibweise unterscheiden, dann wird das aus list1 verwendet. Die " +"Elemente in list1 und list2 werden durch den separator getrennt." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1004 msgid "" @@ -23152,6 +23186,9 @@ msgid "" "This function can be called in template program mode using the template " "\"{:'current_library_path()'}\"." msgstr "" +"current_library_path() -- gibt den Pfad der aktuellen calibe-Datenbank " +"zurück. Diese Funktion dann im Vorlagen Programmiermodus verwendet werden: " +"\"{:'current_library_path()'}\"." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1200 msgid "" @@ -23846,7 +23883,42 @@ msgid "" "metadata\n" "from books and the import plugin produces a value, than that value will\n" "be used irrespective of the setting of the tweak." -msgstr "♠" +msgstr "" +"The algorithm used to assign a book added to an existing series a series " +"number.\n" +"New series numbers assigned using this tweak are always integer values, " +"except\n" +"if a constant non-integer is specified.\n" +"Possible values are:\n" +"next - First available integer larger than the largest existing number\n" +"first_free - First available integer larger than 0\n" +"next_free - First available integer larger than the smallest existing " +"number\n" +"last_free - First available integer smaller than the largest existing " +"number\n" +"Return largest existing + 1 if no free number is found\n" +"const - Assign the number 1 always\n" +"no_change - Do not change the series index\n" +"a number - Assign that number always. The number is not in quotes. Note " +"that\n" +"0.0 can be used here.\n" +"Examples:\n" +"series_index_auto_increment = 'next'\n" +"series_index_auto_increment = 'next_free'\n" +"series_index_auto_increment = 16.5\n" +"\n" +"Set the use_series_auto_increment_tweak_when_importing tweak to True to\n" +"use the above values when importing/adding books. If this tweak is set to\n" +"False (the default) then the series number will be set to 1 if it is not\n" +"explicitly set to during the import. If set to True, then the\n" +"series index will be set according to the series_index_auto_increment " +"setting.\n" +"Note that the use_series_auto_increment_tweak_when_importing tweak is used\n" +"only when a value is not provided during import. If the importing regular\n" +"expression produces a value for series_index, or if you are reading " +"metadata\n" +"from books and the import plugin produces a value, than that value will\n" +"be used irrespective of the setting of the tweak." #: /home/kovid/work/calibre/resources/default_tweaks.py:44 msgid "Add separator after completing an author name" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 2ed9a46887..789cbb1478 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-22 09:51+0000\n" "Last-Translator: SteliosGero \n" "Language-Team: Greek \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:19+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:43+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -997,26 +997,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ναι" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Κύρια μνήμη" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Κάρτα μνήμης Α" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Κάρτα μνήμης Β" @@ -1196,14 +1196,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Ειδήσεις" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Κατάλογος" @@ -1259,10 +1259,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12257,6 +12257,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13550,7 +13554,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16901,7 +16905,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17492,39 +17496,39 @@ msgstr "Διαχείριση Σελιδοδεικτών" msgid "Loading ebook..." msgstr "Γίνεται φόρτωση του eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Δεν ήταν δυνατή η φόρτωση του eBook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19146,17 +19150,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Συμπίεση βάσης δεδομένων" diff --git a/src/calibre/translations/en_AU.po b/src/calibre/translations/en_AU.po index 392f2bb7a6..283a252e4f 100644 --- a/src/calibre/translations/en_AU.po +++ b/src/calibre/translations/en_AU.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-14 23:02+0000\n" "Last-Translator: Cruz Bishop \n" "Language-Team: English (Australia) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:33+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:57+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -935,26 +935,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1129,14 +1129,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1184,10 +1184,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12044,6 +12044,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13337,7 +13341,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16688,7 +16692,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17279,39 +17283,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18915,17 +18919,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/en_CA.po b/src/calibre/translations/en_CA.po index 17da8ef264..4b8b3b45ed 100644 --- a/src/calibre/translations/en_CA.po +++ b/src/calibre/translations/en_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 17:28+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: English (Canada) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:34+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:57+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -933,26 +933,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1127,14 +1127,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "News" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1182,10 +1182,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12115,6 +12115,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13408,7 +13412,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16759,7 +16763,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17350,39 +17354,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18986,17 +18990,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index a35a357979..069b88e379 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-05-28 15:00+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: English (United Kingdom) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:33+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:56+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -975,26 +975,26 @@ msgstr "Path to library too long. Must be less than %d characters." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Yes" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Main" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Card A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Card B" @@ -1195,14 +1195,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "News" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalogue" @@ -1256,10 +1256,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -13148,6 +13148,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14549,13 +14553,9 @@ msgstr "The Add &Process" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" -" you want to add it anyway." -msgstr "" -"If set, this option will causes calibre to check if a file\n" -" being auto-added is already in the calibre library.\n" " If it is, a message will pop up asking you whether\n" " you want to add it anyway." +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18310,7 +18310,7 @@ msgid "Options to customize the ebook viewer" msgstr "Options to customise the ebook viewer" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Remember last used window size" @@ -18920,35 +18920,35 @@ msgstr "Manage Bookmarks" msgid "Loading ebook..." msgstr "Loading ebook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Could not open ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Options to control the ebook viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "If specified, viewer window will try to open full screen when started." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Print javascript alert and console messages to the console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -18956,7 +18956,7 @@ msgstr "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20822,17 +20822,17 @@ msgstr "" msgid "creating custom column " msgstr "creating custom column " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrating old database to ebook library in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Copying %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Compacting database" diff --git a/src/calibre/translations/eo.po b/src/calibre/translations/eo.po index 9e6bb9ff54..d5cc595652 100644 --- a/src/calibre/translations/eo.po +++ b/src/calibre/translations/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-03 13:00+0000\n" "Last-Translator: Cyril \n" "Language-Team: Esperanto \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:17+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:41+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -958,26 +958,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1152,14 +1152,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1207,10 +1207,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12070,6 +12070,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13363,7 +13367,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16714,7 +16718,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17305,39 +17309,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18941,17 +18945,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 674ba17f63..1898dd95fc 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-19 12:46+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-26 14:44+0000\n" "Last-Translator: Jellby \n" "Language-Team: Español; Castellano <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:29+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:52+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:533 msgid "" @@ -194,12 +194,12 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -1008,26 +1008,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Sí" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Tarjeta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Tarjeta B" @@ -1245,14 +1245,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catálogo" @@ -1308,10 +1308,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -3805,6 +3805,12 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"Incluirel tipo de letra especificado en el libro. Esto establece el tipo de " +"letra «base» usado en el libro. Si el documento de entrada especifica sus " +"propios tipos de letra, pueden tener prioridad sobre este tipo de letra " +"base. Puede usar la opción de filtrar estilos para eliminar tipos de letra " +"del documento de entrada. Tenga en cuenta que la inclusión de tipos de letra " +"sólo funciona con algunos formatos de salida, principalmente EPUB y AZW3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 msgid "" @@ -8733,7 +8739,7 @@ msgstr "&Altura de línea:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "&Incluir tipo de letra:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -9161,7 +9167,7 @@ msgstr "Abrir libro" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:215 msgid "Click the Open button below to open a ebook to use for testing." -msgstr "" +msgstr "Pulse el botón «Abrir» para abrir un libro como prueba." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" @@ -13546,7 +13552,7 @@ msgstr "Expresión regular (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Escoger tipo de letra" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13566,11 +13572,15 @@ msgstr "Ninguno" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Escoja un tipo de letra de la siguiente lista:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Escoger &tipo de letra" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Limpiar tipo de letra" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -14292,7 +14302,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:273 #, python-format msgid "Could not open \"%s\". Is it being used by another program?" -msgstr "" +msgstr "No se pudo abrir «%s». Puede que esté en uso por otro programa." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 msgid "" @@ -14995,13 +15005,12 @@ msgstr "&Proceso de adición" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Si se activa, esta opción hace que calibre compruebe si un\n" -"archivo que se añade automáticamente ya existe en la\n" -"biblioteca de calibre. Si es así, aparecerá un mensaje\n" -"preguntando si desea añadirlo de todas formas." +"Si se activa esta opción calibre comprobará si un archivo autoañadido ya " +"existe en la biblioteca de calibre. Si es así, se mostrará un mensaje que le " +"dará la opción de añadirlo o no." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18849,7 +18858,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opciones para personalizar el visor de libros electrónicos" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "&Recordar el último tamaño de ventana usado" @@ -19477,36 +19486,36 @@ msgstr "Administrar marcadores" msgid "Loading ebook..." msgstr "Cargando libro electrónico..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "No se pudo abrir el libro electrónico" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Error desconocido" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opciones para controlar el visor de libros electrónicos" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si se especifica, la ventana del visor intentará situarse en el frente " "cuando se inicie el programa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si se activa, la ventana del visor tratará de iniciarse a pantalla completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Dirigir alertas de javascript y mensajes de consola a la consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19514,7 +19523,7 @@ msgstr "" "Posición en la que abrir el libro especificado. La posición es una ubicación " "mostrada en la esquina superior izquierda del visor." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21115,6 +21124,24 @@ msgid "" "that a new OPF has been createdsince the column was added). You will see the " "JSON for the\"display\" for the new column in the OPF." msgstr "" +"Un diccionario de opciones para personalizar cómo se interpretan los datos " +"en esta columna. Es un texto en formato JSON. Para columnas de enumeración " +"use --display=\"{\\\"enum_values\\\":[\\\"val1\\\", \\\"val2\\\"]}\"\n" +"Hay muchas opciones que pueden figurar en la variable «display». Las " +"opciones por tipo de columna son:\n" +"composite: composite_template, composite_sort, make_category,contains_html, " +"use_decorations\n" +"datetime: date_format\n" +"enumeration: enum_values, enum_colors, use_decorations\n" +"int, float: number_format\n" +"text: is_names, use_decoration\n" +"\n" +"La mejor manera de obtener combinaciones válidas es crear una columna " +"personalizada del tipo apropiado en la interfaz gráfica y luego examinar el " +"archivo OPF creado como copia de seguridad para un libro (asegúrese de que " +"se ha creado un nuevo archivo OPF después de añadir la columna). Verá el " +"texto en formato JSON para la variable «display» de la nueva columna en el " +"archivo OPF." #: /home/kovid/work/calibre/src/calibre/library/cli.py:721 msgid "You must specify label, name and datatype" @@ -21522,19 +21549,19 @@ msgstr "restaurada preferencia " msgid "creating custom column " msgstr "creando columna personalizada " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando la base de datos antigua a la biblioteca de libros electrónicos " "en %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Compactando la base de datos" @@ -22190,7 +22217,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/filenames.py:284 msgid "File is open in another process" -msgstr "" +msgstr "El archivo está abierto en otro proceso" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:31 #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:182 diff --git a/src/calibre/translations/et.po b/src/calibre/translations/et.po index e68ca33007..18b04a4ce5 100644 --- a/src/calibre/translations/et.po +++ b/src/calibre/translations/et.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-05-02 00:16+0000\n" "Last-Translator: Kaur Alasoo \n" "Language-Team: Estonian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:17+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:41+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -952,26 +952,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Jah" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Peamine" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kaart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kaart B" @@ -1146,14 +1146,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1201,10 +1201,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12063,6 +12063,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13356,7 +13360,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16707,7 +16711,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17298,39 +17302,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18934,17 +18938,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index d6ba2fb550..be2940448a 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-09-19 22:56+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-29 14:23+0000\n" "Last-Translator: gorkaazk \n" "Language-Team: http://librezale.org/wiki/Calibre\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:14+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-30 04:43+0000\n" +"X-Generator: Launchpad (build 16206)\n" "Language: eu\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -176,12 +176,12 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -649,7 +649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Kontuan hartu ez diren gailuak" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" @@ -897,7 +897,7 @@ msgstr "Profil hau Amazon Kindle DX-arentzat zuzendua dago." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Profil hau honerako: the Amazon Kindle PaperWhite" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." @@ -1011,26 +1011,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Bai" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Nagusia" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "A txartela" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "B txartela" @@ -1236,14 +1236,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Albisteak" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalogoa" @@ -1298,10 +1298,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1595,7 +1595,7 @@ msgstr "Kokapena %(dl)d • %(typ)s
" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." -msgstr "" +msgstr "Komunikatu honekin: the Kindle 2/3/4/Touch/PaperWhite eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" @@ -1827,6 +1827,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1211 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" +"\" Kobo Touch inprimaki firmwarea\"-ren V2.0.0 bertsioak liburu-apalategiak " +"onartzen ditu." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1213 msgid "Specify a tags type column for automatic management" @@ -12984,6 +12986,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14320,7 +14326,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17840,7 +17846,7 @@ msgid "Options to customize the ebook viewer" msgstr "Liburu elektronikoen irakurgailua pertsonalizatzeko aukerak" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Gogoratu erabilitako azken leiho tamaina" @@ -18446,43 +18452,43 @@ msgstr "Kudeatu laster-markak" msgid "Loading ebook..." msgstr "Liburu elektronikoa kargatzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Ezin izan da liburua zabaldu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Liburu elektronikoen irakurgailua kontrolatzeko aukerak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Zehazten bada, ikustailearen leihoa saiatuko da aurreko aldera etortzen " "hasterakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Hauxe hautatu eginez gero, ikusiko den leihoa saiatuko da pantaila osoa " "zabaltzen hasi eta berehalakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Inprimatu javascript alerta eta kontsola mezuak kontsolara" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20329,19 +20335,19 @@ msgstr "" msgid "creating custom column " msgstr "zutabe pertsonalizatua sortzen " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

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

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopiatzen %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Trinkotzen datu basea" diff --git a/src/calibre/translations/fa.po b/src/calibre/translations/fa.po index 45e5f98107..0e9aa3ec05 100644 --- a/src/calibre/translations/fa.po +++ b/src/calibre/translations/fa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-06-07 03:13+0000\n" "Last-Translator: Farhood M,K, Kiazand \n" "Language-Team: Persian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:26+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:49+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -956,26 +956,26 @@ msgstr "آدرس برای کتاب خانه طولانی است. باید کمت #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "بلی" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "اصلی" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1150,14 +1150,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1205,10 +1205,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12068,6 +12068,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13361,7 +13365,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16712,7 +16716,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17303,39 +17307,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18939,17 +18943,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po index 99ee526c5b..520f966684 100644 --- a/src/calibre/translations/fi.po +++ b/src/calibre/translations/fi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-02-03 12:13+0000\n" "Last-Translator: Jaakko Perttilä \n" "Language-Team: Finnish \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:18+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:42+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -972,26 +972,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1171,14 +1171,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Uutiset" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Luettelo" @@ -1227,10 +1227,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12154,6 +12154,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13447,7 +13451,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16798,7 +16802,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17389,39 +17393,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19036,17 +19040,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/fo.po b/src/calibre/translations/fo.po index d5372d9f26..ee0a9a1dbe 100644 --- a/src/calibre/translations/fo.po +++ b/src/calibre/translations/fo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 17:17+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Faroese \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:17+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:41+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 6f1c3f704e..f11886ab86 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -7,17 +7,17 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-24 17:46+0000\n" -"Last-Translator: sengian \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-31 20:23+0000\n" +"Last-Translator: Arnaud \n" "Language-Team: PCGen\n" -"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Launchpad (build 16179)\n" -"X-Launchpad-Export-Date: 2012-10-25 05:18+0000\n" +"X-Launchpad-Export-Date: 2012-11-01 04:35+0000\n" +"X-Generator: Launchpad (build 16218)\n" +"Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -178,12 +178,12 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -1018,26 +1018,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Oui" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Carte A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Carte B" @@ -1096,15 +1096,15 @@ msgid "" "iTunes menu item.

Enabling the Apple driver for direct connection " "to iDevices is an unsupported advanced user mode.

" msgstr "" -"

Si vous ne voulez pas que calibre reconaisse votre iAppareil Apple quand " +"

Si vous ne voulez pas que calibre reconnaisse votre iAppareil Apple quand " "il est connecté à l’ordinateur, cliquez sur Désactiver le driver " "Apple.

Pour transférer les livres sur votre iAppareil, cliquez sur " "Désactiver le driver Apple, puis utilisez la méthode « Connecter à " "iTunes » recommandée dans la FAQ " "calibre + iAppareils, en utilisant l’entrée de menu " -"Connecter/Partager|Connecter à iTunes.

Activer les " -"driver Apple pour une connection directe aux iAppareils est une mode pour " +"Connecter/Partager|Connecter à iTunes.

Activer le " +"driver Apple pour une connexion directe aux iAppareils est un mode pour " "utilisateur avancé non pris en charge.

" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:78 @@ -1256,14 +1256,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Informations" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalogue" @@ -1319,10 +1319,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -7126,6 +7126,29 @@ msgid "" " library.\n" " " msgstr "" +"

A propos de Tweak Book

\n" +"

Tweak Book vous permet d'ajuster finement l'apparence d'un " +"livre numérique en\n" +" faisant de légères modifications dans sa structure. Pour " +"utiliser Tweak Book,\n" +" yous devez avoir des connaissances en HTML etCSS, technologies " +"utilisées dans\n" +" les livres numériques. Veuillez suivre ces étapes:

\n" +"
\n" +"
    \n" +"
  1. Cliquer sur \"Explode Book\": Ceci va \"séparer\" les " +"différents \n" +" composants interne du livre..
  2. \n" +"
  3. Faire un click droit sur un des fichiers et sélectionner " +"\"Ouvrir avec...\" pour\n" +" l'éditer dans votre éditeur de texte favori.
  4. \n" +"
  5. Quand vous en avez fini avec vos modifications: fermer " +"l'explorateur de fichiers \n" +" et l'éditeur ayant été utilisé pour faire vos modifications. " +"Cliquer alors sur le bouton\n" +" \"Rebuild Book\" pour mettre à jour le livre dans la librairie " +"calibre.
  6. \n" +"
" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:103 msgid "&Explode Book" @@ -11266,7 +11289,7 @@ msgstr "&Arrêter tous les travaux ne concernant pas les appareils" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:81 msgid "&Hide all jobs" -msgstr "&Cacher toute les tâches" +msgstr "&Cacher toutes les tâches" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 @@ -13014,13 +13037,13 @@ msgid "" "virus manager asking you if it is OK for calibre to connect to the network. " "Please answer yes. If you do not, wireless connections will not work." msgstr "" -"

Démarrer les connections de périphériques sans fil. Actuellement, " +"

Démarrer les connexions de périphériques sans fil. Actuellement, " "seulement utilisé\n" " par Calibre " "Companion.\n" -"

Vosu pouvez voir s'afficher des messages de votre anti-virus ou de " +"

Vous pouvez voir s'afficher des messages de votre anti-virus ou de " "votre pare-feu vous demandant si Calibre peut se connecter au réseau. " -"Veuillez répondre oui. Si vous ne le faites pas, les connections ne " +"Veuillez répondre oui. Si vous ne le faites pas, les connexions ne " "fonctionneront pas." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:90 @@ -13053,7 +13076,7 @@ msgstr "&Utiliser un port fixe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:98 msgid "&Automatically allow connections at calibre startup" -msgstr "&Autoriser automatiquement les connections au démarrage de Calibre" +msgstr "&Autoriser automatiquement les connexions au démarrage de Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 @@ -13771,6 +13794,10 @@ msgstr "Choisir une famille de polices dans la liste ci-dessous :" msgid "Choose &font family" msgstr "Choisir la &famille de polices" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Supprimer la famille de polices" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14539,7 +14566,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:503 msgid "&Number:" -msgstr "&Nombre:" +msgstr "&Numéro :" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:603 #, python-format @@ -15208,13 +15235,14 @@ msgstr "Le processus d’&Ajout" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Si elle est activée, cette option entraînera une vérification\n" -" par calibre, de la présence du fichier dans la bibliothèque lors\n" -" de son ajout automatique. Si c’est le cas, un message apparaîtra\n" -" pour vous demander s'il doit quand même être ajouté." +"Quand cette option est sélectionnée et qu'un fichier \n" +"a été automatiquement ajouté, Calibre vérifie \n" +"préalablement si ce fichier existe déjà dans la librairie calibre.\n" +"Si c'est le cas, un message vous demandera si vous souhaitez \n" +"tout de même l'ajouter." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -15768,7 +15796,7 @@ msgstr "Le nom des gens" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 msgid "Number" -msgstr "Nombre" +msgstr "Numéro" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 msgid "Text" @@ -16693,7 +16721,7 @@ msgstr "Echanger les noms des auteurs de PR. NOM à NOM, PR." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:134 msgid "Max. number of &tags to download:" -msgstr "Nombre max. d’étiquettes à télécharger:" +msgstr "Nombre max. d’étiquettes à télécharger :" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:135 msgid "Max. &time to wait after first match is found:" @@ -19139,7 +19167,7 @@ msgid "Options to customize the ebook viewer" msgstr "Options de personnalisation du visionneur de livre numérique" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Se souvenir de la dernière taille de fenêtre utilisée" @@ -19774,38 +19802,38 @@ msgstr "Gérer les Signets" msgid "Loading ebook..." msgstr "Chargement du livre numérique…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Impossible d’ouvrir le livre numérique" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Erreur inconnue" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Options pour contrôler le visionneur de livre numérique" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si spécifié, la fenêtre du visionneur essaiera d’apparaître au premier plan " "au lancement." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si précisé, la fenêtre du visionneur essaiera de s’ouvrir en plein écran au " "démarrage." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" "Afficher les alertes javascript et les messages console dans la console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19814,7 +19842,7 @@ msgstr "" "endroit tel celui qui est affiché dans le coin inférieur gauche du " "visionneur." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20271,7 +20299,7 @@ msgstr "&Port :" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "" "The port your mail server listens for connections on. The default is 25" -msgstr "Le port d’écoute de votre serveur de messagerie. Par défault : 25" +msgstr "Le port d’écoute de votre serveur de messagerie. Par défaut : 25" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "Your username on the mail server" @@ -20800,7 +20828,8 @@ msgstr "Pas de genres à cataloguer.\n" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:282 msgid "Check 'Excluded genres' regex in E-book options.\n" -msgstr "Vérifier l’expression régulière 'Genres exclus' dans les options E-book.\n" +msgstr "" +"Vérifier l’expression régulière 'Genres exclus' dans les options E-book.\n" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:284 msgid "No books available to catalog" @@ -21165,7 +21194,7 @@ msgstr "Définir les séries du(es) livre(s) ajouté(s)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:328 msgid "Set the series number of the added book(s)" -msgstr "Assigne le numéro de la série des livres ajoutés" +msgstr "Assigne le numéro de la série de(s) livre(s) ajoutés" #: /home/kovid/work/calibre/src/calibre/library/cli.py:363 msgid "You must specify at least one file to add" @@ -21815,17 +21844,17 @@ msgstr "préférences restaurées " msgid "creating custom column " msgstr "crée des colonnes personnalisées " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migre l’ancienne base vers la bibliothèque dans %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Copie %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Compacte la base" @@ -22937,8 +22966,8 @@ msgstr "" "formats qui a un certain moment on été associés avec le livre. Li n'y a " "aucune garantie que cette liste est correcte, bien qu'elle le soit " "probablement. Cette fonction peut-être appelée en mode de modèle de " -"programme en utilisant le modèle \"{:'approximate_formats()'}\". Notez que ces " -"noms de formats sont toujours en majuscule, comme dans EPUB." +"programme en utilisant le modèle \"{:'approximate_formats()'}\". Notez que " +"ces noms de formats sont toujours en majuscule, comme dans EPUB." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:620 msgid "" @@ -24367,6 +24396,19 @@ msgid "" "interface language is used. The setting title_sort_articles is ignored\n" "(present only for legacy reasons)." msgstr "" +"Définit la liste des mots à considérer comme des 'articles' quand les " +"chaînes de tri sur les titres sont construits. Les articles sont différents " +"en fonction de la langue. Par défaut, calibre utilise une combinaison " +"d'articles en anglais, et ce quelque soit la langue utilisée dans " +"l'interface Calibre. En compléments, dans certains contextes où la langue du " +"livre est disponible, la langue de ce livre est alors utilisée. Vous pouvez " +"modifier la liste des articles pour un langage particulier ou ajouter une " +"nouvelle langue en éditant per_language_title_sort_articles. Pour indiquer à " +"calibre d'utiliser une autre langue que celle de l'interface utilisateur, " +"modifiez default_language_for_title_sort. Par exemple, pour l'allemand, " +"modifiez sa valeur à 'deu'. Une valeur nulle signifie que la langue de " +"l'interface utilisateur est utilisée. Le paramètre title_sort_articles est " +"ignoré (présent uniquement pour des raisons historiques." #: /home/kovid/work/calibre/resources/default_tweaks.py:258 msgid "Specify a folder calibre should connect to at startup" @@ -24924,8 +24966,8 @@ msgstr "" "ceci en, par\n" "exemple, '127.0.0.1' pour écouter seulement les connexions à partir de la " "machine locale, ou\n" -"en '::' pour écouter toutes les connexions entrantes en IPv6 et IPv4 " -"connections (ceci peut ne pas\n" +"en '::' pour écouter toutes les connexions entrantes en IPv6 et IPv4 (ceci " +"peut ne pas\n" "fonctionner sur tous les systèmes d’exploitation)" #: /home/kovid/work/calibre/resources/default_tweaks.py:458 diff --git a/src/calibre/translations/fr_CA.po b/src/calibre/translations/fr_CA.po index 51478203ee..75bfdd11b4 100644 --- a/src/calibre/translations/fr_CA.po +++ b/src/calibre/translations/fr_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-03-30 13:27+0000\n" "Last-Translator: Richard Boudreau \n" "Language-Team: French (Canada) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:33+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:56+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -981,26 +981,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1175,14 +1175,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1230,10 +1230,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12090,6 +12090,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13383,7 +13387,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16734,7 +16738,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17325,39 +17329,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18961,17 +18965,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/fur.po b/src/calibre/translations/fur.po index 1d9164caf1..94560d2aeb 100644 --- a/src/calibre/translations/fur.po +++ b/src/calibre/translations/fur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-14 15:48+0000\n" "Last-Translator: Mauro Ermacora \n" "Language-Team: Friulian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:18+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:42+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -932,26 +932,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1126,14 +1126,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1181,10 +1181,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12041,6 +12041,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13334,7 +13338,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16685,7 +16689,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17276,39 +17280,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18912,17 +18916,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index d7308f1382..316f73c633 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-04-24 07:58+0000\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: dev@gl.openoffice.org\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:19+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:43+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Language: gl\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -176,12 +176,12 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -991,26 +991,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Si" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Tarxeta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Tarxeta B" @@ -1219,14 +1219,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catálogo" @@ -1280,10 +1280,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12942,6 +12942,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14307,7 +14311,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17935,7 +17939,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcións para personalizar o visualizador de libros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Lembrar o tamaño da última xanela usada" @@ -18540,42 +18544,42 @@ msgstr "Xestionar os marcadores" msgid "Loading ebook..." msgstr "Cargando libro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Non se puido abrir o libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opcións de control do visor de libros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se se especifica, a xanela do visor tentará situarse na fronte cando se " "inicie o programa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Se se activa, a xanela do visor tentará iniciarse a pantalla completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Dirixir alertas de JavaScript e mensaxes de consola á consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20421,19 +20425,19 @@ msgstr "" msgid "creating custom column " msgstr "creando columna personalizada " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando a base de datos antiga á biblioteca de libros electrónicos en " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Compactando a base de datos" diff --git a/src/calibre/translations/gu.po b/src/calibre/translations/gu.po index c5213e3f4f..e6e9160e9e 100644 --- a/src/calibre/translations/gu.po +++ b/src/calibre/translations/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-20 06:46+0000\n" "Last-Translator: Hasit Bhatt \n" "Language-Team: Gujarati \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:20+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:44+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 815b2a1671..39f7c7500a 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-18 17:43+0000\n" "Last-Translator: Tal Nisan \n" "Language-Team: Hebrew \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:20+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:44+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -954,26 +954,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "כן" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "ראשי" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "כרטיס A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "כרטיס B" @@ -1155,14 +1155,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "חדשות" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "קטלוג" @@ -1212,10 +1212,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12090,6 +12090,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13383,7 +13387,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16734,7 +16738,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17325,39 +17329,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18961,17 +18965,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/hi.po b/src/calibre/translations/hi.po index 6924666564..0ebed443c7 100644 --- a/src/calibre/translations/hi.po +++ b/src/calibre/translations/hi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-03-18 12:52+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: Hindi \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:20+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:44+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -931,26 +931,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1125,14 +1125,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1180,10 +1180,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12043,6 +12043,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13336,7 +13340,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16687,7 +16691,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17278,39 +17282,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18914,17 +18918,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/him.po b/src/calibre/translations/him.po index 31720252b7..1958c446d9 100644 --- a/src/calibre/translations/him.po +++ b/src/calibre/translations/him.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-23 13:49+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Himachali \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:20+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:44+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index 56761195cf..144367c826 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-05-04 13:42+0000\n" "Last-Translator: Tomislav Pešut \n" "Language-Team: Croatian \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:28+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:51+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -176,12 +176,12 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -953,26 +953,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Da" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Glavni" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1147,14 +1147,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Vijesti" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1202,10 +1202,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12307,6 +12307,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13610,7 +13614,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16993,7 +16997,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcije za prilagodbu preglednika elektroničke knjige" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zapamti zadnju korištenu veličinu zaslona" @@ -17588,41 +17592,41 @@ msgstr "Upravljaj Knjižnim Oznakama" msgid "Loading ebook..." msgstr "Učitavanje elektroničke knjige..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nemoguće otvoriti elektroničku knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opcije za kontrolu preglednika" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Ako je naznačeno, kod pokretanj će preglednički prozor pokušati da dođe " "ispred." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Ispiši javascript upozorenje i poruke na kontrolnu ploču" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19321,18 +19325,18 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Preseljavanje stare baze podataka na ebook biblioteku u %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopiranje %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Sažimanje baze podataka" diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index c6a37ac255..4555eb40ad 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-08-25 19:23+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-27 16:49+0000\n" "Last-Translator: Devilinside \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:21+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-28 04:41+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -634,13 +634,15 @@ msgstr "A calibre e-book metaadatainak letöltési beállításai" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Figyelmen kívül hagyott eszközök" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" +"Állítsa be, hogy a calibre melyik eszközöket hagyja figyelmen kívül azok " +"csatlakozásakor." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295 @@ -871,7 +873,7 @@ msgstr "Ez az Amazon Kindle DX profilja." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Az Amazon Kindle PaperWhite profilja" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." @@ -981,26 +983,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Igen" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Fő memória" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "„A” kártya" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "„B” kártya" @@ -1206,14 +1208,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Hírek (RSS)" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalógus" @@ -1268,10 +1270,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1560,7 +1562,7 @@ msgstr "Hely %(dl)d • %(typ)s
" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." -msgstr "" +msgstr "Kapcsolódás a Kindle 2/3/4/Touch/PaperWhite ebook olvasókhoz." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" @@ -1911,7 +1913,7 @@ msgstr "Kommunikáció Ex124G-vel" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:414 msgid "Communicate with the WayteQ Reader" -msgstr "" +msgstr "Kapcsolódás a WayteQ ebook olvasóhoz" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" @@ -1929,16 +1931,16 @@ msgstr "Eszköz-információ lekérdezése…" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:166 msgid "Listing files, this can take a while" -msgstr "" +msgstr "Fájlok listázása, ez eltarthat egy ideig" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:181 msgid "Reading ebook metadata" -msgstr "" +msgstr "Ebook meaadatok olvasása" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:214 #, python-format msgid "Reading metadata from %s" -msgstr "" +msgstr "Metaadatok olvasása a következő eszközről: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:233 msgid "Updating metadata cache on device" @@ -1946,7 +1948,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:235 msgid "Finished reading metadata from device" -msgstr "" +msgstr "Metaadatok olvasása az eszközről kész" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:393 #, python-format @@ -1955,29 +1957,29 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:395 msgid "Transfer to device finished..." -msgstr "" +msgstr "Az eszközre küldés kész..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:416 #, python-format msgid "Added %s" -msgstr "" +msgstr "Hozzáadva: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:418 msgid "Adding complete" -msgstr "" +msgstr "Hozzáadás kész" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:434 msgid "Deleting books from device..." -msgstr "" +msgstr "Könyvek törlése az eszközről..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:440 #, python-format msgid "Deleted %s" -msgstr "" +msgstr "Törölve: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:441 msgid "All books deleted" -msgstr "" +msgstr "Minden könyv törölve" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 msgid "Removing books from metadata" @@ -1986,11 +1988,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:456 #, python-format msgid "Removed %s" -msgstr "" +msgstr "Eltávolítva: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:458 msgid "All books removed" -msgstr "" +msgstr "Minden könyv eltávolítva" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:198 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:313 @@ -3660,6 +3662,11 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"A megadott betűtípus beágyazása a könyvbe. Ez lesz a könyv alap betűtípusa. " +"Amennyiben a bemeneti fájl tartalmaz már saját betűtípust, az felülírja ezt " +"a beállítást. A Stílus információk szűrésénél ezeket a már beágyazott " +"betűtípusokat eltávolíthatja. Vegye figyelembe, hogy a betűtípus beágyazása " +"csak bizonyos formátumoknál, alapvetően az EPUB-nál és AZW3-nál működik." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 msgid "" @@ -5518,11 +5525,11 @@ msgstr "Nem találhatóak könyvfájlok" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:406 msgid "Downloading books" -msgstr "" +msgstr "Könyvek letöltése" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:407 msgid "Downloading books from device" -msgstr "" +msgstr "Könyvek letöltése az eszközről" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:426 msgid "Could not download files from the device" @@ -8527,7 +8534,7 @@ msgstr "&Sorméret:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "B&etűtípus beágyazása:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -13277,7 +13284,7 @@ msgstr "Reguláris kifejezés (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Betűtípus kiválasztása" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13297,11 +13304,15 @@ msgstr "Nincs" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Válasszon betűtípust az alábbi listából:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Betűtípus &kiválasztása" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Betűtípus törlése" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -14715,12 +14726,9 @@ msgstr "Könyvek hozzáadásának beállításai" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Ha be van jelölve, akkor a calibre ellenőrzi, hogy\n" -" a fájl szerepel-e már adatbázisban. Ha a fájl\n" -" már megtalálható, akkor a program megerősítést kér." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18505,7 +18513,7 @@ msgid "Options to customize the ebook viewer" msgstr "E-book olvasó beállítása" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Az utoljára használt ablakméret megjegyzése" @@ -19116,43 +19124,43 @@ msgstr "Könyvjelzők kezelése" msgid "Loading ebook..." msgstr "E-book betöltése…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nem lehet megnyitni a könyvet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Az e-book olvasó program beállításai" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Ha be van állítva, akkor az olvasóprogram megpróbál az előtérbe kerülni " "induláskor." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Ha be van állítva, akkor az olvasóprogram megpróbál teljes képernyősként " "indulni" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Javascript és konzolüzenetek megjelenítése a konzolon" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21032,17 +21040,17 @@ msgstr "" msgid "creating custom column " msgstr "egyéni oszlop készítése " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Régi adatbázis migrálása a jelenlegibe: %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Másolás: %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Adatbázis tömörítése" diff --git a/src/calibre/translations/id.po b/src/calibre/translations/id.po index 1b929881fe..9bcec02238 100644 --- a/src/calibre/translations/id.po +++ b/src/calibre/translations/id.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-01-18 11:51+0000\n" "Last-Translator: Amri Ristadi \n" "Language-Team: Indonesian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:21+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:45+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Tidak ada apa-apanya" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -954,26 +954,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1148,14 +1148,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1203,10 +1203,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12066,6 +12066,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13359,7 +13363,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16710,7 +16714,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17301,39 +17305,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18937,17 +18941,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/is.po b/src/calibre/translations/is.po index b92601f1ee..cf908caa53 100644 --- a/src/calibre/translations/is.po +++ b/src/calibre/translations/is.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: 20120515-src_calibre_translations_calibre-is\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-05-23 19:33+0000\n" "Last-Translator: Sveinn í Felli \n" "Language-Team: Icelandic \n" @@ -17,8 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:21+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:45+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -177,12 +177,12 @@ msgstr "Gerir nákvæmlega ekkert" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -931,26 +931,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1125,14 +1125,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1180,10 +1180,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12040,6 +12040,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13333,7 +13337,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16684,7 +16688,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17275,39 +17279,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18911,17 +18915,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 88f498327e..f2c683b8e0 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -9,16 +9,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-21 22:18+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-26 08:14+0000\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:22+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:45+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Language: it\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -180,12 +180,12 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -1003,26 +1003,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Sì" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principale" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Scheda A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Scheda B" @@ -1237,14 +1237,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notizie" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalogo" @@ -1299,10 +1299,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1882,7 +1882,7 @@ msgid "" "first time you send the book to the device." msgstr "" "Se l'opzione Carica le copertine è selezionata, il driver sostituirà solo le " -"copertine già presenti sul dispositivo. Selezion questa opzione se vuoi che " +"copertine già presenti sul dispositivo. Seleziona questa opzione se vuoi che " "le copertine siano caricate la prima volta che invii un libro al dispositivo." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241 @@ -2071,7 +2071,7 @@ msgstr "Oggetto trovato: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61 msgid "MTP devices are not supported on Windows XP" -msgstr "I dispositivi MPT non sono supportati su Windows XP" +msgstr "I dispositivi MTP non sono supportati su Windows XP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69 msgid "" @@ -3804,6 +3804,13 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"Integra la famiglia di caratteri specificata nel libro. Specifica il " +"carattere \"base\" utilizzato per il libro. Se il documento di input " +"specifica i propri caratteri, questi potrebbero scavalcare il carattere " +"base. Puoi utilizzare l'opzione di filtro delle informazioni di stile per " +"rimuovere i caratteri dal documento di input. Nota che l'integrazione di " +"caratteri funziona solo con alcuni formati di output, principalmente EPUB e " +"AZW3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 msgid "" @@ -5119,7 +5126,7 @@ msgid "" msgstr "" "Questo file MOBI non contiene un libro in formato KF8. KF8 è il nuovo " "formato di Amazon. calibre può ottimizzare solo i file MOBI che contengono " -"libri KF8. I vecchi file MOBI senza KF98 non sono ottimizzabili." +"libri KF8. I vecchi file MOBI senza KF8 non sono ottimizzabili." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:65 msgid "" @@ -7239,7 +7246,7 @@ msgid "" "Books with the same title as the following already exist in calibre. Add " "them anyway?" msgstr "" -"Libri con lo stesso titolo del seguente esistono già in calibre. Vuioi " +"Libri con lo stesso titolo del seguente esistono già in calibre. Vuoi " "aggiungerli comunque?" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:404 @@ -8681,7 +8688,7 @@ msgstr "Di&mensione riga:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "Int&egra la famiglia di caratteri:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -9108,6 +9115,8 @@ msgstr "Libro aperto" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:215 msgid "Click the Open button below to open a ebook to use for testing." msgstr "" +"Fai clic sul pulsante Apri in basso per aprire un ebook da utilizzare per i " +"test." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" @@ -13513,7 +13522,7 @@ msgstr "Espressione regolare (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Scegli la famiglia di caratteri" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13533,11 +13542,15 @@ msgstr "Nessuno" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Scegli una famiglia di caratteri dall'elenco seguente:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Scegli la &famiglia di caratteri" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Cancella la famiglia di caratteri" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -14253,7 +14266,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:273 #, python-format msgid "Could not open \"%s\". Is it being used by another program?" -msgstr "" +msgstr "Impossibile aprire \"%s\". È utilizzato da un altro programma?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 msgid "" @@ -14924,13 +14937,13 @@ msgstr "Il &processo di aggiunta" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Se impostata, questa opzione farà si che calibre controlli se un file\n" -" che è stato aggiunto automaticamente sia già presente nella \n" -" biblioteca. In questo caso, apparirà un messaggio di richiesta se\n" -" aggiungere comunque il file." +"Se impostata, questa opzione farà in modo che calibre controlli\n" +" se un file aggiunto automaticamente sia già presente nella\n" +" biblioteca. Se lo è, un messaggio a comparsa ti chiederà se\n" +" se vuoi aggiungerlo comunque." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18725,7 +18738,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opzioni per personalizzare il lettore di libri" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Ricorda la dimensione della finestra usata l'ultima volta" @@ -19356,39 +19369,39 @@ msgstr "Gestire i segnalibri" msgid "Loading ebook..." msgstr "Caricamento libro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Impossibile aprire il libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Errore sconosciuto" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opzioni per controllare il visualizzatore di libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se specificato, la finestra di visualizzazione tenterà di apparire in primo " "piano quando avviata." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Se selezionato, all'avvio la finestra del visualizzatore si aprirà a schermo " "intero." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" "Scrivi avvertenze dall'esecuzione e messaggi dal quadro di comando nella " "finestra del quadro di comando." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19396,7 +19409,7 @@ msgstr "" "La posizione alla quale aprire il libro specificato. La posizione è visibile " "nell'angolo in alto a sinistra del visualizzatore." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20921,7 +20934,7 @@ msgstr "" "\n" " Esporta un catalogo nel formato specificato dall'estensione di " "percorso/di/destinazione.\n" -" Le opxioni controllano il modo in cui le voci sono visualizzate nel " +" Le opzioni controllano il modo in cui le voci sono visualizzate nel " "catalogo generato.\n" " " @@ -21279,18 +21292,18 @@ msgstr "preferenza ripristinata " msgid "creating custom column " msgstr "creazione colonna personalizzata " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrazione del vecchio database nella biblioteca in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Sto copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Compattazione database" @@ -22591,7 +22604,7 @@ msgstr "Cinese semplificato" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Chinese (HK)" -msgstr "Cinese (Honk Kong)" +msgstr "Cinese (Hong Kong)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Traditional Chinese" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index 1267f8e6c6..77181cfb42 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-01 17:40+0000\n" "Last-Translator: Shushi Kurose \n" "Language-Team: Japanese \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:22+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:46+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -941,26 +941,26 @@ msgstr "ライブラリへのパスが長すぎます。%d文字以下でなけ #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "はい" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "主メモリー" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "カードA" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "カードB" @@ -1158,14 +1158,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "ニュース" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "カタログ" @@ -1215,10 +1215,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12530,6 +12530,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13856,7 +13860,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17397,7 +17401,7 @@ msgid "Options to customize the ebook viewer" msgstr "電子書籍ビューアーをカスタマイズするためのオプション" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "最後に使ったウィンドウのサイズを覚える" @@ -17993,39 +17997,39 @@ msgstr "ブックマークの管理" msgid "Loading ebook..." msgstr "電子書籍をロード中..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "電子書籍を開けませんでした" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "電子書籍ビューアーをコントロールするオプション" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "指定した場合は、ビューアーウィンドウは起動時に全画面表示しようとします。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Javascriptアラートとコンソールメッセージをコンソールへ表示" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "指定された本を開く位置です。位置とは、ビューアーの左上の端が表示されている場所のことです。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19812,17 +19816,17 @@ msgstr "" msgid "creating custom column " msgstr "カスタム列を作成 " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

古いデータベースを %s の電子書籍ライブラリへ移行

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "コピー中%s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "データベースのコンパクト化" diff --git a/src/calibre/translations/jv.po b/src/calibre/translations/jv.po index 32d4f7713f..007244ac1f 100644 --- a/src/calibre/translations/jv.po +++ b/src/calibre/translations/jv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-09 07:28+0000\n" "Last-Translator: anggoro \n" "Language-Team: Javanese \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:22+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:46+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -935,26 +935,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1129,14 +1129,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1184,10 +1184,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12044,6 +12044,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13337,7 +13341,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16688,7 +16692,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17279,39 +17283,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18915,17 +18919,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ka.po b/src/calibre/translations/ka.po index 77059c9ba1..c26c401026 100644 --- a/src/calibre/translations/ka.po +++ b/src/calibre/translations/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-26 09:07+0000\n" "Last-Translator: clouds ge \n" "Language-Team: Georgian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:19+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:42+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "საერთოდ არაფერს აკეთებს" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -932,26 +932,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "დიახ" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "მთავარი" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1126,14 +1126,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1181,10 +1181,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12041,6 +12041,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13334,7 +13338,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16685,7 +16689,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17276,39 +17280,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18912,17 +18916,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/kn.po b/src/calibre/translations/kn.po index 5e68a0b61a..bb70572991 100644 --- a/src/calibre/translations/kn.po +++ b/src/calibre/translations/kn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-05-09 10:16+0000\n" "Last-Translator: s k Nagesh \n" "Language-Team: Kannada \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:22+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:46+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -932,26 +932,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1126,14 +1126,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1181,10 +1181,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12041,6 +12041,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13334,7 +13338,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16685,7 +16689,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17276,39 +17280,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18912,17 +18916,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po index fe0722cca9..b417c3b6dc 100644 --- a/src/calibre/translations/ko.po +++ b/src/calibre/translations/ko.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-05-04 11:13+0000\n" -"Last-Translator: Hyun-ho Noh \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-31 11:49+0000\n" +"Last-Translator: halcyonera \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:23+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-11-01 04:36+0000\n" +"X-Generator: Launchpad (build 16218)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -327,7 +327,7 @@ msgstr "책은 calibre 프로그램이나 연결된 장치에 추가됩니다." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 msgid "Fetch annotations from a connected Kindle (experimental)" -msgstr "" +msgstr "연결된 Kindle로부터 주석을 가져옵니다 (시험중)" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Generate a catalog of the books in your calibre library" @@ -363,7 +363,7 @@ msgstr "calibre 저장소에서 책을 하드디스크에 저장합니다." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 msgid "Show book details in a separate popup" -msgstr "" +msgstr "세부 정보를 별개의 팝업창으로 표시합니다" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Restart calibre" @@ -390,11 +390,11 @@ msgstr "calibre 사용자 메뉴얼 찾아보기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "Customize calibre" -msgstr "" +msgstr "calibre 커스터마이즈" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 msgid "Easily find books similar to the currently selected one" -msgstr "" +msgstr "현재 선택된 것과 유사한 책을 쉽게 찾기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 msgid "" @@ -403,7 +403,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:873 msgid "Copy books from the devce to your calibre library" -msgstr "" +msgstr "기기에서 calibre 저장소로 책 복사하기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Edit the collections in which books are placed on your device" @@ -411,11 +411,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 msgid "Copy a book from one calibre library to another" -msgstr "" +msgstr "한 저장소에서 다른 저장소로 책 복사하기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 msgid "Make small tweaks to epub or htmlz files in your calibre library" -msgstr "" +msgstr "calibre 저장소에 있는 epub 또는 htmlz 파일을 일부 개조하기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "" @@ -425,7 +425,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:899 msgid "Choose a random book from your calibre library" -msgstr "" +msgstr "calibre 저장소에서 무작위로 책 선택하기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 msgid "Search for books from different book sellers" @@ -433,7 +433,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:922 msgid "Get new calibre plugins or update your existing ones" -msgstr "" +msgstr "calibre 플러그인을 새로 설치하거나 기존 플러그인을 업데이트하기" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:941 msgid "Look and Feel" @@ -470,7 +470,7 @@ msgstr "자신의 서평이나 시평을 Calibre 책 리스트에 첨가 또는 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 msgid "Toolbar" -msgstr "" +msgstr "도구모음" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:981 msgid "" @@ -939,26 +939,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "예" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "주" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "카드 A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "카드 B" @@ -1140,14 +1140,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "뉴스" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "분류" @@ -1195,10 +1195,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12145,6 +12145,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13440,7 +13444,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16808,7 +16812,7 @@ msgid "Options to customize the ebook viewer" msgstr "전자책 뷰어 사용자 정의 옵션" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "최근 사용된 창 크기를 기억" @@ -17399,39 +17403,39 @@ msgstr "북마크 관리" msgid "Loading ebook..." msgstr "책 불러오는중..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "전자책을 열 수 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "전자책 뷰어를 제어하는 옵션" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "콘솔에 자바스크립트 경고와 콘솔 메시지를 출력합니다" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19070,17 +19074,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "%s 복사하는중" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ku.po b/src/calibre/translations/ku.po index 1149921f9d..a570c8a350 100644 --- a/src/calibre/translations/ku.po +++ b/src/calibre/translations/ku.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-12-12 17:33+0000\n" "Last-Translator: Erdal Ronahi \n" "Language-Team: Kurdish \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:23+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:47+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Tiştek nake" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/lt.po b/src/calibre/translations/lt.po index fae411f78a..e1ead13b27 100644 --- a/src/calibre/translations/lt.po +++ b/src/calibre/translations/lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 16:44+0000\n" "Last-Translator: Mantas Kriaučiūnas \n" "Language-Team: Lithuanian \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:23+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:47+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -176,12 +176,12 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -936,26 +936,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1130,14 +1130,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Naujienos" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalogas" @@ -1185,10 +1185,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12045,6 +12045,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13338,7 +13342,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16689,7 +16693,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17280,39 +17284,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18916,17 +18920,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ltg.po b/src/calibre/translations/ltg.po index 7ff705dcc5..01ac568bc2 100644 --- a/src/calibre/translations/ltg.po +++ b/src/calibre/translations/ltg.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-05-06 12:35+0000\n" "Last-Translator: uGGa \n" "Language-Team: Latgalian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:34+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:58+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index bc0d10a349..bf60ebe4b5 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-12 09:33+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Latvian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:23+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:47+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: LATVIA\n" "Language: lv\n" "X-Poedit-Language: Latvian\n" @@ -178,12 +178,12 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -970,26 +970,26 @@ msgstr "Ceļš lídz bibliotēkai pārāk garš. Jābūt mazāk nekā %d simboli #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Jā" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Galvenā" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Karte A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Karte B" @@ -1195,14 +1195,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Ziņas" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalogs" @@ -1256,10 +1256,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12271,6 +12271,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13575,7 +13579,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16937,7 +16941,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17528,39 +17532,39 @@ msgstr "Pārvaldīt grāmatzīmes." msgid "Loading ebook..." msgstr "Ielasa e-grāmatu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nevarēja atvērt e-grāmatu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Iestatījumi e-grāmatu skatītāja kontrolei" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19170,17 +19174,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migre veco datubāzi uz e-grāmatu bibliotēku %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopē %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Blīvē datubāzi" diff --git a/src/calibre/translations/mk.po b/src/calibre/translations/mk.po index a46369a0dc..129120b012 100644 --- a/src/calibre/translations/mk.po +++ b/src/calibre/translations/mk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-11-26 20:57+0000\n" "Last-Translator: ScHRiLL \n" "Language-Team: Macedonian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:24+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:47+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po index a404085e54..94c8f1244a 100644 --- a/src/calibre/translations/ml.po +++ b/src/calibre/translations/ml.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 17:53+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Malayalam \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:24+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:47+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -935,26 +935,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1129,14 +1129,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "വാര്‍ത്തകള്‍" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1184,10 +1184,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12049,6 +12049,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13342,7 +13346,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16693,7 +16697,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17284,39 +17288,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18920,17 +18924,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/mr.po b/src/calibre/translations/mr.po index caa7b20bd8..9dc31be4a1 100644 --- a/src/calibre/translations/mr.po +++ b/src/calibre/translations/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 16:46+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Marathi \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:24+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:48+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -936,26 +936,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "हो" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1130,14 +1130,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "वार्ता" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "पुस्तक सूची" @@ -1185,10 +1185,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12045,6 +12045,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13338,7 +13342,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16689,7 +16693,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17280,39 +17284,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18916,17 +18920,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/ms.po b/src/calibre/translations/ms.po index 1e62b51499..28c8c369ce 100644 --- a/src/calibre/translations/ms.po +++ b/src/calibre/translations/ms.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-09-04 04:15+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:24+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:48+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -949,26 +949,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1143,14 +1143,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1198,10 +1198,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12061,6 +12061,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13354,7 +13358,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16705,7 +16709,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17296,39 +17300,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18932,17 +18936,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index f019e5d7fe..3aaa833350 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-05-12 04:56+0000\n" "Last-Translator: Øyvind Øritsland \n" "Language-Team: Norwegian Bokmal \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:25+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:49+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -978,26 +978,26 @@ msgstr "Stien til biblioteket er for lang. Den må ha færre enn %d tegn." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Hovedvalg" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kort A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kort B" @@ -1196,14 +1196,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nyheter" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1254,10 +1254,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12752,6 +12752,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14086,7 +14090,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17550,7 +17554,7 @@ msgid "Options to customize the ebook viewer" msgstr "Valgmuligheter for å egendefinere e-bokleseren" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Husk sist brukte vindustørrelse" @@ -18151,42 +18155,42 @@ msgstr "Behandle bokmerker" msgid "Loading ebook..." msgstr "Laster e-bok..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Kunne ikke åpne e-boken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Valgmuligheter for å kontrollere e-bokleseren" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Om spesifisert vil visningsvinduet forsøke å åpne fullskjermsvisning når den " "starter." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 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:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19996,17 +20000,17 @@ msgstr "" msgid "creating custom column " msgstr "lager tilpasset kolonne " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format 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:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Komprimerer databasen" diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 6fc47db140..e4cb445ab7 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nds\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-06-18 12:05+0000\n" "Last-Translator: tbds \n" "Language-Team: German\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:25+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:48+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: GERMANY\n" "X-Poedit-Language: German\n" "Generated-By: pygettext.py 1.5\n" @@ -178,12 +178,12 @@ msgstr "Makt nix" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -964,26 +964,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1158,14 +1158,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nachrichten" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1213,10 +1213,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12393,6 +12393,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13698,7 +13702,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17087,7 +17091,7 @@ msgid "Options to customize the ebook viewer" msgstr "Einstellungen zum Anpassen des eBook Viewers" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zuletzt verwendete Fenstergröße merken" @@ -17682,41 +17686,41 @@ msgstr "Lesezeichen verwalten" msgid "Loading ebook..." msgstr "Lade eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Konnte eBook nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des eBook Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Falls angegeben, dann wird das Viewer Fenster beim Start im Vordergrund " "angezeigt." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Javascript Alarme und Konsolennachrichten auf der Konsole ausgeben" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19424,17 +19428,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migriere alte Datenbank zu eBook Bibliothek in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopiere %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Komprimiere Datenbank" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index d6055d2787..a0d79d8ee9 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -56,16 +56,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-24 18:19+0000\n" -"Last-Translator: Bart Bone \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-26 04:33+0000\n" +"Last-Translator: drMerry \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:17+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:41+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -233,12 +233,12 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -1039,26 +1039,26 @@ msgstr "Pad naar bibliotheek is te lang. Moet minder dan %d tekens zijn." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Hoofdgeheugen" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Geheugenkaart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Geheugenkaart B" @@ -1273,14 +1273,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nieuws" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalogus" @@ -1336,10 +1336,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -6977,10 +6977,32 @@ msgid "" " library.\n" " " msgstr "" +"

Over Boek Aanpassen

\n" +"

Boek Aanpassen geeft u de mogelijkheid het uiterlijk van een " +"\n" +" ebook aan te passen door kleine wijzigingen aan de interne " +"structuur\n" +" te maken. Om Boek Aanpassen te gebruiken, moet u iets weten " +"over\n" +" HTML en CSS, technieken die worden gebruikt in E-boeken.\n" +" Doorloop de volgende stappen:

\n" +"
\n" +"
    \n" +"
  1. Klik \"Boek uitpakken\": Dit zal het boek \"uitpakken\" in " +"de\n" +" individuele componenten.
  2. \n" +"
  3. Klik met de rechter muisknop op een willekeurig bestand\n" +" en selecteer \"Openen met...\" om het te bewerken in\n" +" de tekstverwerker van uw voorkeur.
  4. \n" +"
  5. Als u klaar bent met aanpassen: Sluit de bestandsmap\n" +" en de tekstverwerker die u heeft gebrukt om aanpassingen\n" +" te maken. Klik de \"Boek herbouwen\" knop om het boek\n" +" bij te werken in uw calibre bibliotheek.
  6. \n" +"
" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:103 msgid "&Explode Book" -msgstr "Boek &Uitpakken" +msgstr "Boek &uitpakken" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:104 msgid "&Preview Book" @@ -13510,6 +13532,10 @@ msgstr "Kies een lettertype familie uit onderstaande lijst:" msgid "Choose &font family" msgstr "Kies &lettertype familie" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14917,13 +14943,9 @@ msgstr "Het toevoegings&proces" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Indien ingeschakeld, zorgt deze optie dat calibre controleert of een " -"bestand\n" -" welke automatisch wordt toegevoegd al in de Calibre-bibliotheek staat.\n" -" Zo ja, dan zal calibre u vragen of u het bestand nogmaals wilt toevoegen." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18762,7 +18784,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opties om het e-book leesvenster aan te passen" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "De laatstgebruikte venstergrootte onthouden" @@ -19385,37 +19407,37 @@ msgstr "Bladwijzers beheren" msgid "Loading ebook..." msgstr "E-book laden…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Kan e-book niet openen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Onbekende fout" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opties voor de e-book leesvenster" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Indien gespecificeerd, zal het leesvenster proberen naar voren te komen na " "het opstarten." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Als dit is opgegeven zal het leesvenster proberen om in volledig scherm te " "starten." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 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:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19423,7 +19445,7 @@ msgstr "" "De positie waarop het geselecteerde boek geopend moet worden. De positie is " "een locatie zoals weergeven in de linker bovenhoek van het leesvenster." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21342,17 +21364,17 @@ msgstr "voorkeuren hersteld " msgid "creating custom column " msgstr "aangepaste kolom aanmaken " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migreer oude database naar e-book-bibliotheek op %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "%s kopiëren" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Database comprimeren" diff --git a/src/calibre/translations/nn.po b/src/calibre/translations/nn.po index ef9fbc3ceb..3dfcbd91a0 100644 --- a/src/calibre/translations/nn.po +++ b/src/calibre/translations/nn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-01-04 03:30+0000\n" "Last-Translator: Yngve Spjeld Landro \n" "Language-Team: Norwegian Nynorsk \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:25+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:48+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Gjer absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/oc.po b/src/calibre/translations/oc.po index 9606862a37..bd7876112d 100644 --- a/src/calibre/translations/oc.po +++ b/src/calibre/translations/oc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-04-29 09:54+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:25+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:49+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -934,26 +934,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Òc" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "General" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Carta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Carta B" @@ -1132,14 +1132,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nòvas" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalòg" @@ -1187,10 +1187,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12047,6 +12047,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13340,7 +13344,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16691,7 +16695,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17282,39 +17286,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18918,17 +18922,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/pa.po b/src/calibre/translations/pa.po index 8d389a1b3e..c16441e5af 100644 --- a/src/calibre/translations/pa.po +++ b/src/calibre/translations/pa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 16:48+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Punjabi \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:26+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:49+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -936,26 +936,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1130,14 +1130,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1185,10 +1185,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12045,6 +12045,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13338,7 +13342,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16689,7 +16693,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17280,39 +17284,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18916,17 +18920,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 30b9ffe81f..e1aa0ae91a 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,17 +7,17 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-09-29 16:04+0000\n" -"Last-Translator: Piotr Parafiniuk \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-29 17:08+0000\n" +"Last-Translator: Marcin Ostajewski (panszpik) \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:26+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-30 04:43+0000\n" +"X-Generator: Launchpad (build 16206)\n" "X-Poedit-Bookmarks: -1,3588,-1,-1,-1,-1,-1,-1,-1,-1\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -177,12 +177,12 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -633,13 +633,15 @@ msgstr "Kontroluj sposób, w jaki calibre pobiera metadane z Sieci" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Ignorowane urządzenia" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" +"Konfiguruje urządzenia ignorowane przez calibre przy podłączeniu do " +"komputera." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295 @@ -985,26 +987,26 @@ msgstr "Zbyt długa ścieżka biblioteki. Nie może być dłuższa niż %d znak #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Tak" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Główna" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Karta B" @@ -1215,14 +1217,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Newsy" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1277,10 +1279,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1838,11 +1840,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 msgid "Upload covers for books" -msgstr "" +msgstr "Wgraj okładki książek" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "Always upload covers" -msgstr "" +msgstr "Zawsze wgrywaj okładki książek" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 msgid "" @@ -6774,15 +6776,15 @@ msgstr "Szukaj ebooków" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this author" -msgstr "ten autor" +msgstr "tego autora" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this title" -msgstr "ten tytuł" +msgstr "tego tytułu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:29 msgid "this book" -msgstr "ta książka" +msgstr "tej książki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:469 @@ -7143,11 +7145,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 msgid "Already in calibre:" -msgstr "" +msgstr "Już obecne w calibre:" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:395 msgid "You are trying to add:" -msgstr "" +msgstr "Próbujesz dodać:" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:400 #: /home/kovid/work/calibre/src/calibre/gui2/auto_add.py:223 @@ -7159,6 +7161,7 @@ msgid "" "Books with the same title as the following already exist in calibre. Add " "them anyway?" msgstr "" +"Książki o podanych poniżej tytułach już figurują w calibre. Dodać je mimo to?" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:404 msgid "Adding duplicates..." @@ -9786,7 +9789,7 @@ msgstr "Błąd podczas komunikacji z urządzeniem" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:860 #, python-format msgid "Manage the %s?" -msgstr "" +msgstr "Zarządzać %s?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:861 #, python-format @@ -10026,6 +10029,9 @@ msgid "" "Select the devices to be ignored. calibre will not\n" " connect to devices with a checkmark next to their names." msgstr "" +"Wybierz urządzenia, które calibre ma ignorować. Calibre nie " +"połączy\n" +" się z urządzeniami z zaznaczeniem obok nazwy." #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:212 #, python-format @@ -13383,7 +13389,7 @@ msgstr "Wyrażenie regularne (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Wybór rodziny czcionek" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13409,6 +13415,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14824,13 +14834,9 @@ msgstr "Dodawanie" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Ustawienie tej opcji spowoduje, że calibre będzie sprawdzać\n" -"czy dodawany plik jest już w bibliotece. Jeśli tak \n" -"to zostanie wyświetlone okno dialogowe z pytaniem, \n" -"czy rzeczywiście chcesz dodać ten plik." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -15829,6 +15835,8 @@ msgid "" "The list of devices that you have asked calibre to ignore. Uncheck a device " "to have calibre stop ignoring it." msgstr "" +"Lista urządzeń, które oznaczono jako ignorowane. Wyczyść pole przy " +"urządzeniu jeśli calibre nie powinien już go ignorować." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103 msgid "Narrow" @@ -16543,6 +16551,9 @@ msgid "" "\n" "This plugin has been disabled" msgstr "" +"\n" +"\n" +"Ta wtyczka została wyłączona" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:237 msgid "Search for plugin" @@ -18654,7 +18665,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcje odpowiedzialne za personalizacje przeglądarki książek" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zapamiętaj ostatnio użyty rozmiar okienka" @@ -19277,37 +19288,37 @@ msgstr "Zarządzaj zakładkami" msgid "Loading ebook..." msgstr "Ładowanie książki..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nie można otworzyć książki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" -msgstr "" +msgstr "Nieznany błąd" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opcje odpowiadające za kontrolę nad przeglądarką książek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Jeśli określone, okno przeglądarki spróbuje pokazać się na wierzchu podczas " "startu." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Jeśli określone, okno przeglądarki spróbuje otworzyć się na pełnym ekranie " "podczas startu." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Wyświetlaj uwagi javascriptu i wiadomości konsolowe w konsoli" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19315,7 +19326,7 @@ msgstr "" "Miejsce w którym wskazana książka ma być otwarta. Jest to pozycja widoczna w " "górnym lewym rogu przeglądarki." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21280,18 +21291,18 @@ msgstr "odzyskane preferencje " msgid "creating custom column " msgstr "tworzenie kolumny użytkownika " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Przenoszenie starej bazy danych do biblioteki książek w %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopiowanie %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Kompaktowanie bazy danych" @@ -21934,7 +21945,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/filenames.py:284 msgid "File is open in another process" -msgstr "" +msgstr "Plik jest otwarty przez inny proces" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:31 #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:182 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 57bef4aeb5..f2c9c87e3e 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-07-26 20:48+0000\n" "Last-Translator: Rafael Antonio Belokurows \n" "Language-Team: Portuguese \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:26+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:50+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -980,26 +980,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Sim" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Cartão A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Cartão B" @@ -1188,14 +1188,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notícias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catálogo" @@ -1251,10 +1251,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12634,6 +12634,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13955,7 +13959,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17360,7 +17364,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opções para personalizar o Visualizador de livros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Lembrar o tamanho da última janela utilizada" @@ -17956,41 +17960,41 @@ msgstr "Gerir Marcadores" msgid "Loading ebook..." msgstr "A carregar o livro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "É impossível abrir o livro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opções para controlar o Visualizador de livros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se especificado a janela do Visualizador vai tentar vir para a frente quando " "iniciada." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Imprimir alertas javascript e mensagens da consola na consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19698,19 +19702,19 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

A migrar a base de dados antiga para a biblioteca de livros em " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "A copiar %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "A compactar a base de dados" diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index c2b46ddeba..1ce5c8056d 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-14 01:49+0000\n" "Last-Translator: Diogo Albuquerque \n" "Language-Team: American English \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:32+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:56+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -989,26 +989,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Sim" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Cartão A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Cartão B" @@ -1215,14 +1215,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Notícias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catálogo" @@ -1278,10 +1278,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12946,6 +12946,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14284,7 +14288,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17717,7 +17721,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opções de personalização do visualizador de eBooks" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Lembrar do último tamanho da janela" @@ -18320,41 +18324,41 @@ msgstr "Organizar favoritos" msgid "Loading ebook..." msgstr "Carregando eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Não foi possível abrir o eBook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opções de controle do visualizador de eBooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se especificado, a janela do visualizador irá tentar vir para frente quando " "iniciada." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Imprimir alerta javascript e mensagens de console no console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20089,19 +20093,19 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando o banco de dados antigo para a biblioteca de ebook em " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Compactando banco de dados" diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 0e04cf7517..ec938973d7 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-17 11:22+0000\n" "Last-Translator: Jorel \n" "Language-Team: Romanian \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" -"X-Launchpad-Export-Date: 2012-10-25 05:27+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:50+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -176,12 +176,12 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -999,26 +999,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Da" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Principal" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Card A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Card B" @@ -1223,14 +1223,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Știri" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Catalog" @@ -1285,10 +1285,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -13256,6 +13256,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14669,7 +14673,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -18443,7 +18447,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opţiuni de personalizare a vizualizatorului" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Reţine ultima mărime a ferestrei folosită" @@ -19052,43 +19056,43 @@ msgstr "Gestionează semnele de carte" msgid "Loading ebook..." msgstr "Se încarcă e-cartea..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nu s-a putut deschide cartea" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Opţiuni pentru controlul vizualizatorului cărţilor" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Dacă este specificat, fereastra vizualizatorului va încerca să vină în prim " "plan atunci când este pornit." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Dacă este specificat, fereastra vizualizatorului va încerca să pornească pe " "tot ecranul." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Afişează alerta javascript şi mesajele de consolă pe consolă" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20971,17 +20975,17 @@ msgstr "" msgid "creating custom column " msgstr "se creează coloană personalizată " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Se mută baza de date veche în bibliotecă în %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Se copiază %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Se compactează baza de date" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 674c10ca39..b7fcdefdcb 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-21 09:03+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-26 18:30+0000\n" "Last-Translator: Baz <_baz_@rambler.ru>\n" "Language-Team: American English \n" "MIME-Version: 1.0\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:27+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:51+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" "X-Poedit-SourceCharset: utf-8\n" @@ -180,12 +180,12 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -987,26 +987,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Да" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Основная" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Карта 1" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Карта 2" @@ -1216,14 +1216,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Новости" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Каталог" @@ -1278,10 +1278,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -2850,7 +2850,7 @@ msgstr "Не обрабатывать изображения" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:63 msgid "Do not convert the image to grayscale (black and white)" -msgstr "Не преобразовать изображение в градации серого (черный и белый)" +msgstr "Не преобразовывать изображение в оттенки серого (чёрный и белый)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:65 msgid "" @@ -3736,6 +3736,12 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"Вставить указанное семейство шрифтов в книгу. Указывается \"основной\" шрифт " +"использованный в книге. Если исходный документ имеет указание шрифта, то он " +"будет перезаписан этой настройкой. Вы можете использовать настройку фильтра " +"стилей для удаления шрифта из исходного документа. Помните, что вставка " +"шрифта работает только с некоторыми выходными форматами, в основном EPUB и " +"AZW3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 msgid "" @@ -6662,7 +6668,7 @@ msgstr "Сохранить на диск в одну директорию тол #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:38 msgid "Save single format to disk..." -msgstr "Сохранить единый формат диска..." +msgstr "Сохранить на диск один из форматов ..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:81 @@ -6675,7 +6681,7 @@ msgstr "Выберите формат для сохранения на диск" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:84 msgid "Choose destination directory" -msgstr "Выберете директорию получателя" +msgstr "Выберите папку назначения" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 msgid "" @@ -8618,7 +8624,7 @@ msgstr "&Размер строки" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "Вставить семейство шрифтов:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -9045,7 +9051,7 @@ msgstr "Открыть книгу" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:215 msgid "Click the Open button below to open a ebook to use for testing." -msgstr "" +msgstr "Нажмите ниже кнопку Открыть, что бы открыть книгу для проверки." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" @@ -13394,7 +13400,7 @@ msgstr "Регулярное выражение (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Выберите семейство шрифтов" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13414,11 +13420,15 @@ msgstr "Ничего" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Выберите семейство шрифтов из списка ниже:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Выберите семейство шрифтов" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Очистить шрифт" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -14134,7 +14144,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:273 #, python-format msgid "Could not open \"%s\". Is it being used by another program?" -msgstr "" +msgstr "Не могу открыть \"%s\". Возможно используется другой программой." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 msgid "" @@ -14832,13 +14842,13 @@ msgstr "Добавление" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Если включено, то calibre будет проверять\n" -" добавляемые файлы на наличие в библиотеке.\n" -" Если файлы уже имеются, то появится сообщение\n" -" о том желаете ли вы всё равно добавить файлы." +"Если установлена эта опция, то при автоматическом добавлении\n" +" calibre будет проверять наличие добавляемых книг в библиотеке.\n" +" Если похожая книга будет найдена, то появится окно с вопросом\n" +" о необходимости сохранения." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18657,7 +18667,7 @@ msgid "Options to customize the ebook viewer" msgstr "Параметры для настройки просмотра книг" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Запомнить последний использованный размер окна" @@ -19282,35 +19292,35 @@ msgstr "Управление закладками" msgid "Loading ebook..." msgstr "Загружается электронная книга..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Не могу открыть электронную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Неизвестная ошибка" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Настройки управления просмотром книг" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Если указано, окне просмотра будет открыто во весь экран при запуске." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Выводить предупреждения javascript и консольные сообщения в консоли" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19318,7 +19328,7 @@ msgstr "" "Позиция на которой открыта определённая книга. Позиция отображается в " "верхнем левом углу просмотрщика." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20886,6 +20896,22 @@ msgid "" "that a new OPF has been createdsince the column was added). You will see the " "JSON for the\"display\" for the new column in the OPF." msgstr "" +"Словарь настроек для указания того, как данные в этой колонке будут " +"интерпретированы. Это JSON строка. Для столбцов с перечислением используйте -" +"-display=\"{\\\"enum_values\\\":[\\\"val1\\\", \\\"val2\\\"]}\"\n" +"Есть много настроек которые могуть быть использованы в переменной " +"отображения. Настройки по типам столбцов следующие:\n" +"composite: composite_template, composite_sort, make_category,contains_html, " +"use_decorations\n" +"datetime: date_format\n" +"enumeration: enum_values, enum_colors, use_decorations\n" +"int, float: number_format\n" +"text: is_names, use_decorations\n" +"\n" +"Лучший способ найти правильное сочетание - это создать столбец " +"соответствующего типа в интерфейсе и посмотреть на резервную копию OPF для " +"книги (убедитесь что новый OPF был создан после добавления столбца). Вы " +"увидете JSON для \"отображения\" для нового столбца в OPF." #: /home/kovid/work/calibre/src/calibre/library/cli.py:721 msgid "You must specify label, name and datatype" @@ -21296,17 +21322,17 @@ msgstr "восстановлены настройки " msgid "creating custom column " msgstr "создание пользовательских столбцов " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Миграция старой базы данных в %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Копирование %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Сжатие базы данных" @@ -21942,7 +21968,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/filenames.py:284 msgid "File is open in another process" -msgstr "" +msgstr "Файл открыт другим процессом" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:31 #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:182 @@ -24023,53 +24049,75 @@ msgid "" "sony_collection_name_template='{category:||: }{value}'" msgstr "" "Укажите правила переименования для коллекций sony. Эта настройка применима " -"только тогда, когда управление метаданными установлено в автоматический " -"режим. Коллекции на Sony именуются в зависимости от того, какие поля " -"выбраны: стандартные или пользовательские. Коллекция образованная из " -"стандартного поля именуется по его значению. Например, если стандартный " -"столбец 'серии' содержит значение 'Darkover', то название коллекции будет " -"'Darkover'. Коллекция образованная из пользователького поля будет иметь имя " -"поля добавленного к значению. Например, если столбец пользовательских серий " +"только тогда, \n" +"когда управление метаданными установлено в автоматический режим. Коллекции " +"на Sony \n" +"именуются в зависимости от того, какие поля выбраны: стандартные или " +"пользовательские.\n" +"Коллекция образованная из стандартного поля именуется по его значению. " +"Например, если \n" +"стандартный столбец 'серии' содержит значение 'Darkover', то название " +"коллекции \n" +"будет 'Darkover'. Коллекция образованная из пользователького поля будет " +"иметь \n" +"имя поля добавленного к значению. Например, если столбец пользовательских " +"серий \n" "называется 'My Series' и содержит название 'Darkover', то коллекция будет по " -"умолчанию названа 'Darkover (My Series)'. Для этой справки, значение " -"называется 'Darkover' и категория называется 'My Series'. Если две книги " -"имеют поля которые дают одинаковые имена для коллекции, то обе книги будут в " -"этой коллекции. \n" +"умолчанию \n" +"названа 'Darkover (My Series)'. Для этой справки, значение называется " +"'Darkover' и категория \n" +"называется 'My Series'. Если две книги имеют поля которые дают одинаковые " +"имена для \n" +"коллекции, то обе книги будут в этой коллекции. \n" "Установка этих настроек позволит вам указать для стандартной или " -"пользовательской папки как именовать коллекции. Вы можете использовать это " -"для добавления описания к стандартному полю, например 'Foo (Tag)' вместо " -"'Foo'. Вы так же можете использовать это что бы заставить несколько полей " -"оказаться в одной коллекции. Например, вы можете заставить значения в " -"'series', '#my_series_1' и '#my_series_2' оказаться в коллекциях названных " -"'some_value (Series)', объединив этим все поля в один набор коллекций.\n" +"пользовательской папки \n" +"как именовать коллекции. Вы можете использовать это для добавления описания " +"к \n" +"стандартному полю, например 'Foo (Tag)' вместо 'Foo'. Вы так же можете " +"использовать это \n" +"что бы заставить несколько полей оказаться в одной коллекции. Например, вы " +"можете заставить \n" +"значения в 'series', '#my_series_1' и '#my_series_2' оказаться в коллекциях " +"\n" +"названных 'some_value (Series)', объединив этим все поля в один набор " +"коллекций.\n" "Имеются две возможные настройки. Первая определяет имя категории для " -"использования в поле метаданных. Вторая - это шаблон, используемый для " -"определения того, как значение и категория объединяются для создания имени " -"коллекции. Синтаксис первой настройки, sony_collection_renaming_rules, " -"следующий:\n" +"использования \n" +"в поле метаданных. Вторая - это шаблон, используемый для определения того, \n" +"как значение и категория объединяются для создания имени коллекции. " +"Синтаксис \n" +"первой настройки, sony_collection_renaming_rules, следующий:\n" "{'field_lookup_name':'category_name_to_use', 'lookup_name':'name', ...}\n" "Вторая настройка, sony_collection_name_template - шаблон. Он использует тот " -"же язык шаблонов, что и в связях метаданных и сохранении шаблонов. Доступно " -"два поля: {category} и {value} (категория и значение). Поле {value} никогда " -"не пусто. Поле {category} может быть пустым. По умолчанию, вначале идёт " -"значение, затем категория в скобках, которые не должны быть пустыми: " -"'{value} {category:|(|)}'\n" +"же \n" +"язык шаблонов, что и в связях метаданных и сохранении шаблонов. Доступно два " +"\n" +"поля: {category} и {value} (категория и значение). Поле {value} никогда не " +"пусто. \n" +"Поле {category} может быть пустым. По умолчанию, вначале идёт значение, " +"затем \n" +"категория в скобках, которые не должны быть пустыми: '{value} " +"{category:|(|)}'\n" "Примеры: Первые три примера предпологают что вторая настройка не менялась.\n" "1: Я хочу что бы три серии столбцов были объединены в одной группе " -"коллекций. Поисковые имена столбцов 'series', '#series_1' и '#series_2'. Я " -"хочу что бы в скобках было пусто. Значение для использования в настройке " -"должно выглядеть так: sony_collection_renaming_rules={'series':'', " -"'#series_1':'', '#series_2':''}\n" +"коллекций. \n" +"Поисковые имена столбцов 'series', '#series_1' и '#series_2'. Я хочу что бы " +"в скобках \n" +"было пусто. Значение для использования в настройке должно выглядеть так: \n" +"sony_collection_renaming_rules={'series':'', '#series_1':'', " +"'#series_2':''}\n" "2: Я хочу, что бы слово '(Series)' появлялось в коллекциях созданных из " -"серий и слово '(Tag)' появлялось в коллекциях от тэгов. Настройка будет " -"такой: sony_collection_renaming_rules={'series':'Series', 'tags':'Tag'}\n" +"серий \n" +"и слово '(Tag)' появлялось в коллекциях от тэгов. Настройка будет такой: \n" +"sony_collection_renaming_rules={'series':'Series', 'tags':'Tag'}\n" "3: Я хочу, что бы 'series' и '#myseries' были объединены и в имени коллекции " -"было '(Series)'. Правило переименования такое: " +"\n" +"было '(Series)'. Правило переименования такое: \n" "sony_collection_renaming_rules={'series':'Series', '#myseries':'Series'}\n" -"4: То же что и в примере 2, но вместо имеющегося имени категории в скобках и " -"добавления к значению, я хочу добавить и разделить через двоеточие, как в " -"сериях: Darkover. Я должен изменить шаблон используемый для форматирования " -"имени категории\n" +"4: То же что и в примере 2, но вместо имеющегося имени категории в скобках \n" +"и добавления к значению, я хочу добавить и разделить через двоеточие, \n" +"как в сериях: Darkover. Я должен изменить шаблон используемый для \n" +"форматирования имени категории\n" "В результате две настройки будут следующими:\n" "sony_collection_renaming_rules={'series':'Series', 'tags':'Tag'}\n" "sony_collection_name_template='{category:||: }{value}'" @@ -24244,10 +24292,11 @@ msgid "" "default font (Liberation Serif) does not contain glyphs for the language of\n" "the books in your library." msgstr "" -"Полный путь к файлам шрифтов .ttf для использования в названии, авторе и " -"нижнем поле при создании обложки по умолчанию или титульного изображения. " -"Полезно если шрифт по умолчанию (Liberation Serif) не содержит символов " -"подходящих для книг в вашей библиотеке." +"Полный путь к файлам шрифтов .ttf для использования в названии, \n" +"авторе и нижнем поле при создании обложки по умолчанию или титульного \n" +"изображения. Полезно если шрифт по умолчанию (Liberation Serif) не содержит " +"\n" +"символов подходящих для книг в вашей библиотеке." #: /home/kovid/work/calibre/resources/default_tweaks.py:387 msgid "Control behavior of the book list" diff --git a/src/calibre/translations/sc.po b/src/calibre/translations/sc.po index 354e615f1a..094423e11b 100644 --- a/src/calibre/translations/sc.po +++ b/src/calibre/translations/sc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2010-12-11 02:46+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Sardinian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:29+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:52+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/si.po b/src/calibre/translations/si.po index 7ed879dc85..a1f147d247 100644 --- a/src/calibre/translations/si.po +++ b/src/calibre/translations/si.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-06-16 06:16+0000\n" "Last-Translator: Dinusha \n" "Language-Team: Sinhalese \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:28+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:51+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 137e97c3db..806b6350e7 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-05-31 10:38+0000\n" -"Last-Translator: Michal Kaliňák \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-28 16:21+0000\n" +"Last-Translator: viktorc \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:28+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-29 04:59+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -350,7 +350,7 @@ msgstr "Upraviť metadata kníh vo vašej Calibre knižnici" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 msgid "Read books in your calibre library" -msgstr "Čítať knihy vo vašej Calibre knižnici" +msgstr "Prečítané knihy vo vašej knižnici Calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "Download news from the internet in ebook form" @@ -630,13 +630,14 @@ msgstr "Nastavenie spôsobu, akým Calibre sťahuje metadáta kníh z Internetu. #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Ignorované zariadenia" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" +"Nastavenie zariadení, ktoré bude Calibre po pripojení k počítaču ignorovať." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295 @@ -866,7 +867,7 @@ msgstr "Tento profil je určený pre zariadenie Amazon Kindle DX." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Tento profil je určený pre Amazon Kindle PaperWhite" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." @@ -932,6 +933,8 @@ msgid "" "plugin. This command will automatically zip up the plugin and update it in " "calibre." msgstr "" +"Pre vývojárov modulov: Cesta k adresáru v ktorom vyvýjate modul. Tento " +"príkaz modul automaticky zbalí a aktualizuje ho v Calibre." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:603 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" @@ -972,26 +975,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Áno" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Základné" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Karta B" @@ -1017,12 +1020,16 @@ msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" msgstr "" +"Zoznam adresárov oddelených čiarkou. Do prvého z nich, ktorý bude existovať " +"sa uložia e-booky pri odoslaní do hlavnej pamäte zariadenia." #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:201 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" msgstr "" +"Zoznam adresárov oddelených čiarkou. Do prvého z nich, ktorý bude existovať " +"sa uložia e-booky pri odoslaní na pamäťovú kartu zariadenia." #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:316 msgid "Communicate with S60 phones." @@ -1136,6 +1143,9 @@ msgid "" "href=\"http://www.mobileread.com/forums/showpost.php?p=2113958&postcount=3\">" "forum post for more information.

" msgstr "" +"

Nedokážem komunikovať s iTunes.

Pre viac informácií si pozrite " +"príspevok na fóre (v angličtine).

" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:381 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:384 @@ -1195,14 +1205,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Novinky" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalóg" @@ -1257,10 +1267,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1379,7 +1389,7 @@ msgstr "Komunikácia s čítačkou PocketBook 602/603/902/903." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:257 msgid "Communicate with the PocketBook 622 reader." -msgstr "" +msgstr "Komunikácia s čítačkou PocketBook 622." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:270 msgid "Communicate with the PocketBook 360+ reader." @@ -1549,7 +1559,7 @@ msgstr "Pozícia %(dl)d • %(typ)s
" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." -msgstr "" +msgstr "Komunikácia s čítačkou Kindle 2/3/4/Touch/PaperWhite" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" @@ -1688,7 +1698,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 msgid "Attempt to support newer firmware" -msgstr "" +msgstr "Podporovať novšie firmwéry" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:89 msgid "" @@ -1697,10 +1707,14 @@ msgid "" "be Dragons!! Enable only if you are comfortable with restoring your kobo to " "factory defaults and testing software" msgstr "" +"Kobo pravidelne aktualizuje firmware a verziu databázy. Táto voľba umožní " +"Calibre, aby sa pokúsil o plnú funkčnosť (čítanie aj zápis). Nebezpečné " +"teritórium. Povoľte len v prípade ak ste zvyknutí obnovovať Kobo do " +"továrenských nastavení a testovať software." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 msgid "Kobo database version unsupported - See details" -msgstr "" +msgstr "Verzia databázy Kobo nie je podporovaná - viď. podrobnosti" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:618 msgid "" @@ -1714,6 +1728,15 @@ msgid "" "firmware\" option. Doing so may require you to perform a factory reset of " "your Kobo." msgstr "" +"Vaše Kobo beží na aktualizovanej verzii firmware/databázy. Calibre túto " +"verziu nepozná a preto z dôvodu ochrany pred poškodením je úprava databázu " +"zakázaná. Aj naďalej môžete pomocou Calibre odosielať knihy do Vášho Koba, " +"ale odstraňovanie a správa zbierok sú zakázané. Ak máte chuť experimentovať " +"a viete, ako obnoviť Vaše Kobo do továrenských nastavení, môžete toto " +"obmedzenie prekonať pravým kliknutím na ikonu zariadenia v Calibre a " +"vybraním \"Konfigurovať toto zariadenie\" a následne voľbou \"Podporovať " +"novšie firmwéry\". Ak tak urobíte, môže sa stať, že budete musieť Vaše Kobo " +"obnoviť do továrenských nastavení." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:393 @@ -1774,7 +1797,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1211 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." -msgstr "" +msgstr "Kobo Touch od firmware V2.0.0 podporuje regály." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1213 msgid "Specify a tags type column for automatic management" @@ -1782,31 +1805,35 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1214 msgid "Create Bookshelves" -msgstr "" +msgstr "Vytvoriť regály" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1215 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." msgstr "" +"Vytvoriť nové knižné regály na Kobo Touch - ak neexistujú. Určené len pre " +"firmware V2.0.0 a novšie." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 msgid "Delete Empty Bookshelves" -msgstr "" +msgstr "Odstrániť prázdne regály" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" +"Odstrániť na záver synchronizácie z Kobo Touch všetky prázdne knižné regály. " +"Určené len pre firmware V2.0.0 a novšie." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 msgid "Upload covers for books" -msgstr "" +msgstr "Odoslať obálky kníh" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224 msgid "Always upload covers" -msgstr "" +msgstr "Vždy odosielať obálky" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 msgid "" @@ -1823,6 +1850,11 @@ msgid "" "factory defaults and testing software. This driver supports firmware V2.0.x " "and DBVersion up to " msgstr "" +"Kobo pravidelne aktualizuje firmware a verziu databázy. Táto voľba umožní " +"Calibre, aby sa pokúsil o plnú funkčnosť (čítanie aj zápis). Nebezpečné " +"teritórium. Povoľte len v prípade ak ste zvyknutí obnovovať Kobo do " +"továrenských nastavení a testovať software. Tento ovládač podporuje firmware " +"V2.0.x a DBVersion až do " #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247 msgid "Title to test when debugging" @@ -1898,15 +1930,15 @@ msgstr "Komunikácia so zariadením Ex124G" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:414 msgid "Communicate with the WayteQ Reader" -msgstr "" +msgstr "Komunikácia s čítačkou WayteQ" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" -msgstr "" +msgstr "Zariadenie MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:31 msgid "Communicate with MTP devices" -msgstr "" +msgstr "Komunikácia so zariadeniami MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:143 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:912 @@ -1916,83 +1948,83 @@ msgstr "Preberám informácie o zariadení..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:166 msgid "Listing files, this can take a while" -msgstr "" +msgstr "Listujem súbory, chvíľu to môže trvať" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:181 msgid "Reading ebook metadata" -msgstr "" +msgstr "Čítam metadáta e-booku" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:214 #, python-format msgid "Reading metadata from %s" -msgstr "" +msgstr "Čítam metadáta z %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:233 msgid "Updating metadata cache on device" -msgstr "" +msgstr "Aktualizujem vyrovnávaciu pamäť metadát v zariadení" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:235 msgid "Finished reading metadata from device" -msgstr "" +msgstr "Čítanie metadát zo zariadenia skončilo" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:393 #, python-format msgid "Transferred %s to device" -msgstr "" +msgstr "%s prenesených do zariadenia" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:395 msgid "Transfer to device finished..." -msgstr "" +msgstr "Prenos do zariadenia skončil..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:416 #, python-format msgid "Added %s" -msgstr "" +msgstr "%s pridané" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:418 msgid "Adding complete" -msgstr "" +msgstr "Pridávanie dokončené" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:434 msgid "Deleting books from device..." -msgstr "" +msgstr "Odstraňujem knihy zo zariadenia..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:440 #, python-format msgid "Deleted %s" -msgstr "" +msgstr "%s odstránené" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:441 msgid "All books deleted" -msgstr "" +msgstr "Všetky knihy boli odstránené" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 msgid "Removing books from metadata" -msgstr "" +msgstr "Odstraňovanie kníh z metadát" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:456 #, python-format msgid "Removed %s" -msgstr "" +msgstr "%s bola odstránená" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:458 msgid "All books removed" -msgstr "" +msgstr "Všetky knihy boli odstránené" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:198 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:313 msgid "Unknown MTP device" -msgstr "" +msgstr "Neznáme zariadenie MTP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:216 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:220 #, python-format msgid "Found object: %s" -msgstr "" +msgstr "Bol nájdený objekt: %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61 msgid "MTP devices are not supported on Windows XP" -msgstr "" +msgstr "MTP zariadenia nie sú podporované vo Windows XP" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69 msgid "" @@ -2000,11 +2032,14 @@ msgid "" "may need to install Windows Media Player 11 or newer and/or restart your " "computer" msgstr "" +"Služba Prenosných zariadení vo Windows nie je na Vašom počítači dostupná. " +"Mali by ste inštalovať Windows Media Player 11 alebo novší a/alebo " +"reštartovať Váš počítač" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:222 #, python-format msgid "Found id: %s" -msgstr "" +msgstr "Bolo nájdené id: %s" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." @@ -2181,11 +2216,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:174 msgid "Wireless Device" -msgstr "" +msgstr "Bezdrôtové zariadenie" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:178 msgid "Communicate with Smart Device apps" -msgstr "" +msgstr "Komunikujem s aplikáciami Smart zariadenia" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:264 msgid "All by something" @@ -2193,61 +2228,68 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:267 msgid "Enable connections at startup" -msgstr "" +msgstr "Povoliť pripojenia po spustení" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:268 msgid "Check this box to allow connections when calibre starts" -msgstr "" +msgstr "Ak chcete povoliť pripojenia po spustení calibre, označte túto voľbu" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:270 msgid "Security password" -msgstr "" +msgstr "Bezpečnostné heslo" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:271 msgid "Enter a password that the device app must use to connect to calibre" msgstr "" +"Zadajte heslo, ktoré musí aplikácia zariadenia použiť pri pripojení ku " +"Calibre" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273 msgid "Use fixed network port" -msgstr "" +msgstr "Použiť pevný sieťový port" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:274 msgid "" "If checked, use the port number in the \"Port\" box, otherwise the driver " "will pick a random port" msgstr "" +"Ak označíte, použije sa číslo portu z poľa \"Port\", inak ovládač vyberie " +"náhodný port" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:276 msgid "Port number: " -msgstr "" +msgstr "Čislo portu: " #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277 msgid "" "Enter the port number the driver is to use if the \"fixed port\" box is " "checked" msgstr "" +"Zadajte číslo portu, ktoré ovládač použije ak zaškrtnete \"Použiť pevný " +"sieťový port\"" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:278 msgid "Print extra debug information" -msgstr "" +msgstr "Vypisovať ďalšie ladiace informácie" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:279 msgid "Check this box if requested when reporting problems" -msgstr "" +msgstr "Označte, ak vás o to pri oznamovaní problémov požiadajú" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:281 msgid "" "Comma separated list of metadata fields to turn into collections on the " "device." msgstr "" +"Zoznam metadát oddelených čiarkou, ktorý sa v zariadení zmení na zbierky." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283 msgid "Possibilities include: series, tags, authors, etc" -msgstr "" +msgstr "Možnosti zahŕňajú: series, tags, authors, atď." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:291 msgid "Enable the no-activity timeout" -msgstr "" +msgstr "Povoliť časovač bez aktivity" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:292 #, python-format @@ -2256,10 +2298,13 @@ msgid "" "device does nothing for %d minutes. Unchecking this box disables this " "timeout, so calibre will never automatically disconnect." msgstr "" +"Ak je táto voľba označená, Calibre sa automaticky odpojí od zariadenia, " +"ktoré bolo bez aktivity počas %d minút. Odznačenie tejto voľby zakáže " +"sledovanie neaktivity zariadenia, teda Calibre sa nikdy aktomaticky neodpojí." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:296 msgid "Use this IP address" -msgstr "" +msgstr "Použiť túto IP adresu" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:297 msgid "" @@ -2267,25 +2312,28 @@ msgid "" "address. The driver will listen only on the entered address, and this " "address will be the one advertized over mDNS (bonjour)." msgstr "" +"Použite túto voľbu ak chcete ovládaču vynútiť počúvanie na konkrétnej IP " +"adrese. Ovládač bude počúvať len na zadanej adrese a táto bude jediná, ktorú " +"bude propagovať cez mDNS (bonjour)." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:766 #, python-format msgid "Too many connection attempts from %s" -msgstr "" +msgstr "Príliš veľa pokusov o pripojenie z %s" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1271 #, python-format msgid "Invalid port in options: %s" -msgstr "" +msgstr "Neplatný port vo voľbách: %s" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1279 #, python-format msgid "Failed to connect to port %d. Try a different value." -msgstr "" +msgstr "Pripojenie k portu %d zlyhalo. Skúste inú hodnotu." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1291 msgid "Failed to allocate a random port" -msgstr "" +msgstr "Použitie náhodného portu zlyhalo" #: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." @@ -2509,13 +2557,15 @@ msgstr "Priečinok karty A" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:69 msgid "Swap main and card A" -msgstr "" +msgstr "Vymeniť hlavú pamäť a kartu A" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:70 msgid "" "Check this box if the device's main memory is being seen as card a and the " "card is being seen as main memory" msgstr "" +"Označte túto voľbu ak sa hlavná pamäť zariadenia zobrazuje ako karta a karta " +"ako hlavná pamäť" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:18 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:24 @@ -2525,6 +2575,9 @@ msgid "" "device action. Right click on the send to device button and reset the " "default action to be \"Send to main memory\"." msgstr "" +"Čítačka nemá pamäťovú kartu %s. Mali by ste zmeniť predvolenú akciu pre " +"odoslanie do zariadenia. Kliknite pravým tlačidlom na ikonu odoslať do " +"zariadenia a obnovte predvolenú akciu na \"Odoslať do hlavnej pamäte\"." #: /home/kovid/work/calibre/src/calibre/devices/utils.py:29 #, python-format @@ -3017,6 +3070,8 @@ msgid "" "If set this option causes the file name of the html file inside the htmlz " "archive to be based on the book title." msgstr "" +"Ak je voľba zapnutá, spôsobí že názov html súboru vo vnútri archívu htmlz " +"bude tvorený podľa názvu knihy." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:95 msgid "Enable autorotation of images that are wider than the screen width." @@ -3174,6 +3229,11 @@ msgid "" "6 and the new KF8 format, or only the new KF8 format. KF8 has more features " "than MOBI 6, but only works with newer Kindles." msgstr "" +"Štandardne Calibre generuje súbory MOBI, ktoré obsahujú starý formát MOBI 6. " +"Tento formát je kompatibilný so všetkými zariadeniami. Zmenou tejto voľby " +"nastavíte, aby Calibre generoval súbory MOBI, ktoré budú obsahovať formáty " +"MOBI 6 aj nový KF8, alebo len nový formát KF8. KF8 má viac funkcií, ako MOBI " +"6, ale funguje len na novších Kindle." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/mobi_output.py:136 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:125 @@ -3258,24 +3318,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:94 msgid "The font family used to render serif fonts" -msgstr "" +msgstr "Font na vykreslenie pätkových písiem" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:97 msgid "The font family used to render sans-serif fonts" -msgstr "" +msgstr "Font na vykreslenie bezpätkových písiem" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:104 msgid "The font family used to render monospaced fonts" -msgstr "" +msgstr "Font na vykreslenie neproporcionálnych písiem" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 msgid "The default font size" -msgstr "" +msgstr "Štandardná veľkosť písma" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 msgid "The default font size for monospaced text" -msgstr "" +msgstr "Štandardná veľkosť písma neproporcionálneho textu" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -3626,6 +3686,12 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"Pripojiť ku knihe určenú triedu fontov. Toto určuje \"základné\" písmo " +"použité v knihe. Ak vstupný dokument špecifikuje vlastné písma, môže " +"prepísať toto základné písmo. Zo vstupného dokumentu môžete niektoré písma " +"odstrániť pomocou voľby filtrovať informácie štýlov. Uvedomte si, že " +"pripojenie funguje len pri niektorých výstupných formátoch, hlavne EPUB a " +"AZW3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 msgid "" @@ -4164,10 +4230,10 @@ msgid "" "pattern (which can be an empty line). The regular expression must be in the " "python regex syntax and the file must be UTF-8 encoded." msgstr "" -"Cesta k súboru obsahujúcom vyhľadanie a nahradenie regulárnych výrazov. " -"Súbor musí obsahovať striedajúce sa riadky regulárnych výrazov nasledované " -"nahradzujúcim vzorom (môže byť prázdny riadok). Regulárne výrazy musia byť v " -"python-ovom regex syntaxe a súbor musí byť kódovaný v UTF-8." +"Cesta k súboru obsahujúcom regulárne výrazy hľadania a nahradenia. Súbor " +"musí obsahovať striedajúce sa riadky regulárnych výrazov nasledované " +"nahradzujúcim vzorom (môže byť prázdny riadok). Regulárne výrazy musia byť " +"podľa syntaxu pythonu a súbor musí byť kódovaný v UTF-8." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:767 msgid "Could not find an ebook inside the archive" @@ -4193,7 +4259,7 @@ msgstr "Prebieha transformácia e-knihy..." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1136 #, python-format msgid "Running %s plugin" -msgstr "" +msgstr "Spúšťam modul %s" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20 #, python-format @@ -4401,7 +4467,7 @@ msgstr "Výstupný LRS súbor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:140 msgid "Do not save embedded image and font files to disk" -msgstr "Neukladať vsadené obrazové súbory a súbory písiem na disk" +msgstr "Neukladať pripojené obrazové súbory a súbory písiem na disk" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:159 msgid "Parsing LRF..." @@ -5058,7 +5124,7 @@ msgstr "Bočný panel" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/outline_writer.py:60 #, python-format msgid "Page %d" -msgstr "" +msgstr "Strana %d" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:71 msgid "Could not find pdftohtml, check it is in your PATH" @@ -5419,6 +5485,9 @@ msgid "" "processed and merged into your Calibre database according to your automerge " "settings:" msgstr "" +"Bolo nájdených nasledujúcich %d duplicitných kníh. Vstupné formáty kníh boli " +"spracované a zlúčené do Vašej databázy Calibre podľa Vašich nastavení " +"automatického pridávania:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:354 msgid "Failed to read metadata" @@ -5457,23 +5526,23 @@ msgstr "Neboli nájdené žiadne súbory kníh" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:406 msgid "Downloading books" -msgstr "" +msgstr "Sťahujem knihy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:407 msgid "Downloading books from device" -msgstr "" +msgstr "Sťahujem knihy zo zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:426 msgid "Could not download files from the device" -msgstr "" +msgstr "Nemôžem stiahnuť súbory zo zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:429 msgid "Could not download some files from the device" -msgstr "" +msgstr "Nemôžem stiahnuť niektoré súbory zo zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:433 msgid "Could not download files" -msgstr "" +msgstr "Nemôžem stiahnuť súbory" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 msgid "Add books to library" @@ -5902,6 +5971,9 @@ msgid "" "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" +"Niektoré knihy boli automaticky zlúčené do existujúcich záznamov v cieľovej " +"knižnici. Kliknutie na Ukáž detaily zobrazí ktoré. Toto chovanie je " +"ovplyvnené voľbou Automaticky zlúčiť v Nastavenia -> Vloženie kníh." #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:226 msgid "" @@ -5996,6 +6068,7 @@ msgid "" "The %(fmt)s format will be permanently deleted from %(title)s. Are " "you sure?" msgstr "" +"Formát %(fmt)s bude natrvalo odstránený z %(title)s. Ste si istý?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:162 msgid "Choose formats to be deleted" @@ -6080,11 +6153,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" -msgstr "" +msgstr "Spustiť pripojenie bezdrôtového zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:34 msgid "Stop wireless device connection" -msgstr "" +msgstr "Zastaviť pripojenie bezdrôtového zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:38 msgid "Connect to folder" @@ -6110,7 +6183,7 @@ msgstr "Spustiť/zastaviť server obsahu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:96 #, python-format msgid " [%(ip)s, port %(port)d]" -msgstr "" +msgstr " [%(ip)s, port %(port)d]" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:100 msgid "Stop Content Server" @@ -6157,17 +6230,19 @@ msgstr "Zastavujem server, môže to trvať až minútu, čakajte prosím..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:236 msgid "Disable autostart" -msgstr "" +msgstr "Zakázať automatické spustenie" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:237 msgid "" "Do you want wireless device connections to be started automatically when " "calibre starts?" msgstr "" +"Chcete, aby boli pripojenia bezdrôtového zariadenia automaticky spustené pri " +"spustení Calibre?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:260 msgid "Many IP addresses. See Start/Stop dialog." -msgstr "" +msgstr "Veľa IP adries. Viď. dialóg Štart/Stop." #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 msgid "Manage collections" @@ -6262,6 +6337,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:117 msgid "Show the &failed books in the main book list after updating metadata" msgstr "" +"Po aktualizácii metadát zobraziť &zlyhané knihy v hlavnom zozname kníh" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:123 msgid "Download complete" @@ -6521,7 +6597,7 @@ msgstr "Chyba zápisu na disk" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:63 msgid "Choose format to save to disk" -msgstr "" +msgstr "Vyberte formát na uloženie na disk" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:84 msgid "Choose destination directory" @@ -6638,15 +6714,15 @@ msgstr "Hľadať eknihy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this author" -msgstr "" +msgstr "tento autor" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this title" -msgstr "" +msgstr "tento titul" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:29 msgid "this book" -msgstr "" +msgstr "táto kniha" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:469 @@ -6748,31 +6824,34 @@ msgid "" " library.\n" " " msgstr "" -"

O knihe úprav

\n" -"

Kniha úprav umožňuje doladiť výzor e-knihy\n" -" malými zmenami jej vnútra. Na použitie Knihy úprav\n" -" potrebujete vedieť niečo o HTML a CSS, technológiách,\n" -" ktoré sú použité v e-knihách. Nasledujte kroky:

\n" +"

O vylepšení knihy

\n" +"

Vylepšenie knihy Vám umožňuje detailne doladiť\n" +" vzhľad e-booku drobnými zmenami vnútorných nastavení.\n" +" Pred použitím Vylepšenia knihy by ste mali niečo málo\n" +" vedieť o technológiách HTML a CSS, ktoré sú v e-bookoch\n" +" použité. Postupujte nasledovne:

\n" "
\n" "
    \n" -"
  1. Kliknite \"Rozbaliť knihu\": toto \"rozbalí\" knihu do jej\n" -" jednotlivých vnútorných zložiek.
  2. \n" -"
  3. Pravým klikom na jednotlivý súbor vyberte \"Otvor s...\"\n" -" a zeditujte ho v obľúbenom textovom editore.
  4. \n" -"
  5. Keď skončíte úpravy: zavrite okno prehliadača súborov\n" -" a okná editora, v ktorom ste robili zmeny. Potom kliknite\n" -" na tlačítko \"Prestavať knihu\", aby sa zaktualizovala kniha v " -"knižnici\n" -" calibre.
  6. \n" +"
  7. Kliknite na \"Rozbaliť knihu\": Tým \"rozbalíte\" knihu na " +"jej \n" +" jednotlivé vnútorné komponenty.
  8. \n" +"
  9. Na úpravu jednotlivých súborov Vaším obľúbeným \n" +" editorom, kliknite na ne pravým tlačidlom myši a vyberte\n" +" \"Otvoriť v...\".
  10. \n" +"
  11. Keď s vylepšovaním skončíte: zatvorte okno prehliadača\n" +" súborov a okná editorov ktoré ste použili na vylepšenia.\n" +" Následne kliknite na tlačidlo \"Znovuvytvoriť knihu\", aby sa " +"kniha\n" +" aktualizovala v knižnici Calibre.
  12. \n" "
" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:103 msgid "&Explode Book" -msgstr "" +msgstr "&Rozbaliť knihu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:104 msgid "&Preview Book" -msgstr "" +msgstr "&Náhľad knihy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25 @@ -6784,7 +6863,7 @@ msgstr "&Zrušiť" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:106 msgid "&Rebuild Book" -msgstr "" +msgstr "Znovu&vytvoriť knihu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:109 msgid "Explode the book to edit its components" @@ -6792,53 +6871,57 @@ msgstr "Na editáciu zložiek knihy ju rozbaľte." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:111 msgid "Preview the result of your tweaks" -msgstr "" +msgstr "Náhľad výsledku Vašich vylepšení" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:113 msgid "Abort without saving any changes" -msgstr "" +msgstr "Prerušiť bez zapísania zmien" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:115 msgid "Save your changes and update the book in the calibre library" -msgstr "" +msgstr "Uloží Vaše zmeny a aktualizuje knihu v knižnici Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:155 msgid "Exploding, please wait..." -msgstr "" +msgstr "Rozbaľujem, prosím počkajte..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:177 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:187 msgid "Failed to unpack" -msgstr "" +msgstr "Rozbalenie zlyhalo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:178 #, python-format msgid "Could not explode the %s file." -msgstr "" +msgstr "Nemôžem rozbaliť súbor %s." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:188 #, python-format msgid "" "Could not explode the %s file. Click \"Show Details\" for more information." msgstr "" +"Nemôžem rozbaliť súbor %s. Pre viac informácií kliknite na \"Zobraziť " +"podrobnosti\"." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:222 msgid "Failed to rebuild file" -msgstr "" +msgstr "Znovuvytvorenie súboru zlyhalo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:223 #, python-format msgid "Failed to rebuild %s. For more information, click \"Show details\"." msgstr "" +"Znovuvytvorenie %s zlyhalo. Pre viac informácií kliknite na \"Zobraziť " +"podrobnosti\"." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:231 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:240 msgid "Rebuilding, please wait..." -msgstr "" +msgstr "Znovuvytváram, prosím čakajte..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:289 msgid "Make small changes to ePub, HTMLZ or AZW3 format books" -msgstr "" +msgstr "Urobiť drobné zmeny vo formátoch kníh ePub, HTMLZ, alebo AZW3" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:290 msgid "T" @@ -6850,7 +6933,7 @@ msgstr "Nemôžem vylepšiť knihu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:310 msgid "Cannot Tweak Book" -msgstr "" +msgstr "Nemôžem vylepšiť knihu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:311 msgid "" @@ -6858,6 +6941,9 @@ msgid "" "\n" "First convert the book to one of these formats." msgstr "" +"Na vylepšenie musí byť kniha vo formáte ePub, HTMLZ, alebo AZW3.\n" +"\n" +"Knihu najprv skonverujte do jedného z týchto formátov." #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:37 msgid "V" @@ -6997,11 +7083,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 msgid "Already in calibre:" -msgstr "" +msgstr "V Calibre už existuje:" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:395 msgid "You are trying to add:" -msgstr "" +msgstr "Pokúšate sa pridať:" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:400 #: /home/kovid/work/calibre/src/calibre/gui2/auto_add.py:223 @@ -7013,6 +7099,8 @@ msgid "" "Books with the same title as the following already exist in calibre. Add " "them anyway?" msgstr "" +"Knihy s rovnakým názvom ako nasledujúci už v Calibre existujú. Napriek tomu " +"pridať?" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:404 msgid "Adding duplicates..." @@ -7256,12 +7344,12 @@ msgstr "Veľkosť obálky: %(width)d x %(height)d" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:469 #, python-format msgid "Delete the %s format" -msgstr "" +msgstr "Vymazať formát %s" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:470 #, python-format msgid "Save the %s format to disk" -msgstr "" +msgstr "Uložiť formát %s na disk" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 msgid "BibTeX Options" @@ -7425,69 +7513,69 @@ msgstr "Voľby E-book" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:90 msgid "Catalogs" -msgstr "" +msgstr "Katalógy" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:99 msgid "Read book" -msgstr "" +msgstr "Prečítaná kniha" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:105 msgid "Wishlist item" -msgstr "" +msgstr "Položka zoznamu želaní" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:795 msgid "any date" -msgstr "" +msgstr "nejaký dátum" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:793 msgid "any value" -msgstr "" +msgstr "nejaká hodnota" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:791 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:793 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:795 msgid "unspecified" -msgstr "" +msgstr "neuvedené" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:185 msgid "No genres will be excluded" -msgstr "" +msgstr "Žiadne žánre nebudú vyňaté" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:194 #, python-format msgid "regex error: %s" -msgstr "" +msgstr "chyba regulárneho výrazu: %s" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:203 msgid "All genres will be excluded" -msgstr "" +msgstr "Všetky žánre budú vyňaté" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:639 #, python-format msgid "Are you sure you want to delete '%s'?" -msgstr "" +msgstr "Ste si istý, že chcete odstrániť '%s'?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:641 #, python-format msgid "Are you sure you want to delete rules #%(first)d-%(last)d?" -msgstr "" +msgstr "Ste si istý, že chcete odstrániť pravidlá #%(first)d-%(last)d?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:642 msgid "Delete Rule" -msgstr "" +msgstr "Odstrániť pravidlo" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:791 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:601 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4665 msgid "False" -msgstr "" +msgstr "Nepravda" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:791 msgid "True" -msgstr "" +msgstr "Pravda" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:816 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:907 @@ -7501,20 +7589,20 @@ msgstr "Názov" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:817 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:909 msgid "Field" -msgstr "" +msgstr "Pole" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:818 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:910 msgid "Value" -msgstr "" +msgstr "Hodnota" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:908 msgid "Prefix" -msgstr "" +msgstr "Titul pred" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:266 msgid "Enabled sections will be included in the generated catalog." -msgstr "" +msgstr "Povolené sekcie budú zahrnuté do generovaného katalógu" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:267 msgid "Included sections" @@ -7522,23 +7610,23 @@ msgstr "Zahrnuté sekcie" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:268 msgid "&Authors" -msgstr "" +msgstr "&Autori" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:269 msgid "&Titles" -msgstr "" +msgstr "&Tituly" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:270 msgid "&Series" -msgstr "" +msgstr "&Série" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:271 msgid "&Genres" -msgstr "" +msgstr "Žá&nre" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:272 msgid "&Recently Added" -msgstr "" +msgstr "&Naposledy pridané" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:273 msgid "&Descriptions" @@ -7552,13 +7640,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:275 msgid "Prefixes" -msgstr "" +msgstr "Prefixy" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:276 msgid "" "Books matching any of the exclusion rules will be excluded from the " "generated catalog. " msgstr "" +"Knihy vyhovujúce pravidlám pre vyňatie nebudú zahrnuté do generovaného " +"katalógu. " #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:277 msgid "Excluded books" @@ -7571,6 +7661,10 @@ msgid "" "The default pattern \\[.+\\]|\\+ excludes tags of the form [tag], e.g., " "[Test book], and '+', the default tag for a read book." msgstr "" +"Regulárny výraz popisujúci žánre, ktoré nemajú byť zaradené do generovaného " +"katalógu. Žánre sú odvodené od značiek priradených k Vaším knihám.\n" +"Štandardná maska \\[.+\\]|\\+ vyníma značky v tvare [značka], napr. " +"[Testovacia kniha], a '+', štandardná značka pre čítanú knihu." #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:280 msgid "Excluded genres" @@ -7578,19 +7672,19 @@ msgstr "Vynechané žánre" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:281 msgid "Tags to &exclude (regex):" -msgstr "" +msgstr "&Vyňať značky (regulárny výraz):" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:282 msgid "Reset to default" -msgstr "" +msgstr "Obnoviť na východzie" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:284 msgid "Results of regex:" -msgstr "" +msgstr "Výsledky regulárneho výrazu:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:285 msgid "Tags that will be excluded as genres" -msgstr "" +msgstr "Značky, ktoré budú vyňaté z žánrov" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:286 msgid "Other options" @@ -7601,10 +7695,12 @@ msgid "" "Custom column containing additional content to be merged with Comments " "metadata." msgstr "" +"Užívateľské pole obsahujúce doplnkový obsah, ktorý sa má pripojiť k " +"metadátam Komentáre." #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:288 msgid "Merge additional content before Comments metadata." -msgstr "" +msgstr "Pripojiť doplnkový obsah pred metadáta Komentáre" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:289 msgid "&Before" @@ -7612,7 +7708,7 @@ msgstr "&Pred" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:290 msgid "Merge additional content after Comments metadata." -msgstr "" +msgstr "Pripojiť doplnkový obsah za metadáta Komentáre" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:291 msgid "&After" @@ -7625,11 +7721,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:293 msgid "Include &Separator" -msgstr "" +msgstr "Vložiť &oddeľovač" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:294 msgid "&Merge with Comments:" -msgstr "" +msgstr "&Zlúčiť s komentármi:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:295 msgid "Catalog cover:" @@ -7637,11 +7733,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:296 msgid "Generate new cover" -msgstr "" +msgstr "Generovať novú obálku" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:297 msgid "Use existing cover" -msgstr "" +msgstr "Použiť existujúcu obálku" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:298 msgid "E&xtra Description note:" @@ -7822,11 +7918,11 @@ msgstr "Vytvoriť odkaz" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:215 msgid "Enter &URL:" -msgstr "" +msgstr "Zadajte &URL:" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:216 msgid "Enter name (optional):" -msgstr "" +msgstr "Zadajte názov (voliteľné):" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:577 msgid "Normal view" @@ -7838,7 +7934,7 @@ msgstr "HTML zdroj" #: /home/kovid/work/calibre/src/calibre/gui2/convert/azw3_output.py:17 msgid "AZW3 Output" -msgstr "" +msgstr "Výstup AZW3" #: /home/kovid/work/calibre/src/calibre/gui2/convert/azw3_output_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:84 @@ -8254,7 +8350,7 @@ msgstr "Spôsob spracovania s triedami v CSS" #: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:50 msgid "Use book &title as the filename for the HTML file inside the archive" -msgstr "" +msgstr "Použiť &názov knihy pre názov HTML súboru vo vnútri archívu" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 msgid "Look & Feel" @@ -8430,7 +8526,7 @@ msgstr "Výška &riadka:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:237 msgid "&Embed font family:" -msgstr "" +msgstr "&Pripojiť písmo:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "&Disable font size rescaling" @@ -8474,7 +8570,7 @@ msgstr "Formát &hlavičky:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:132 msgid "&Embed fonts" -msgstr "&Vložené písma" +msgstr "&Pripojené písma" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133 msgid "&Serif font family:" @@ -8635,6 +8731,8 @@ msgid "" "Do not convert all images to &JPEG (may result in images not working in " "older viewers)" msgstr "" +"Nekonvertovať všetky obrázky do &JPEG (môže spôsobiť, že staršie prehliadače " +"ich nezobrazia)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:87 msgid "Kindle options" @@ -8642,7 +8740,7 @@ msgstr "Voľby Kindle" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:88 msgid "MOBI file &type:" -msgstr "" +msgstr "&Typ súboru MOBI:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:89 msgid "Personal Doc tag:" @@ -8654,6 +8752,9 @@ msgid "" "both MOBI filetypes. If you wish to use the new format on your device, " "convert to AZW3 instead of MOBI." msgstr "" +"UPOZORNENIE: Mnohé zariadenia Kindle majú problém so zobrazením " +"nového, alebo oboch typov súborov MOBI. Ak si želáte použiť vo Vašom " +"zariadení nový formát, skonvertujte ho na AZW3, namiesto MOBI." #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" @@ -8684,7 +8785,7 @@ msgstr "V&ľavo:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:139 msgid "No margin" -msgstr "" +msgstr "Bez okraja" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:132 msgid "&Top:" @@ -8714,7 +8815,7 @@ msgstr "&Formát:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:34 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:95 msgid "&Inline TOC" -msgstr "" +msgstr "&Vložený obsah" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:49 @@ -8775,7 +8876,7 @@ msgstr "Š&tandardné písmo:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:109 msgid "Default font si&ze:" -msgstr "" +msgstr "Štandardná &veľkosť písma:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:112 @@ -8836,7 +8937,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:185 msgid "Failed to generate preview" -msgstr "" +msgstr "Vytvorenie náhľadu zlyhalo" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:191 msgid "Open book" @@ -8909,37 +9010,39 @@ msgstr "Regulárny výraz pre &hľadanie" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:56 msgid "Replacement Text" -msgstr "" +msgstr "Nahradzovaný text" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:56 msgid "Search Regular Expression" -msgstr "" +msgstr "Regulárny výraz hľadania" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:102 msgid "Load Calibre Search-Replace definitions file" -msgstr "" +msgstr "Načítať definičný súbor Calibre pre hľadanie-náhradu" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:122 msgid "Calibre Search-Replace definitions file" -msgstr "" +msgstr "Definičný súbor Calibre pre hľadanie-náhradu" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:113 msgid "Failed to read" -msgstr "" +msgstr "Nepodarilo sa prečítať" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:114 #, python-format msgid "Failed to load patterns from %s, click Show details to learn more." msgstr "" +"Zlyhalo načítanie vzorov z %s. Viac sa dozviete po kliknutí na Zobraziť " +"podrobnosti." #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:120 msgid "Save Calibre Search-Replace definitions file" -msgstr "" +msgstr "Uložiť definičný súbor Calibre pre hľadanie-náhradu" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:196 msgid "Unused Search & Replace definition" -msgstr "" +msgstr "Nepoužitá definícia Hľadať a Nahradiť" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:197 msgid "" @@ -8947,6 +9050,8 @@ msgid "" "of definitions. Do you wish to continue with the conversion (the definition " "will not be used)?" msgstr "" +"Upravovaná definícia pre hľadanie / náhradu nebola doplnená do zoznamu " +"definícií. Želáte si pokračovať v konverzii (táto definícia sa nepoužije)?" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:208 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:110 @@ -8964,10 +9069,12 @@ msgid "" "The list of search/replace definitions that will be applied to this " "conversion." msgstr "" +"Zoznam definícií pre hľadanie / náhradu, ktorý bude použitý pri tejto " +"konverzii." #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:146 msgid "Search/Replace Definition Edit" -msgstr "" +msgstr "Úprava definície hľadať/nahradiť" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:147 msgid "&Replacement Text" @@ -8976,15 +9083,15 @@ msgstr "&Nahradiť za" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:148 msgid "" "Add the current expression to the list of expressions that will be applied" -msgstr "" +msgstr "Pridať aktuálny výraz do zoznamu výrazov ktoré sa použijú" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:149 msgid "&Add" -msgstr "" +msgstr "&Pridať" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:150 msgid "Edit the currently selected expression" -msgstr "" +msgstr "Upraviť aktuálne vybraný výraz" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:151 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 @@ -8993,7 +9100,7 @@ msgstr "&Zmeniť" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:152 msgid "Remove the currently selected expression" -msgstr "" +msgstr "Odstrániť aktuálne vybraný výraz" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:871 @@ -9002,16 +9109,16 @@ msgstr "&Odstrániť" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:154 msgid "Load a list of expressions from a previously saved file" -msgstr "" +msgstr "Načítať zoznam výrazov z predtým uloženého súboru" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:433 msgid "&Load" -msgstr "" +msgstr "&Načítať" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:156 msgid "Save this list of expressions so that you can re-use it easily" -msgstr "" +msgstr "Uložiť zoznam výrazov pre jednoduchšie opakované použitie" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:188 @@ -9022,11 +9129,11 @@ msgstr "&Uložiť" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:158 msgid "Move expression up." -msgstr "" +msgstr "Posunúť výraz hore." #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:159 msgid "Move expression down." -msgstr "" +msgstr "Posunúť výraz dolu." #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:160 msgid "" @@ -9037,6 +9144,12 @@ msgid "" "the current input document. When you are happy with an expression, click the " "Add button to add it to the list of expressions." msgstr "" +"

Hľadať a nahradiť využíva regulárne výrazy. S regulárnymi výrazmi " +"sa môžete oboznámiť v príručke regulárnych výrazov. Kliknutím na " +"tlačidlo sprievodcu Vám umožní otestovať Váš regulárny výraz v aktoálnom " +"vstupnom dokumente. Ak ste s výrazom spokojní, pridajte ho do zoznamu " +"výrazov tlačidlom Pridať." #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:184 msgid "Convert" @@ -9596,12 +9709,12 @@ msgstr "Chyba komunikácie so zariadením" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:860 #, python-format msgid "Manage the %s?" -msgstr "" +msgstr "Spravovať %s?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:861 #, python-format msgid "Detected the %s. Do you want calibre to manage it?" -msgstr "" +msgstr "Bol detekovaný %s. Želáte si, aby ho Calibre spravovala?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 @@ -9630,7 +9743,7 @@ msgstr "Konfigurovať %s" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 #, python-format msgid "Restart calibre for the changes to %s to be applied." -msgstr "" +msgstr "Aby sa zmeny %s prejavili, treba Calibre reštartovať." #: /home/kovid/work/calibre/src/calibre/gui2/device.py:981 msgid "Error talking to device" @@ -9663,7 +9776,7 @@ msgstr "Žiadne zariadenie" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1140 msgid "No device connected" -msgstr "" +msgstr "Žiadne zariadenie nie je pripojené" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 #, python-format @@ -9734,7 +9847,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540 msgid "Incorrect destination" -msgstr "" +msgstr "Nesprávny cieľ" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:142 msgid "Unknown formats" @@ -9792,21 +9905,23 @@ msgstr "Uložiť &šablónu:" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:57 msgid "No formats selected" -msgstr "" +msgstr "Nie sú vybrané žiadne formáty" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:58 msgid "You must choose at least one format to send to the device" -msgstr "" +msgstr "Musíte zvoliť aspoň jeden formát, ktorý chcete poslať do zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:86 msgid "" "Save &template to control the filename and\n" " location of files sent to the device:" msgstr "" +"Uložiť šab&lónu na určujúcu názov súboru a\n" +" umiestnenia súborov posielaných do zariadenia:" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:92 msgid "&Template editor" -msgstr "" +msgstr "Editor šab&lón" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41 @@ -9820,30 +9935,34 @@ msgid "" "A list of &folders on the device to\n" " which to send ebooks. The first one that exists will be used:" msgstr "" +"A zoznam &priečinkov v zariadení do\n" +" ktorých posielať e-booky. Použije sa prvý existujúci:" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:226 msgid "Browse for a folder on the device" -msgstr "" +msgstr "Vybrať priečinok v zariadení" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:167 msgid "" "Select the devices to be ignored. calibre will not\n" " connect to devices with a checkmark next to their names." msgstr "" +"Výber zariadení, ktoré sa majú ignorovať. Calibre sa\n" +" k označeným zariadeniam nebude pripájať." #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:212 #, python-format msgid "Send the %s format to the folder:" -msgstr "" +msgstr "Odoslať formát %s do priečinka:" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:220 msgid "Folder on the device" -msgstr "" +msgstr "Priečinok v zariadení" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:228 msgid "&Remove rule" -msgstr "" +msgstr "Odst&rániť pravidlo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:273 msgid "Format specific sending" @@ -9856,41 +9975,48 @@ msgid "" "over\n" " the folders specified above." msgstr "" +"Môžete vytvoriť pravidlá, ktoré budú ovplyvňovať kam do zariadenia\n" +" sa e-booky určitého formátu budú posielať. Tieto majú prednosť\n" +" pred priečinkami zadanými vyššie." #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:300 msgid "Add a &new rule" -msgstr "" +msgstr "Pridať &nové pravidlo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:338 #, python-format msgid "The %s device has no serial number, it cannot be configured" -msgstr "" +msgstr "Zariadenie %s nemá sériové číslo a nemôže byť nastavované" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:343 msgid "" "No MTP device connected.

You can only configure the MTP device " "plugin when a device is connected." msgstr "" +"Nie je pripojené žiadne MTP zariadenie.

Modul MTP zariadenia " +"môžete nastavovať len ak je zariadenie pripojené." #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:350 msgid "" "If you want to un-ignore a previously ignored MTP device, use the \"Ignored " "devices\" tab." msgstr "" +"Ak chcete aby sa MTP zariadenie, ktoré bolo doteraz ignorované, prestalo " +"ignorovať, použite záložku \"Ignorované zariadenia\"." #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:370 #, python-format msgid "Choose the formats to send to the %s" -msgstr "" +msgstr "Vyberte formáty na posielanie do %s" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:373 #, python-format msgid "&Ignore the %s in calibre" -msgstr "" +msgstr "&Ignorovať %s v Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:377 msgid "Show device information" -msgstr "" +msgstr "Zobraziť informácie o zariadení" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 @@ -9903,11 +10029,11 @@ msgstr "Kopírovať do schránky" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:419 #, python-format msgid "The %s will be ignored in calibre" -msgstr "" +msgstr "%s bude v Calibre ignorované" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_folder_browser.py:91 msgid "Choose folder on device" -msgstr "" +msgstr "Vyberte priečinok v zariadení" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:19 msgid "How many empty books?" @@ -9987,11 +10113,11 @@ msgstr "Moje knihy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:190 msgid "No help available" -msgstr "" +msgstr "Nápoveda nie je dispozícii" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:191 msgid "No help available for this output format." -msgstr "" +msgstr "Pre tento výstupný formát nie je nápoveda k dispozícii" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 @@ -10292,12 +10418,15 @@ msgid "" "You should not create a library inside the Calibre folder as this folder is " "automatically deleted during upgrades." msgstr "" +"V priečinku Calibre by ste nemali vytvárať knižnicu, pretože tento priečinok " +"sa pri aktualizáciách automaticky vymazáva." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:78 #, python-format msgid "" "You can only create libraries inside %s at the top level, not in sub-folders" msgstr "" +"Knižnice môžete vytvárať len v najvyššej úrovni %s, nie v jeho podpriečinkoch" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 msgid "No existing library found" @@ -10774,7 +10903,7 @@ msgstr "Zobraziť protokol" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:322 #, python-format msgid "Hide the remaining %d error messages" -msgstr "" +msgstr "Skryť zostávajúcich %d chybových správ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60 msgid "Title/Author" @@ -10944,7 +11073,7 @@ msgstr "Názov hľadania/náhrady:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1052 msgid "You must provide a name." -msgstr "" +msgstr "Musíte poskytnúť meno" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1057 msgid "" @@ -11800,6 +11929,11 @@ msgid "" "has been corrupted and you get a blank list of books.

Do you want to " "restore the database?" msgstr "" +"Váš zoznam kníh spolu so všetkými metadátami je uložený v jednom súbore, " +"nazvanom databáza. Naviac sú metadáta pre každú jednotlivú knihu uložené, " +"ako záloha, v adresári knihy.

Táto operácia znovu vytvorí databázu z " +"metadát jednotlivých kníh. To je užitočné v prípade, ak bola databáza " +"poškodená a Vy vidíte prázdny zoznam kníh.

Chcete obnoviť databázu?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:129 @@ -12315,7 +12449,7 @@ msgstr "&Názov/Autor/Séria ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:38 #, python-format msgid "There are %(count)d book(s) with the %(fmt)s format" -msgstr "" +msgstr "Existuje %(count)d kníh vo formáte %(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:55 msgid "Choose formats" @@ -12327,6 +12461,9 @@ msgid "" "example, if you run calibre on a laptop, use that laptop in an airport, and " "want to connect your smart device to calibre, you should use a password." msgstr "" +"Ak beží Calibre v sieti, ktorá nie je bezpečná, použite heslo. Napr. ak " +"bežíte Calibre na notebooku, ktorý používate na letisku a chcete sa k nemu " +"pripojiť svojím smart zariadením, mali by ste použiť heslo." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:51 msgid "" @@ -12334,6 +12471,9 @@ msgid "" "interface when calibre starts. You should not do this if you are using a " "network that is not secure and you are not setting a password." msgstr "" +"Označte túto voľbu ak chcete aby Calibre automaticky po štarte spúšťalo " +"rozhranie pre smart zariadenia. Ak používate nezabezpečenú sieť a nemáte " +"nastavené heslo, nemali by ste to robiť." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:57 msgid "" @@ -12341,12 +12481,17 @@ msgid "" "will not need to do this. However, if your device consistently fails to " "connect to calibre, try checking this box and entering a number." msgstr "" +"Označte túto voľbu, ak chcete aby Calibre použila pevný sieťový port. " +"Obvykle to nemusíte robiť. Ak sa však Vaše zariadenie opakovane nemôže ku " +"Calibre pripojoť, skúste túto voľbu označiť a zadajte číslo portu." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:63 msgid "" "Try 9090. If calibre says that it fails to connect to the port, try another " "number. You can use any number between 8,000 and 32,000." msgstr "" +"Vyskúšajte 9090. Ak Calibre oznámi, že sa k tomuto portu nemôže pripojiť, " +"skúste iné číslo. Môžete použiť akékoľvek číslo medzi 8.000 and 32.000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:69 msgid "" @@ -12357,36 +12502,41 @@ msgid "" "computer's control panel to get a complete list of your computer's network " "interfaces and IP addresses." msgstr "" +"Toto sú IP adresy tohoto počítača. Ak sa rozhodnete, že sa má Vaše " +"zariadenie pripájať cez pevnú IP adresu, mala by to byť jedna z nich. Je " +"nepravdepodobné, ale možné, že správna IP adresa v zozname nie je. V takom " +"prípade budete musieť otvoriť ovládacie panely počítača, kde nájdete úplný " +"zoznam jeho sieťových rozhraní a IP adries." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:129 msgid "Invalid port number" -msgstr "" +msgstr "Neplatné číslo portu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:119 msgid "You must provide a port number." -msgstr "" +msgstr "Musíte zadať číslo portu." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:130 msgid "The port must be a number between 8000 and 32000." -msgstr "" +msgstr "Číslo portu musí byť medzi 8000 a 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:390 msgid "Problem starting the wireless device" -msgstr "" +msgstr "Pri spustení bezdrôtového zariadenia sa vyskytol problém" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:391 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" -msgstr "" +msgstr "Ovládač bezdrôtového zariadenia sa nespustil. Vypísal \"%s\"" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:86 msgid "Smart device control" -msgstr "" +msgstr "Ovládanie smart zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:87 msgid "" @@ -12397,38 +12547,44 @@ msgid "" "virus manager asking you if it is OK for calibre to connect to the network. " "Please answer yes. If you do not, wireless connections will not work." msgstr "" +"

Spustiť pripojenia bezdrôtového zariadenia. V súčasnosti používané len\n" +" aplikáciou Calibre Companion.\n" +"

Môžu sa zobraziť dotazy firewallu, alebo antivíru Vášho počítača, " +"či je v poriadku, aby sa Calibre pripojila k sieti. Odpovedzte prosím " +"áno. V opačnom prípade nebudú bezdrôtové priopjenia fungovať." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:90 msgid "Calibre IP addresses:" -msgstr "" +msgstr "IP adresy Calibre:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:91 msgid "Possibe IP addresses:" -msgstr "" +msgstr "Možné IP adresy:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:92 msgid "Optional &password:" -msgstr "" +msgstr "Voliteľné &heslo:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:93 msgid "Optional password for security" -msgstr "" +msgstr "Voliteľné bezpečnostné heslo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:95 msgid "Optional &fixed port:" -msgstr "" +msgstr "Voliteľný &pevný port:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:96 msgid "Optional port number" -msgstr "" +msgstr "Voliteľné číslo portu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:97 msgid "&Use a fixed port" -msgstr "" +msgstr "Po&užiť pevný port" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:98 msgid "&Automatically allow connections at calibre startup" -msgstr "" +msgstr "Po štarte Calibre &automaticky povoliť pripojenia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 @@ -12599,19 +12755,19 @@ msgstr "Bolo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:182 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 msgid "Find" -msgstr "" +msgstr "Nájsť" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:167 msgid "You must enter some text to search for" -msgstr "" +msgstr "Musíte zadať nejaký hľadaný text" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:182 msgid "No tag found" -msgstr "" +msgstr "Značka nebola nájdená" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 msgid "Search for an item in the Tag column" -msgstr "" +msgstr "Hľadať položku v stĺpci značka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:112 @@ -13108,7 +13264,7 @@ msgstr "Regulárny výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:122 msgid "Choose font family" -msgstr "" +msgstr "Vyberte písmo" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13128,11 +13284,15 @@ msgstr "Žiadne" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:159 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "Vyberte písmo zo zoznamu nižšie:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:187 msgid "Choose &font family" -msgstr "" +msgstr "Vyberte &písmo" + +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Vymažte písmo" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -13644,13 +13804,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:75 msgid "Path too long" -msgstr "" +msgstr "Cesta je príliš dlhá" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:76 #, python-format msgid "" "Path to Calibre Portable (%s) too long. Must be less than 59 characters." msgstr "" +"Cesta ku Calibre Portable (%s) je príliš dlhá. Musí byť kratšia ako 59 " +"znakov." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:777 @@ -13761,15 +13923,15 @@ msgstr "%s je už spustený." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:370 msgid "No running calibre found" -msgstr "" +msgstr "Nebolo nájdené bežiace Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:374 msgid "Shutdown command sent, waiting for shutdown..." -msgstr "" +msgstr "Odoslaný príkaz na ukončenie, čakám na ukončenie..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:379 msgid "Failed to shutdown running calibre instance" -msgstr "" +msgstr "Ukončenie bežiacej inštancie Calibre zlyhalo" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:25 msgid "" @@ -13841,7 +14003,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:273 #, python-format msgid "Could not open \"%s\". Is it being used by another program?" -msgstr "" +msgstr "Nemôžem otvoriť \"%s\". Používa ho iný program?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 msgid "" @@ -14112,7 +14274,7 @@ msgstr "(Zlyhala obálka)" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:200 #, python-format msgid "Processed %s" -msgstr "" +msgstr "Spracované %s" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:124 @@ -14189,11 +14351,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:162 msgid "Clear series" -msgstr "" +msgstr "Vyčistiť série" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:197 msgid "Clear Ids" -msgstr "" +msgstr "Vyčistiť Id" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:201 msgid "" @@ -14536,13 +14698,13 @@ msgstr "Proces &pridávania" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Pri zapnutí tejto voľby bude Calibre pri automatickom\n" -" pridávaní overovať, či súbor už v knižnici Calibre nie je.\n" -" Ak bude, Calibre sa spýta, či ho chcete napriek tomu\n" -" pridať." +"Ak je voľba nastavená spôsobí, že Calibre bude pri\n" +" automatickom pridávaní kontrolovať, či už súbor\n" +" v knižnici Calibre nie je. Ak je, zobrazí sa otázka,\n" +" či ho má napriek tomu pridať." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -14567,6 +14729,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:155 msgid "Ignore files with the following extensions when automatically adding " msgstr "" +"Pri automatickom pridávaní ignorovať súbory s nasledujúcimi príponami " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:156 msgid "Folder to auto-add files from" @@ -14579,6 +14742,7 @@ msgstr "Vyhľadajte priečinok" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:159 msgid "Automatically &convert added files to the current output format" msgstr "" +"Pridávané súbory automaticky &konvertovať do aktuálneho výstupného formátu" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:160 msgid "&Automatic Adding" @@ -14597,7 +14761,7 @@ msgstr "Nízka" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 msgid "Very low" -msgstr "" +msgstr "Veľmi nízka" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 msgid "Compact Metadata" @@ -14795,6 +14959,9 @@ msgid "" "eng for English. You can also use the full language name, in which case " "calibre will try to automatically convert it to the language code." msgstr "" +"Zadajte 3-znakový ISO kód jazyka, napr. fra pre Francúzštinu, deu pre " +"Nemčinu, alebo eng pre Angličtinu. Môžete použiť aj plný názov jazyka a v " +"takom prípade sa ho Calibre automaticky pokúsi skonvertovať na kód jazyka." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:225 msgid "Enter a number" @@ -14843,7 +15010,7 @@ msgstr "Podmienku môžete vypnúť vymazaním všetkých jej polí" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:338 msgid "Sample Text" -msgstr "" +msgstr "Vzorka textu" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:380 msgid "Invalid condition" @@ -15392,7 +15559,7 @@ msgstr "Farby" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:24 msgid "Getting debug information, please wait" -msgstr "" +msgstr "Získavam ladiace informácie, prosím čakajte" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:25 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:32 @@ -15401,7 +15568,7 @@ msgstr "&Kopírovať do schránky" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:43 msgid "Device already detected" -msgstr "" +msgstr "Zariadenie už bolo detekované" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:44 #, python-format @@ -15409,16 +15576,20 @@ msgid "" "A device (%s) is already detected by calibre. If you wish to debug the " "detection of another device, first disconnect this device." msgstr "" +"Zadiadenie (%s) už bolo detekované programom Calibre. Ak chcete ladiť " +"detekciu iného zariadenia, najprv odpojte toto." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:57 msgid "Debugging failed" -msgstr "" +msgstr "Ladenie zlyhalo" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:58 msgid "" "Running debug device detection failed. Click Show Details for more " "information." msgstr "" +"Spustenie ladenia detekcie zariadenia zlyhalo. Pre viac informácií kliknite " +"na Zobraziť podrobnosti." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:31 msgid "Getting device information" @@ -15522,6 +15693,8 @@ msgid "" "The list of devices that you have asked calibre to ignore. Uncheck a device " "to have calibre stop ignoring it." msgstr "" +"Zoznam zariadení, ktoré ste chceli, aby Calibre ignorovalo. Odznačte " +"zariadenie, ktoré sa má prestať ignorovať." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103 msgid "Narrow" @@ -15533,11 +15706,11 @@ msgstr "Široké" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:105 msgid "Calibre style" -msgstr "" +msgstr "Štýl Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:105 msgid "System default" -msgstr "" +msgstr "Predvolené nastavenie" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:140 msgid "Off" @@ -15641,11 +15814,11 @@ msgstr "Zmeniť &písmo (vyžaduje reštart)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:251 msgid "User interface &style (needs restart):" -msgstr "" +msgstr "Š&týl užívateľského rozhrania (vyžaduje reštart):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:252 msgid "Show &tooltips in the book list" -msgstr "" +msgstr "Zobraziť &tooltipy v zozname kníh" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:253 msgid "Main Interface" @@ -15695,7 +15868,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:265 msgid "Show &cover in the book details panel" -msgstr "" +msgstr "Zobraziť &obálku v paneli podrobností knihy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:267 msgid "" @@ -15776,7 +15949,7 @@ msgstr "Kategórie s &hiererchickými položkami:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:290 msgid "Use &alternating row colors in the Tag Browser" -msgstr "" +msgstr "Použiť &striedavú farbu riadkov v Prehliadači značiek" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:292 msgid "Show cover &browser in a separate window (needs restart)" @@ -15832,6 +16005,8 @@ msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed to set any more preferences, until you restart." msgstr "" +"Zmeny, ktoré ste vykonali vyžadujú okamžitý reštart Calibre. Dovtedy " +"nebudete môcť nastavovať žiadne ďalšie predvoľby." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48 msgid "Source" @@ -15986,7 +16161,7 @@ msgstr "Uprednostniť &menej značiek" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:142 msgid "Use published date of \"first edition\" (from worldcat.org)" -msgstr "" +msgstr "Použite dátum \"prvého vydania\" (z worldcat.org)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:36 msgid "" @@ -15994,6 +16169,9 @@ msgid "" "This refers to CPU intensive tasks like conversion. Lower this number if " "you want calibre to use less CPU." msgstr "" +"Maximálny počet úloh, ktoré budú bežať na pozadí súčasne. Toto platí pre " +"úlohy náročné na CPU, medzi ktoré patrí napr. konverzia. Ak chcete, aby " +"Calibre využívala menej CPU, toto číslo znížte." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:46 msgid "No proxies used" @@ -16121,7 +16299,7 @@ msgstr "Zariadenie {0} nepodporuje formát {1}." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:261 msgid "The {0} device supports only the {1} format(s)." -msgstr "" +msgstr "Zariadenie {0} podporuje len formáť(y) {1}." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:294 msgid "Invalid destination" @@ -16226,6 +16404,9 @@ msgid "" "\n" "This plugin has been disabled" msgstr "" +"\n" +"\n" +"Tento modul bol zakázaný" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:237 msgid "Search for plugin" @@ -16310,7 +16491,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:66 msgid "Constant template" -msgstr "" +msgstr "Konštantná šablóna" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:67 msgid "" @@ -16414,6 +16595,29 @@ msgid "" "check for duplicates, to find which column contains a particular item, or to " "have hierarchical categories (categories that contain categories)." msgstr "" +"Združené vyhľadávacie termíny sú názvy vyhľadávania, ktoré umožňujú " +"dotazy na automatické prehľadávanie viac ako jedného poľa. Napr. ak " +"vytvoríte združený vyhľadávací termín všetkysérie s hodnotou " +"series, #myseries, #myseries2, potom dotaz " +"všetkysérie:adhoc nájde 'adhoc' v ktoromkoľvek z polí " +"series, #myseries, a #myseries2.

" +"Názov združeného vyhľadávacieho termínu zadajte do vyskakovacieho zoznamu, " +"zoznam polí do zapíšte do poľa hodnota a stlačte tlačidlo Uložiť. " +"

Upozornenie: Názvy vyhľadávacích termínov sú upravené na malé písmená; " +"MojeHľadanie a mojehľadanie označujú rovnaký " +"termín.

Vaše združené vyhľadávacie termíny si môžete nechať zobraziť ako " +"užívateľské kategórie v Prehliadači značiek. Stačí pridať názvy združených " +"vyhľadávacích termínov do poľa Vytvoriť užívateľské kategórie z. Môžete " +"pridať viacero termínov oddelených čiarkami. Nové užívateľské kategórie budú " +"automaticky zaplnené všetkými položkami z polí začlenených do združeného " +"vyhľadávacieho termínu.

Automatické užívateľské polia umožňujú jednoducho " +"vidieť všetky položky z polí obsiahnutých v združenom vyhľadávacom termíne. " +"Pomocou vyššie spomenutého príkladu všetkysérie, bude " +"automaticky generovaná užívateľská kategória obsahovať všetky série, " +"spomenuté v series, #myseries, a " +"#myseries2. To môže byť užitočné pri hľadaní duplikátov, " +"hľadaní ktoré pole obsahuje príslušnú položku, alebo mať hierarchické " +"kategórie (kategórie obsahujúce kategórie)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:419 @@ -16432,7 +16636,7 @@ msgstr "Nájsť ktorékoľvek" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:176 msgid "Grouped Search Terms" -msgstr "" +msgstr "Združené vyhľadávacie termíny" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:140 msgid "The search term cannot be blank" @@ -16441,6 +16645,7 @@ msgstr "Hľadaný výraz nemôže byť prázdny" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:150 msgid "That name is already used for a column or grouped search term" msgstr "" +"Tento názov už bol použitý pre pole, alebo združený vyhľadávací termín" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:154 msgid "That name is already used for user category" @@ -16452,7 +16657,7 @@ msgstr "Pole hodnoty nemôže byť prázdne" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:173 msgid "The empty grouped search term cannot be deleted" -msgstr "" +msgstr "Prázdny združený vyhľadávací termín nemôže byť odstránený" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:168 msgid "Search as you &type" @@ -16542,6 +16747,8 @@ msgid "" "Enter the names of any grouped search terms you wish\n" "to be shown as user categories" msgstr "" +"Zadajte názvy združených vyhľadávacích termínov,\n" +"ktoré chcete zobraziť ako užívateľské kategórie" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:192 msgid "" @@ -16557,7 +16764,7 @@ msgstr "Vymazať &históriu hľadania" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:194 msgid "What to search when searching similar books" -msgstr "" +msgstr "Čo porovnávať pri hľadaní podobných kníh" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:195 msgid "" @@ -16568,22 +16775,27 @@ msgid "" " By changing the lookup name to a grouped search term you can\n" " search multiple columns at once.

" msgstr "" +"

Ak hľadáte podobné knihy pravým kliknutím na knihu a vybraním\n" +" \"Podobné knihy...\", Calibre vytvorí vyhľadávanie pomocou\n" +" vyhľadávacích názvov stĺpcov zvolených nižšie.\n" +" Zmenou vyhľadávacieho názvu na združený vyhľadávací termín\n" +" môžete prehľadávať viacero stĺpcov naraz.

" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:200 msgid "Similar authors: " -msgstr "" +msgstr "Podobní autori: " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:201 msgid "Similar series: " -msgstr "" +msgstr "Podobné série: " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:202 msgid "Similar tags: " -msgstr "" +msgstr "Podobné značky: " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:203 msgid "Similar publishers: " -msgstr "" +msgstr "Podobní vydavatelia: " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:70 @@ -17663,7 +17875,7 @@ msgstr "%p%" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:307 msgid "The grouped search term name is \"{0}\"" -msgstr "" +msgstr "Názov združeného vyhľadávacieho termínu je \"{0}\"" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:766 msgid "" @@ -17827,7 +18039,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:391 msgid "Alter Tag Browser" -msgstr "" +msgstr "Upraviť prehliadač značiek" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:397 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:276 @@ -18261,7 +18473,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti úpravy prehliadača elektronických kníh" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Pamätať poslednú veľkosť okna" @@ -18404,7 +18616,7 @@ msgstr "Nastaviť prehliadač elektronických kníh" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:371 msgid "&Default font size:" -msgstr "Štandardná veľkosť &písma" +msgstr "Štandardná veľkosť &písma:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:376 msgid "Serif" @@ -18866,33 +19078,33 @@ msgstr "Spravovať záložky" msgid "Loading ebook..." msgstr "Načítavam elektronickú knihu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Nepodarilo sa otvoriť knihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Nastavenie prehliadača elektronických kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "Ak je zadané, okno prehliadača sa po štarte zobrazí v popredí." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "Ak zadané, okno prehliadača sa po štarte otvorí na celú obrazovku." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Vypísať upozornenia javascriptu a konzolové správy na konzolu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -18900,7 +19112,7 @@ msgstr "" "Pozícia, na ktorej sa určená kniha otvorí. Pozícia je miesto v knihe " "zobrazené v ľavom hornom rohu prehliadača." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19656,6 +19868,10 @@ msgid "" "'+', the default tag for read books.\n" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" +"Regulárny výraz popisujúci značky, ktoré budú odstránené z žánrov.\n" +"Štandardne: '%default' odstráni značky v zátvorkách, napr. '[Projekt " +"Gutenberg]', a '+', štandardnú značku pre čítané knihy.\n" +"Platí pre: výstupné formáty AZW3, ePub a MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:66 msgid "" @@ -19794,7 +20010,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:282 msgid "Check 'Excluded genres' regex in E-book options.\n" -msgstr "" +msgstr "Označte regulárny výraz 'Vynechať žánre' z volieb e-booku.\n" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:284 msgid "No books available to catalog" @@ -20767,18 +20983,18 @@ msgstr "" msgid "creating custom column " msgstr "vytváram vlastný stĺpec " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrujem starú databázu do knižnice elektronických kníh v %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopírujem %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Zmenšujem databázu" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 2a5ceb5d39..04e6367d5c 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.8.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-15 15:27+0000\n" "Last-Translator: Martin Srebotnjak \n" "Language-Team: Martin Srebotnjak \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " "n%100==4 ? 3 : 0);\n" -"X-Launchpad-Export-Date: 2012-10-25 05:29+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:52+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: iso-8859-1\n" @@ -179,12 +179,12 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -982,26 +982,26 @@ msgstr "Pot do knjižnice je predolga. Imeti mora manj kot %d znakov." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Da" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Glavni pomn." #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kartica A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kartica B" @@ -1186,14 +1186,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Novice" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1247,10 +1247,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12333,6 +12333,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13630,7 +13634,7 @@ msgstr "&Postopek dodajanja" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16998,7 +17002,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti za prilagajanje bralnika e-knjig" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Zapomni si nazadnje uporabljeno velikost okna" @@ -17589,39 +17593,39 @@ msgstr "Upravljaj z zaznamki" msgid "Loading ebook..." msgstr "Nalaganje e-knjige ..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "E-knjige ni mogoče odpreti" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19271,18 +19275,18 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Selitev stare zbirke podatkov v knjižnico e-knjig v %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopiranje %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Strnjevanje zbirke podatkov" diff --git a/src/calibre/translations/sq.po b/src/calibre/translations/sq.po index 37e6bce709..2040b5cd78 100644 --- a/src/calibre/translations/sq.po +++ b/src/calibre/translations/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-07 22:44+0000\n" "Last-Translator: Erlis Mulosmani \n" "Language-Team: Albanian \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:13+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:38+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Lajme" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index 113ec5b119..188d93d160 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-23 11:52+0000\n" "Last-Translator: Ozzii \n" "Language-Team: Ozzii\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:27+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:51+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Language: sr\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -177,12 +177,12 @@ msgstr "Не ради баш ништа" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -978,26 +978,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Да" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Основна" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Картица A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Картица B" @@ -1189,14 +1189,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Вести" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Каталог" @@ -1251,10 +1251,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12707,6 +12707,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14050,7 +14054,7 @@ msgstr "Поступак &додавања" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17539,7 +17543,7 @@ msgid "Options to customize the ebook viewer" msgstr "Избор за подешавање читача е-књига" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Запамти последње коришћену величину прозора" @@ -18143,42 +18147,42 @@ msgstr "Уреди обележиваче." msgid "Loading ebook..." msgstr "Учитавам е-књигу..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Нисам успео да отворим е-књигу." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Могућности за контролу читача е-књига." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Ако је наведено, прозор за читање ће се при покретању отворити преко целог " "екрана." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Прикажi javascript упозорења и поруке на конзоли." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20004,18 +20008,18 @@ msgstr "" msgid "creating custom column " msgstr "правим корисничку колону " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Преводим стару базу података у библиотеку е-књига у %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Умножавам%s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Сажимам базу података" diff --git a/src/calibre/translations/sr@latin.po b/src/calibre/translations/sr@latin.po index adea474fb5..947ed5521d 100644 --- a/src/calibre/translations/sr@latin.po +++ b/src/calibre/translations/sr@latin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-08-23 11:36+0000\n" "Last-Translator: Radan Putnik \n" "Language-Team: Serbian Latin \n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:34+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:58+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -176,12 +176,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -930,26 +930,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1124,14 +1124,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1179,10 +1179,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12039,6 +12039,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13332,7 +13336,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16683,7 +16687,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17274,39 +17278,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18910,17 +18914,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 9ed3bc2ec2..0f3ddda96a 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-14 09:43+0000\n" "Last-Translator: Merarom \n" "Language-Team: Swedish \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:29+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:53+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: SWEDEN\n" "X-Poedit-Language: Swedish\n" @@ -177,12 +177,12 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -977,26 +977,26 @@ msgstr "Sökväg till biblioteket för lång. Måste vara mindre än tecken %d." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Ja" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Allmänt" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kort A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kort B" @@ -1204,14 +1204,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Nyheter" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1266,10 +1266,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -13093,6 +13093,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -14491,7 +14495,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -18213,7 +18217,7 @@ msgid "Options to customize the ebook viewer" msgstr "Alternativ för att anpassa läsplattan" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Kom ihåg senast använd fönsterstorlek" @@ -18821,41 +18825,41 @@ msgstr "Hantera bokmärken" msgid "Loading ebook..." msgstr "Laddar e-bok...." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Kunde inte öppna e-bok" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Alternativ för att styra läsplattan" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Om angivet, kommer läsfönstret att försöka lägga sig överst vid start." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Om vald kommer visningsfönstret försöker öppna helskärm när den startas." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Skriv javaskriptnotifieringar och konsolmeddelanden till konsolen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -20717,17 +20721,17 @@ msgstr "" msgid "creating custom column " msgstr "skapa anpassad kolumn " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrera den gamla databasen till e-bokbibliotek i %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Kopierar %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Komprimerar databas" diff --git a/src/calibre/translations/ta.po b/src/calibre/translations/ta.po index e74f2c0e33..a3fca5d032 100644 --- a/src/calibre/translations/ta.po +++ b/src/calibre/translations/ta.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 17:54+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Tamil \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:30+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:53+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12041,6 +12041,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13334,7 +13338,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16685,7 +16689,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17276,39 +17280,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18912,17 +18916,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 8badf6e6fd..73d30950c6 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-08-05 17:01+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Telugu \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:30+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:53+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "వార్తలు" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index 1dc3d32da5..b0d1873a26 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-12-15 15:14+0000\n" "Last-Translator: akarong \n" "Language-Team: Thai \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:30+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:53+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438 @@ -186,12 +186,12 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -954,26 +954,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "การ์ด ข" @@ -1157,14 +1157,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "ข่าว" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "บัญชีรายชื่อ" @@ -1212,10 +1212,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12170,6 +12170,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13463,7 +13467,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16814,7 +16818,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17405,39 +17409,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19041,17 +19045,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/tr.po b/src/calibre/translations/tr.po index 01ff7b993c..440a80a144 100644 --- a/src/calibre/translations/tr.po +++ b/src/calibre/translations/tr.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-08-17 16:19+0000\n" -"Last-Translator: thomass \n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-26 15:16+0000\n" +"Last-Translator: Burak Ilgıcıoğlu \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:30+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:54+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -631,13 +631,15 @@ msgstr "Şebeke'den ekitap metadatasının nasıl indirileceğini kontrol et" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Yoksayılan cihazlar" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" +"Calibre'nin bilgisayara bağlandığında hangi cihazları yoksayacağını kontrol " +"edin." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295 @@ -866,7 +868,7 @@ msgstr "Bu profil Amazon Kindle DX'i hedefler." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Bu profil Amazon Kindle PaperWhite içindir" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." @@ -932,7 +934,7 @@ msgid "" "For plugin developers: Path to the directory where you are developing the " "plugin. This command will automatically zip up the plugin and update it in " "calibre." -msgstr "" +msgstr "Eklenti geliştiricileri için:" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:603 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" @@ -975,26 +977,26 @@ msgstr "Kütüphanenin yolu çok uzun. %d karakterden daha az olmalı" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "EVET" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Ana" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Kart A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Kart B" @@ -1196,14 +1198,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Haberler" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Katalog" @@ -1257,10 +1259,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12547,6 +12549,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13840,7 +13846,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17201,7 +17207,7 @@ msgid "Options to customize the ebook viewer" msgstr "Ekitap görüntüleyiciyi kişiselleştirmek için seçenekler" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "En son kullanılan pencere boyutunu hatırla" @@ -17798,39 +17804,39 @@ msgstr "Yer imlerini yönet" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19434,17 +19440,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "%s kopyalanıyor" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 1c7e5586a7..3878859475 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" -"PO-Revision-Date: 2012-10-24 13:07+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" +"PO-Revision-Date: 2012-10-26 06:50+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" @@ -17,8 +17,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:31+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:54+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Language: uk\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -178,12 +178,12 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -987,26 +987,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Так" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Головна" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "Картка A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Картка B" @@ -1220,14 +1220,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Новини" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Каталог" @@ -1281,10 +1281,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -13586,6 +13586,10 @@ msgstr "Виберіть гарнітуру шрифтів з наведеног msgid "Choose &font family" msgstr "Вибрати &гарнітуру шрифтів" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "Спорожнити дані щодо гарнітури шрифту" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -15017,13 +15021,13 @@ msgstr "&Процедура додавання" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"Якщо позначено, calibre перевірятиме, чи\n" -" є автоматично доданий файл у бібліотеці calibre.\n" -" Якщо файл вже є, програма покаже запит\n" -" щодо того, чи слід його додати попри це." +"Якщо визначено цей параметр, calibre перевірить,\n" +" чи було файл автоматично додано до бібліотеки calibre раніше.\n" +" Якщо такий доданий файл буде виявлено, програма\n" +" спитає вас, чи хочете ви його додати попри це." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -18909,7 +18913,7 @@ msgid "Options to customize the ebook viewer" msgstr "Параметри вікна перегляду електронної книги" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "Пам’ятати останні використані розміри вікон" @@ -19540,37 +19544,37 @@ msgstr "Керування закладками" msgid "Loading ebook..." msgstr "Завантаження книги…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "Не вдалося відкрити ел. книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "Невідома помилка" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "Параметри керування переглядом ел. книги" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Якщо вказано, буде виконано спробу відкрити вікно перегляду на весь екран " "під час запуску." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "Вивести попередження javascript та консольні повідомлення до консолі" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." @@ -19578,7 +19582,7 @@ msgstr "" "Місце, на якому слід відкрити вказану книгу. Позначка місця визначає " "розташування у тексті верхнього лівого кута сторінки на панелі перегляду." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -21602,19 +21606,19 @@ msgstr "відновлене налаштування " msgid "creating custom column " msgstr "створення нетипового стовпчика " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Перенесення старої бази даних до бібліотеки електронних книжок у " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "Копіювання %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "Ущільнення бази даних" diff --git a/src/calibre/translations/ur.po b/src/calibre/translations/ur.po index 35dc6f1368..827cc00377 100644 --- a/src/calibre/translations/ur.po +++ b/src/calibre/translations/ur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-04-02 21:19+0000\n" "Last-Translator: mahmood \n" "Language-Team: Urdu \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:31+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:54+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/vi.po b/src/calibre/translations/vi.po index 914649d3d6..2a965cabd7 100644 --- a/src/calibre/translations/vi.po +++ b/src/calibre/translations/vi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-04-16 18:36+0000\n" "Last-Translator: Lunafan \n" "Language-Team: Vietnamese \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:31+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:55+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -972,26 +972,26 @@ msgstr "Đường dẫn tới thư viện quá dài. Cần ít hơn %d ký tự" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "Đồng ý" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "Chính" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "Thẻ B" @@ -1195,14 +1195,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "Tin tức" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "Danh mục" @@ -1256,10 +1256,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12362,6 +12362,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13655,7 +13659,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17021,7 +17025,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17612,39 +17616,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19251,17 +19255,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/wa.po b/src/calibre/translations/wa.po index 6a5c521708..0515632d9b 100644 --- a/src/calibre/translations/wa.po +++ b/src/calibre/translations/wa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-07-05 23:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Walloon \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:32+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:55+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 935c0a947d..113575c57c 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2009-09-04 22:02+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Yiddish \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:32+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:55+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index f6fbdf5170..b297490273 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-15 05:31+0000\n" "Last-Translator: mozillazg \n" "Language-Team: Simplified Chinese \n" @@ -17,8 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:34+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:57+0000\n" +"X-Generator: Launchpad (build 16194)\n" "X-Poedit-Country: CHINA\n" "X-Poedit-Language: Chinese\n" @@ -179,12 +179,12 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -939,26 +939,26 @@ msgstr "书库的路径太长。路径长度必须小于 %d 个字符。" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "是" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "主" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "存储卡A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "存储卡B" @@ -1148,14 +1148,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "新闻" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "分类" @@ -1205,10 +1205,10 @@ msgstr "锦书" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12389,6 +12389,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13712,7 +13716,7 @@ msgstr "书籍添加处理(&P)" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -17214,7 +17218,7 @@ msgid "Options to customize the ebook viewer" msgstr "定制电子书查看器的选项" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "记住上次使用窗口大小" @@ -17809,39 +17813,39 @@ msgstr "管理书签" msgid "Loading ebook..." msgstr "正在加载电子书..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "无法打开电子书" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "电子书查看器控制选项" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "若选定,查看窗口开启时试图全屏。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "在控制台显示 javascript 警告以及控制台信息" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19551,17 +19555,17 @@ msgstr "" msgid "creating custom column " msgstr "创建自定义列 " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

正在将旧数据库转移到位于 %s 的新数据库

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "正在复制%s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "正在压缩数据库" diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index 7aba5cae2f..3d79f33a47 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2011-07-11 08:59+0000\n" "Last-Translator: Nader stouhy \n" "Language-Team: Chinese (Hong Kong) \n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:32+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:55+0000\n" +"X-Generator: Launchpad (build 16194)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -175,12 +175,12 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -929,26 +929,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "" @@ -1123,14 +1123,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "" @@ -1178,10 +1178,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12038,6 +12038,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13331,7 +13335,7 @@ msgstr "" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" @@ -16682,7 +16686,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "" @@ -17273,39 +17277,39 @@ msgstr "" msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -18909,17 +18913,17 @@ msgstr "" msgid "creating custom column " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "" diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index 419cc02eaf..ade34de334 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-10-24 04:12+0000\n" +"POT-Creation-Date: 2012-10-26 05:12+0000\n" "PO-Revision-Date: 2012-10-19 08:56+0000\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (traditional)\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-10-25 05:33+0000\n" -"X-Generator: Launchpad (build 16179)\n" +"X-Launchpad-Export-Date: 2012-10-27 04:57+0000\n" +"X-Generator: Launchpad (build 16194)\n" "Language: zh_TW\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -176,12 +176,12 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/library/database2.py:586 #: /home/kovid/work/calibre/src/calibre/library/database2.py:594 #: /home/kovid/work/calibre/src/calibre/library/database2.py:605 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2427 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2857 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2274 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2858 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3644 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 @@ -937,26 +937,26 @@ msgstr "書庫的路徑太長。必須少於 %d 字元。" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1062 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887 #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910 msgid "Yes" msgstr "是" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1217 msgid "Main" msgstr "主要" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1218 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1219 msgid "Card A" msgstr "記憶卡 A" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "Card B" msgstr "記憶卡 B" @@ -1144,14 +1144,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1199 #: /home/kovid/work/calibre/src/calibre/library/database2.py:371 #: /home/kovid/work/calibre/src/calibre/library/database2.py:384 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3362 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "新聞" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3317 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3335 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336 msgid "Catalog" msgstr "分類" @@ -1201,10 +1201,10 @@ msgstr "Bambook" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1307 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1311 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1315 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1635 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1319 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1323 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1642 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -12294,6 +12294,10 @@ msgstr "" msgid "Choose &font family" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:196 +msgid "Clear the font family" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 msgid "Cover Browser" @@ -13596,13 +13600,9 @@ msgstr "加入程序(&P)" msgid "" "If set, this option will causes calibre to check if a file\n" " being auto-added is already in the calibre library.\n" -" If it is, a meesage will pop up asking you whether\n" +" If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" -"如果設定,這個選項會讓 calibre 檢查要\n" -" 自動加入的檔案是否已在 calibre 書庫中。\n" -" 如果是,會彈出視窗詢問您是否要強制\n" -" 加入它。" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:152 msgid "Check for &duplicates when auto-adding files" @@ -17001,7 +17001,7 @@ msgid "Options to customize the ebook viewer" msgstr "用來自訂電子書檢視器的選項" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1107 msgid "Remember last used window size" msgstr "記住上次使用的視窗大小" @@ -17596,39 +17596,39 @@ msgstr "管理書籤" msgid "Loading ebook..." msgstr "正在載入電子書..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 msgid "Could not open ebook" msgstr "無法開啟電子書" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:979 msgid "Unknown error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1094 msgid "Options to control the ebook viewer" msgstr "用來控制電子書檢視器的選項" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1101 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:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1104 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "如果指定,檢視器視窗會在啟動時嘗試開啟全螢幕。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1108 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1109 msgid "Print javascript alert and console messages to the console" msgstr "在主控台中顯示 javascript 警示及主控台訊息" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1111 msgid "" "The position at which to open the specified book. The position is a location " "as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:1118 msgid "" "%prog [options] file\n" "\n" @@ -19309,17 +19309,17 @@ msgstr "" msgid "creating custom column " msgstr "建立自訂欄 " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3669 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3670 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "

將舊的資料庫轉移到 %s 的電子書庫

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3698 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3699 #, python-format msgid "Copying %s" msgstr "正在複製 %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3715 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3716 msgid "Compacting database" msgstr "正在壓實資料庫" diff --git a/src/calibre/utils/filenames.py b/src/calibre/utils/filenames.py index b49c039ffe..260671dc7a 100644 --- a/src/calibre/utils/filenames.py +++ b/src/calibre/utils/filenames.py @@ -208,17 +208,22 @@ def samefile_windows(src, dst): if samestring: return True + handles = [] + def get_fileid(x): if isbytestring(x): x = x.decode(filesystem_encoding) try: h = win32file.CreateFile(x, 0, 0, None, win32file.OPEN_EXISTING, win32file.FILE_FLAG_BACKUP_SEMANTICS, 0) + handles.append(h) data = win32file.GetFileInformationByHandle(h) except (error, EnvironmentError): return None return (data[4], data[8], data[9]) a, b = get_fileid(src), get_fileid(dst) + for h in handles: + win32file.CloseHandle(h) if a is None and b is None: return False return a == b @@ -273,6 +278,12 @@ class WindowsAtomicFolderMove(object): for x in os.listdir(path): f = os.path.normcase(os.path.abspath(os.path.join(path, x))) if not os.path.isfile(f): continue + try: + # Ensure the file is not read-only + win32file.SetFileAttributes(f, win32file.FILE_ATTRIBUTE_NORMAL) + except: + pass + try: h = win32file.CreateFile(f, win32file.GENERIC_READ, win32file.FILE_SHARE_DELETE, None, @@ -298,10 +309,15 @@ class WindowsAtomicFolderMove(object): handle = h break if handle is None: - raise ValueError(u'The file %r did not exist when this move' - ' operation was started'%path) + if os.path.exists(path): + raise ValueError(u'The file %r did not exist when this move' + ' operation was started'%path) + else: + raise ValueError(u'The file %r does not exist'%path) try: win32file.CreateHardLink(dest, path) + if os.path.getsize(dest) != os.path.getsize(path): + raise Exception('This apparently can happen on network shares. Sigh.') return except: pass @@ -314,6 +330,17 @@ class WindowsAtomicFolderMove(object): break f.write(raw) + def release_file(self, path): + key = None + for p, h in self.handle_map.iteritems(): + if samefile_windows(path, p): + key = (p, h) + break + if key is not None: + import win32file + win32file.CloseHandle(key[1]) + self.handle_map.pop(key[0]) + def close_handles(self): import win32file for h in self.handle_map.itervalues(): @@ -330,6 +357,8 @@ def hardlink_file(src, dest): if iswindows: import win32file win32file.CreateHardLink(dest, src) + if os.path.getsize(dest) != os.path.getsize(src): + raise Exception('This apparently can happen on network shares. Sigh.') return os.link(src, dest) diff --git a/src/calibre/utils/fonts/__init__.py b/src/calibre/utils/fonts/__init__.py index f3fee56033..3af92bd6a0 100644 --- a/src/calibre/utils/fonts/__init__.py +++ b/src/calibre/utils/fonts/__init__.py @@ -6,120 +6,3 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from calibre.constants import iswindows, isosx - -class Fonts(object): - - def __init__(self): - if iswindows: - from calibre.utils.fonts.win_fonts import load_winfonts - self.backend = load_winfonts() - else: - from calibre.utils.fonts.fc import fontconfig - self.backend = fontconfig - - def find_font_families(self, allowed_extensions={'ttf', 'otf'}): - if iswindows: - return self.backend.font_families() - return self.backend.find_font_families(allowed_extensions=allowed_extensions) - - def find_font_families_no_delay(self, allowed_extensions={'ttf', 'otf'}): - if isosx: - if self.backend.is_scanning(): - return False, [] - return True, self.find_font_families(allowed_extensions=allowed_extensions) - - def files_for_family(self, family, normalize=True): - ''' - Find all the variants in the font family `family`. - Returns a dictionary of tuples. Each tuple is of the form (path to font - file, Full font name). - The keys of the dictionary depend on `normalize`. If `normalize` is `False`, - they are a tuple (slant, weight) otherwise they are strings from the set - `('normal', 'bold', 'italic', 'bi', 'light', 'li')` - ''' - if iswindows: - from calibre.ptempfile import PersistentTemporaryFile - fonts = self.backend.fonts_for_family(family, normalize=normalize) - ans = {} - for ft, val in fonts.iteritems(): - ext, name, data = val - pt = PersistentTemporaryFile('.'+ext) - pt.write(data) - pt.close() - ans[ft] = (pt.name, name) - return ans - return self.backend.files_for_family(family, normalize=normalize) - - def fonts_for_family(self, family, normalize=True): - ''' - Just like files for family, except that it returns 3-tuples of the form - (extension, full name, font data). - ''' - if iswindows: - return self.backend.fonts_for_family(family, normalize=normalize) - files = self.backend.files_for_family(family, normalize=normalize) - ans = {} - for ft, val in files.iteritems(): - f, name = val - ext = f.rpartition('.')[-1].lower() - ans[ft] = (ext, name, open(f, 'rb').read()) - return ans - - def find_font_for_text(self, text, allowed_families={'serif', 'sans-serif'}, - preferred_families=('serif', 'sans-serif', 'monospace', 'cursive', 'fantasy')): - ''' - Find a font on the system capable of rendering the given text. - - Returns a font family (as given by fonts_for_family()) that has a - "normal" font and that can render the supplied text. If no such font - exists, returns None. - - :return: (family name, faces) or None, None - ''' - from calibre.utils.fonts.free_type import FreeType, get_printable_characters, FreeTypeError - from calibre.utils.fonts.utils import panose_to_css_generic_family, get_font_characteristics - ft = FreeType() - found = {} - if not isinstance(text, unicode): - raise TypeError(u'%r is not unicode'%text) - text = get_printable_characters(text) - - def filter_faces(faces): - ans = {} - for k, v in faces.iteritems(): - try: - font = ft.load_font(v[2]) - except FreeTypeError: - continue - if font.supports_text(text, has_non_printable_chars=False): - ans[k] = v - return ans - - for family in sorted(self.find_font_families()): - faces = filter_faces(self.fonts_for_family(family)) - if 'normal' not in faces: - continue - panose = get_font_characteristics(faces['normal'][2])[5] - generic_family = panose_to_css_generic_family(panose) - if generic_family in allowed_families or generic_family == preferred_families[0]: - return (family, faces) - elif generic_family not in found: - found[generic_family] = (family, faces) - - for f in preferred_families: - if f in found: - return found[f] - return None, None - -fontconfig = Fonts() - -def test(): - import os - print(fontconfig.find_font_families()) - m = 'Liberation Serif' - for ft, val in fontconfig.files_for_family(m).iteritems(): - print val[0], ft, val[1], os.path.getsize(val[0]) - -if __name__ == '__main__': - test() diff --git a/src/calibre/utils/fonts/fc.py b/src/calibre/utils/fonts/fc.py deleted file mode 100644 index 73800d1193..0000000000 --- a/src/calibre/utils/fonts/fc.py +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import with_statement - -__license__ = 'GPL v3' -__copyright__ = '2009, Kovid Goyal ' -__docformat__ = 'restructuredtext en' - -import os, sys - -from calibre.constants import plugins, islinux, isbsd, isosx - -_fc, _fc_err = plugins['fontconfig'] - -if _fc is None: - raise RuntimeError('Failed to load fontconfig with error:'+_fc_err) - -if islinux or isbsd: - Thread = object -else: - from threading import Thread - -class FontConfig(Thread): - - def __init__(self): - Thread.__init__(self) - self.daemon = True - self.failed = False - - def run(self): - config = None - if getattr(sys, 'frameworks_dir', False): - config_dir = os.path.join(os.path.dirname( - getattr(sys, 'frameworks_dir')), 'Resources', 'fonts') - if isinstance(config_dir, unicode): - config_dir = config_dir.encode(sys.getfilesystemencoding()) - config = os.path.join(config_dir, 'fonts.conf') - try: - _fc.initialize(config) - except: - import traceback - traceback.print_exc() - self.failed = True - if not self.failed and hasattr(_fc, 'add_font_dir'): - _fc.add_font_dir(P('fonts/liberation')) - - def is_scanning(self): - if isosx: - return self.is_alive() - return False - - def wait(self): - if not (islinux or isbsd): - self.join() - if self.failed: - raise RuntimeError('Failed to initialize fontconfig') - - def find_font_families(self, allowed_extensions={'ttf', 'otf'}): - ''' - Return an alphabetically sorted list of font families available on the system. - - `allowed_extensions`: A list of allowed extensions for font file types. Defaults to - `['ttf', 'otf']`. If it is empty, it is ignored. - ''' - self.wait() - ans = _fc.find_font_families([bytes('.'+x) for x in allowed_extensions]) - ans = sorted(set(ans), cmp=lambda x,y:cmp(x.lower(), y.lower())) - ans2 = [] - for x in ans: - try: - ans2.append(x.decode('utf-8')) - except UnicodeDecodeError: - continue - return ans2 - - def files_for_family(self, family, normalize=True): - ''' - Find all the variants in the font family `family`. - Returns a dictionary of tuples. Each tuple is of the form (path to font - file, Full font name). - The keys of the dictionary depend on `normalize`. If `normalize` is `False`, - they are a tuple (slant, weight) otherwise they are strings from the set - `('normal', 'bold', 'italic', 'bi', 'light', 'li')` - ''' - self.wait() - if isinstance(family, unicode): - family = family.encode('utf-8') - fonts = {} - ofamily = str(family).decode('utf-8') - for fullname, path, style, nfamily, weight, slant in \ - _fc.files_for_family(str(family)): - style = (slant, weight) - if normalize: - italic = slant > 0 - normal = weight == 80 - bold = weight > 80 - if italic: - style = 'italic' if normal else 'bi' if bold else 'li' - else: - style = 'normal' if normal else 'bold' if bold else 'light' - try: - fullname, path = fullname.decode('utf-8'), path.decode('utf-8') - nfamily = nfamily.decode('utf-8') - except UnicodeDecodeError: - continue - if style in fonts: - if nfamily.lower().strip() == ofamily.lower().strip() \ - and 'Condensed' not in fullname and 'ExtraLight' not in fullname: - fonts[style] = (path, fullname) - else: - fonts[style] = (path, fullname) - - return fonts - - def match(self, name, all=False, verbose=False): - ''' - Find the system font that most closely matches `name`, where `name` is a specification - of the form:: - familyname-::... - - For example, `verdana:weight=bold:slant=italic` - - Returns a list of dictionaries, or a single dictionary. - Each dictionary has the keys: - 'weight', 'slant', 'family', 'file', 'fullname', 'style' - - `all`: If `True` return a sorted list of matching fonts, where the sort - is in order of decreasing closeness of matching. If `False` only the - best match is returned. ''' - self.wait() - if isinstance(name, unicode): - name = name.encode('utf-8') - fonts = [] - for fullname, path, style, family, weight, slant in \ - _fc.match(str(name), bool(all), bool(verbose)): - try: - fullname = fullname.decode('utf-8') - path = path.decode('utf-8') - style = style.decode('utf-8') - family = family.decode('utf-8') - fonts.append({ - 'fullname' : fullname, - 'path' : path, - 'style' : style, - 'family' : family, - 'weight' : weight, - 'slant' : slant - }) - except UnicodeDecodeError: - continue - return fonts if all else (fonts[0] if fonts else None) - -fontconfig = FontConfig() -if islinux or isbsd: - # On X11 Qt also uses fontconfig, so initialization must happen in the - # main thread. In any case on X11 initializing fontconfig should be very - # fast - fontconfig.run() -else: - fontconfig.start() - -def test(): - from pprint import pprint; - pprint(fontconfig.find_font_families()) - pprint(fontconfig.files_for_family('liberation serif')) - m = 'liberation serif' - pprint(fontconfig.match(m+':slant=italic:weight=bold', verbose=True)) - -if __name__ == '__main__': - test() diff --git a/src/calibre/utils/fonts/fontconfig.c b/src/calibre/utils/fonts/fontconfig.c deleted file mode 100644 index be1cbdce13..0000000000 --- a/src/calibre/utils/fonts/fontconfig.c +++ /dev/null @@ -1,347 +0,0 @@ -/* -:mod:`fontconfig` -- Pythonic interface to fontconfig -===================================================== - -.. module:: fontconfig - :platform: All - :synopsis: Pythonic interface to the fontconfig library - -.. moduleauthor:: Kovid Goyal Copyright 2009 - -*/ - -#define PY_SSIZE_T_CLEAN -#include -#include -#include -#include - -static PyObject * -fontconfig_initialize(PyObject *self, PyObject *args) { - FcChar8 *path; - FcBool ok; - FcConfig *config; - PyThreadState *_save; - - if (!PyArg_ParseTuple(args, "z", &path)) - return NULL; - if (path == NULL) { - _save = PyEval_SaveThread(); - ok = FcInit(); - PyEval_RestoreThread(_save); - } else { - config = FcConfigCreate(); - if (config == NULL) return PyErr_NoMemory(); - _save = PyEval_SaveThread(); - ok = FcConfigParseAndLoad(config, path, FcTrue); - if (ok) ok = FcConfigBuildFonts(config); - if (ok) ok = FcConfigSetCurrent(config); - PyEval_RestoreThread(_save); - if (!ok) return PyErr_NoMemory(); - ok = 1; - } - if (ok) Py_RETURN_TRUE; - Py_RETURN_FALSE; -} - -static PyObject* -fontconfig_add_font_dir(PyObject *self, PyObject *args) { - FcChar8 *path; - - if (!PyArg_ParseTuple(args, "s", &path)) return NULL; - - if (FcConfigAppFontAddDir(NULL, path)) - Py_RETURN_TRUE; - Py_RETURN_FALSE; -} - -static void -fontconfig_cleanup_find(FcPattern *p, FcObjectSet *oset, FcFontSet *fs) { - if (p != NULL) FcPatternDestroy(p); - if (oset != NULL) FcObjectSetDestroy(oset); - if (fs != NULL) FcFontSetDestroy(fs); -} - - -static PyObject * -fontconfig_find_font_families(PyObject *self, PyObject *args) { - int i; - size_t flen; - char *ext; - Py_ssize_t l, j, extlen; - FcBool ok; - FcPattern *pat, *temp; - FcObjectSet *oset; - FcFontSet *fs; - FcValue v, w; - PyObject *ans, *exts, *t; - - ans = PyList_New(0); - fs = NULL; oset = NULL; pat = NULL; - - if (ans == NULL) return PyErr_NoMemory(); - - if (!PyArg_ParseTuple(args, "O", &exts)) - return NULL; - - if (!PySequence_Check(exts)) { - PyErr_SetString(PyExc_ValueError, "Must pass sequence of extensions"); - return NULL; - } - l = PySequence_Size(exts); - - - pat = FcPatternCreate(); - if (pat == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - oset = FcObjectSetCreate(); - if (oset == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_FILE)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_FAMILY)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - fs = FcFontList(FcConfigGetCurrent(), pat, oset); - if (fs == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - for (i = 0; i < fs->nfont; i++) { - temp = fs->fonts[i]; - - if (temp == NULL) continue; - if (FcPatternGet(temp, FC_FILE, 0, &v) != FcResultMatch) continue; - - if (v.type == FcTypeString) { - flen = strlen((char *)v.u.s); - ok = FcFalse; - if (l == 0) ok = FcTrue; - for ( j = 0; j < l && !ok; j++) { - ext = PyBytes_AS_STRING(PySequence_ITEM(exts, j)); - extlen = PyBytes_GET_SIZE(PySequence_ITEM(exts, j)); - ok = flen > extlen && extlen > 0 && - PyOS_strnicmp(ext, ((char *)v.u.s) + (flen - extlen), extlen) == 0; - } - - if (ok) { - if (FcPatternGet(temp, FC_FAMILY, 0, &w) != FcResultMatch) continue; - if (w.type != FcTypeString) continue; - t = PyString_FromString((char *)w.u.s); - if (t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (PyList_Append(ans, t) != 0) - { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - } - } - - } - fontconfig_cleanup_find(pat, oset, fs); - Py_INCREF(ans); - return ans; -} - -static PyObject * -fontconfig_files_for_family(PyObject *self, PyObject *args) { - char *family; int i; - FcPattern *pat, *tp; - FcObjectSet *oset; - FcFontSet *fs; - FcValue file, weight, fullname, style, slant, family2; - PyObject *ans, *temp, *t; - - if (!PyArg_ParseTuple(args, "s", &family)) - return NULL; - - ans = PyList_New(0); - if (ans == NULL) return PyErr_NoMemory(); - - fs = NULL; oset = NULL; pat = NULL; - - pat = FcPatternBuild(0, FC_FAMILY, FcTypeString, family, (char *) 0); - if (pat == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - oset = FcObjectSetCreate(); - if (oset == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_FILE)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_STYLE)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_SLANT)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_WEIGHT)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, FC_FAMILY)) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcObjectSetAdd(oset, "fullname")) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - fs = FcFontList(FcConfigGetCurrent(), pat, oset); - if (fs == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - for (i = 0; i < fs->nfont; i++) { - tp = fs->fonts[i]; - - if (tp == NULL) continue; - if (FcPatternGet(tp, FC_FILE, 0, &file) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_STYLE, 0, &style) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_WEIGHT, 0, &weight) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_SLANT, 0, &slant) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_FAMILY, 0, &family2) != FcResultMatch) continue; - if (FcPatternGet(tp, "fullname", 0, &fullname) != FcResultMatch) continue; - - temp = PyTuple_New(6); - if(temp == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - t = PyBytes_FromString((char *)fullname.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 0, t); - t = PyBytes_FromString((char *)file.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 1, t); - t = PyBytes_FromString((char *)style.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 2, t); - t = PyBytes_FromString((char *)family2.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 3, t); - t = PyInt_FromLong((long)weight.u.i); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 4, t); - t = PyInt_FromLong((long)slant.u.i); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 5, t); - if (PyList_Append(ans, temp) != 0) - { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - } - fontconfig_cleanup_find(pat, oset, fs); - Py_INCREF(ans); - return ans; -} - -static PyObject * -fontconfig_match(PyObject *self, PyObject *args) { - FcChar8 *namespec; int i; - FcPattern *pat, *tp; - FcObjectSet *oset; - FcFontSet *fs, *fs2; - FcValue file, weight, fullname, style, slant, family; - FcResult res; - PyObject *ans, *temp, *t, *all, *verbose; - - if (!PyArg_ParseTuple(args, "sOO", &namespec, &all, &verbose)) - return NULL; - - ans = PyList_New(0); - if (ans == NULL) return PyErr_NoMemory(); - - fs = NULL; oset = NULL; pat = NULL; fs2 = NULL; - - pat = FcNameParse(namespec); - if (pat == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (PyObject_IsTrue(verbose)) FcPatternPrint(pat); - - if (!FcConfigSubstitute(FcConfigGetCurrent(), pat, FcMatchPattern)) - { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - FcDefaultSubstitute(pat); - - fs = FcFontSetCreate(); - if (fs == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (PyObject_IsTrue(all)) { - fs2 = FcFontSort(FcConfigGetCurrent(), pat, FcTrue, NULL, &res); - if (fs2 == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - for (i = 0; i < fs2->nfont; i++) { - tp = fs2->fonts[i]; - if (tp == NULL) continue; - tp = FcFontRenderPrepare(FcConfigGetCurrent(), pat, tp); - if (tp == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcFontSetAdd(fs, tp)) - { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - } - if (fs2 != NULL) FcFontSetDestroy(fs2); - } else { - tp = FcFontMatch(FcConfigGetCurrent(), pat, &res); - if (tp == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - if (!FcFontSetAdd(fs, tp)) - { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - } - - for (i = 0; i < fs->nfont; i++) { - tp = fs->fonts[i]; - if (tp == NULL) continue; - if (FcPatternGet(tp, FC_FILE, 0, &file) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_STYLE, 0, &style) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_WEIGHT, 0, &weight) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_SLANT, 0, &slant) != FcResultMatch) continue; - if (FcPatternGet(tp, FC_FAMILY, 0, &family) != FcResultMatch) continue; - if (FcPatternGet(tp, "fullname", 0, &fullname) != FcResultMatch) continue; - - temp = PyTuple_New(6); - if(temp == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - t = PyBytes_FromString((char *)fullname.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 0, t); - t = PyBytes_FromString((char *)file.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 1, t); - t = PyBytes_FromString((char *)style.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 2, t); - t = PyBytes_FromString((char *)family.u.s); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 3, t); - t = PyInt_FromLong((long)weight.u.i); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 4, t); - t = PyInt_FromLong((long)slant.u.i); - if(t == NULL) { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - PyTuple_SET_ITEM(temp, 5, t); - if (PyList_Append(ans, temp) != 0) - { fontconfig_cleanup_find(pat, oset, fs); return PyErr_NoMemory(); } - - } - fontconfig_cleanup_find(pat, oset, fs); - Py_INCREF(ans); - return ans; -} - - - -static -PyMethodDef fontconfig_methods[] = { - {"initialize", fontconfig_initialize, METH_VARARGS, - "initialize(path_to_config_file)\n\n" - "Initialize the library. If path to config file is specified it is used instead of the " - "default configuration. Returns True iff the initialization succeeded." - }, - - {"find_font_families", fontconfig_find_font_families, METH_VARARGS, - "find_font_families(allowed_extensions)\n\n" - "Find all font families on the system for fonts of the specified types. If no " - "types are specified all font families are returned." - }, - - {"files_for_family", fontconfig_files_for_family, METH_VARARGS, - "files_for_family(family, normalize)\n\n" - "Find all the variants in the font family `family`. " - "Returns a list of tuples. Each tuple is of the form " - "(fullname, path, style, family, weight, slant). " - }, - - {"match", fontconfig_match, METH_VARARGS, - "match(namespec,all,verbose)\n\n" - "Find all system fonts that match namespec, in decreasing order " - "of closeness. " - "Returns a list of tuples. Each tuple is of the form " - "(fullname, path, style, family, weight, slant). " - - }, - - {"add_font_dir", fontconfig_add_font_dir, METH_VARARGS, - "add_font_dir(path_to_dir)\n\n" - "Add the fonts in the specified directory to the list of application specific fonts." - }, - - {NULL, NULL, 0, NULL} -}; - - - -PyMODINIT_FUNC -initfontconfig(void) { - PyObject *m; - m = Py_InitModule3( - "fontconfig", fontconfig_methods, - "Find fonts." - ); - if (m == NULL) return; -} - diff --git a/src/calibre/utils/fonts/free_type.py b/src/calibre/utils/fonts/free_type.py index a2e8eca213..980bff0f7c 100644 --- a/src/calibre/utils/fonts/free_type.py +++ b/src/calibre/utils/fonts/free_type.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import threading, unicodedata +import threading from functools import wraps from future_builtins import map @@ -20,10 +20,6 @@ class ThreadingViolation(Exception): 'You cannot use the MTP driver from a thread other than the ' ' thread in which startup() was called') -def get_printable_characters(text): - return u''.join(x for x in unicodedata.normalize('NFC', text) - if unicodedata.category(x)[0] not in {'C', 'Z', 'M'}) - def same_thread(func): @wraps(func) def check_thread(self, *args, **kwargs): @@ -55,10 +51,18 @@ class Face(object): if not isinstance(text, unicode): raise TypeError('%r is not a unicode object'%text) if has_non_printable_chars: + from calibre.utils.fonts.utils import get_printable_characters text = get_printable_characters(text) chars = tuple(frozenset(map(ord, text))) return self.face.supports_text(chars) + @same_thread + def glyph_ids(self, text): + if not isinstance(text, unicode): + raise TypeError('%r is not a unicode object'%text) + for char in text: + yield self.face.glyph_id(ord(char)) + class FreeType(object): def __init__(self): @@ -73,26 +77,4 @@ class FreeType(object): def load_font(self, data): return Face(self.ft.load_font(data)) -def test(): - data = P('fonts/calibreSymbols.otf', data=True) - ft = FreeType() - font = ft.load_font(data) - if not font.supports_text('.\u2605★'): - raise RuntimeError('Incorrectly returning that text is not supported') - if font.supports_text('abc'): - raise RuntimeError('Incorrectly claiming that text is supported') - -def test_find_font(): - from calibre.utils.fonts import fontconfig - abcd = '诶比西迪' - family = fontconfig.find_font_for_text(abcd)[0] - print ('Family for Chinese text:', family) - family = fontconfig.find_font_for_text(abcd)[0] - abcd = 'لوحة المفاتيح العربية' - print ('Family for Arabic text:', family) - - -if __name__ == '__main__': - test() - test_find_font() diff --git a/src/calibre/utils/fonts/freetype.cpp b/src/calibre/utils/fonts/freetype.cpp index e4e30000a0..58d014c6b9 100644 --- a/src/calibre/utils/fonts/freetype.cpp +++ b/src/calibre/utils/fonts/freetype.cpp @@ -22,6 +22,7 @@ typedef struct { // ensure it is garbage collected before the library object, to prevent // segfaults. PyObject *library; + PyObject *data; } Face; typedef struct { @@ -40,9 +41,12 @@ Face_dealloc(Face* self) } self->face = NULL; - Py_DECREF(self->library); + Py_XDECREF(self->library); self->library = NULL; + Py_XDECREF(self->data); + self->data = NULL; + self->ob_type->tp_free((PyObject*)self); } @@ -55,8 +59,6 @@ Face_init(Face *self, PyObject *args, PyObject *kwds) PyObject *ft; if (!PyArg_ParseTuple(args, "Os#", &ft, &data, &sz)) return -1; - self->library = ft; - Py_XINCREF(ft); Py_BEGIN_ALLOW_THREADS; error = FT_New_Memory_Face( ( (FreeType*)ft )->library, @@ -70,6 +72,10 @@ Face_init(Face *self, PyObject *args, PyObject *kwds) PyErr_Format(FreeTypeError, "Failed to initialize the Font with error: 0x%x", error); return -1; } + self->library = ft; + Py_XINCREF(ft); + + self->data = PySequence_GetItem(args, 1); return 0; } @@ -109,6 +115,14 @@ supports_text(Face *self, PyObject *args) { return ret; } +static PyObject* +glyph_id(Face *self, PyObject *args) { + unsigned long code; + + if (!PyArg_ParseTuple(args, "k", &code)) return NULL; + return Py_BuildValue("k", (unsigned long)FT_Get_Char_Index(self->face, (FT_ULong)code)); +} + static PyGetSetDef Face_getsetters[] = { {(char *)"family_name", (getter)family_name, NULL, @@ -128,6 +142,10 @@ static PyMethodDef Face_methods[] = { "supports_text(sequence of unicode character codes) -> Return True iff this font has glyphs for all the specified characters." }, + {"glyph_id", (PyCFunction)glyph_id, METH_VARARGS, + "glyph_id(character code) -> Returns the glyph id for the specified character code." + }, + {NULL} /* Sentinel */ }; diff --git a/src/calibre/utils/fonts/metadata.py b/src/calibre/utils/fonts/metadata.py new file mode 100644 index 0000000000..b85a65a9d2 --- /dev/null +++ b/src/calibre/utils/fonts/metadata.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from io import BytesIO +from struct import calcsize, unpack, unpack_from +from collections import namedtuple + +from calibre.utils.fonts.utils import get_font_names2, get_font_characteristics + +class UnsupportedFont(ValueError): + pass + +FontCharacteristics = namedtuple('FontCharacteristics', + 'weight, is_italic, is_bold, is_regular, fs_type, panose, width, is_oblique, is_wws, os2_version') +FontNames = namedtuple('FontNames', + 'family_name, subfamily_name, full_name, preferred_family_name, preferred_subfamily_name, wws_family_name, wws_subfamily_name') + +class FontMetadata(object): + + def __init__(self, bytes_or_stream): + if not hasattr(bytes_or_stream, 'read'): + bytes_or_stream = BytesIO(bytes_or_stream) + f = bytes_or_stream + f.seek(0) + header = f.read(4) + if header not in {b'\x00\x01\x00\x00', b'OTTO'}: + raise UnsupportedFont('Not a supported sfnt variant') + + self.is_otf = header == b'OTTO' + self.read_table_metadata(f) + self.read_names(f) + self.read_characteristics(f) + + f.seek(0) + self.font_family = (self.names.wws_family_name or + self.names.preferred_family_name or self.names.family_name) + wt = self.characteristics.weight + if wt == 400: + wt = 'normal' + elif wt == 700: + wt = 'bold' + else: + wt = type(u'')(wt) + self.font_weight = wt + + self.font_stretch = ('ultra-condensed', 'extra-condensed', + 'condensed', 'semi-condensed', 'normal', 'semi-expanded', + 'expanded', 'extra-expanded', 'ultra-expanded')[ + self.characteristics.width-1] + if self.characteristics.is_oblique: + self.font_style = 'oblique' + elif self.characteristics.is_italic: + self.font_style = 'italic' + else: + self.font_style = 'normal' + + def read_table_metadata(self, f): + f.seek(4) + num_tables = unpack(b'>H', f.read(2))[0] + # Start of table record entries + f.seek(4 + 4*2) + table_record = b'>4s3L' + sz = calcsize(table_record) + self.tables = {} + block = f.read(sz * num_tables) + for i in xrange(num_tables): + table_tag, table_checksum, table_offset, table_length = \ + unpack_from(table_record, block, i*sz) + self.tables[table_tag.lower()] = (table_offset, table_length, + table_checksum) + + def read_names(self, f): + if b'name' not in self.tables: + raise UnsupportedFont('This font has no name table') + toff, tlen = self.tables[b'name'][:2] + f.seek(toff) + table = f.read(tlen) + if len(table) != tlen: + raise UnsupportedFont('This font has a name table of incorrect length') + vals = get_font_names2(table, raw_is_table=True) + self.names = FontNames(*vals) + + def read_characteristics(self, f): + if b'os/2' not in self.tables: + raise UnsupportedFont('This font has no OS/2 table') + toff, tlen = self.tables[b'os/2'][:2] + f.seek(toff) + table = f.read(tlen) + if len(table) != tlen: + raise UnsupportedFont('This font has an OS/2 table of incorrect length') + vals = get_font_characteristics(table, raw_is_table=True) + self.characteristics = FontCharacteristics(*vals) + + def to_dict(self): + ans = { + 'is_otf':self.is_otf, + 'font-family':self.font_family, + 'font-weight':self.font_weight, + 'font-style':self.font_style, + 'font-stretch':self.font_stretch + } + for f in self.names._fields: + ans[f] = getattr(self.names, f) + for f in self.characteristics._fields: + ans[f] = getattr(self.characteristics, f) + return ans + +if __name__ == '__main__': + import sys + with open(sys.argv[-1], 'rb') as f: + fm = FontMetadata(f) + import pprint + pprint.pprint(fm.to_dict()) diff --git a/src/calibre/utils/fonts/scanner.py b/src/calibre/utils/fonts/scanner.py new file mode 100644 index 0000000000..827e5536d5 --- /dev/null +++ b/src/calibre/utils/fonts/scanner.py @@ -0,0 +1,322 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +import os +from collections import defaultdict +from threading import Thread + +from calibre import walk, prints, as_unicode +from calibre.constants import (config_dir, iswindows, isosx, plugins, DEBUG, + isworker) +from calibre.utils.fonts.metadata import FontMetadata, UnsupportedFont +from calibre.utils.icu import sort_key + +class NoFonts(ValueError): + pass + +def font_dirs(): + if iswindows: + winutil, err = plugins['winutil'] + if err: + raise RuntimeError('Failed to load winutil: %s'%err) + return [winutil.special_folder_path(winutil.CSIDL_FONTS)] + if isosx: + return [ + '/Library/Fonts', + '/System/Library/Fonts', + '/usr/share/fonts', + '/var/root/Library/Fonts', + os.path.expanduser('~/.fonts'), + os.path.expanduser('~/Library/Fonts'), + ] + return [ + '/opt/share/fonts', + '/usr/share/fonts', + '/usr/local/share/fonts', + os.path.expanduser('~/.fonts') + ] + +class Scanner(Thread): + + CACHE_VERSION = 1 + + def __init__(self, folders=[], allowed_extensions={'ttf', 'otf'}): + Thread.__init__(self) + self.folders = folders + font_dirs() + [os.path.join(config_dir, 'fonts'), + P('fonts/liberation')] + self.folders = [os.path.normcase(os.path.abspath(f)) for f in + self.folders] + self.font_families = () + self.allowed_extensions = allowed_extensions + + # API {{{ + def find_font_families(self): + self.join() + return self.font_families + + def fonts_for_family(self, family): + ''' + Return a list of the faces belonging to the specified family. The first + face is the "Regular" face of family. Each face is a dictionary with + many keys, the most important of which are: path, font-family, + font-weight, font-style, font-stretch. The font-* properties follow the + CSS 3 Fonts specification. + ''' + self.join() + try: + return self.font_family_map[icu_lower(family)] + except KeyError: + raise NoFonts('No fonts found for the family: %r'%family) + + def legacy_fonts_for_family(self, family): + ''' + Return a simple set of regular, bold, italic and bold-italic faces for + the specified family. Returns a dictionary with each element being a + 2-tuple of (path to font, full font name) and the keys being: normal, + bold, italic, bi. + ''' + ans = {} + try: + faces = self.fonts_for_family(family) + except NoFonts: + return ans + for i, face in enumerate(faces): + if i == 0: + key = 'normal' + elif face['font-style'] in {'italic', 'oblique'}: + key = 'bi' if face['font-weight'] == 'bold' else 'italic' + elif face['font-weight'] == 'bold': + key = 'bold' + else: + continue + ans[key] = (face['path'], face['full_name']) + return ans + + def get_font_data(self, font_or_path): + path = font_or_path + if isinstance(font_or_path, dict): + path = font_or_path['path'] + with lopen(path, 'rb') as f: + return f.read() + + def find_font_for_text(self, text, allowed_families={'serif', 'sans-serif'}, + preferred_families=('serif', 'sans-serif', 'monospace', 'cursive', 'fantasy')): + ''' + Find a font on the system capable of rendering the given text. + + Returns a font family (as given by fonts_for_family()) that has a + "normal" font and that can render the supplied text. If no such font + exists, returns None. + + :return: (family name, faces) or None, None + ''' + from calibre.utils.fonts.utils import (supports_text, + panose_to_css_generic_family, get_printable_characters) + if not isinstance(text, unicode): + raise TypeError(u'%r is not unicode'%text) + text = get_printable_characters(text) + found = {} + + def filter_faces(font): + try: + raw = self.get_font_data(font) + return supports_text(raw, text) + except: + pass + return False + + for family in self.find_font_families(): + faces = filter(filter_faces, self.fonts_for_family(family)) + if not faces: continue + generic_family = panose_to_css_generic_family(faces[0]['panose']) + if generic_family in allowed_families or generic_family == preferred_families[0]: + return (family, faces) + elif generic_family not in found: + found[generic_family] = (family, faces) + + for f in preferred_families: + if f in found: + return found[f] + return None, None + # }}} + + def reload_cache(self): + if not hasattr(self, 'cache'): + from calibre.utils.config import JSONConfig + self.cache = JSONConfig('fonts/scanner_cache') + else: + self.cache.refresh() + if self.cache.get('version', None) != self.CACHE_VERSION: + self.cache.clear() + self.cached_fonts = self.cache.get('fonts', {}) + + def run(self): + self.do_scan() + + def do_scan(self): + self.reload_cache() + + if isworker: + # Dont scan font files in worker processes, use whatever is + # cached. Font files typically dont change frequently enough to + # justify a rescan in a worker process. + self.build_families() + return + + cached_fonts = self.cached_fonts.copy() + self.cached_fonts.clear() + for folder in self.folders: + if not os.path.isdir(folder): + continue + try: + files = tuple(walk(folder)) + except EnvironmentError as e: + if DEBUG: + prints('Failed to walk font folder:', folder, + as_unicode(e)) + continue + for candidate in files: + if (candidate.rpartition('.')[-1].lower() not in self.allowed_extensions + or not os.path.isfile(candidate)): + continue + candidate = os.path.normcase(os.path.abspath(candidate)) + try: + s = os.stat(candidate) + except EnvironmentError: + continue + fileid = '{0}||{1}:{2}'.format(candidate, s.st_size, s.st_mtime) + if fileid in cached_fonts: + # Use previously cached metadata, since the file size and + # last modified timestamp have not changed. + self.cached_fonts[fileid] = cached_fonts[fileid] + continue + try: + self.read_font_metadata(candidate, fileid) + except Exception as e: + if DEBUG: + prints('Failed to read metadata from font file:', + candidate, as_unicode(e)) + continue + + if frozenset(cached_fonts) != frozenset(self.cached_fonts): + # Write out the cache only if some font files have changed + self.write_cache() + + self.build_families() + + def font_priority(self, font): + ''' + Try to ensure that the "Regular" face is the first font for a given + family. + ''' + style_normal = font['font-style'] == 'normal' + width_normal = font['font-stretch'] == 'normal' + weight_normal = font['font-weight'] == 'normal' + num_normal = sum(filter(None, (style_normal, width_normal, + weight_normal))) + subfamily_name = (font['wws_subfamily_name'] or + font['preferred_subfamily_name'] or font['subfamily_name']) + if num_normal == 3 and subfamily_name == 'Regular': + return 0 + if num_normal == 3: + return 1 + if subfamily_name == 'Regular': + return 2 + return 3 + (3 - num_normal) + + def build_families(self): + families = defaultdict(list) + for f in self.cached_fonts.itervalues(): + if not f: continue + lf = icu_lower(f['font-family'] or '') + if lf: + families[lf].append(f) + + for fonts in families.itervalues(): + # Look for duplicate font files and choose the copy that is from a + # more significant font directory (prefer user directories over + # system directories). + fmap = {} + remove = [] + for f in fonts: + fingerprint = (icu_lower(f['font-family']), f['font-weight'], + f['font-stretch'], f['font-style']) + if fingerprint in fmap: + opath = fmap[fingerprint]['path'] + npath = f['path'] + if self.path_significance(npath) >= self.path_significance(opath): + remove.append(fmap[fingerprint]) + fmap[fingerprint] = f + else: + remove.append(f) + else: + fmap[fingerprint] = f + for font in remove: + fonts.remove(font) + fonts.sort(key=self.font_priority) + + self.font_family_map = dict.copy(families) + self.font_families = tuple(sorted((f[0]['font-family'] for f in + self.font_family_map.itervalues()), key=sort_key)) + + def path_significance(self, path): + path = os.path.normcase(os.path.abspath(path)) + for i, q in enumerate(self.folders): + if path.startswith(q): + return i + return -1 + + def write_cache(self): + with self.cache: + self.cache['version'] = self.CACHE_VERSION + self.cache['fonts'] = self.cached_fonts + + def force_rescan(self): + self.cached_fonts = {} + self.write_cache() + + def read_font_metadata(self, path, fileid): + with lopen(path, 'rb') as f: + try: + fm = FontMetadata(f) + except UnsupportedFont: + self.cached_fonts[fileid] = {} + else: + data = fm.to_dict() + data['path'] = path + self.cached_fonts[fileid] = data + + def dump_fonts(self): + self.join() + for family in self.font_families: + prints(family) + for font in self.fonts_for_family(family): + prints('\t%s: %s'%(font['full_name'], font['path'])) + prints(end='\t') + for key in ('font-stretch', 'font-weight', 'font-style'): + prints('%s: %s'%(key, font[key]), end=' ') + prints() + prints('\tSub-family:', font['wws_subfamily_name'] or + font['preferred_subfamily_name'] or + font['subfamily_name']) + prints() + prints() + +font_scanner = Scanner() +font_scanner.start() + +def force_rescan(): + font_scanner.join() + font_scanner.force_rescan() + font_scanner.run() + +if __name__ == '__main__': + font_scanner.dump_fonts() + + diff --git a/src/calibre/utils/fonts/sfnt/__init__.py b/src/calibre/utils/fonts/sfnt/__init__.py new file mode 100644 index 0000000000..f3e0a2eae8 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/__init__.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from datetime import datetime, timedelta + +def align_block(raw, multiple=4, pad=b'\0'): + ''' + Return raw with enough pad bytes append to ensure its length is a multiple + of 4. + ''' + extra = len(raw) % multiple + if extra == 0: return raw + return raw + pad*(multiple - extra) + +class UnknownTable(object): + + def __init__(self, raw): + self.raw = raw + + def __call__(self): + return self.raw + + def __len__(self): + return len(self.raw) + +class DateTimeProperty(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, type=None): + return datetime(1904, 1, 1) + timedelta(seconds=getattr(obj, + self.name)) + + def __set__(self, obj, val): + td = val - datetime(1904, 1, 1) + setattr(obj, self.name, int(td.total_seconds())) + +class FixedProperty(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, type=None): + val = getattr(obj, self.name) + return val / 0x10000 + + def __set__(self, obj, val): + return int(round(val*(0x10000))) + +def max_power_of_two(x): + """ + Return the highest exponent of two, so that + (2 ** exponent) <= x + """ + exponent = 0 + while x: + x = x >> 1 + exponent += 1 + return max(exponent - 1, 0) + +def load_font(stream_or_path): + raw = stream_or_path + if hasattr(raw, 'read'): + raw = raw.read() + from calibre.utils.fonts.sfnt.container import Sfnt + return Sfnt(raw) + diff --git a/src/calibre/utils/fonts/sfnt/cff.py b/src/calibre/utils/fonts/sfnt/cff.py new file mode 100644 index 0000000000..641fa17d97 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/cff.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from struct import unpack_from, unpack + +from calibre.utils.fonts.sfnt import UnknownTable +from calibre.utils.fonts.sfnt.errors import UnsupportedFont + +# Useful links +# http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5176.CFF.pdf +# http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5177.Type2.pdf + +class CFF(object): + + def __init__(self, raw): + (self.major_version, self.minor_version, self.header_size, + self.offset_size) = unpack_from(b'>4B', raw) + if (self.major_version, self.minor_version) != (1, 0): + raise UnsupportedFont('The CFF table has unknown version: ' + '(%d, %d)'%(self.major_version, self.minor_version)) + offset = self.header_size + + # Read Names Index + self.font_names = Index(raw, offset) + offset = self.font_names.pos + if len(self.font_names) > 1: + raise UnsupportedFont('CFF table has more than one font.') + # Read Top Dict + self.top_index = Index(raw, offset) + offset = self.top_index.pos + + # Read strings + self.strings = Strings(raw, offset) + offset = self.strings.pos + print (self.strings[len(cff_standard_strings):]) + +class Index(list): + + def __init__(self, raw, offset): + list.__init__(self) + + count = unpack_from(b'>H', raw, offset)[0] + offset += 2 + self.pos = offset + + if count > 0: + self.offset_size = unpack_from(b'>B', raw, offset)[0] + offset += 1 + if self.offset_size == 3: + offsets = [unpack(b'>L', b'\0' + raw[i:i+3])[0] + for i in xrange(offset, 3*(count+2), 3)] + else: + fmt = {1:'B', 2:'H', 4:'L'}.get(self.offset_size) + fmt = ('>%d%s'%(count+1, fmt)).encode('ascii') + offsets = unpack_from(fmt, raw, offset) + offset += self.offset_size * (count+1) - 1 + + for i in xrange(len(offsets)-1): + off, noff = offsets[i:i+2] + obj = raw[offset+i:offset+noff] + self.append(obj) + + self.pos = offset + offsets[-1] + +class Strings(Index): + + def __init__(self, raw, offset): + super(Strings, self).__init__(raw, offset) + for x in reversed(cff_standard_strings): + self.insert(0, x) + +class CFFTable(UnknownTable): + + def decompile(self): + self.cff = CFF(self.raw) + +# cff_standard_strings {{{ +# The 391 Standard Strings as used in the CFF format. +# from Adobe Technical None #5176, version 1.0, 18 March 1998 + +cff_standard_strings = [ +'.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', +'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', +'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', +'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', +'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', +'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', +'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', +'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', +'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', +'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', +'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', +'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', +'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', +'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', +'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', +'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', +'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', +'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', +'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', +'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', +'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', +'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', +'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', +'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', +'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', +'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', +'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', +'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', +'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', +'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', +'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', +'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', +'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', +'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', +'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', +'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior', +'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', +'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', +'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl', 'parenleftinferior', +'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', +'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', +'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', +'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', +'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', +'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', +'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', +'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', +'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', +'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'foursuperior', +'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', +'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', +'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', +'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', +'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', +'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', +'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', +'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', +'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', +'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', +'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', +'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000', '001.001', '001.002', +'001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', +'Semibold' +] +# }}} + diff --git a/src/calibre/utils/fonts/sfnt/cff/__init__.py b/src/calibre/utils/fonts/sfnt/cff/__init__.py new file mode 100644 index 0000000000..743a9d0561 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/cff/__init__.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + + + diff --git a/src/calibre/utils/fonts/sfnt/cff/dict_data.py b/src/calibre/utils/fonts/sfnt/cff/dict_data.py new file mode 100644 index 0000000000..2238a514a3 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/cff/dict_data.py @@ -0,0 +1,201 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from struct import unpack + +t1_operand_encoding = [None] * 256 +t1_operand_encoding[0:32] = (32) * ["do_operator"] +t1_operand_encoding[32:247] = (247 - 32) * ["read_byte"] +t1_operand_encoding[247:251] = (251 - 247) * ["read_small_int1"] +t1_operand_encoding[251:255] = (255 - 251) * ["read_small_int2"] +t1_operand_encoding[255] = "read_long_int" + +t2_operand_encoding = t1_operand_encoding[:] +t2_operand_encoding[28] = "read_short_int" +t2_operand_encoding[255] = "read_fixed_1616" + +cff_dict_operand_encoding = t2_operand_encoding[:] +cff_dict_operand_encoding[29] = "read_long_int" +cff_dict_operand_encoding[30] = "read_real_number" +cff_dict_operand_encoding[255] = "reserved" + +real_nibbles = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + '.', 'E', 'E-', None, '-'] + +class SimpleConverter(object): + + def read(self, parent, value): + return value + + def write(self, parent, value): + return value + +class TODO(SimpleConverter): + pass + +class Reader(dict): + + def read_byte(self, b0, data, index): + return b0 - 139, index + + def read_small_int1(self, b0, data, index): + b1 = ord(data[index]) + return (b0-247)*256 + b1 + 108, index+1 + + def read_small_int2(self, b0, data, index): + b1 = ord(data[index]) + return -(b0-251)*256 - b1 - 108, index+1 + + def read_short_int(self, b0, data, index): + bin = data[index] + data[index+1] + value, = unpack(b">h", bin) + return value, index+2 + + def read_long_int(self, b0, data, index): + bin = data[index] + data[index+1] + data[index+2] + data[index+3] + value, = unpack(b">l", bin) + return value, index+4 + + def read_fixed_1616(self, b0, data, index): + bin = data[index] + data[index+1] + data[index+2] + data[index+3] + value, = unpack(b">l", bin) + return value / 65536.0, index+4 + + def read_real_number(self, b0, data, index): + number = '' + while True: + b = ord(data[index]) + index = index + 1 + nibble0 = (b & 0xf0) >> 4 + nibble1 = b & 0x0f + if nibble0 == 0xf: + break + number = number + real_nibbles[nibble0] + if nibble1 == 0xf: + break + number = number + real_nibbles[nibble1] + return float(number), index + +class Dict(Reader): + + operand_encoding = cff_dict_operand_encoding + TABLE = [] + + def __init__(self): + Reader.__init__(self) + table = self.TABLE[:] + for i in xrange(len(table)): + op, name, arg, default, conv = table[i] + if conv is not None: + continue + if arg in ("delta", "array", 'number', 'SID'): + conv = SimpleConverter() + else: + raise Exception('Should not happen') + table[i] = op, name, arg, default, conv + + + self.operators = {op:(name, arg) for op, name, arg, default, conv in + table} + + def decompile(self, strings, global_subrs, data): + self.strings = strings + self.global_subrs = global_subrs + self.stack = [] + index = 0 + while index < len(data): + b0 = ord(data[index]) + index += 1 + handler = getattr(self, self.operand_encoding[b0]) + value, index = handler(b0, data, index) + if value is not None: + self.stack.append(value) + + def do_operator(self, b0, data, index): + if b0 == 12: + op = (b0, ord(data[index])) + index += 1 + else: + op = b0 + operator, arg_type = self.operators[op] + self.handle_operator(operator, arg_type) + return None, index + + def handle_operator(self, operator, arg_type): + if isinstance(arg_type, tuple): + value = () + for i in xrange(len(arg_type)-1, -1, -1): + arg = arg_type[i] + arghandler = getattr(self, 'arg_' + arg) + value = (arghandler(operator),) + value + else: + arghandler = getattr(self, 'arg_' + arg_type) + value = arghandler(operator) + self[operator] = value + + def arg_number(self, name): + return self.stack.pop() + + def arg_SID(self, name): + return self.strings[self.stack.pop()] + + def arg_array(self, name): + ans = self.stack[:] + del self.stack[:] + return ans + + def arg_delta(self, name): + out = [] + current = 0 + for v in self.stack: + current = current + v + out.append(current) + del self.stack[:] + return out + +class TopDict(Dict): + + TABLE = [ + #opcode name argument type default converter + ((12, 30), 'ROS', ('SID','SID','number'), None, SimpleConverter()), + ((12, 20), 'SyntheticBase', 'number', None, None), + (0, 'version', 'SID', None, None), + (1, 'Notice', 'SID', None, None), + ((12, 0), 'Copyright', 'SID', None, None), + (2, 'FullName', 'SID', None, None), + ((12, 38), 'FontName', 'SID', None, None), + (3, 'FamilyName', 'SID', None, None), + (4, 'Weight', 'SID', None, None), + ((12, 1), 'isFixedPitch', 'number', 0, None), + ((12, 2), 'ItalicAngle', 'number', 0, None), + ((12, 3), 'UnderlinePosition', 'number', None, None), + ((12, 4), 'UnderlineThickness', 'number', 50, None), + ((12, 5), 'PaintType', 'number', 0, None), + ((12, 6), 'CharstringType', 'number', 2, None), + ((12, 7), 'FontMatrix', 'array', [0.001,0,0,0.001,0,0], None), + (13, 'UniqueID', 'number', None, None), + (5, 'FontBBox', 'array', [0,0,0,0], None), + ((12, 8), 'StrokeWidth', 'number', 0, None), + (14, 'XUID', 'array', None, None), + ((12, 21), 'PostScript', 'SID', None, None), + ((12, 22), 'BaseFontName', 'SID', None, None), + ((12, 23), 'BaseFontBlend', 'delta', None, None), + ((12, 31), 'CIDFontVersion', 'number', 0, None), + ((12, 32), 'CIDFontRevision', 'number', 0, None), + ((12, 33), 'CIDFontType', 'number', 0, None), + ((12, 34), 'CIDCount', 'number', 8720, None), + (15, 'charset', 'number', 0, TODO()), + ((12, 35), 'UIDBase', 'number', None, None), + (16, 'Encoding', 'number', 0, TODO()), + (18, 'Private', ('number','number'), None, TODO()), + ((12, 37), 'FDSelect', 'number', None, TODO()), + ((12, 36), 'FDArray', 'number', None, TODO()), + (17, 'CharStrings', 'number', None, TODO()), + ] + diff --git a/src/calibre/utils/fonts/sfnt/cff/table.py b/src/calibre/utils/fonts/sfnt/cff/table.py new file mode 100644 index 0000000000..47dc891346 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/cff/table.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from struct import unpack_from, unpack + +from calibre.utils.fonts.sfnt import UnknownTable +from calibre.utils.fonts.sfnt.errors import UnsupportedFont +from calibre.utils.fonts.sfnt.cff.dict_data import TopDict + +# Useful links +# http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5176.CFF.pdf +# http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5177.Type2.pdf + +class CFF(object): + + def __init__(self, raw): + (self.major_version, self.minor_version, self.header_size, + self.offset_size) = unpack_from(b'>4B', raw) + if (self.major_version, self.minor_version) != (1, 0): + raise UnsupportedFont('The CFF table has unknown version: ' + '(%d, %d)'%(self.major_version, self.minor_version)) + offset = self.header_size + + # Read Names Index + self.font_names = Index(raw, offset) + offset = self.font_names.pos + if len(self.font_names) > 1: + raise UnsupportedFont('CFF table has more than one font.') + + # Read Top Dict + self.top_index = Index(raw, offset) + self.top_dict = TopDict() + offset = self.top_index.pos + + # Read strings + self.strings = Strings(raw, offset) + offset = self.strings.pos + + # Read global subroutines + self.global_subrs = GlobalSubrs(raw, offset) + offset = self.global_subrs.pos + + # Decompile Top Dict + self.top_dict.decompile(self.strings, self.global_subrs, self.top_index[0]) + import pprint + pprint.pprint(self.top_dict) + +class Index(list): + + def __init__(self, raw, offset, prepend=()): + list.__init__(self) + self.extend(prepend) + + count = unpack_from(b'>H', raw, offset)[0] + offset += 2 + self.pos = offset + + if count > 0: + self.offset_size = unpack_from(b'>B', raw, offset)[0] + offset += 1 + if self.offset_size == 3: + offsets = [unpack(b'>L', b'\0' + raw[i:i+3])[0] + for i in xrange(offset, 3*(count+2), 3)] + else: + fmt = {1:'B', 2:'H', 4:'L'}.get(self.offset_size) + fmt = ('>%d%s'%(count+1, fmt)).encode('ascii') + offsets = unpack_from(fmt, raw, offset) + offset += self.offset_size * (count+1) - 1 + + for i in xrange(len(offsets)-1): + off, noff = offsets[i:i+2] + obj = raw[offset+off:offset+noff] + self.append(obj) + + self.pos = offset + offsets[-1] + +class Strings(Index): + + def __init__(self, raw, offset): + super(Strings, self).__init__(raw, offset, prepend=cff_standard_strings) + +class GlobalSubrs(Index): + pass + +class CFFTable(UnknownTable): + + def decompile(self): + self.cff = CFF(self.raw) + +# cff_standard_strings {{{ +# The 391 Standard Strings as used in the CFF format. +# from Adobe Technical None #5176, version 1.0, 18 March 1998 + +cff_standard_strings = [ +'.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', +'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', +'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', +'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', +'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', +'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', +'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', +'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', +'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', +'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', +'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', +'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', +'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', +'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', +'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', +'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', +'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', +'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', +'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', +'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', +'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', +'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', +'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', +'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', +'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', +'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', +'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', +'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', +'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', +'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', +'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', +'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', +'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', +'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', +'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', +'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior', +'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', +'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', +'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl', 'parenleftinferior', +'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', +'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', +'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', +'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', +'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', +'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', +'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', +'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', +'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', +'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'foursuperior', +'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', +'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', +'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', +'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', +'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', +'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', +'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', +'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', +'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', +'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', +'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', +'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000', '001.001', '001.002', +'001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', +'Semibold' +] +# }}} + diff --git a/src/calibre/utils/fonts/sfnt/cmap.py b/src/calibre/utils/fonts/sfnt/cmap.py new file mode 100644 index 0000000000..a00eb56d6f --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/cmap.py @@ -0,0 +1,236 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +# Note that the code for creating a BMP table (cmap format 4) is taken with +# thanks from the fonttools project (BSD licensed). + +from struct import unpack_from, calcsize, pack +from collections import OrderedDict + +from calibre.utils.fonts.utils import get_bmp_glyph_ids +from calibre.utils.fonts.sfnt import UnknownTable, max_power_of_two +from calibre.utils.fonts.sfnt.errors import UnsupportedFont + +def split_range(start_code, end_code, cmap): # {{{ + # Try to split a range of character codes into subranges with consecutive + # glyph IDs in such a way that the cmap4 subtable can be stored "most" + # efficiently. + if start_code == end_code: + return [], [end_code] + + last_id = cmap[start_code] + last_code = start_code + in_order = None + ordered_begin = None + sub_ranges = [] + + # Gather subranges in which the glyph IDs are consecutive. + for code in range(start_code + 1, end_code + 1): + glyph_id = cmap[code] + + if glyph_id - 1 == last_id: + if in_order is None or not in_order: + in_order = 1 + ordered_begin = last_code + else: + if in_order: + in_order = 0 + sub_ranges.append((ordered_begin, last_code)) + ordered_begin = None + + last_id = glyph_id + last_code = code + + if in_order: + sub_ranges.append((ordered_begin, last_code)) + assert last_code == end_code + + # Now filter out those new subranges that would only make the data bigger. + # A new segment cost 8 bytes, not using a new segment costs 2 bytes per + # character. + new_ranges = [] + for b, e in sub_ranges: + if b == start_code and e == end_code: + break # the whole range, we're fine + if b == start_code or e == end_code: + threshold = 4 # split costs one more segment + else: + threshold = 8 # split costs two more segments + if (e - b + 1) > threshold: + new_ranges.append((b, e)) + sub_ranges = new_ranges + + if not sub_ranges: + return [], [end_code] + + if sub_ranges[0][0] != start_code: + sub_ranges.insert(0, (start_code, sub_ranges[0][0] - 1)) + if sub_ranges[-1][1] != end_code: + sub_ranges.append((sub_ranges[-1][1] + 1, end_code)) + + # Fill the "holes" in the segments list -- those are the segments in which + # the glyph IDs are _not_ consecutive. + i = 1 + while i < len(sub_ranges): + if sub_ranges[i-1][1] + 1 != sub_ranges[i][0]: + sub_ranges.insert(i, (sub_ranges[i-1][1] + 1, sub_ranges[i][0] - 1)) + i = i + 1 + i = i + 1 + + # Transform the ranges into start_code/end_code lists. + start = [] + end = [] + for b, e in sub_ranges: + start.append(b) + end.append(e) + start.pop(0) + + assert len(start) + 1 == len(end) + return start, end +# }}} + +def set_id_delta(id_delta): # {{{ + # The lowest gid in glyphIndexArray, after subtracting id_delta, must be 1. + # id_delta is a short, and must be between -32K and 32K + # startCode can be between 0 and 64K-1, and the first glyph index can be between 1 and 64K-1 + # This means that we have a problem because we can need to assign to + # id_delta values + # between -(64K-2) and 64K -1. + # Since the final gi is reconstructed from the glyphArray GID by: + # (short)finalGID = (gid + id_delta) % 0x10000), + # we can get from a startCode of 0 to a final GID of 64 -1K by subtracting 1, and casting the + # negative number to an unsigned short. + # Similarly , we can get from a startCode of 64K-1 to a final GID of 1 by adding 2, because of + # the modulo arithmetic. + + if id_delta > 0x7FFF: + id_delta = id_delta - 0x10000 + elif id_delta < -0x7FFF: + id_delta = id_delta + 0x10000 + + return id_delta +# }}} + +class CmapTable(UnknownTable): + + def __init__(self, *args, **kwargs): + super(CmapTable, self).__init__(*args, **kwargs) + + self.version, self.num_tables = unpack_from(b'>HH', self.raw) + + self.tables = {} + + offset = 4 + sz = calcsize(b'>HHL') + recs = [] + for i in xrange(self.num_tables): + platform, encoding, table_offset = unpack_from(b'>HHL', self.raw, + offset) + offset += sz + recs.append((platform, encoding, table_offset)) + + self.bmp_table = None + + for i in xrange(len(recs)): + platform, encoding, offset = recs[i] + try: + next_offset = recs[i+1][-1] + except IndexError: + next_offset = len(self.raw) + table = self.raw[offset:next_offset] + if table: + fmt = unpack_from(b'>H', table)[0] + if platform == 3 and encoding == 1 and fmt == 4: + self.bmp_table = table + + def get_character_map(self, chars): + ''' + Get a mapping of character codes to glyph ids in the font. + ''' + if self.bmp_table is None: + raise UnsupportedFont('This font has no Windows BMP cmap subtable.' + ' Most likely a special purpose font.') + chars = list(set(chars)) + chars.sort() + ans = OrderedDict() + for i, glyph_id in enumerate(get_bmp_glyph_ids(self.bmp_table, 0, + chars)): + if glyph_id > 0: + ans[chars[i]] = glyph_id + return ans + + def set_character_map(self, cmap): + self.version, self.num_tables = 0, 1 + fmt = b'>7H' + codes = list(cmap.iterkeys()) + codes.sort() + + if not codes: + start_code = [0xffff] + end_code = [0xffff] + else: + last_code = codes[0] + end_code = [] + start_code = [last_code] + + for code in codes[1:]: + if code == last_code + 1: + last_code = code + continue + start, end = split_range(start_code[-1], last_code, cmap) + start_code.extend(start) + end_code.extend(end) + start_code.append(code) + last_code = code + end_code.append(last_code) + start_code.append(0xffff) + end_code.append(0xffff) + + id_delta = [] + id_range_offset = [] + glyph_index_array = [] + for i in xrange(len(end_code)-1): # skip the closing codes (0xffff) + indices = [] + for char_code in xrange(start_code[i], end_code[i] + 1): + indices.append(cmap[char_code]) + if (indices == xrange(indices[0], indices[0] + len(indices))): + id_delta_temp = set_id_delta(indices[0] - start_code[i]) + id_delta.append(id_delta_temp) + id_range_offset.append(0) + else: + id_delta.append(0) + id_range_offset.append(2 * (len(end_code) + + len(glyph_index_array) - i)) + glyph_index_array.extend(indices) + id_delta.append(1) # 0xffff + 1 == 0. So this end code maps to .notdef + id_range_offset.append(0) + + seg_count = len(end_code) + max_exponent = max_power_of_two(seg_count) + search_range = 2 * (2 ** max_exponent) + entry_selector = max_exponent + range_shift = 2 * seg_count - search_range + + char_code_array = end_code + [0] + start_code + char_code_array = pack(b'>%dH'%len(char_code_array), *char_code_array) + id_delta_array = pack(b'>%dh'%len(id_delta), *id_delta) + rest_array = id_range_offset + glyph_index_array + rest_array = pack(b'>%dH'%len(rest_array), *rest_array) + data = char_code_array + id_delta_array + rest_array + + length = calcsize(fmt) + len(data) + header = pack(fmt, 4, length, 0, + 2*seg_count, search_range, entry_selector, range_shift) + self.bmp_table = header + data + + fmt = b'>4HL' + offset = calcsize(fmt) + self.raw = pack(fmt, self.version, self.num_tables, 3, 1, offset) + \ + self.bmp_table + diff --git a/src/calibre/utils/fonts/sfnt/container.py b/src/calibre/utils/fonts/sfnt/container.py new file mode 100644 index 0000000000..5ef3c157c6 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/container.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from struct import pack, calcsize +from io import BytesIO +from collections import OrderedDict + +from calibre.utils.fonts.utils import (get_tables, checksum_of_block, + verify_checksums) +from calibre.utils.fonts.sfnt import align_block, UnknownTable, max_power_of_two +from calibre.utils.fonts.sfnt.errors import UnsupportedFont + +from calibre.utils.fonts.sfnt.head import HeadTable +from calibre.utils.fonts.sfnt.maxp import MaxpTable +from calibre.utils.fonts.sfnt.loca import LocaTable +from calibre.utils.fonts.sfnt.glyf import GlyfTable +from calibre.utils.fonts.sfnt.cmap import CmapTable +from calibre.utils.fonts.sfnt.cff.table import CFFTable + +# OpenType spec: http://www.microsoft.com/typography/otspec/otff.htm + +class Sfnt(object): + + def __init__(self, raw): + self.sfnt_version = raw[:4] + if self.sfnt_version not in {b'\x00\x01\x00\x00', b'OTTO', b'true', + b'type1'}: + raise UnsupportedFont('Font has unknown sfnt version: %r'%self.sfnt_version) + self.read_tables(raw) + + def read_tables(self, raw): + self.tables = {} + for table_tag, table, table_index, table_offset, table_checksum in get_tables(raw): + self.tables[table_tag] = { + b'head' : HeadTable, + b'maxp' : MaxpTable, + b'loca' : LocaTable, + b'glyf' : GlyfTable, + b'cmap' : CmapTable, + b'CFF ' : CFFTable, + }.get(table_tag, UnknownTable)(table) + + def __getitem__(self, key): + return self.tables[key] + + def __contains__(self, key): + return key in self.tables + + def __delitem__(self, key): + del self.tables[key] + + def __iter__(self): + '''Iterate over the table tags in optimal order as per + http://partners.adobe.com/public/developer/opentype/index_recs.html''' + keys = list(self.tables.keys()) + order = {x:i for i, x in enumerate((b'head', b'hhea', b'maxp', b'OS/2', + b'hmtx', b'LTSH', b'VDMX', b'hdmx', b'cmap', b'fpgm', b'prep', + b'cvt ', b'loca', b'glyf', b'CFF ', b'kern', b'name', b'post', + b'gasp', b'PCLT', b'DSIG'))} + keys.sort(key=lambda x:order.get(x, 1000)) + for x in keys: + yield x + + def pop(self, key, default=None): + return self.tables.pop(key, default) + + def sizes(self): + ans = OrderedDict() + for tag in self: + ans[tag] = len(self[tag]) + return ans + + def __call__(self): + stream = BytesIO() + + def spack(*args): + stream.write(pack(*args)) + + stream.seek(0) + + # Write header + num_tables = len(self.tables) + ln2 = max_power_of_two(num_tables) + srange = (2**ln2) * 16 + spack(b'>4s4H', + self.sfnt_version, num_tables, srange, ln2, num_tables * 16 - srange) + + # Write tables + head_offset = None + table_data = [] + offset = stream.tell() + ( calcsize(b'>4s3L') * num_tables ) + sizes = OrderedDict() + for tag in self: + table = self.tables[tag] + raw = table() + table_len = len(raw) + if tag == b'head': + head_offset = offset + raw = raw[:8] + b'\0\0\0\0' + raw[12:] + raw = align_block(raw) + checksum = checksum_of_block(raw) + spack(b'>4s3L', tag, checksum, offset, table_len) + offset += len(raw) + table_data.append(raw) + sizes[tag] = table_len + + for x in table_data: + stream.write(x) + + checksum = checksum_of_block(stream.getvalue()) + q = (0xB1B0AFBA - checksum) & 0xffffffff + stream.seek(head_offset + 8) + spack(b'>L', q) + + return stream.getvalue(), sizes + +def test_roundtrip(ff=None): + if ff is None: + data = P('fonts/liberation/LiberationSerif-Regular.ttf', data=True) + else: + with open(ff, 'rb') as f: + data = f.read() + rd = Sfnt(data)()[0] + verify_checksums(rd) + if data[:12] != rd[:12]: + raise ValueError('Roundtripping failed, font header not the same') + if len(data) != len(rd): + raise ValueError('Roundtripping failed, size different') + +if __name__ == '__main__': + import sys + test_roundtrip(sys.argv[-1]) + diff --git a/src/calibre/utils/fonts/sfnt/errors.py b/src/calibre/utils/fonts/sfnt/errors.py new file mode 100644 index 0000000000..c2a918d78b --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/errors.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +class UnsupportedFont(ValueError): + pass + +class NoGlyphs(ValueError): + pass + diff --git a/src/calibre/utils/fonts/sfnt/glyf.py b/src/calibre/utils/fonts/sfnt/glyf.py new file mode 100644 index 0000000000..decf9dc576 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/glyf.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from struct import unpack_from +from collections import OrderedDict + +from calibre.utils.fonts.sfnt import UnknownTable + +ARG_1_AND_2_ARE_WORDS = 0x0001 # if set args are words otherwise they are bytes +ARGS_ARE_XY_VALUES = 0x0002 # if set args are xy values, otherwise they are points +ROUND_XY_TO_GRID = 0x0004 # for the xy values if above is true +WE_HAVE_A_SCALE = 0x0008 # Sx = Sy, otherwise scale == 1.0 +NON_OVERLAPPING = 0x0010 # set to same value for all components (obsolete!) +MORE_COMPONENTS = 0x0020 # indicates at least one more glyph after this one +WE_HAVE_AN_X_AND_Y_SCALE = 0x0040 # Sx, Sy +WE_HAVE_A_TWO_BY_TWO = 0x0080 # t00, t01, t10, t11 +WE_HAVE_INSTRUCTIONS = 0x0100 # instructions follow +USE_MY_METRICS = 0x0200 # apply these metrics to parent glyph +OVERLAP_COMPOUND = 0x0400 # used by Apple in GX fonts +SCALED_COMPONENT_OFFSET = 0x0800 # composite designed to have the component offset scaled (designed for Apple) +UNSCALED_COMPONENT_OFFSET = 0x1000 # composite designed not to have the component offset scaled (designed for MS) + +class SimpleGlyph(object): + + def __init__(self, num_of_countours, raw): + self.num_of_countours = num_of_countours + self.raw = raw + # The list of glyph indices referred to by this glyph, will always be + # empty for a simple glyph and not empty for a composite glyph + self.glyph_indices = [] + self.is_composite = False + + def __len__(self): + return len(self.raw) + + def __call__(self): + return self.raw + +class CompositeGlyph(SimpleGlyph): + + def __init__(self, num_of_countours, raw): + super(CompositeGlyph, self).__init__(num_of_countours, raw) + self.is_composite = True + + flags = MORE_COMPONENTS + offset = 10 + while flags & MORE_COMPONENTS: + flags, glyph_index = unpack_from(b'>HH', raw, offset) + self.glyph_indices.append(glyph_index) + offset += 4 + if flags & ARG_1_AND_2_ARE_WORDS: + offset += 4 + else: + offset += 2 + if flags & WE_HAVE_A_SCALE: + offset += 2 + elif flags & WE_HAVE_AN_X_AND_Y_SCALE: + offset += 4 + elif flags & WE_HAVE_A_TWO_BY_TWO: + offset += 8 + +class GlyfTable(UnknownTable): + + def glyph_data(self, offset, length): + raw = self.raw[offset:offset+length] + num_of_countours = unpack_from(b'>h', raw)[0] if raw else 0 + if num_of_countours >= 0: + return SimpleGlyph(num_of_countours, raw) + return CompositeGlyph(num_of_countours, raw) + + def update(self, sorted_glyph_map): + ans = OrderedDict() + offset = 0 + block = [] + for glyph_id, glyph in sorted_glyph_map.iteritems(): + raw = glyph() + ans[glyph_id] = (offset, len(raw)) + offset += len(raw) + block.append(raw) + self.raw = b''.join(block) + return ans + diff --git a/src/calibre/utils/fonts/sfnt/head.py b/src/calibre/utils/fonts/sfnt/head.py new file mode 100644 index 0000000000..584d685cc5 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/head.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from itertools import izip +from struct import unpack_from, pack + +from calibre.utils.fonts.sfnt import UnknownTable, DateTimeProperty, FixedProperty + +class HeadTable(UnknownTable): + + created = DateTimeProperty('_created') + modified = DateTimeProperty('_modified') + version_number = FixedProperty('_version_number') + font_revision = FixedProperty('_font_revision') + + def __init__(self, *args, **kwargs): + super(HeadTable, self).__init__(*args, **kwargs) + + field_types = ( + '_version_number' , 'l', + '_font_revision' , 'l', + 'checksum_adjustment' , 'L', + 'magic_number' , 'L', + 'flags' , 'H', + 'units_per_em' , 'H', + '_created' , 'q', + '_modified' , 'q', + 'x_min' , 'H', + 'y_min' , 'H', + 'x_max' , 'H', + 'y_max' , 'H', + 'mac_style' , 'H', + 'lowest_rec_ppem' , 'H', + 'font_direction_hint' , 'h', + 'index_to_loc_format' , 'h', + 'glyph_data_format' , 'h' + ) + + self._fmt = ('>%s'%(''.join(field_types[1::2]))).encode('ascii') + self._fields = field_types[0::2] + + for f, val in izip(self._fields, unpack_from(self._fmt, self.raw)): + setattr(self, f, val) + + def update(self): + vals = [getattr(self, f) for f in self._fields] + self.raw = pack(self._fmt, *vals) + + diff --git a/src/calibre/utils/fonts/sfnt/loca.py b/src/calibre/utils/fonts/sfnt/loca.py new file mode 100644 index 0000000000..062cf561aa --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/loca.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from struct import calcsize, unpack_from, pack +from operator import itemgetter + +from calibre.utils.fonts.sfnt import UnknownTable + +class LocaTable(UnknownTable): + + def load_offsets(self, head_table, maxp_table): + fmt = 'H' if head_table.index_to_loc_format == 0 else 'L' + num_glyphs = maxp_table.num_glyphs + sz = calcsize(('>%s'%fmt).encode('ascii')) + num = len(self.raw)//sz + self.offset_map = unpack_from(('>%d%s'%(num, fmt)).encode('ascii'), + self.raw) + self.offset_map = self.offset_map[:num_glyphs+1] + if fmt == 'H': + self.offset_map = [2*i for i in self.offset_map] + self.fmt = fmt + + def glyph_location(self, glyph_id): + offset = self.offset_map[glyph_id] + next_offset = self.offset_map[glyph_id+1] + return offset, next_offset - offset + + def subset(self, resolved_glyph_map): + ''' + Update this table to contain pointers only to the glyphs in + resolved_glyph_map which must be a map of glyph_ids to (offset, sz) + ''' + self.offset_map = [0 for i in self.offset_map] + glyphs = [(glyph_id, x[0], x[1]) for glyph_id, x in + resolved_glyph_map.iteritems()] + glyphs.sort(key=itemgetter(1)) + for glyph_id, offset, sz in glyphs: + self.offset_map[glyph_id] = offset + self.offset_map[glyph_id+1] = offset + sz + # Fix all zero entries to be the same as the previous entry, which + # means that if the ith entry is zero, the i-1 glyph is not present. + for i in xrange(1, len(self.offset_map)): + if self.offset_map[i] == 0: + self.offset_map[i] = self.offset_map[i-1] + + vals = self.offset_map + if self.fmt == 'H': + vals = [i//2 for i in self.offset_map] + + self.raw = pack(('>%d%s'%(len(vals), self.fmt)).encode('ascii'), *vals) + + def dump_glyphs(self, sfnt): + if not hasattr(self, 'offset_map'): + self.load_offsets(sfnt[b'head'], sfnt[b'maxp']) + for i in xrange(len(self.offset_map)-1): + off, noff = self.offset_map[i], self.offset_map[i+1] + if noff != off: + print ('Glyph id:', i, 'size:', noff-off) + + diff --git a/src/calibre/utils/fonts/sfnt/maxp.py b/src/calibre/utils/fonts/sfnt/maxp.py new file mode 100644 index 0000000000..443d01b79e --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/maxp.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from itertools import izip +from struct import unpack_from, pack + +from calibre.utils.fonts.sfnt import UnknownTable, FixedProperty +from calibre.utils.fonts.sfnt.errors import UnsupportedFont + +class MaxpTable(UnknownTable): + + version = FixedProperty('_version') + + def __init__(self, *args, **kwargs): + super(MaxpTable, self).__init__(*args, **kwargs) + + self._fmt = b'>lH' + self._version, self.num_glyphs = unpack_from(self._fmt, self.raw) + self.fields = ('_version', 'num_glyphs') + + if self.version > 1.0: + raise UnsupportedFont('This font has a maxp table with version: %s' + %self.version) + if self.version == 1.0: + self.fields = ('_version', 'num_glyphs', 'max_points', + 'max_contours', 'max_composite_points', + 'max_composite_contours', 'max_zones', + 'max_twilight_points', 'max_storage', 'max_function_defs', + 'max_instruction_defs', 'max_stack_elements', + 'max_size_of_instructions', 'max_component_elements', + 'max_component_depth') + self._fmt = b'>lH' + b'H'*(len(self.fields)-2) + + vals = unpack_from(self._fmt, self.raw) + for f, val in izip(self.fields, vals): + setattr(self, f, val) + + def update(self): + vals = [getattr(self, f) for f in self._fields] + self.raw = pack(self._fmt, *vals) + + + diff --git a/src/calibre/utils/fonts/sfnt/subset.py b/src/calibre/utils/fonts/sfnt/subset.py new file mode 100644 index 0000000000..c7e3ec8c34 --- /dev/null +++ b/src/calibre/utils/fonts/sfnt/subset.py @@ -0,0 +1,279 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from collections import OrderedDict +from operator import itemgetter + +from calibre.utils.fonts.sfnt.container import Sfnt +from calibre.utils.fonts.sfnt.errors import UnsupportedFont, NoGlyphs + +# TrueType outlines {{{ + +def resolve_glyphs(loca, glyf, character_map): + unresolved_glyphs = set(character_map.itervalues()) + unresolved_glyphs.add(0) # We always want the .notdef glyph + resolved_glyphs = {} + + while unresolved_glyphs: + glyph_id = unresolved_glyphs.pop() + try: + offset, length = loca.glyph_location(glyph_id) + except (IndexError, ValueError, KeyError, TypeError): + continue + if length < 1: + continue + glyph = glyf.glyph_data(offset, length) + if len(glyph) == 0: + continue + resolved_glyphs[glyph_id] = glyph + for gid in glyph.glyph_indices: + if gid not in resolved_glyphs: + unresolved_glyphs.add(gid) + + return OrderedDict(sorted(resolved_glyphs.iteritems(), key=itemgetter(0))) + +def subset_truetype(sfnt, character_map): + loca = sfnt[b'loca'] + glyf = sfnt[b'glyf'] + + try: + head, maxp = sfnt[b'head'], sfnt[b'maxp'] + except KeyError: + raise UnsupportedFont('This font does not contain head and/or maxp tables') + loca.load_offsets(head, maxp) + + resolved_glyphs = resolve_glyphs(loca, glyf, character_map) + if not resolved_glyphs or set(resolved_glyphs) == {0}: + raise NoGlyphs('This font has no glyphs for the specified character ' + 'set, subsetting it is pointless') + + # Keep only character codes that have resolved glyphs + for code, glyph_id in tuple(character_map.iteritems()): + if glyph_id not in resolved_glyphs: + del character_map[code] + + # Update the glyf table + glyph_offset_map = glyf.update(resolved_glyphs) + + # Update the loca table + loca.subset(glyph_offset_map) + +# }}} + +def subset_postscript(sfnt, character_map): + cff = sfnt[b'CFF '] + cff.decompile() + raise Exception('TODO: Implement CFF subsetting') + +def subset(raw, individual_chars, ranges=()): + chars = list(map(ord, individual_chars)) + for r in ranges: + chars += list(xrange(ord(r[0]), ord(r[1])+1)) + + sfnt = Sfnt(raw) + old_sizes = sfnt.sizes() + + # Remove the Digital Signature table since it is useless in a subset + # font anyway + sfnt.pop(b'DSIG', None) + + try: + cmap = sfnt[b'cmap'] + except KeyError: + raise UnsupportedFont('This font has no cmap table') + + # Get mapping of chars to glyph ids for all specified chars + character_map = cmap.get_character_map(chars) + + if b'loca' in sfnt and b'glyf' in sfnt: + # TrueType Outlines + subset_truetype(sfnt, character_map) + elif b'CFF ' in sfnt: + # PostScript Outlines + from calibre.utils.config_base import tweaks + if tweaks['subset_cff_table']: + subset_postscript(sfnt, character_map) + else: + raise UnsupportedFont('This font contains PostScript outlines, ' + 'subsetting not supported') + else: + raise UnsupportedFont('This font does not contain TrueType ' + 'or PostScript outlines') + + # Restrict the cmap table to only contain entries for the resolved glyphs + cmap.set_character_map(character_map) + + raw, new_sizes = sfnt() + return raw, old_sizes, new_sizes + +# CLI {{{ +def option_parser(): + import textwrap + from calibre.utils.config import OptionParser + parser = OptionParser(usage=textwrap.dedent('''\ + %prog [options] input_font_file output_font_file characters_to_keep + + Subset the specified font, keeping only the glyphs for the characters in + characters_to_keep. characters_to_keep is a comma separated list of characters of + the form: a,b,c,A-Z,0-9,xyz + + You can specify ranges in the list of characters, as shown above. + ''')) + parser.add_option('-c', '--codes', default=False, action='store_true', + help='If specified, the list of characters is interpreted as ' + 'numeric unicode codes instead of characters. So to specify the ' + 'characters a,b you would use 97,98') + parser.prog = 'subset-font' + return parser + +def print_stats(old_stats, new_stats): + from calibre import prints + prints('========= Table comparison (original vs. subset) =========') + prints('Table', ' ', '%10s'%'Size', ' ', 'Percent', ' ', '%10s'%'New Size', + ' New Percent') + prints('='*80) + old_total = sum(old_stats.itervalues()) + new_total = sum(new_stats.itervalues()) + tables = sorted(old_stats.iterkeys(), key=lambda x:old_stats[x], + reverse=True) + for table in tables: + osz = old_stats[table] + op = osz/old_total * 100 + nsz = new_stats.get(table, 0) + np = nsz/new_total * 100 + suffix = ' | same size' + if nsz != osz: + suffix = ' | reduced to %.1f %%'%(nsz/osz * 100) + prints('%4s'%table, ' ', '%10s'%osz, ' ', '%5.1f %%'%op, ' ', + '%10s'%nsz, ' ', '%5.1f %%'%np, suffix) + prints('='*80) + + +def main(args): + import sys, time + from calibre import prints + parser = option_parser() + opts, args = parser.parse_args(args) + if len(args) < 4 or len(args) > 4: + parser.print_help() + raise SystemExit(1) + iff, off, chars = args[1:] + with open(iff, 'rb') as f: + orig = f.read() + + chars = [x.strip() for x in chars.split(',')] + individual, ranges = set(), set() + + def not_single(c): + if len(c) > 1: + prints(c, 'is not a single character', file=sys.stderr) + raise SystemExit(1) + + for c in chars: + if '-' in c: + parts = [x.strip() for x in c.split('-')] + if len(parts) != 2: + prints('Invalid range:', c, file=sys.stderr) + raise SystemExit(1) + if opts.codes: + parts = tuple(map(unichr, map(int, parts))) + map(not_single, parts) + ranges.add(tuple(parts)) + else: + if opts.codes: + c = unichr(int(c)) + not_single(c) + individual.add(c) + st = time.time() + sf, old_stats, new_stats = subset(orig, individual, ranges) + taken = time.time() - st + reduced = (len(sf)/len(orig)) * 100 + def sz(x): + return '%gKB'%(len(x)/1024.) + print_stats(old_stats, new_stats) + prints('Original size:', sz(orig), 'Subset size:', sz(sf), 'Reduced to: %g%%'%(reduced)) + prints('Subsetting took %g seconds'%taken) + with open(off, 'wb') as f: + f.write(sf) + prints('Subset font written to:', off) + +if __name__ == '__main__': + try: + import init_calibre + init_calibre + except ImportError: + pass + import sys + main(sys.argv) +# }}} + +# Tests {{{ +def test_mem(): + from calibre.utils.mem import memory + import gc + gc.collect() + start_mem = memory() + raw = P('fonts/liberation/LiberationSerif-Regular.ttf', data=True) + calls = 1000 + for i in xrange(calls): + subset(raw, (), (('a', 'z'),)) + del raw + for i in xrange(3): gc.collect() + print ('Leaked memory per call:', (memory() - start_mem)/calls*1024, 'KB') + +def test(): + raw = P('fonts/liberation/LiberationSerif-Regular.ttf', data=True) + sf, old_stats, new_stats = subset(raw, set(('a', 'b', 'c')), ()) + if len(sf) > 0.3 * len(raw): + raise Exception('Subsetting failed') + +def all(): + from calibre.utils.fonts.scanner import font_scanner + failed = [] + unsupported = [] + total = 0 + for family in font_scanner.find_font_families(): + for font in font_scanner.fonts_for_family(family): + raw = font_scanner.get_font_data(font) + print ('Subsetting', font['full_name'], end='\t') + total += 1 + try: + sf, old_stats, new_stats = subset(raw, set(('a', 'b', 'c')), ()) + except NoGlyphs: + print('No glyphs!') + continue + except UnsupportedFont as e: + unsupported.append((font['full_name'], font['path'], unicode(e))) + print ('Unsupported!') + continue + except Exception as e: + print ('Failed!') + failed.append((font['full_name'], font['path'], unicode(e))) + else: + print ('Reduced to:', '%.1f'%( + sum(new_stats.itervalues())/sum(old_stats.itervalues()) + * 100), '%') + if unsupported: + print ('\n\nUnsupported:') + for name, path, err in unsupported: + print (name, path, err) + print() + if failed: + print ('\n\nFailures:') + for name, path, err in failed: + print (name, path, err) + print() + + print('Total:', total, 'Unsupported:', len(unsupported), 'Failed:', + len(failed)) + + +# }}} + + diff --git a/src/calibre/utils/fonts/utils.py b/src/calibre/utils/fonts/utils.py index 4fcaa20c44..8aeaccc16a 100644 --- a/src/calibre/utils/fonts/utils.py +++ b/src/calibre/utils/fonts/utils.py @@ -14,6 +14,11 @@ from collections import defaultdict class UnsupportedFont(ValueError): pass +def get_printable_characters(text): + import unicodedata + return u''.join(x for x in unicodedata.normalize('NFC', text) + if unicodedata.category(x)[0] not in {'C', 'Z', 'M'}) + def is_truetype_font(raw): sfnt_version = raw[:4] return (sfnt_version in {b'\x00\x01\x00\x00', b'OTTO'}, sfnt_version) @@ -36,15 +41,19 @@ def get_table(raw, name): return table, table_index, table_offset, table_checksum return None, None, None, None -def get_font_characteristics(raw): +def get_font_characteristics(raw, raw_is_table=False): ''' - Return (weight, is_italic, is_bold, is_regular, fs_type, panose). These + Return (weight, is_italic, is_bold, is_regular, fs_type, panose, width, + is_oblique, is_wws). These values are taken from the OS/2 table of the font. See http://www.microsoft.com/typography/otspec/os2.htm for details ''' - os2_table = get_table(raw, 'os/2')[0] - if os2_table is None: - raise UnsupportedFont('Not a supported font, has no OS/2 table') + if raw_is_table: + os2_table = raw + else: + os2_table = get_table(raw, 'os/2')[0] + if os2_table is None: + raise UnsupportedFont('Not a supported font, has no OS/2 table') common_fields = b'>Hh3H11h' (version, char_width, weight, width, fs_type, subscript_x_size, @@ -65,10 +74,12 @@ def get_font_characteristics(raw): offset += 4 selection, = struct.unpack_from(b'>H', os2_table, offset) - is_italic = (selection & 0b1) != 0 - is_bold = (selection & 0b100000) != 0 - is_regular = (selection & 0b1000000) != 0 - return weight, is_italic, is_bold, is_regular, fs_type, panose + is_italic = (selection & (1 << 0)) != 0 + is_bold = (selection & (1 << 5)) != 0 + is_regular = (selection & (1 << 6)) != 0 + is_wws = (selection & (1 << 8)) != 0 + is_oblique = (selection & (1 << 9)) != 0 + return weight, is_italic, is_bold, is_regular, fs_type, panose, width, is_oblique, is_wws, version def panose_to_css_generic_family(panose): proportion = panose[3] @@ -142,10 +153,13 @@ def decode_name_record(recs): return None -def get_font_names(raw): - table = get_table(raw, 'name')[0] - if table is None: - raise UnsupportedFont('Not a supported font, has no name table') +def _get_font_names(raw, raw_is_table=False): + if raw_is_table: + table = raw + else: + table = get_table(raw, 'name')[0] + if table is None: + raise UnsupportedFont('Not a supported font, has no name table') table_type, count, string_offset = struct.unpack_from(b'>3H', table) records = defaultdict(list) @@ -161,12 +175,32 @@ def get_font_names(raw): records[name_id].append((platform_id, encoding_id, language_id, src)) + return records + +def get_font_names(raw, raw_is_table=False): + records = _get_font_names(raw, raw_is_table) family_name = decode_name_record(records[1]) subfamily_name = decode_name_record(records[2]) full_name = decode_name_record(records[4]) return family_name, subfamily_name, full_name +def get_font_names2(raw, raw_is_table=False): + records = _get_font_names(raw, raw_is_table) + + family_name = decode_name_record(records[1]) + subfamily_name = decode_name_record(records[2]) + full_name = decode_name_record(records[4]) + + preferred_family_name = decode_name_record(records[16]) + preferred_subfamily_name = decode_name_record(records[17]) + + wws_family_name = decode_name_record(records[21]) + wws_subfamily_name = decode_name_record(records[22]) + + return (family_name, subfamily_name, full_name, preferred_family_name, + preferred_subfamily_name, wws_family_name, wws_subfamily_name) + def checksum_of_block(raw): extra = 4 - len(raw)%4 raw += b'\0'*extra @@ -238,25 +272,129 @@ def remove_embed_restriction(raw): verify_checksums(raw) return raw +def get_bmp_glyph_ids(table, bmp, codes): + length, language, segcount = struct.unpack_from(b'>3H', table, bmp+2) + array_len = segcount //2 + offset = bmp + 7*2 + array_sz = 2*array_len + array = b'>%dH'%array_len + end_count = struct.unpack_from(array, table, offset) + offset += array_sz + 2 + start_count = struct.unpack_from(array, table, offset) + offset += array_sz + id_delta = struct.unpack_from(array.replace(b'H', b'h'), table, offset) + offset += array_sz + range_offset = struct.unpack_from(array, table, offset) + if length + bmp < offset + array_sz: + raise ValueError('cmap subtable length is too small') + glyph_id_len = (length + bmp - (offset + array_sz))//2 + glyph_id_map = struct.unpack_from(b'>%dH'%glyph_id_len, table, offset + + array_sz) + + for code in codes: + found = False + for i, ec in enumerate(end_count): + if ec >= code: + sc = start_count[i] + if sc <= code: + found = True + ro = range_offset[i] + if ro == 0: + glyph_id = id_delta[i] + code + else: + idx = ro//2 + (code - sc) + i - array_len + glyph_id = glyph_id_map[idx] + if glyph_id != 0: + glyph_id += id_delta[i] + yield glyph_id % 0x1000 + break + if not found: + yield 0 + +def get_glyph_ids(raw, text, raw_is_table=False): + if not isinstance(text, unicode): + raise TypeError('%r is not a unicode object'%text) + if raw_is_table: + table = raw + else: + table = get_table(raw, 'cmap')[0] + if table is None: + raise UnsupportedFont('Not a supported font, has no cmap table') + version, num_tables = struct.unpack_from(b'>HH', table) + bmp_table = None + for i in xrange(num_tables): + platform_id, encoding_id, offset = struct.unpack_from(b'>HHL', table, + 4 + (i*8)) + if platform_id == 3 and encoding_id == 1: + table_format = struct.unpack_from(b'>H', table, offset)[0] + if table_format == 4: + bmp_table = offset + break + if bmp_table is None: + raise UnsupportedFont('Not a supported font, has no format 4 cmap table') + + for glyph_id in get_bmp_glyph_ids(table, bmp_table, map(ord, text)): + yield glyph_id + +def supports_text(raw, text, has_only_printable_chars=False): + if not isinstance(text, unicode): + raise TypeError('%r is not a unicode object'%text) + if not has_only_printable_chars: + text = get_printable_characters(text) + try: + for glyph_id in get_glyph_ids(raw, text): + if glyph_id == 0: + return False + except: + return False + return True + def get_font_for_text(text, candidate_font_data=None): ok = False if candidate_font_data is not None: - from calibre.utils.fonts.free_type import FreeType, FreeTypeError - ft = FreeType() - try: - font = ft.load_font(candidate_font_data) - ok = font.supports_text(text) - except FreeTypeError: - ok = True + ok = supports_text(candidate_font_data, text) if not ok: - from calibre.utils.fonts import fontconfig - family, faces = fontconfig.find_font_for_text(text) - if family is not None: - f = faces.get('bold', faces['normal']) - candidate_font_data = f[2] + from calibre.utils.fonts.scanner import font_scanner + family, faces = font_scanner.find_font_for_text(text) + if faces: + with lopen(faces[0]['path'], 'rb') as f: + candidate_font_data = f.read() return candidate_font_data +def test_glyph_ids(): + from calibre.utils.fonts.free_type import FreeType + data = P('fonts/liberation/LiberationSerif-Regular.ttf', data=True) + ft = FreeType() + font = ft.load_font(data) + text = u'诶йab' + ft_glyphs = tuple(font.glyph_ids(text)) + glyphs = tuple(get_glyph_ids(data, text)) + if ft_glyphs != glyphs: + raise Exception('My code and FreeType differ on the glyph ids') + +def test_supports_text(): + data = P('fonts/calibreSymbols.otf', data=True) + if not supports_text(data, '.\u2605★'): + raise RuntimeError('Incorrectly returning that text is not supported') + if supports_text(data, 'abc'): + raise RuntimeError('Incorrectly claiming that text is supported') + +def test_find_font(): + from calibre.utils.fonts.scanner import font_scanner + abcd = '诶比西迪' + family = font_scanner.find_font_for_text(abcd)[0] + print ('Family for Chinese text:', family) + family = font_scanner.find_font_for_text(abcd)[0] + abcd = 'لوحة المفاتيح العربية' + print ('Family for Arabic text:', family) + + def test(): + test_glyph_ids() + test_supports_text() + test_find_font() + +def main(): import sys, os for f in sys.argv[1:]: print (os.path.basename(f)) @@ -270,5 +408,5 @@ def test(): if __name__ == '__main__': - test() + main() diff --git a/src/calibre/utils/localunzip.py b/src/calibre/utils/localunzip.py new file mode 100644 index 0000000000..48c51b7af6 --- /dev/null +++ b/src/calibre/utils/localunzip.py @@ -0,0 +1,267 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +''' +Try to read invalid zip files with missing or damaged central directories. +These are apparently produced in large numbers by the fruitcakes over at B&N. + +Tries to only use the local headers to extract data from the damaged zip file. +''' + +import os, sys, zlib, shutil +from struct import calcsize, unpack, pack +from collections import namedtuple, OrderedDict +from tempfile import SpooledTemporaryFile + +HEADER_SIG = 0x04034b50 +HEADER_BYTE_SIG = pack(b' 20: + raise ValueError('This ZIP file uses unsupported features') + if header.flags & 0b1: + raise ValueError('This ZIP file is encrypted') + if header.flags & (1 << 3): + raise ValueError('This ZIP file uses data descriptors. This is unsupported') + if header.flags & (1 << 13): + raise ValueError('This ZIP file uses masking, unsupported.') + if header.compression_method not in {ZIP_STORED, ZIP_DEFLATED}: + raise ValueError('This ZIP file uses an unsupported compression method') + fname = extra = None + if header.filename_length > 0: + fname = f.read(header.filename_length) + if len(fname) != header.filename_length: + return + try: + fname = fname.decode('ascii') + except UnicodeDecodeError: + if header.flags & (1 << 11): + try: + fname = fname.decode('utf-8') + except UnicodeDecodeError: + pass + fname = decode_arcname(fname).replace('\\', '/') + if header.extra_length > 0: + extra = f.read(header.extra_length) + if len(extra) != header.extra_length: + return + return LocalHeader(*( + header[:-2] + (fname, extra) + )) + +def read_compressed_data(f, header): + cdata = f.read(header.compressed_size) + return cdata + +def copy_stored_file(src, size, dest): + read = 0 + amt = min(size, 20*1024) + while read < size: + raw = src.read(min(size-read, amt)) + if not raw: + raise ValueError('Premature end of file') + dest.write(raw) + read += len(raw) + +def copy_compressed_file(src, size, dest): + d = zlib.decompressobj(-15) + read = 0 + amt = min(size, 20*1024) + while read < size: + raw = src.read(min(size-read, amt)) + read += len(raw) + dest.write(d.decompress(raw, 200*1024)) + count = 0 + while d.unconsumed_tail: + count += 1 + dest.write(d.decompress(d.unconsumed_tail, 200*1024)) + + if count > 100: + raise ValueError('This ZIP file contains a ZIP bomb in %s'% + os.path.basename(dest.name)) + +def _extractall(f, path=None, file_info=None): + found = False + while True: + header = read_local_file_header(f) + if not header: + break + found = True + parts = header.filename.split('/') + if header.uncompressed_size == 0: + # Directory + f.seek(f.tell() + header.compressed_size) + if path is not None: + bdir = os.path.join(path, *parts) + if not os.path.exists(bdir): + os.makedirs(bdir) + continue + + # File + if file_info is not None: + file_info[header.filename] = (f.tell(), header) + if path is not None: + bdir = os.path.join(path, *(parts[:-1])) + if not os.path.exists(bdir): + os.makedirs(bdir) + dest = os.path.join(path, *parts) + with open(dest, 'wb') as o: + if header.compression_method == ZIP_STORED: + copy_stored_file(f, header.compressed_size, o) + else: + copy_compressed_file(f, header.compressed_size, o) + else: + f.seek(f.tell() + header.compressed_size) + + if not found: + raise ValueError('Not a ZIP file') + + +def extractall(path_or_stream, path=None): + f = path_or_stream + close_at_end = False + if not hasattr(f, 'read'): + f = open(f, 'rb') + close_at_end = True + if path is None: + path = os.getcwdu() + pos = f.tell() + try: + _extractall(f, path) + finally: + f.seek(pos) + if close_at_end: + f.close() + + +class LocalZipFile(object): + + def __init__(self, stream): + self.file_info = OrderedDict() + _extractall(stream, file_info=self.file_info) + self.stream = stream + + def open(self, name, spool_size=5*1024*1024): + if isinstance(name, LocalHeader): + name = name.filename + try: + offset, header = self.file_info.get(name) + except KeyError: + raise ValueError('This ZIP container has no file named: %s'%name) + + self.stream.seek(offset) + dest = SpooledTemporaryFile(max_size=spool_size) + + if header.compression_method == ZIP_STORED: + copy_stored_file(self.stream, header.compressed_size, dest) + else: + copy_compressed_file(self.stream, header.compressed_size, dest) + dest.seek(0) + return dest + + def getinfo(self, name): + try: + offset, header = self.file_info.get(name) + except KeyError: + raise ValueError('This ZIP container has no file named: %s'%name) + return header + + def read(self, name, spool_size=5*1024*1024): + with self.open(name, spool_size=spool_size) as f: + return f.read() + + def extractall(self, path=None): + self.stream.seek(0) + _extractall(self.stream, path=(path or os.getcwdu())) + + def close(self): + pass + + def safe_replace(self, name, datastream, extra_replacements={}, + add_missing=False): + from calibre.utils.zipfile import ZipFile, ZipInfo + replacements = {name:datastream} + replacements.update(extra_replacements) + names = frozenset(replacements.keys()) + found = set([]) + with SpooledTemporaryFile(max_size=100*1024*1024) as temp: + ztemp = ZipFile(temp, 'w') + for offset, header in self.file_info.itervalues(): + if header.filename in names: + zi = ZipInfo(header.filename) + zi.compress_type = header.compression_method + ztemp.writestr(zi, replacements[header.filename].read()) + found.add(header.filename) + else: + ztemp.writestr(header.filename, self.read(header.filename, + spool_size=0)) + if add_missing: + for name in names - found: + ztemp.writestr(name, replacements[name].read()) + ztemp.close() + zipstream = self.stream + temp.seek(0) + zipstream.seek(0) + zipstream.truncate() + shutil.copyfileobj(temp, zipstream) + zipstream.flush() + +if __name__ == '__main__': + extractall(sys.argv[-1]) + diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py index a937e055ac..cbf1e1b245 100644 --- a/src/calibre/utils/search_query_parser.py +++ b/src/calibre/utils/search_query_parser.py @@ -212,7 +212,11 @@ class SearchQueryParser(object): # another search. def _parse(self, query, candidates=None): self.recurse_level += 1 - res = self._parser.parseString(query)[0] + try: + res = self._parser.parseString(query)[0] + except RuntimeError: + import repr + raise ParseException('Failed to parse query, recursion limit reached: %s'%repr(query)) if candidates is None: candidates = self.universal_set() t = self.evaluate(res, candidates) diff --git a/src/calibre/utils/smtp.py b/src/calibre/utils/smtp.py index e15afbd56d..9fef6b8e6d 100644 --- a/src/calibre/utils/smtp.py +++ b/src/calibre/utils/smtp.py @@ -259,6 +259,7 @@ def config(defaults=None): c.add_opt('from_') c.add_opt('accounts', default={}) c.add_opt('subjects', default={}) + c.add_opt('aliases', default={}) c.add_opt('relay_host') c.add_opt('relay_port', default=25) c.add_opt('relay_username') diff --git a/src/calibre/utils/windows/winutil.c b/src/calibre/utils/windows/winutil.c index 53ebfcca89..f0bb6b6f77 100644 --- a/src/calibre/utils/windows/winutil.c +++ b/src/calibre/utils/windows/winutil.c @@ -467,11 +467,11 @@ eject_drive_letter(WCHAR DriveLetter) { DeviceNumber = -1; - hVolume = CreateFile(szVolumeAccessPath, 0, + hVolume = CreateFileW(szVolumeAccessPath, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hVolume == INVALID_HANDLE_VALUE) { - PyErr_SetString(PyExc_ValueError, "Invalid handle value for drive letter"); + PyErr_SetFromWindowsErr(0); return FALSE; } @@ -529,11 +529,17 @@ eject_drive_letter(WCHAR DriveLetter) { static PyObject * winutil_eject_drive(PyObject *self, PyObject *args) { - char DriveLetter; + char letter = '0'; + WCHAR DriveLetter = L'0'; - if (!PyArg_ParseTuple(args, "c", &DriveLetter)) return NULL; + if (!PyArg_ParseTuple(args, "c", &letter)) return NULL; - if (!eject_drive_letter((WCHAR)DriveLetter)) return NULL; + if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, &letter, 1, &DriveLetter, 1) == 0) { + PyErr_SetFromWindowsErr(0); + return NULL; + } + + if (!eject_drive_letter(DriveLetter)) return NULL; Py_RETURN_NONE; }