diff --git a/Changelog.yaml b/Changelog.yaml index 8ec96fc055..9673832a81 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,38 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.7.1 + date: 2010-06-04 + + new features: + - title: "Content server: Add option to control category groupiong in OPDS feeds" + + - title: "Make the book details pane occupy the full lower part of the window" + + - title: "Add true and false searches for date based columns" + tickets: [5717] + + bug fixes: + - title: "iPad driver: Various bug fixes." + + - title: "SONY driver: Fix Launcher partition being detected as storage card in linux" + + - title: "Fix news downloading breaking on windows systems with local encoding other than UTF-8." + + - title: "SONY driver: Fix problem caused by null titles" + + - title: "Make the new splash screen not always stay on top" + tickets: [5700] + + - title: "When setting an image with transparent pixels as the book cover, overlay it on a white background first. Fixes transparent covers getting random backgrounds." + + - title: "Content server: Fix stanza integration when entering the server URL my hand" + + improved recipes: + - Gizmodo + - Vreme + + - version: 0.7.0 date: 2010-06-04 diff --git a/resources/images/news/haaretz_en.png b/resources/images/news/haaretz_en.png new file mode 100644 index 0000000000..56b41baf99 Binary files /dev/null and b/resources/images/news/haaretz_en.png differ diff --git a/resources/recipes/cbc_canada.recipe b/resources/recipes/cbc_canada.recipe new file mode 100644 index 0000000000..26ea6abd29 --- /dev/null +++ b/resources/recipes/cbc_canada.recipe @@ -0,0 +1,25 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1275798572(BasicNewsRecipe): + title = u'CBC Canada' + publisher = 'www.cbc.ca' + language = 'en_CA' + __author__ = 'rty' + category = 'news' + oldest_article = 4 + max_articles_per_feed = 100 + remove_javascript = True + use_embedded_content = False + no_stylesheets = True + language = 'en' + masthead_url = 'http://www.cbc.ca/includes/gfx/cbcnews_logo_09.gif' + cover_url = 'http://img692.imageshack.us/img692/2814/cbc.png' + keep_only_tags = [dict(name='div', attrs={'id':['storyhead','storybody']})] + remove_tags_after = dict(id=['socialtools']) + feeds = [(u'Top Stories', u'http://rss.cbc.ca/lineup/topstories.xml'), + (u'World', u'http://rss.cbc.ca/lineup/world.xml'), + (u'National', u'http://rss.cbc.ca/lineup/canada.xml'), + (u'Manitoba', u'http://rss.cbc.ca/lineup/canada-manitoba.xml'), + (u'Politics', u'http://rss.cbc.ca/lineup/politics.xml'), + (u'Tech & Science', u'http://rss.cbc.ca/lineup/technology.xml'), + (u'Books', u'http://rss.cbc.ca/lineup/arts-books.xml')] diff --git a/resources/recipes/haaretz_en.recipe b/resources/recipes/haaretz_en.recipe new file mode 100644 index 0000000000..4df6b45a3e --- /dev/null +++ b/resources/recipes/haaretz_en.recipe @@ -0,0 +1,57 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, Darko Miletic ' +''' +haaretz.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Haaretz_en(BasicNewsRecipe): + title = 'Haaretz in English' + __author__ = 'Darko Miletic' + description = 'Haaretz.com, the online edition of Haaretz Newspaper in Israel, and analysis from Israel and the Middle East. Haaretz.com provides extensive and in-depth coverage of Israel, the Jewish World and the Middle East, including defense, diplomacy, the Arab-Israeli conflict, the peace process, Israeli politics, Jerusalem affairs, international relations, Iran, Iraq, Syria, Lebanon, the Palestinian Authority, the West Bank and the Gaza Strip, the Israeli business world and Jewish life in Israel and the Diaspora. ' + publisher = 'haaretz.com' + category = 'news, politics, Israel' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'cp1252' + use_embedded_content = False + language = 'en_IL' + publication_type = 'newspaper' + remove_empty_feeds = True + masthead_url = 'http://www.haaretz.com/images/logos/logoGrey.gif' + extra_css = ' body{font-family: Verdana,Arial,Helvetica,sans-serif } ' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_tags = [dict(name='div', attrs={'class':['rightcol']}),dict(name='table')] + remove_tags_before = dict(name='h1') + remove_tags_after = dict(attrs={'id':'innerArticle'}) + keep_only_tags = [dict(attrs={'id':'content'})] + + + feeds = [ + (u'Opinion' , u'http://www.haaretz.com/cmlink/opinion-rss-1.209234?localLinksEnabled=false' ) + ,(u'Defense and diplomacy' , u'http://www.haaretz.com/cmlink/defense-and-diplomacy-rss-1.208894?localLinksEnabled=false') + ,(u'National' , u'http://www.haaretz.com/cmlink/national-rss-1.208896?localLinksEnabled=false' ) + ,(u'International' , u'http://www.haaretz.com/cmlink/international-rss-1.208898?localLinksEnabled=false' ) + ,(u'Jewish World' , u'http://www.haaretz.com/cmlink/jewish-world-rss-1.209085?localLinksEnabled=false' ) + ,(u'Business' , u'http://www.haaretz.com/cmlink/business-print-rss-1.264904?localLinksEnabled=false' ) + ,(u'Real Estate' , u'http://www.haaretz.com/cmlink/real-estate-print-rss-1.264977?localLinksEnabled=false' ) + ,(u'Features' , u'http://www.haaretz.com/cmlink/features-print-rss-1.264912?localLinksEnabled=false' ) + ,(u'Arts and leisure' , u'http://www.haaretz.com/cmlink/arts-and-leisure-rss-1.286090?localLinksEnabled=false' ) + ,(u'Books' , u'http://www.haaretz.com/cmlink/books-rss-1.264947?localLinksEnabled=false' ) + ,(u'Food and Wine' , u'http://www.haaretz.com/cmlink/food-and-wine-print-rss-1.265034?localLinksEnabled=false' ) + ,(u'Sports' , u'http://www.haaretz.com/cmlink/sports-rss-1.286092?localLinksEnabled=false' ) + ] + + def preprocess_html(self, soup): + for item in soup.findAll(style=True): + del item['style'] + return soup diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index ff4bab6a9a..48f2c0ecec 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -41,6 +41,8 @@ mimetypes.add_type('application/vnd.palm', '.pdb') mimetypes.add_type('application/x-mobipocket-ebook', '.mobi') mimetypes.add_type('application/x-mobipocket-ebook', '.prc') mimetypes.add_type('application/x-mobipocket-ebook', '.azw') +mimetypes.add_type('application/x-cbz', '.cbz') +mimetypes.add_type('application/x-cbr', '.cbr') mimetypes.add_type('image/wmf', '.wmf') guess_type = mimetypes.guess_type import cssutils diff --git a/src/calibre/constants.py b/src/calibre/constants.py index e4a1c521c2..69bad99723 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.7.0' +__version__ = '0.7.1' __author__ = "Kovid Goyal " import re diff --git a/src/calibre/devices/apple/driver.py b/src/calibre/devices/apple/driver.py index 5d589a944e..6a240c7040 100644 --- a/src/calibre/devices/apple/driver.py +++ b/src/calibre/devices/apple/driver.py @@ -1163,7 +1163,7 @@ class ITUNES(DevicePlugin): hits = lib_books.Search(cached_book['author'],SearchField.index('Artists')) if hits: for hit in hits: - self.log.info(" evaluating '%s' by %s" % (hit.Name, hit.Artist)) + #self.log.info(" evaluating '%s' by %s" % (hit.Name, hit.Artist)) if hit.Name == cached_book['title']: self.log.info(" matched '%s' by %s" % (hit.Name, hit.Artist)) return hit @@ -1359,7 +1359,6 @@ class ITUNES(DevicePlugin): if DEBUG: self.log.info('ITUNES._get_library_books():\n No Books playlist') - elif iswindows: lib = None try: @@ -1466,7 +1465,7 @@ class ITUNES(DevicePlugin): cmd = "defaults read com.apple.itunes NSNavLastRootDirectory" proc = subprocess.Popen( cmd, shell=True, cwd=os.curdir, stdout=subprocess.PIPE) retcode = proc.wait() - media_dir = proc.communicate()[0].strip() + media_dir = os.path.abspath(proc.communicate()[0].strip()) if os.path.exists(media_dir): self.iTunes_media = media_dir else: @@ -1493,12 +1492,13 @@ class ITUNES(DevicePlugin): soup = BeautifulSoup(xml.read().decode('utf-8')) mf = soup.find('key',text="Music Folder").parent string = mf.findNext('string').renderContents() - media_dir = string[len('file://localhost/'):].replace('%20',' ') + media_dir = os.path.abspath(string[len('file://localhost/'):].replace('%20',' ')) if os.path.exists(media_dir): self.iTunes_media = media_dir else: self.log.error(" could not extract valid iTunes.media_dir from %s" % self.iTunes.LibraryXMLPath) self.log.error(" %s" % string.parent.prettify()) + self.log.error(" '%s' not found" % media_dir) if DEBUG: self.log.info( " [%s - %s (%s), driver version %d.%d.%d]" % @@ -1514,13 +1514,7 @@ class ITUNES(DevicePlugin): ''' if isosx: storage_path = os.path.split(cached_book['lib_book'].location().path) - presumptive_path = os.path.join(self.iTunes_media, - 'iTunes Music', - cached_book['author'][0], - cached_book['title'], - storage_path[1]) - - if os.path.exists(presumptive_path): + if cached_book['lib_book'].location().path.startswith(self.iTunes_media): title_storage_path = storage_path[0] if DEBUG: self.log.info("ITUNES._remove_from_iTunes():") @@ -1545,7 +1539,7 @@ class ITUNES(DevicePlugin): self.log.info(" author_storage_path not empty (%d objects):" % len(author_files)) self.log.info(" %s" % '\n'.join(author_files)) else: - self.log.info(" '%s' not found in iTunes storage, no files deleted" % presumptive_path) + self.log.info(" '%s' stored external to iTunes, no files deleted" % cached_book['title']) self.iTunes.delete(cached_book['lib_book']) @@ -1560,15 +1554,7 @@ class ITUNES(DevicePlugin): if book: path = book.Location storage_path = os.path.split(book.Location) - # This assumes that 'Books' will be the storage subdirectory in - # all versions of Windows. The XML file doesn't offer any deeper information - # than the media directory. - presumptive_path = os.path.join(self.iTunes_media, - 'Books', - cached_book['author'], - storage_path[1]) - - if os.path.exists(presumptive_path): + if book.Location.startswith(self.iTunes_media): if DEBUG: self.log.info("ITUNES._remove_from_iTunes():") self.log.info(" removing '%s' at %s" % @@ -1585,7 +1571,7 @@ class ITUNES(DevicePlugin): # Delete from iTunes database else: - self.log.info(" '%s' not in iTunes storage, no files deleted" % presumptive_path) + self.log.info(" '%s' stored external to iTunes, no files deleted" % cached_book['title']) book.Delete() diff --git a/src/calibre/gui2/dialogs/config/__init__.py b/src/calibre/gui2/dialogs/config/__init__.py index 5d855b5263..b9c57b27ab 100644 --- a/src/calibre/gui2/dialogs/config/__init__.py +++ b/src/calibre/gui2/dialogs/config/__init__.py @@ -445,6 +445,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): self.username.setText(opts.username) self.password.setText(opts.password if opts.password else '') self.opt_max_opds_items.setValue(opts.max_opds_items) + self.opt_max_opds_ungrouped_items.setValue(opts.max_opds_ungrouped_items) self.auto_launch.setChecked(config['autolaunch_server']) self.systray_icon.setChecked(config['systray_icon']) self.sync_news.setChecked(config['upload_news_to_device']) @@ -848,6 +849,8 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): sc.set('port', self.port.value()) sc.set('max_cover', mcs) sc.set('max_opds_items', self.opt_max_opds_items.value()) + sc.set('max_opds_ungrouped_items', + self.opt_max_opds_ungrouped_items.value()) config['delete_news_from_library_on_upload'] = self.delete_news.isChecked() config['upload_news_to_device'] = self.sync_news.isChecked() config['search_as_you_type'] = self.search_as_you_type.isChecked() diff --git a/src/calibre/gui2/dialogs/config/config.ui b/src/calibre/gui2/dialogs/config/config.ui index db748dae7e..917333a989 100644 --- a/src/calibre/gui2/dialogs/config/config.ui +++ b/src/calibre/gui2/dialogs/config/config.ui @@ -892,6 +892,26 @@ + + + + 25 + + + 1000000 + + + + + + + Max. OPDS &ungrouped items: + + + opt_max_opds_ungrouped_items + + + diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 48ce5bbc45..5bccfd7c0d 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -213,7 +213,7 @@ class BooksModel(QAbstractTableModel): # {{{ self.endInsertRows() self.count_changed() - def search(self, text, refinement, reset=True): + def search(self, text, reset=True): try: self.db.search(text) except ParseException: @@ -224,9 +224,10 @@ class BooksModel(QAbstractTableModel): # {{{ self.clear_caches() self.reset() if self.last_search: + # Do not issue search done for the null search. It is used to clear + # the search and count records for restrictions self.searched.emit(True) - def sort(self, col, order, reset=True): if not self.db: return @@ -257,7 +258,7 @@ class BooksModel(QAbstractTableModel): # {{{ self.sort(col, self.sorted_on[1], reset=reset) def research(self, reset=True): - self.search(self.last_search, False, reset=reset) + self.search(self.last_search, reset=reset) def columnCount(self, parent): if parent and parent.isValid(): @@ -730,6 +731,8 @@ class BooksModel(QAbstractTableModel): # {{{ def set_search_restriction(self, s): self.db.data.set_search_restriction(s) + self.search('') + return self.rowCount(None) # }}} @@ -874,7 +877,7 @@ class DeviceBooksModel(BooksModel): # {{{ return flags - def search(self, text, refinement, reset=True): + def search(self, text, reset=True): if not text or not text.strip(): self.map = list(range(len(self.db))) else: @@ -1086,7 +1089,6 @@ class DeviceBooksModel(BooksModel): # {{{ idx = self.map[row] if cname == 'title' : self.db[idx].title = val - self.db[idx].title_sorter = val elif cname == 'authors': self.db[idx].authors = string_to_authors(val) elif cname == 'collections': diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index eb9ffe6258..6c3f04828e 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -437,10 +437,6 @@ class BooksView(QTableView): # {{{ self._search_done = search_done self._model.searched.connect(self.search_done) - def connect_to_restriction_set(self, tv): - # must be synchronous (not queued) - tv.restriction_set.connect(self._model.set_search_restriction) - def connect_to_book_display(self, bd): self._model.new_bookdisplay_data.connect(bd) diff --git a/src/calibre/gui2/lrf_renderer/main.py b/src/calibre/gui2/lrf_renderer/main.py index 2b76ab0fea..87ec55e114 100644 --- a/src/calibre/gui2/lrf_renderer/main.py +++ b/src/calibre/gui2/lrf_renderer/main.py @@ -152,7 +152,7 @@ class Main(MainWindow, Ui_MainWindow): self.stack.setCurrentIndex(1) self.renderer.start() - def find(self, search, refinement): + def find(self, search): self.last_search = search try: self.document.search(search) diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index d3059992bc..4e9ccc2900 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -57,7 +57,7 @@ class SearchBox2(QComboBox): INTERVAL = 1500 #: Time to wait before emitting search signal MAX_COUNT = 25 - search = pyqtSignal(object, object) + search = pyqtSignal(object) def __init__(self, parent=None): QComboBox.__init__(self, parent) @@ -97,8 +97,12 @@ class SearchBox2(QComboBox): self.help_state = False def clear_to_help(self): + self.search.emit('') self._in_a_search = False self.setEditText(self.help_text) + if self.timer is not None: # Turn off any timers that got started in setEditText + self.killTimer(self.timer) + self.timer = None self.line_edit.home(False) self.help_state = True self.line_edit.setStyleSheet( @@ -111,7 +115,6 @@ class SearchBox2(QComboBox): def clear(self): self.clear_to_help() - self.search.emit('', False) def search_done(self, ok): if not unicode(self.currentText()).strip(): @@ -155,9 +158,8 @@ class SearchBox2(QComboBox): if not text or text == self.help_text: return self.clear() self.help_state = False - refinement = text.startswith(self.prev_search) and ':' not in text self.prev_search = text - self.search.emit(text, refinement) + self.search.emit(text) idx = self.findText(text, Qt.MatchFixedString) self.block_signals(True) @@ -187,12 +189,15 @@ class SearchBox2(QComboBox): self.set_search_string(joiner.join(tags)) def set_search_string(self, txt): + if not txt: + self.clear_to_help() + return self.normalize_state() self.setEditText(txt) if self.timer is not None: # Turn off any timers that got started in setEditText self.killTimer(self.timer) self.timer = None - self.search.emit(txt, False) + self.search.emit(txt) self.line_edit.end(False) self.initial_state = False diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 80f6bfa264..b1aecd9ba3 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -22,7 +22,6 @@ from calibre.gui2 import error_dialog class TagsView(QTreeView): # {{{ refresh_required = pyqtSignal() - restriction_set = pyqtSignal(object) tags_marked = pyqtSignal(object, object) user_category_edit = pyqtSignal(object) tag_list_edit = pyqtSignal(object, object) @@ -37,24 +36,23 @@ class TagsView(QTreeView): # {{{ self.setIconSize(QSize(30, 30)) self.tag_match = None - def set_database(self, db, tag_match, popularity, restriction): + def set_database(self, db, tag_match, popularity): self.hidden_categories = config['tag_browser_hidden_categories'] self._model = TagsModel(db, parent=self, - hidden_categories=self.hidden_categories) + hidden_categories=self.hidden_categories, + search_restriction=None) self.popularity = popularity - self.restriction = restriction self.tag_match = tag_match self.db = db + self.search_restriction = None self.setModel(self._model) self.setContextMenuPolicy(Qt.CustomContextMenu) self.clicked.connect(self.toggle) self.customContextMenuRequested.connect(self.show_context_menu) self.popularity.setChecked(config['sort_by_popularity']) self.popularity.stateChanged.connect(self.sort_changed) - self.restriction.activated[str].connect(self.search_restriction_set) self.refresh_required.connect(self.recount, type=Qt.QueuedConnection) db.add_listener(self.database_changed) - self.saved_searches_changed(recount=False) def database_changed(self, event, ids): self.refresh_required.emit() @@ -68,16 +66,12 @@ class TagsView(QTreeView): # {{{ self.model().refresh() # self.search_restriction_set() - def search_restriction_set(self, s): - self.clear() - if len(s) == 0: - self.search_restriction = '' + def set_search_restriction(self, s): + if s: + self.search_restriction = s else: - self.search_restriction = 'search:"%s"' % unicode(s).strip() - self.model().set_search_restriction(self.search_restriction) - self.restriction_set.emit(self.search_restriction) - self.recount() # Must happen after the emission of the restriction_set signal - self.tags_marked.emit(self._model.tokens(), self.match_all) + self.search_restriction = None + self.set_new_model() def mouseReleaseEvent(self, event): # Swallow everything except leftButton so context menus work correctly @@ -187,21 +181,8 @@ class TagsView(QTreeView): # {{{ return True def clear(self): - self.model().clear_state() - - def saved_searches_changed(self, recount=True): - p = prefs['saved_searches'].keys() - p.sort() - t = self.restriction.currentText() - self.restriction.clear() # rebuild the restrictions combobox using current saved searches - self.restriction.addItem('') - for s in p: - self.restriction.addItem(s) - if t in p: # redo the current restriction, if there was one - self.restriction.setCurrentIndex(self.restriction.findText(t)) - self.search_restriction_set(t) - if recount: - self.recount() + if self.model(): + self.model().clear_state() def recount(self, *args): ci = self.currentIndex() @@ -223,7 +204,8 @@ class TagsView(QTreeView): # {{{ # model. Reason: it is much easier than reconstructing the browser tree. def set_new_model(self): self._model = TagsModel(self.db, parent=self, - hidden_categories=self.hidden_categories) + hidden_categories=self.hidden_categories, + search_restriction=self.search_restriction) self.setModel(self._model) # }}} @@ -311,7 +293,7 @@ class TagTreeItem(object): # {{{ class TagsModel(QAbstractItemModel): # {{{ - def __init__(self, db, parent, hidden_categories=None): + def __init__(self, db, parent, hidden_categories=None, search_restriction=None): QAbstractItemModel.__init__(self, parent) # must do this here because 'QPixmap: Must construct a QApplication @@ -333,8 +315,7 @@ class TagsModel(QAbstractItemModel): # {{{ self.db = db self.tags_view = parent self.hidden_categories = hidden_categories - self.search_restriction = '' - self.ignore_next_search = 0 + self.search_restriction = search_restriction # Reconstruct the user categories, putting them into metadata tb_cats = self.db.field_metadata @@ -370,9 +351,10 @@ class TagsModel(QAbstractItemModel): # {{{ self.row_map = [] self.categories = [] - if len(self.search_restriction): - data = self.db.get_categories(sort_on_count=sort, icon_map=self.category_icon_map, - ids=self.db.search(self.search_restriction, return_matches=True)) + if self.search_restriction: + data = self.db.get_categories(sort_on_count=sort, + icon_map=self.category_icon_map, + ids=self.db.search('', return_matches=True)) else: data = self.db.get_categories(sort_on_count=sort, icon_map=self.category_icon_map) @@ -385,7 +367,6 @@ class TagsModel(QAbstractItemModel): # {{{ self.category_items[category] = set([tag.name for tag in data[category]]) self.row_map.append(category) self.categories.append(tb_categories[category]['name']) - return data def refresh(self): @@ -544,12 +525,6 @@ class TagsModel(QAbstractItemModel): # {{{ def clear_state(self): self.reset_all_states() - def reinit(self, *args, **kwargs): - if self.ignore_next_search == 0: - self.reset_all_states() - else: - self.ignore_next_search -= 1 - def toggle(self, index, exclusive): if not index.isValid(): return False item = index.internalPointer() @@ -557,7 +532,6 @@ class TagsModel(QAbstractItemModel): # {{{ item.toggle() if exclusive: self.reset_all_states(except_=item.tag) - self.ignore_next_search = 2 self.dataChanged.emit(index, index) return True return False diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 7546e461d6..01f0cf6271 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -160,9 +160,9 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.restriction_in_effect = False self.search.initialize('main_search_history', colorize=True, help_text=_('Search (For Advanced Search click the button to the left)')) - self.connect(self.clear_button, SIGNAL('clicked()'), self.search_clear) + self.connect(self.clear_button, SIGNAL('clicked()'), self.search.clear) self.connect(self.clear_button, SIGNAL('clicked()'), self.saved_search.clear_to_help) - self.search_clear() + self.search.clear() self.saved_search.initialize(saved_searches, self.search, colorize=True, help_text=_('Saved Searches')) @@ -226,14 +226,14 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.connect(self.quit_action, SIGNAL('triggered(bool)'), self.quit) self.connect(self.donate_action, SIGNAL('triggered(bool)'), self.donate) self.connect(self.restore_action, SIGNAL('triggered()'), - self.show_windows) + self.show_windows) self.connect(self.action_show_book_details, - SIGNAL('triggered(bool)'), self.show_book_info) + SIGNAL('triggered(bool)'), self.show_book_info) self.connect(self.action_restart, SIGNAL('triggered()'), self.restart) self.connect(self.system_tray_icon, - SIGNAL('activated(QSystemTrayIcon::ActivationReason)'), - self.system_tray_icon_activated) + SIGNAL('activated(QSystemTrayIcon::ActivationReason)'), + self.system_tray_icon_activated) self.tool_bar.contextMenuEvent = self.no_op ####################### Start spare job server ######################## @@ -521,8 +521,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.search_done)), ('connect_to_book_display', (self.status_bar.book_info.show_data,)), - ('connect_to_restriction_set', - (self.tags_view,)), ]: for view in (self.library_view, self.memory_view, self.card_a_view, self.card_b_view): getattr(view, func)(*args) @@ -545,24 +543,22 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.cover_cache.start() self.library_view.model().cover_cache = self.cover_cache self.connect(self.edit_categories, SIGNAL('clicked()'), self.do_user_categories_edit) - self.tags_view.set_database(db, self.tag_match, self.popularity, self.search_restriction) + self.search_restriction.activated[str].connect(self.apply_search_restriction) + self.tags_view.set_database(db, self.tag_match, self.popularity) self.tags_view.tags_marked.connect(self.search.search_from_tags) - for x in (self.saved_search.clear_to_help, self.mark_restriction_set): - self.tags_view.restriction_set.connect(x) self.tags_view.tags_marked.connect(self.saved_search.clear_to_help) self.tags_view.tag_list_edit.connect(self.do_tags_list_edit) self.tags_view.user_category_edit.connect(self.do_user_categories_edit) self.tags_view.saved_search_edit.connect(self.do_saved_search_edit) self.tags_view.tag_item_renamed.connect(self.do_tag_item_renamed) self.tags_view.search_item_renamed.connect(self.saved_search.clear_to_help) - self.search.search.connect(self.tags_view.model().reinit) for x in (self.location_view.count_changed, self.tags_view.recount, self.restriction_count_changed): self.library_view.model().count_changed_signal.connect(x) self.connect(self.search, SIGNAL('cleared()'), self.search_box_cleared) - self.connect(self.saved_search, SIGNAL('changed()'), - self.tags_view.saved_searches_changed, Qt.QueuedConnection) + self.connect(self.saved_search, SIGNAL('changed()'), self.saved_searches_changed) + self.saved_searches_changed() if not gprefs.get('quick_start_guide_added', False): from calibre.ebooks.metadata import MetaInformation mi = MetaInformation(_('Calibre Quick Start Guide'), ['John Schember']) @@ -585,7 +581,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.search_restriction.setSizeAdjustPolicy(self.search_restriction.AdjustToMinimumContentsLengthWithIcon) self.search_restriction.setMinimumContentsLength(10) - ########################### Cover Flow ################################ self.cover_flow = None if CoverFlow is not None: @@ -625,7 +620,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.sidebar.job_done, Qt.QueuedConnection) - if config['autolaunch_server']: from calibre.library.server.main import start_threaded_server from calibre.library.server import server_config @@ -683,7 +677,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): d = SavedSearchEditor(self, search) d.exec_() if d.result() == d.Accepted: - self.tags_view.saved_searches_changed(recount=True) + self.saved_searches_changed() self.saved_search.clear_to_help() def resizeEvent(self, ev): @@ -842,19 +836,11 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): sm.select(idx, sm.ClearAndSelect|sm.Rows) self.library_view.setCurrentIndex(idx) - - ''' - Handling of the count of books in a restricted view requires that - we capture the count after the initial restriction search. To so this, - we require that the restriction_set signal be issued before the search signal, - so that when the search_done happens and the count is displayed, - we can grab the count. This works because the search box is cleared - when a restriction is set, so that first search will find all books. - - Adding and deleting books creates another complexity. When added, they are - displayed regardless of whether they match the restriction. However, if they - do not, they are removed at the next search. The counts must take this + Restrictions. + Adding and deleting books creates a complexity. When added, they are + displayed regardless of whether they match a search restriction. However, if + they do not, they are removed at the next search. The counts must take this behavior into effect. ''' @@ -862,15 +848,25 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.restriction_count_of_books_in_view += c - self.restriction_count_of_books_in_library self.restriction_count_of_books_in_library = c if self.restriction_in_effect: - self.set_number_of_books_shown(compute_count=False) + self.set_number_of_books_shown() - def mark_restriction_set(self, r): - self.restriction_in_effect = False if r is None or not r else True + def apply_search_restriction(self, r): + r = unicode(r) + if r is not None and r != '': + self.restriction_in_effect = True + restriction = "search:%s"%(r) + else: + self.restriction_in_effect = False + restriction = '' + self.restriction_count_of_books_in_view = \ + self.library_view.model().set_search_restriction(restriction) + self.search.clear_to_help() + self.saved_search.clear_to_help() + self.tags_view.set_search_restriction(restriction) + self.set_number_of_books_shown() - def set_number_of_books_shown(self, compute_count): + def set_number_of_books_shown(self): if self.current_view() == self.library_view and self.restriction_in_effect: - if compute_count: - self.restriction_count_of_books_in_view = self.current_view().row_count() t = _("({0} of {1})").format(self.current_view().row_count(), self.restriction_count_of_books_in_view) self.search_count.setStyleSheet('QLabel { border-radius: 8px; background-color: yellow; }') @@ -884,18 +880,31 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.search_count.setText(t) def search_box_cleared(self): - self.set_number_of_books_shown(compute_count=True) self.tags_view.clear() self.saved_search.clear_to_help() - - def search_clear(self): - self.set_number_of_books_shown(compute_count=True) - self.search.clear() + self.set_number_of_books_shown() def search_done(self, view, ok): if view is self.current_view(): self.search.search_done(ok) - self.set_number_of_books_shown(compute_count=False) + self.set_number_of_books_shown() + + def saved_searches_changed(self): + p = prefs['saved_searches'].keys() + p.sort() + t = unicode(self.search_restriction.currentText()) + self.search_restriction.clear() # rebuild the restrictions combobox using current saved searches + self.search_restriction.addItem('') + self.tags_view.recount() + for s in p: + self.search_restriction.addItem(s) + if t: + if t in p: # redo the current restriction, if there was one + self.search_restriction.setCurrentIndex(self.search_restriction.findText(t)) + # self.tags_view.set_search_restriction(t) + else: + self.search_restriction.setCurrentIndex(0) + self.apply_search_restriction('') def sync_cf_to_listview(self, current, previous): if self.cover_flow_sync_flag and self.cover_flow.isVisible() and \ @@ -2304,14 +2313,17 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): def library_moved(self, newloc): if newloc is None: return db = LibraryDatabase2(newloc) + self.library_path = newloc self.book_on_device(None, reset=True) db.set_book_on_device_func(self.book_on_device) self.library_view.set_database(db) + self.tags_view.set_database(db, self.tag_match, self.popularity) self.library_view.model().set_book_on_device_func(self.book_on_device) self.status_bar.clearMessage() self.search.clear_to_help() self.status_bar.reset_info() self.library_view.model().count_changed() + prefs['library_path'] = self.library_path ############################################################################ @@ -2358,7 +2370,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.search_restriction.setEnabled(False) for action in list(self.delete_menu.actions())[1:]: action.setEnabled(False) - self.set_number_of_books_shown(compute_count=False) + self.set_number_of_books_shown() def device_job_exception(self, job): diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 06abb7181c..0964ed47c3 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -424,7 +424,7 @@ class EbookViewer(MainWindow, Ui_EbookViewer): self.set_bookmarks(self.iterator.bookmarks) - def find(self, text, refinement, repeat=False, backwards=False): + def find(self, text, repeat=False, backwards=False): if not text: self.view.search('') return self.search.search_done(False) diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index 83c56c5395..e2ecdd9f55 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -241,6 +241,24 @@ class ResultCache(SearchQueryParser): matches = set([]) if len(query) < 2: return matches + + if location == 'date': + location = 'timestamp' + loc = self.field_metadata[location]['rec_index'] + + if query == 'false': + for item in self._data: + if item is None: continue + if item[loc] is None or item[loc] == UNDEFINED_DATE: + matches.add(item[0]) + return matches + if query == 'true': + for item in self._data: + if item is None: continue + if item[loc] is not None and item[loc] != UNDEFINED_DATE: + matches.add(item[0]) + return matches + relop = None for k in self.date_search_relops.keys(): if query.startswith(k): @@ -249,10 +267,6 @@ class ResultCache(SearchQueryParser): if relop is None: (p, relop) = self.date_search_relops['='] - if location == 'date': - location = 'timestamp' - loc = self.field_metadata[location]['rec_index'] - if query == _('today'): qd = now() field_count = 3 @@ -301,7 +315,7 @@ class ResultCache(SearchQueryParser): if query == 'false': query = '0' elif query == 'true': - query = '>0' + query = '!=0' relop = None for k in self.numeric_search_relops.keys(): if query.startswith(k): diff --git a/src/calibre/library/server/__init__.py b/src/calibre/library/server/__init__.py index 441aee9b60..5050dfaa99 100644 --- a/src/calibre/library/server/__init__.py +++ b/src/calibre/library/server/__init__.py @@ -38,6 +38,12 @@ def server_config(defaults=None): c.add_opt('max_opds_items', ['--max-opds-items'], default=30, help=_('The maximum number of matches to return per OPDS query. ' 'This affects Stanza, WordPlayer, etc. integration.')) + c.add_opt('max_opds_ungrouped_items', ['--max-opds-ungrouped-items'], + default=100, + help=_('Group items in categories such as author/tags ' + 'by first letter when there are more than this number ' + 'of items. Default: %default. Set to a large number ' + 'to disable grouping.')) return c def main(): diff --git a/src/calibre/library/server/opds.py b/src/calibre/library/server/opds.py index f32f60a6dd..d396d73af2 100644 --- a/src/calibre/library/server/opds.py +++ b/src/calibre/library/server/opds.py @@ -445,7 +445,7 @@ class OPDSServer(object): id_ = 'calibre-category-feed:'+which - MAX_ITEMS = 50 + MAX_ITEMS = self.opts.max_opds_ungrouped_items if len(items) <= MAX_ITEMS: max_items = self.opts.max_opds_items @@ -459,8 +459,6 @@ class OPDSServer(object): self.text, self.count = text, count starts = set([x.name[0] for x in items]) - if len(starts) > MAX_ITEMS: - starts = set([x.name[:2] for x in items]) category_groups = OrderedDict() for x in sorted(starts, cmp=lambda x,y:cmp(x.lower(), y.lower())): category_groups[x] = len([y for y in items if diff --git a/src/calibre/manual/customize.rst b/src/calibre/manual/customize.rst index abf3165a69..e5635d5165 100644 --- a/src/calibre/manual/customize.rst +++ b/src/calibre/manual/customize.rst @@ -8,16 +8,25 @@ Customizing |app| ================================== |app| has a highly modular design. Various parts of it can be customized. You can learn how to create -*recipes* to add new sources of online content to |app| in the Section :ref:`news`. Here, you will learn how to -use *plugins* to customize and control various aspects of |app|'s behavior. - -Theer are different kinds of plugins, corresponding to different aspects of |app|. As more and more aspects of |app| -are modularized, new plugin types will be added. +*recipes* to add new sources of online content to |app| in the Section :ref:`news`. Here, you will learn, +first, how to use environment variables and *tweaks* to customize |app|'s behavior and then how to +use *plugins* to add funtionality to |app|. .. contents:: :depth: 2 :local: +Environment variables +----------------------- + + * ``CALIBRE_CONFIG_DIRECTORY`` + * ``CALIBRE_OVERRIDE_DATABASE_PATH`` + * ``CALIBRE_DEVELOP_FROM`` + * ``CALIBRE_OVERRIDE_LANG`` + * ``SYSFS_PATH`` + * ``http_proxy`` + + A Hello World plugin ------------------------ diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 26b60f586d..378fa227fa 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -7,166 +7,166 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-05-29 18:54+0000\n" -"PO-Revision-Date: 2010-05-28 23:23+0000\n" +"POT-Creation-Date: 2010-06-05 01:06+0000\n" +"PO-Revision-Date: 2010-06-04 16:43+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-05-30 03:40+0000\n" +"X-Launchpad-Export-Date: 2010-06-05 03:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 msgid "Does absolutely nothing" msgstr "لا يفعل شيءً" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:46 -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:72 -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:54 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:70 -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:71 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/books.py:58 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/books.py:199 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:204 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:98 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/input.py:101 -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:428 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:67 -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:69 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:329 -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:332 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1894 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1896 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:24 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:230 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:261 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:264 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:364 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/ereader.py:61 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fb2.py:46 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:118 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/meta.py:120 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf.py:329 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf.py:444 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:921 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdb.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pdf.py:28 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/pml.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/txt.py:14 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:38 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:77 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:152 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:610 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:816 -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:818 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/odt/input.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:909 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:914 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:980 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:137 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/reader.py:139 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:108 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:173 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:39 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/palmdoc/writer.py:29 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ztxt/writer.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:83 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:74 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:81 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:82 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:97 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:233 -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:235 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:279 -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:286 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/__init__.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:107 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:134 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:574 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:583 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:862 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:865 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:460 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:419 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:441 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:969 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1096 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:1694 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:1697 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:185 -#: /home/kovid/work/trunk/src/calibre/library/cli.py:311 -#: /home/kovid/work/trunk/src/calibre/library/database.py:913 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:248 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:260 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:680 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:717 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1111 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1113 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:1235 -#: /home/kovid/work/trunk/src/calibre/library/server.py:671 -#: /home/kovid/work/trunk/src/calibre/library/server.py:747 -#: /home/kovid/work/trunk/src/calibre/library/server.py:794 -#: /home/kovid/work/trunk/src/calibre/utils/localization.py:114 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:45 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:63 -#: /home/kovid/work/trunk/src/calibre/utils/podofo/__init__.py:77 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:47 -#: /home/kovid/work/trunk/src/calibre/web/feeds/recipes/collection.py:50 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:72 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:54 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:101 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:69 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1894 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1896 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:273 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:373 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:118 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1055 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:152 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:610 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:816 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:818 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:908 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:913 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:979 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:83 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:74 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:233 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:666 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:823 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1797 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1800 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 +#: /home/kovid/work/calibre/src/calibre/library/database.py:913 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:308 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:884 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:921 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1400 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1402 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1524 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:268 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:131 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:47 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:50 msgid "Unknown" msgstr "مجهول" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:64 msgid "Base" msgstr "قاعدة" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:172 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:172 msgid "File type" msgstr "نوع الملف" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:206 msgid "Metadata reader" msgstr "قارئ دليل المعلومات" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:235 msgid "Metadata writer" msgstr "كاتب دليل المعلومات" -#: /home/kovid/work/trunk/src/calibre/customize/__init__.py:267 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:263 msgid "Catalog generator" msgstr "مولد الكاتالوج" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:15 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:15 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " "linked files. This plugin is run every time you add an HTML file to the " @@ -175,7 +175,7 @@ msgstr "" "إلتحاق بكل الوصلات المحلية في ملف HTML وإنشاء ملف ZIP ليحتوي كل الملفات " "الموصولة. هذا الملحق ينفّذ كل مرة تضيف ملف HTML إلى المكتبة." -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:50 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:50 msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." @@ -183,7 +183,7 @@ msgstr "" "رمزالحروف لاجل ملفات HTML المدخلة, تشتمل على الخيارات التالية : cp1252, " "latin1, iso-8859-1 وutf-8" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:57 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:57 msgid "" "Create a PMLZ archive containing the PML file and all images in the " "directory pmlname_img or images. This plugin is run every time you add a PML " @@ -193,57 +193,57 @@ msgstr "" "pmlname_img او صور. هذا المضاف يتم تشغيله كل مرة اضيف فيها ملف PML الى " "المكتبة" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:89 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89 msgid "Extract cover from comic files" msgstr "استخرج الغلاف من ملف الرسومات" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:116 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:127 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:139 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:149 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:159 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:170 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:180 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:190 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:200 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:210 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:220 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:231 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:242 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:254 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:275 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:286 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:296 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:306 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:116 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:139 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:149 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:159 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:180 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:190 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:200 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:210 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:220 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:231 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:242 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:254 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:275 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:286 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:296 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:306 msgid "Read metadata from %s files" msgstr "يقرأ دليل المعلومات من الملفات %s" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:265 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:265 msgid "Read metadata from ebooks in RAR archives" msgstr "إقرأ دليل المعلومات لكتب في أرشيفات RAR" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:317 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:317 msgid "Read metadata from ebooks in ZIP archives" msgstr "إقرأ ميتاداتا لكتب في أرشيفات ZIP" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:328 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:338 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:348 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:370 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:381 -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:391 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:328 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:338 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:348 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:370 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:381 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:391 msgid "Set metadata in %s files" msgstr "ضبط دليل المعلومات في الملفات %s" -#: /home/kovid/work/trunk/src/calibre/customize/builtins.py:359 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:359 msgid "Set metadata from %s files" msgstr "ضبط دليل المعلومات من ملفات %s" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:102 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "دخل التحويل" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:125 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -254,11 +254,11 @@ msgstr "" "متجاوزاً خيارات المستند, هذا الخيار للمستندان التي لا تعلن عن ترميزها أو " "التي ليس لها ترميز خاطىء." -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:241 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 msgid "Conversion Output" msgstr "خرج التحويل" -#: /home/kovid/work/trunk/src/calibre/customize/conversion.py:255 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 msgid "" "If specified, the output plugin will try to create output that is as human " "readable as possible. May not have any effect for some output plugins." @@ -266,11 +266,11 @@ msgstr "" "اذا تم اختيارها , سوف يتم جعل المخرجات مقروءة بشرياً قدر الامكان, و قد لا " "يكون لا تأثير لبعض المخرجات ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:45 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:45 msgid "Input profile" msgstr "طور الدخل" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:49 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:49 msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." @@ -278,83 +278,83 @@ msgstr "" "ملف تعريف هذا يحاول تقديم افتراضات عاقلة ومفيدة إذا كنت لا تعرف شيئا عن " "وثيقة الإدخال." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:258 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:266 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" "ملف التعريف هذا هو المقصود لجهاز سوني من خط إنتاج PRS . الـ500/505/600/700 " "إلخ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:69 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:69 msgid "This profile is intended for the SONY PRS 300." msgstr "ملف التعريف هذا هو المقصود لجهاز سوني PRS 300." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:292 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:300 msgid "This profile is intended for the SONY PRS-900." msgstr "ملف التعريف هذا هو المقصود لجهاز سوني PRS 900." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:322 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:330 msgid "This profile is intended for the Microsoft Reader." msgstr "هذا الطور يستخدم مع Microsoft Reader" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:333 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:341 msgid "This profile is intended for the Mobipocket books." msgstr "ملف التعريف هذا يستخدم مع كتب Mobipocket ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:346 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:354 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "ملف التعريف هذا يستخدم مع Hanlin V3 وأمثاله." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:358 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:366 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "ملف التعريف هذا يستخدم مع Hanlin V5 وأمثاله." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:366 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:374 msgid "This profile is intended for the Cybook G3." msgstr "ملف التعريف هذا يستخدم مع Cybook G3" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:379 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:387 msgid "This profile is intended for the Cybook Opus." msgstr "ملف التعريف هذا يستخدم مع Cybook Opus ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:390 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:398 msgid "This profile is intended for the Amazon Kindle." msgstr "ملف التعريف هذا يستخدم مع Amazon Kindle ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:425 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:433 msgid "This profile is intended for the Irex Illiad." msgstr "ملف التعريف هذا يستخدم مع Irex Illiad ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:438 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:446 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "ملف التعريف هذا يستخدم مع IRex Digital Reader 1000 ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:452 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:460 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:466 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:474 msgid "This profile is intended for the B&N Nook." msgstr "ملف التعريف هذا يستخدم مع B&N Nook ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:226 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:226 msgid "Output profile" msgstr "المخرجات" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:230 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:230 msgid "" "This profile tries to provide sane defaults and is useful if you want to " "produce a document intended to be read at a computer or on a range of " @@ -363,24 +363,24 @@ msgstr "" "ملف التعريف هذا يحاول تقديم افتراضات عاقلة و مفيدة إذا كنت ترغب في إصدار " "وثيقة للقراءة في جهاز الكمبيوتر أو على مجموعة من الأجهزة." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:248 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:254 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:271 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:279 msgid "This profile is intended for the Kobo Reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:283 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:291 msgid "This profile is intended for the SONY PRS-300." msgstr "ملف التعريف هذا يستخدم مع سوني PRS-300 ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:301 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:309 msgid "This profile is intended for the 5-inch JetBook." msgstr "ملف التعريف هذا يستخدم مع الخمسة بوصة JetBook ." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:310 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:318 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -388,35 +388,35 @@ msgstr "" "ملف التعريف هذا يستخدم مع سوني خط إنتاج PRS . الـ500/505/700 الخ ، في وضع " "أفقي.غالباً مفيد للكاريكاتيرات." -#: /home/kovid/work/trunk/src/calibre/customize/profiles.py:408 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:416 msgid "This profile is intended for the Amazon Kindle DX." msgstr "ملف التعريف هذا يستخدم مع Amazon Kindle DX" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:31 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 msgid "Installed plugins" msgstr "ملحقات مثبتة" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 msgid "Mapping for filetype plugins" msgstr "تعيين لملحقات أنواع الملفات" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Local plugin customization" msgstr "تخصيص الملحقات المحلية" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Disabled plugins" msgstr "ملحقات معطلة" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:77 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:77 msgid "No valid plugin found in " msgstr "لا يجد ملحق صالح " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:278 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:278 msgid "Initialization of plugin %s failed with traceback:" msgstr "فشل استهلال الملحق %s مع اقتفاء الأثر:" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:433 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:433 msgid "" " %prog options\n" "\n" @@ -428,209 +428,250 @@ msgstr "" " المقدرة على التخصيص بتحميل الملحقات الخارجية .\n" " " -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:439 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:439 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "إضافة ملحق يتخصيص مسار إلى ملف zip الذي يحتويه." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:441 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:441 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "حذف الملحق المخصص عن طريق اسمه. لا يؤثر على الملحقات المضمنة" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:443 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:443 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "تخصيص الملحق . حدد اسم الملحق وسلسلة التخصيص وفرقهما بفاصلة." -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:445 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:445 msgid "List all installed plugins" msgstr "قائمة كل الملحقات المثبتة" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:447 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:447 msgid "Enable the named plugin" msgstr "تمكين الملحق المسمى" -#: /home/kovid/work/trunk/src/calibre/customize/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:449 msgid "Disable the named plugin" msgstr "تعطيل الملحق المسمى" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 msgid "Communicate with Android phones." msgstr "التواصل مع هواتف أندرويد ." -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:39 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:39 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/android/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:68 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/binatone/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:57 +msgid "Communicate with iBooks through iTunes." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:63 +msgid "Apple device detected, launching iTunes, please wait ..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:125 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:146 +msgid "Updating device metadata listing..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:211 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:242 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:827 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:964 +msgid "%d of %d" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:248 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:969 +msgid "finished" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:421 +msgid "" +"Some books not found in iTunes database.\n" +"Delete using the iBooks app.\n" +"Click 'Show Details' for a list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:614 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:28 +msgid "settings for device drivers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:616 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:30 +msgid "Ordered list of formats the device will accept" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:729 +msgid "" +"Some cover art could not be converted.\n" +"Click 'Show Details' for a list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17 msgid "Communicate with the Binatone Readme eBook reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 msgid "Communicate with the Blackberry smart phone." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/blackberry/driver.py:14 -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:90 msgid "Kovid Goyal" msgstr "Kovid Goyal" -#: /home/kovid/work/trunk/src/calibre/devices/cybook/driver.py:22 +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22 msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/eb600/driver.py:24 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى EB600 ." -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/edge/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:18 msgid "Communicate with the Entourage Edge." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/eslick/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى ESlick ." -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:19 -msgid "Communicate with Hanlin V3 eBook readers." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanlin V3 ." - -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:78 -msgid "Communicate with Hanlin V5 eBook readers." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanlin V5 ." - -#: /home/kovid/work/trunk/src/calibre/devices/hanlin/driver.py:97 -msgid "Communicate with the BOOX eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى BOOX ." - -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:18 -msgid "Communicate with the Hanvon N520 eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanvon N520 ." - -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:40 -msgid "Communicate with The Book reader." +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:30 +msgid "Use an arbitrary folder as a device." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:51 -msgid "Communicate with the SpringDesign Alex eBook reader." -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:67 -msgid "Communicate with the Azbooka" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/devices/hanvon/driver.py:80 -msgid "Communicate with the Elonex EB 511 eBook reader." -msgstr "اﻹتصال مع الـElonex EB 511 القارئ اﻹلكتروني" - -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:16 -msgid "Communicate with the IRex Iliad eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى IRex Iliad ." - -#: /home/kovid/work/trunk/src/calibre/devices/iliad/driver.py:17 -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:18 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:29 -msgid "John Schember" -msgstr "John Schember" - -#: /home/kovid/work/trunk/src/calibre/devices/interface.py:23 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:26 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:23 msgid "Device Interface" msgstr "واجهة الجهاز" -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:16 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:19 +msgid "Communicate with Hanlin V3 eBook readers." +msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanlin V3 ." + +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:90 +msgid "Communicate with Hanlin V5 eBook readers." +msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanlin V5 ." + +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:109 +msgid "Communicate with the BOOX eBook reader." +msgstr "التواصل مع القارئ الكتاب الاليكترونى BOOX ." + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:18 +msgid "Communicate with the Hanvon N520 eBook reader." +msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanvon N520 ." + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:40 +msgid "Communicate with The Book reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:51 +msgid "Communicate with the SpringDesign Alex eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:67 +msgid "Communicate with the Azbooka" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:80 +msgid "Communicate with the Elonex EB 511 eBook reader." +msgstr "اﻹتصال مع الـElonex EB 511 القارئ اﻹلكتروني" + +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 +msgid "Communicate with the IRex Iliad eBook reader." +msgstr "التواصل مع القارئ الكتاب الاليكترونى IRex Iliad ." + +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:29 +msgid "John Schember" +msgstr "John Schember" + +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى IRex Digital Reader 1000 ." -#: /home/kovid/work/trunk/src/calibre/devices/irexdr/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42 msgid "Communicate with the IRex Digital Reader 800" msgstr "اﻹتصال مع الـ IRex Digital Reader 800" -#: /home/kovid/work/trunk/src/calibre/devices/iriver/driver.py:15 +#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15 msgid "Communicate with the Iriver Story reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى Iriver Story ." -#: /home/kovid/work/trunk/src/calibre/devices/jetbook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20 msgid "Communicate with the JetBook eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى JetBook ." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:21 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:21 msgid "Communicate with the Kindle eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى Kindle ." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:152 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:147 msgid "Communicate with the Kindle 2 eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى Kindle 2 ." -#: /home/kovid/work/trunk/src/calibre/devices/kindle/driver.py:162 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:157 msgid "Communicate with the Kindle DX eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى Kindle DX ." -#: /home/kovid/work/trunk/src/calibre/devices/kobo/driver.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:14 msgid "Communicate with the Kobo Reader" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:15 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:15 msgid "Communicate with the Palm Pre" msgstr "الإتصال مع جهاز البالم بري" -#: /home/kovid/work/trunk/src/calibre/devices/misc.py:35 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:35 msgid "Communicate with the Booq Avant" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." msgstr "التواصل مع نوكيا 770" -#: /home/kovid/work/trunk/src/calibre/devices/nokia/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 msgid "Communicate with the Nokia 810 internet tablet." msgstr "التواصل مع نوكيا 810" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20 msgid "The Nook" msgstr "جهاز الـNook" -#: /home/kovid/work/trunk/src/calibre/devices/nook/driver.py:21 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21 msgid "Communicate with the Nook eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى Nook ." -#: /home/kovid/work/trunk/src/calibre/devices/nuut2/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." msgstr "التواصل مع القارئ الكتاب الاليكترونى Nuut2 ." -#: /home/kovid/work/trunk/src/calibre/devices/prs500/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:89 msgid "Communicate with the Sony PRS-500 eBook reader." msgstr "التواصل مع قارئ الكتاب الاليكتروني سوني PRS-500 ." -#: /home/kovid/work/trunk/src/calibre/devices/prs505/books.py:150 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:104 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:107 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:110 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:121 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:44 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:47 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:50 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:70 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:80 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:89 -msgid "Getting list of books on device..." -msgstr "يجري إحصاء قائمة كتب من الجهاز..." +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:23 +msgid "Communicate with all the Sony eBook readers." +msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:26 -msgid "Communicate with the Sony PRS-300/505/500 eBook reader." -msgstr "التواصل مع قارئات الكتاب الاليكتروني سوني PRS-300/505/500 ." - -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:58 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:61 msgid "" "Comma separated list of metadata fields to turn into collections on the " "device. Possibilities include: " @@ -638,216 +679,214 @@ msgstr "" "ضع علامة الفاصلة للفصل بين مجموعة من البيانات الوصفية لكي تكون مجموعة في " "الجهاز . و تشمل الاحتمالات التالية: " -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:149 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:151 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:115 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:117 -msgid "Transferring books to device..." -msgstr "يجري تحويل الكتب إلى الجهاز..." +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:140 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 +msgid "Unnamed" +msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:189 -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:196 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:144 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:161 -msgid "Removing books from device..." -msgstr "يجري حذف الكتب من الجهاز..." - -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:224 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:176 -msgid "Sending metadata to device..." -msgstr "يجري إرسال دليل المعلومات. إلى الجهاز..." - -#: /home/kovid/work/trunk/src/calibre/devices/prs505/driver.py:230 -msgid "Communicate with the Sony PRS-600/700/900 eBook reader." -msgstr "التواصل مع قارئات الكتاب الاليكتروني سوني PRS-600/700/900 ." - -#: /home/kovid/work/trunk/src/calibre/devices/sne/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." msgstr "الإتصال مع جهاز قارئ الكتب الالكترونية Samsung SNE ." -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:11 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 msgid "Communicate with the Teclast K3 reader." msgstr "اﻹتصال مع الـ Teclast K3 reader ." -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 msgid "Communicate with the Newsmy reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/teclast/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:49 msgid "Communicate with the iPapyrus reader." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:246 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:247 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "لم يتمكن من كشف القرص %s. حاول إعادة التشغيل." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:426 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:427 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "غير قادر على الكشف عن %s نقطة التحميل. حاول إعادة التشغيل." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:491 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:492 msgid "Unable to detect the %s disk drive." msgstr "%s غير قادر على اكتشاف عن الذاكرة" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:584 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:585 msgid "Could not find mount helper: %s." msgstr "غير قادر على جلب المساعد : %s ." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:596 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:597 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:604 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 msgid "Unable to mount main memory (Error code: %d)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:741 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:743 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:742 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:744 msgid "The reader has no storage card in this slot." msgstr "لا يوجد بطاقات تخزين في القارئ ." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:745 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:746 msgid "Selected slot: %s is not supported." msgstr "الفتحة المختارة : %s ليست مدعومة ." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:778 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:779 msgid "There is insufficient free space in main memory" msgstr "لا توجد مساحة كافية في الذاكرة الرئيسية" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:780 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:782 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:781 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 msgid "There is insufficient free space on the storage card" msgstr "لا توجد مساحة كافية في بطاقة التخزين" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:812 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:818 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/device.py:843 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:240 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:151 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:589 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:995 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:813 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:819 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:239 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:158 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1284 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:120 msgid "News" msgstr "الأخبار" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:12 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:12 msgid "Configure Device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:28 -msgid "settings for device drivers" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:30 -msgid "Ordered list of formats the device will accept" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:32 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:32 msgid "Place files in sub directories if the device supports them" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:34 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:78 msgid "Read metadata from files on device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:36 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:36 msgid "Template to control how books are saved" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/deviceconfig.py:39 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 msgid "Extra customization" msgstr "" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:28 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:28 msgid "Communicate with an eBook reader." msgstr "الاتصال مع جهاز قارئ إلكتروني ." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:36 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:44 msgid "Get device information..." msgstr "يجري إحصاء معلومات الجهاز..." -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:132 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:119 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:126 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:149 +msgid "Getting list of books on device..." +msgstr "يجري إحصاء قائمة كتب من الجهاز..." + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:174 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:176 +msgid "Transferring books to device..." +msgstr "يجري تحويل الكتب إلى الجهاز..." + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:191 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:220 msgid "Adding books to device metadata listing..." msgstr "إضافة كتب لقائمة للبيانات الوصفية للجهاز" -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:165 -#: /home/kovid/work/trunk/src/calibre/devices/usbms/driver.py:170 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:224 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:242 +msgid "Removing books from device..." +msgstr "يجري حذف الكتب من الجهاز..." + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:246 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:251 msgid "Removing books from device metadata listing..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:269 +msgid "Sending metadata to device..." +msgstr "يجري إرسال دليل المعلومات. إلى الجهاز..." + +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:41 msgid "%prog [options] mybook.chm" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:42 msgid "Output directory. Defaults to current directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:45 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 msgid "Set the book title" msgstr "تحديد عنوان الكتاب" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:47 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:591 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 msgid "Set sort key for the title" msgstr "ضبط مفتاح الترتيب للعنوان" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:49 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:593 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 msgid "Set the author" msgstr "تحديد المؤلف" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:51 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:595 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 msgid "Set sort key for the author" msgstr "ضبط مفتاح الترتيب للمؤلف" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:597 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 msgid "The category this book belongs to. E.g.: History" msgstr "تصنيف الكتاب. مثلاً: تاريخ" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:600 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:600 msgid "Path to a graphic that will be set as this files' thumbnail" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:59 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:59 msgid "Path to a txt file containing a comment." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:62 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:607 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Extract thumbnail from LRF file" msgstr "استخراج الصورة المصغّرة من ملف LRF" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:63 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Set the publisher" msgstr "تحديد الناشر" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:64 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:609 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the book classification" msgstr "ضبط تصنيف الكتاب" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:65 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:610 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 msgid "Set the book creator" msgstr "ضبط منشئ الكتاب" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:66 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "Set the book producer" msgstr "تحديد منتج الكتاب" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:68 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:613 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 msgid "" "Extract cover from LRF file. Note that the LRF format has no defined cover, " "so we use some heuristics to guess the cover." @@ -855,24 +894,24 @@ msgstr "" "استخراج الغلاف من ملف LRF. لاحظ أن تهيئة LRF لا يستخدم غلاف مخصص، فنستخدم " "بعض الشروط لتخمينه." -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:70 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:615 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 msgid "Set book ID" msgstr "تحديد هوية الكتاب" -#: /home/kovid/work/trunk/src/calibre/ebooks/chm/reader.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:72 msgid "Set font delta" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:201 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:201 msgid "Rendered %s" msgstr "تم تصوير %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:204 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:204 msgid "Failed %s" msgstr "فشل %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:261 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:261 msgid "" "Failed to process comic: \n" "\n" @@ -882,44 +921,44 @@ msgstr "" "\n" "%s ." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 msgid "" "Number of colors for grayscale image conversion. Default: %default. Values " "of less than 256 may result in blurred text on your device if you are " "creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "حافظ على نسبة وضوح الصورة . افتراضياً يجب تملأ الشاشة ." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Disable sharpening." msgstr "تعطيل التشحيذ." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" "تعطيل اقتصاص صفحات الرسم. لبعضهم، الاقتصاص قد يتسبب بحذف محتوى وحدود." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "Don't split landscape images into two portrait images" msgstr "لا تقسم صور عرضية إلى صورتين طوليتين." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -927,13 +966,13 @@ msgstr "" "تستخدم لمنشورات يمين إلى يسار مثل المانغا اليابانية، إلخ. يتسبب بتقسيم صور " "عرضية إلى صور طولية من اليمين إلى اليسار." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:305 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -941,27 +980,27 @@ msgstr "" "لا ترتّب ملفات موجودة في الرسومات أبجدياً، بل استخدم الترتيب المستخدم في " "الرسومات." -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:309 msgid "" "The format that images in the created ebook are converted to. You can " "experiment to see which format gives you optimal size and look on your " "device." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:313 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:315 msgid "Do not convert the image to grayscale (black and white)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:452 -#: /home/kovid/work/trunk/src/calibre/ebooks/comic/input.py:463 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:452 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:463 msgid "Page" msgstr "صفحة" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:19 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19 msgid "" "input_file output_file [options]\n" "\n" @@ -987,58 +1026,58 @@ msgid "" "For full documentation of the conversion system see\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97 msgid "INPUT OPTIONS" msgstr "خيارات الدخل" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:98 msgid "Options to control the processing of the input %s file" msgstr "خيارات للتحكم في معالجة الملف المدخل %s ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104 msgid "OUTPUT OPTIONS" msgstr "خيارات الخرج" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:105 msgid "Options to control the processing of the output %s" msgstr "خيارات للتحكم في معالجة الملف المُخرج %s ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:119 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:119 msgid "Options to control the look and feel of the output" msgstr "خيارات للتحكم في الشكل و المظهر للمُخرجات ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:135 msgid "Control auto-detection of document structure." msgstr "تحكّم بالكشف الآلي لبناء المستند" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:145 msgid "" "Control the automatic generation of a Table of Contents. By default, if the " "source file has a Table of Contents, it will be used in preference to the " "automatically generated one." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:155 msgid "Options to set metadata in the output" msgstr "خيارات لوضع البيانات الوصفية في المُخرجات ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:158 msgid "Options to help with debugging the conversion" msgstr "خيارات للمساعدة في تصحيح التحويل ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:183 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 msgid "List builtin recipes" msgstr "قائمة من الوصفات المدمجة" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/cli.py:256 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:256 msgid "Output saved to" msgstr "المخرجات حُفِظت في" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:95 msgid "Level of verbosity. Specify multiple times for greater verbosity." msgstr "مستوى الايضاح . حدد أوقات متعددة لزيادة الايضاح ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:102 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -1047,7 +1086,7 @@ msgstr "" "احفظ المخرجات في مراحل مختلفة من عملية التحويل إلى الدليل المقصود . مفيدة " "إذا كنت لا تعلم في أي مرحلة من مراحل التحويل تظهر العلة ." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:111 msgid "" "Specify the input profile. The input profile gives the conversion system " "information on how to interpret various information in the input document. " @@ -1055,7 +1094,7 @@ msgid "" "are:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 msgid "" "Specify the output profile. The output profile tells the conversion system " "how to optimize the created document for the specified device. In some " @@ -1063,7 +1102,7 @@ msgid "" "a device. For example EPUB on the SONY reader. Choices are:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:133 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:133 msgid "" "The base font size in pts. All font sizes in the produced book will be " "rescaled based on this size. By choosing a larger size you can make the " @@ -1071,7 +1110,7 @@ msgid "" "chosen based on the output profile you chose." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:143 msgid "" "Mapping from CSS font names to font sizes in pts. An example setting is " "12,12,14,16,18,20,22,24. These are the mappings for the sizes xx-small to xx-" @@ -1080,17 +1119,17 @@ msgid "" "use a mapping based on the output profile you chose." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:155 msgid "Disable all rescaling of font sizes." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:162 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:162 msgid "" "The line height in pts. Controls spacing between consecutive lines of text. " "By default no line height manipulation is performed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:170 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:170 msgid "" "Some badly designed documents use tables to control the layout of text on " "the page. When converted these documents often have text that runs off the " @@ -1098,28 +1137,28 @@ msgid "" "tables and present it in a linear fashion." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 msgid "" "XPath expression that specifies all tags that should be added to the Table " "of Contents at level one. If this is specified, it takes precedence over " "other forms of auto-detection." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:189 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:189 msgid "" "XPath expression that specifies all tags that should be added to the Table " "of Contents at level two. Each entry is added under the previous level one " "entry." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 msgid "" "XPath expression that specifies all tags that should be added to the Table " "of Contents at level three. Each entry is added under the previous level two " "entry." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " "preference to the auto-generated one. With this option, the auto-generated " @@ -1128,11 +1167,11 @@ msgstr "" "عادةً، إذا يوجد قائمة محتويات في الملف المصدر، يتم استخدامه بدلاً من القائمة " "التي تم إنشاءه آلياً. بهذا الخيار، يتم استخدام القائمة المنشئة آلياً دوماً." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:213 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "لا تضف الفصول المكشوفة آلياً إلى قائمة المحتويات." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:220 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" @@ -1140,20 +1179,20 @@ msgstr "" "إذا يتم كشف عدد أقل من هذا بين الفصول فسوف يضيف وصلات إلى قائمة المحتويات. " "الإفتراضي هو: %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:227 msgid "" "Maximum number of links to insert into the TOC. Set to 0 to disable. Default " "is: %default. Links are only added to the TOC if less than the threshold " "number of chapters were detected." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:235 msgid "" "Remove entries from the Table of Contents whose titles match the specified " "regular expression. Matching entries and all their children are removed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:246 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:246 msgid "" "An XPath expression to detect chapter titles. The default is to consider " "

or

tags that contain the words \"chapter\",\"book\",\"section\" or " @@ -1163,7 +1202,7 @@ msgid "" "User Manual for further help on using this feature." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:260 msgid "" "Specify how to mark detected chapters. A value of \"pagebreak\" will insert " "page breaks before chapters. A value of \"rule\" will insert a line before " @@ -1171,39 +1210,39 @@ msgid "" "\"both\" will use both page breaks and lines to mark chapters." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 msgid "" "Either the path to a CSS stylesheet or raw CSS. This CSS will be appended to " "the style rules from the source file, so it can be used to override those " "rules." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:279 msgid "" "An XPath expression. Page breaks are inserted before the specified elements." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:285 msgid "" "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:290 msgid "" "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295 msgid "" "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:300 msgid "" "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:306 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:306 msgid "" "Change text justification. A value of \"left\" converts all justified text " "in the source to left aligned (i.e. unjustified) text. A value of " @@ -1212,34 +1251,34 @@ msgid "" "Note that only some output formats support justification." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:316 msgid "" "Remove spacing between paragraphs. Also sets an indent on paragraphs of " "1.5em. Spacing removal will not work if the source file does not use " "paragraphs (

or

tags)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:323 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:323 msgid "" "When calibre removes inter paragraph spacing, it automatically sets a " "paragraph indent, to ensure that paragraphs can be easily distinguished. " "This option controls the width of that indent." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:330 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:330 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." msgstr "" "استخدم الغلاف التي تم كشفه في ملف المصدر بدلاً من الغلاف الذي تم تخصيصه." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:336 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336 msgid "" "Insert a blank line between paragraphs. Will not work if the source file " "does not use paragraphs (

or

tags)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:343 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:343 msgid "" "Remove the first image from the input ebook. Useful if the first image in " "the source file is a cover and you are specifying an external cover." @@ -1247,41 +1286,41 @@ msgstr "" "حذف أول صورة من دخل الكتاب الإلكتروني. هذا يفيد حين تريد استخدام غلاف مختلف " "من الغلاف المضمون." -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:351 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 msgid "" "Insert the book metadata at the start of the book. This is useful if your " "ebook reader does not support displaying/searching metadata directly." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:359 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359 msgid "" "Attempt to detect and correct hard line breaks and other problems in the " "source file. This may make things worse, so use with care." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:367 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:367 msgid "Use a regular expression to try and remove the header." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:374 msgid "The regular expression to use to remove the header." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:380 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 msgid "Use a regular expression to try and remove the footer." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:387 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387 msgid "The regular expression to use to remove the footer." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:394 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:394 msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 msgid "" "Transliterate unicode characters to an ASCII representation. Use with care " "because this will replace unicode characters with ASCII. For instance it " @@ -1291,7 +1330,7 @@ msgid "" "number of people will be used (Chinese in the previous example)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:416 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:416 msgid "" "Preserve ligatures present in the input document. A ligature is a special " "rendering of a pair of characters like ff, fi, fl et cetera. Most readers do " @@ -1301,111 +1340,111 @@ msgid "" "instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:428 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:432 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:432 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:437 msgid "The version of the title to be used for sorting. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:441 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:441 msgid "String to be used when sorting by author. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:445 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:445 msgid "Set the cover to the specified file or URL" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:449 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:453 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:453 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:457 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:461 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:461 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:465 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:465 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:469 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:469 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:473 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:473 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:68 msgid "Set the tags for the book. Should be a comma separated list." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:477 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:70 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:477 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:481 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:481 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:485 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:485 msgid "Set the publication date." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:489 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:589 msgid "Could not find an ebook inside the archive" msgstr "لم يتمكّن من الحصول على كتاب داخل الأرشيف" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:647 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:647 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:654 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:654 msgid "Failed to parse date/time" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:802 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:802 msgid "Converting input to HTML..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:829 msgid "Running transforms on ebook..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/conversion/plumber.py:916 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:916 msgid "Creating" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:56 msgid "" "Extract the contents of the generated EPUB file to the specified directory. " "The contents of the directory are first deleted, so be careful." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:62 msgid "" "Turn off splitting at page breaks. Normally, input files are automatically " "split at every page break into two files. This gives an output ebook that " @@ -1414,21 +1453,21 @@ msgid "" "turn off splitting on page breaks." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:73 msgid "" "Split all HTML files larger than this size (in KB). This is necessary as " "most EPUB readers cannot handle large file sizes. The default of %defaultKB " "is the size required for Adobe Digital Editions." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:80 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:80 msgid "" "Normally, if the input file has no cover and you don't specify one, a " "default cover is generated with the title, authors, etc. This option " "disables the generation of this cover." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:86 msgid "" "Do not use SVG for the book cover. Use this option if your EPUB is going to " "be used ona device that does not support SVG, like the iPhone or the " @@ -1436,7 +1475,7 @@ msgid "" "blank page." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:94 msgid "" "When using an SVG cover, this option will cause the cover to scale to cover " "the available screen area, but still preserve its aspect ratio (ratio of " @@ -1445,42 +1484,42 @@ msgid "" "option the image may be slightly distorted, but there will be no borders." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/epub/output.py:169 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:169 msgid "Start" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/fb2ml.py:144 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/rbml.py:102 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/txtml.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 msgid "Table of Contents:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/input.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:32 msgid "Do not insert a Table of Contents at the beginning of the book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/fb2/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:37 -#: /home/kovid/work/trunk/src/calibre/ebooks/rb/output.py:21 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:35 msgid "Add Table of Contents to beginning of the book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:243 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:243 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" "negative. 0 implies that no links in the root HTML file are followed. " "Default is %default." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:259 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:259 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -1488,66 +1527,66 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/html/input.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:267 msgid "" "Average line length for line breaking if the HTML is from a previous partial " "conversion of a PDF file. Default is %default which disables this." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lit/from_any.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." msgstr "إنشاء ملف LIT من EPUB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:320 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tBook Designer file detected." msgstr "\tتم اكتشاف ملف Book Designer." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:345 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:345 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:361 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:361 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:379 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:379 msgid "Processing %s" msgstr "يعالج %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:393 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:393 msgid "\tConverting to BBeB..." msgstr "\tتحويل لـBBeB..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:539 -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:552 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:552 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:544 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:544 msgid "%s is an empty file" msgstr "%s ملف فارغ" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:564 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:608 msgid "Cannot add link %s to TOC" msgstr "لا يمكن إضافة وصلات %s لقائمة المحتويات" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:957 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1002 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1002 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1017 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1017 msgid "" "Could not process image: %s\n" "%s" @@ -1555,12 +1594,12 @@ msgstr "" "لم يتمكن من معالجة: %s\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1772 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "حدث خطأ حين تنفيذ الجدول: %s. سيتم تجاهل توسيم الجدول." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1774 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1568,76 +1607,76 @@ msgstr "" "جدول غير صالح:\n" "%s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1796 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 msgid "Could not read cover image: %s" msgstr "لم يتمكن من قراءة صورة الغلاف: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Cannot read from: %s" msgstr "لا يمكن القراءة من: %s" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/html/convert_from.py:1994 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1994 msgid "Failed to process opf file" msgstr "فشل في معالجة ملف opf" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:136 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:136 msgid "" "%prog book.lrf\n" "Convert an LRF file into an LRS (XML UTF-8 encoded) file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 msgid "Output LRS file" msgstr "خرج ملف LRS" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" msgstr "لا تحفظ ملفات الصور والخظوظ المضمنة في القرص" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:158 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161 msgid "Creating XML..." msgstr "إنشاء XML..." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrfparser.py:163 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163 msgid "LRS written to " msgstr "تم كتابة LRS في " -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:267 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 msgid "Could not read from thumbnail file:" msgstr "لم يتمكّن من قراءة ملف الصورة المصغّرة:" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:288 msgid "Path to output file" msgstr "المسار إلى ملف الخرج" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:113 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/lrs/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:292 msgid "Convert LRS to LRS, useful for debugging." msgstr "تحويل LRS إلى LRS، يفيد في التنقيح." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457 msgid "Invalid LRF file. Could not set metadata." msgstr "ملف LRF غير صالح. لم يتمكّن ضبط الميتاداتا." -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:582 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582 msgid "" "%prog [options] mybook.lrf\n" "\n" @@ -1651,40 +1690,40 @@ msgstr "" "إظهار/تحرير الميتاداتا في ملف LRF.\n" "\n" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/meta.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:603 msgid "" "Path to a txt file containing the comment to be stored in the lrf file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:90 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90 msgid "Enable autorotation of images that are wider than the screen width." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94 msgid "Set the space between words in pts. Default is %default" msgstr "ضبط المساحة بين الكلمات بنقاط. الإفتراضي هو %default" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:97 msgid "Add a header to all the pages with title and author." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:100 msgid "" "Set the format of the header. %a is replaced by the author and %t by the " "title. Default is %default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 msgid "Add extra spacing below the header. Default is %default pt." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:107 msgid "" "Minimum paragraph indent (the indent of the first line of a paragraph) in " "pts. Default: %default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:112 msgid "" "Render tables in the HTML as images (useful if the document has large or " "complex tables)" @@ -1692,120 +1731,124 @@ msgstr "" "تحويل الجداول في الـHTML كصور (هذا يفيد إذا كان للمستند جداول كبيرة أو " "معقّدة)" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:117 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:117 msgid "" "Multiply the size of text in rendered tables by this factor. Default is " "%default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:121 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121 msgid "The serif family of fonts to embed" msgstr "ضم أسرة الخطوط بالترويس" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:124 msgid "The sans-serif family of fonts to embed" msgstr "ضم أسرة الخطوط بدون الترويس" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:127 msgid "The monospace family of fonts to embed" msgstr "ضم أسرة الخطوط أحادية القياس" -#: /home/kovid/work/trunk/src/calibre/ebooks/lrf/output.py:152 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:152 msgid "Comic" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:363 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:61 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:416 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1159 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:372 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:828 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:538 msgid "Title" msgstr "العنوان" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:364 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:175 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:421 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1160 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:829 msgid "Author(s)" msgstr "المؤلف أو المؤلفون" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:365 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:64 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:53 msgid "Publisher" msgstr "الناشر" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:366 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:375 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "المنتج" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:367 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:99 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:377 -#: /home/kovid/work/trunk/src/calibre/gui2/status.py:95 -#: /home/kovid/work/trunk/src/calibre/gui2/status.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 +#: /home/kovid/work/calibre/src/calibre/gui2/status.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/status.py:149 msgid "Comments" msgstr "التعليقات" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:375 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:366 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1104 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1163 -#: /home/kovid/work/trunk/src/calibre/gui2/status.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:151 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1001 +#: /home/kovid/work/calibre/src/calibre/gui2/status.py:106 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:130 msgid "Tags" msgstr "الوسوم" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:377 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:182 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:382 -#: /home/kovid/work/trunk/src/calibre/gui2/status.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:151 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/status.py:105 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:82 msgid "Series" msgstr "السلسلة" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:378 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:387 msgid "Language" msgstr "اللغة" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:380 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1103 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 msgid "Timestamp" msgstr "ختم التوقيت" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:382 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:51 msgid "Published" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/__init__.py:384 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:393 msgid "Rights" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/amazon.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazon.py:85 msgid "EDITORIAL REVIEW" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/archive.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:22 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:20 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20 msgid "options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:21 msgid "" "\n" "Read/Write metadata from/to ebook files.\n" @@ -1819,120 +1862,120 @@ msgid "" "silently ignored.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:40 msgid "" "Set the authors. Multiple authors should be separated by the & character. " "Author names should be in the order Firstname Lastname." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:44 msgid "" "The version of the title to be used for sorting. If unspecified, and the " "title is specified, it will be auto-generated from the title." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:48 msgid "" "String to be used when sorting by author. If unspecified, and the author(s) " "are specified, it will be auto-generated from the author(s)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:58 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 msgid "Set the book category." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:74 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74 msgid "Set the published date." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:77 msgid "Get the cover from the ebook and save it at as the specified file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:80 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:80 msgid "" "Specify the name of an OPF file. The metadata will be written to the OPF " "file." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:83 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:83 msgid "" "Read metadata from the specified OPF file and use it to set metadata in the " "ebook. Metadata specified on the command line will override metadata read " "from the OPF file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88 msgid "Set the BookID in LRF files" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153 msgid "No file specified" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:168 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168 msgid "Original metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:185 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185 msgid "Changed metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:197 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197 msgid "OPF created in" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:203 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203 msgid "Cover saved to" msgstr "تم حفظ الغلاف في" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/cli.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:205 msgid "No cover found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:33 msgid "Metadata download" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:110 msgid "ratings" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:110 msgid "tags" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:111 msgid "description/reviews" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:112 msgid "Download %s from %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:136 msgid "Downloads metadata from Google Books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:152 msgid "Downloads metadata from isbndb.com" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:181 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:180 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/fetch.py:189 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:188 msgid "Downloads social metadata from amazon.com" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:94 msgid "" "\n" "%prog [options] key\n" @@ -1946,41 +1989,41 @@ msgid "" "\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:105 msgid "The ISBN ID of the book you want metadata for." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "The author whose book to search for." msgstr "المؤلف الذي تريد البحث عنه." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 msgid "The title of the book to search for." msgstr "العنوان الذي تريد البحث عنه." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/isbndb.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:111 msgid "The publisher of the book to search for." msgstr "الناشر الذي تريد البحث عنه." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:53 msgid "LibraryThing.com timed out. Try again later." msgstr "LibraryThing.com لم يرد. حاول لاحقاً." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:60 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:61 msgid " not found." msgstr " لم يوجد." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:64 msgid "LibraryThing.com server error. Try again later." msgstr "خطأ في خادم LibraryThing.com. حاول لاحقاً." -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/library_thing.py:71 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:71 msgid "" "\n" "%prog [options] ISBN\n" @@ -1988,166 +2031,162 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/metadata/opf2.py:1112 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1372 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1220 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1371 msgid "Cover" msgstr "الغلاف" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22 msgid "Modify images to meet Palm device size limitations." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26 msgid "When present, use author sort field as author." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:30 msgid "" "Don't add Table of Contents to end of book. Useful if the book has its own " "table of contents." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 msgid "Title for any generated in-line table of contents." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37 msgid "Disable compression of the file contents." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:40 msgid "Tag marking book to be filed with Personal Docs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/output.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:108 msgid "All articles" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/mobi/reader.py:258 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:258 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1373 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1372 msgid "Title Page" msgstr "صقحة العنوان" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1374 -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1373 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194 msgid "Table of Contents" msgstr "المحتويات" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1375 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1374 msgid "Index" msgstr "الفهرس" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1376 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1375 msgid "Glossary" msgstr "المسرد" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1377 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1376 msgid "Acknowledgements" msgstr "شكر وتقدير" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1378 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1377 msgid "Bibliography" msgstr "ببليوغرافيا" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1379 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1378 msgid "Colophon" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1380 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1379 msgid "Copyright" msgstr "حقوق المؤلف" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1381 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1380 msgid "Dedication" msgstr "الإهداء" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1382 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1381 msgid "Epigraph" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1383 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1382 msgid "Foreword" msgstr "افتتاحية" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1384 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1383 msgid "List of Illustrations" msgstr "قائمة الرسوم" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1385 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1384 msgid "List of Tables" msgstr "قائمة الجداول" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1386 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1385 msgid "Notes" msgstr "الملاحظات" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1387 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1386 msgid "Preface" msgstr "افتتاحية" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/base.py:1388 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1387 msgid "Main Text" msgstr "النصّ الرئيسي" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/iterator.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:41 msgid "%s format books are not supported" msgstr "الكتب بتهيئة %s ليست مدعومة" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 msgid "HTML TOC generation options." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/jacket.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:113 msgid "Book Jacket" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/split.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/split.py:34 msgid "" "Could not find reasonable point at which to split: %s Sub-tree size: %d KB" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/transforms/structure.py:68 -msgid "Unnamed" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 msgid "OPF/NCX/etc. generation options." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35 msgid "OPF version to generate. Default is %default." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/oeb/writer.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:37 msgid "" "Generate an Adobe \"page-map\" file if pagination information is available." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128 msgid "Footnotes" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/ereader/reader132.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135 msgid "Sidebar" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:22 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:23 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:23 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line represents a paragraph instead." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/input.py:26 -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/input.py:27 -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:27 msgid "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line starting with an indent (either a tab or 2+ " @@ -2155,32 +2194,32 @@ msgid "" "starts with an indent is reached." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23 msgid "Format to use inside the pdb container. Choices are:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdb/output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:27 msgid "" "Specify the character encoding of the output document. The default is " "cp1252. Note: This option is not honored by all formats." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 msgid "Do not extract images from the document" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:26 msgid "" "Scale used to determine the length at which a line should be unwrapped. " "Valid values are a decimal between 0 and 1. The default is 0.5, this is the " "median line length." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/input.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30 msgid "Use the new PDF conversion engine." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/cli.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 msgid "" "command ...\n" "\n" @@ -2192,114 +2231,114 @@ msgid "" "Manipulate a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:29 msgid "" "[options] file.pdf\n" "\n" "Crop a PDF file.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:38 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:36 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:34 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:33 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:41 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "مسار إلى ملف الخرج. الإفتراضي أن يكون الملف منشئ في الدليل الحالي." -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:41 msgid "Number of pixels to crop from the left most x (default is %s)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:44 msgid "Number of pixels to crop from the left most y (default is %s)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:47 msgid "Number of pixels to crop from the right most x (default is %s)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:50 msgid "Number of pixels to crop from the right most y (default is %s)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:53 msgid "" "A file generated by ghostscript which allows each page to be individually " "cropped `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf 2> bounding`" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 msgid "Crop Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/crop.py:73 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 msgid "Options to control the transformation of pdf" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 msgid "" "[options] file.pdf password\n" "\n" "Decrypt a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 msgid "Decrypt Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 msgid "" "[options] file.pdf password\n" "\n" "Encrypt a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 msgid "Encrypt Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:21 msgid "" "file.pdf ...\n" "\n" "Get info about a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:46 msgid "Author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47 msgid "Subject" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48 msgid "Creator" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50 msgid "Pages" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51 msgid "File Size" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 msgid "PDF Version" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25 msgid "" "[options] file1.pdf file2.pdf ...\n" "\n" @@ -2308,33 +2347,33 @@ msgid "" "Merges individual PDFs.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 msgid "Merge Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:25 msgid "" "[options] file.pdf\n" "\n" "Reverse a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 msgid "Reverse Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:24 msgid "" "file.pdf degrees\n" "\n" "Rotate pages of a PDF clockwise.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 msgid "Rotate Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25 msgid "" "\n" "%prog %%name [options] file.pdf page_to_split_on ...\n" @@ -2349,90 +2388,96 @@ msgid "" "Split a PDF.\n" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/manipulate/split.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 msgid "Split Options:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:31 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31 msgid "" "The unit of measure. Default is inch. Choices are %s Note: This does not " "override the unit for margins!" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36 msgid "" "The size of the paper. This size will be overridden when an output profile " "is used. Default is letter. Choices are %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:40 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40 msgid "" "Custom size of the document. Use the form widthxheight EG. `123x321` to " "specify the width and height. This overrides any specified paper-size." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45 msgid "The orientation of the page. Default is portrait. Choices are %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/output.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49 msgid "" "Preserve the aspect ratio of the cover, instead of stretching it to fill the " "ull first page of the generated pdf." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pdf/pdftohtml.py:55 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/pml/output.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:33 msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/rtf/input.py:199 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:199 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" "%s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 msgid "" "Specify the character encoding of the output document. The default is utf-8." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/tcr/output.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:27 msgid "" "Specify the compression level to use. Scale 1 - 10. 1 being the lowest " "compression but the fastest and 10 being the highest compression but the " "slowest." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:33 +msgid "" +"Normally extra spaces are condensed into a single space. With this option " +"all spaces will be displayed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:36 msgid "" "Run the text input through the markdown pre-processor. To learn more about " "markdown see" msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/input.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:39 msgid "Do not insert a Table of Contents into the output text." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:24 msgid "" "Type of newline to use. Options are %s. Default is 'system'. Use 'old_mac' " "for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. " "'system' will default to the newline type used by this OS." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:30 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 msgid "" "Specify the character encoding of the output document. The default is utf-8. " "Note: This option is not honored by all formats." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:38 msgid "" "The maximum number of characters per line. This splits on the first space " "before the specified value. If no space is found the line will be broken at " @@ -2440,296 +2485,443 @@ msgid "" "minimum of 25 characters. Use 0 to disable line splitting." msgstr "" -#: /home/kovid/work/trunk/src/calibre/ebooks/txt/output.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:45 msgid "" "Force splitting on the max-line-length value when no space is present. Also " "allows max-line-length to be below the minimum" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Confirm before deleting" msgstr "تأكيد قبل الحذف" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Toolbar icon size" msgstr "حجم أيقونات شريط الأدوات" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Show button labels in the toolbar" msgstr "إظهار تسميات الأزرار في شريط الأدوات" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Notify when a new version is available" msgstr "Notify when a new version is available" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Sort tags list by popularity" msgstr "ترتيب الوسوم حسب الشهرة" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Defaults for conversion to LRF" msgstr "الإفتراضي للتحويل إلى LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Options for the LRF ebook viewer" msgstr "الخيارات لمستعرض كتب LRF" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Formats that are viewed using the internal viewer" msgstr "تهيئات التي تعرض عن طريق المستعرض الداخلي" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:60 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Show system tray icon" msgstr "إظهار أيقونة صينية النظام" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Upload downloaded news to device" msgstr "رفع أخبار تم تنزيلها إلى الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Delete books from library after uploading to device" msgstr "حذف كتب من المكتبة بعد رفعها إلى الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:69 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:71 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 msgid "Maximum number of waiting worker processes" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 +msgid "tag browser categories not to display" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:476 msgid "Copied" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:172 msgid "Copy" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:172 msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/__init__.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:382 msgid "Choose Files" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:54 msgid "Searching in" msgstr "يتم البحث في" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 msgid "Adding..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:242 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:255 msgid "Path error" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:256 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:256 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:517 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:599 msgid "No books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:257 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:1822 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1929 msgid "No books found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:327 msgid "Added" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:340 msgid "Adding failed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:341 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:353 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:354 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:357 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:423 msgid "Saving..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/add.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:476 msgid "Saved" msgstr "تم الحفظ" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:57 +msgid "Searching for sub-folders" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:62 +msgid "Searching for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:74 +msgid "Looking for duplicates based on file hash" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:65 +msgid "Choose root folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:137 +msgid "Invalid root folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:138 +msgid "is not a valid root folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:148 +msgid "Add books to calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 +msgid "WizardPage" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:22 +msgid "Scanning root folder for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:23 +msgid "This may take a few minutes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:58 +msgid "Choose the location to add books from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:59 +msgid "Select a folder on your hard disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:60 +msgid "" +"

calibre can scan your computer for existing books automatically. These " +"books will then be copied into the calibre library. This wizard will " +"help you customize the scanning and import process for your existing book " +"collection.

\n" +"

Choose a root folder. Books will be searched for only inside this folder " +"and any sub-folders.

\n" +"

Make sure that the folder you chose for your calibre library is " +"not under the root folder you choose.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 +msgid "&Root folder:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 +msgid "" +"This folder and its sub-folders will be scanned for books to import into " +"calibre's library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 +msgid "..." +msgstr "..." + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:67 +msgid "Handle multiple files per book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:68 +msgid "" +"&One book per folder, assumes every ebook file in a folder is the same book " +"in a different format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:69 +msgid "" +"&Multiple books per folder, assumes every ebook file is a different book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 msgid "CSV/XML Options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "Options specific to" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:20 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:21 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:17 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:18 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:15 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:88 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:48 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:166 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:66 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:31 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:28 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:42 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:45 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:49 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xpath_wizard_ui.py:67 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:74 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:35 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 msgid "Form" msgstr "استمارة" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 msgid "Fields to include in output:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 msgid "E-book options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/trunk/src/calibre/library/catalog.py:282 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:958 -#: /home/kovid/work/trunk/src/calibre/library/database2.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1265 msgid "Catalog" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 msgid "'Don't include this book' tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 msgid "'Mark this book as read' tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 msgid "" "Regex tips:\n" "- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], " @@ -2738,135 +2930,135 @@ msgid "" "Genre Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 msgid "Include 'Titles' Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 msgid "Include 'Recently Added' Section" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 msgid "Sort numbers as text" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 msgid "Tab template for catalog.ui" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:67 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/bulk.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:185 msgid "Options specific to the output format." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:15 msgid "Comic Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input.py:16 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:13 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 msgid "input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:89 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&عدد الألوان:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:90 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:92 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "تعطيل تشحيذ&" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:93 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "تعطيل اقتصاص&" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:94 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:95 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&عرضي" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:96 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&يمين إلى يسار" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:97 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:98 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 msgid "&Disable comic processing" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:100 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 msgid "&Output format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/comic_input_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 msgid "Disable conversion of images to &black and white" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21 msgid "Debug the conversion process." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:38 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:57 msgid "Invalid debug directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Failed to create debug directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:50 msgid "" "Choose a folder to put the debug output into. If you specify a folder, " "calibre will place a lot of debug output into it. This will be useful in " @@ -2874,105 +3066,65 @@ msgid "" "conversion parameters like Table of Contents and Chapter Detection." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:52 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/xexp_edit_ui.py:52 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:76 -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:77 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:507 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:521 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:522 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:538 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:539 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:574 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:359 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:364 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:378 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:389 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:391 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:393 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:398 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:400 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:126 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:128 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:135 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:267 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:269 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:270 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:365 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:367 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:374 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:377 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:379 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:381 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/shortcuts_ui.py:80 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:186 -msgid "..." -msgstr "..." - -#: /home/kovid/work/trunk/src/calibre/gui2/convert/debug_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 msgid "" "The debug process outputs the intermediate HTML generated at various stages " "of the conversion process. This HTML can sometimes serve as a good starting " "point for hand editing a conversion." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:49 msgid "Do not &split on page breaks" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:50 msgid "No default &cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:51 msgid "No &SVG cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:52 msgid "Preserve cover &aspect ratio" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 msgid "Split files &larger than:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/epub_output_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 msgid " KB" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_input_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:29 msgid "Do not insert a &Table of Contents at the beginning of the book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14 msgid "FB2 Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/fb2_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:37 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output_ui.py:29 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 msgid "&Inline TOC" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:99 msgid "Font rescaling wizard" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:100 msgid "" "

This wizard will help you choose an appropriate font size key for your " "needs. Just enter the base font size of the input document and then enter an " @@ -2988,292 +3140,292 @@ msgid "" "for a discussion of how font size rescaling works.

" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:103 msgid "&Output document" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:104 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109 msgid "&Base font size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:105 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:123 msgid "Font size &key:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:106 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:110 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:112 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:127 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:120 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:121 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:123 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:125 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 msgid " pt" msgstr " pt" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:107 msgid "Use &default values" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 msgid "&Input document" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 msgid "&Font size: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 msgid " will map to size: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/font_key_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114 msgid "0.0 pt" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 msgid "Look & Feel" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:18 msgid "Control the look and feel of the output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:30 msgid "Original" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Left align" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 msgid "Justify text" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:120 msgid "&Disable font size rescaling" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:121 msgid "Base &font size:" msgstr "حجم الخط& الأساسي:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:124 msgid "Wizard to help you choose an appropriate font size key" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:126 msgid "Line &height:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 msgid "Input character &encoding:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 msgid "Remove &spacing between paragraphs" msgstr "حذف الفراغات& بين الفقرات" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 msgid "Indent size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 msgid "" "

When calibre removes inter paragraph spacing, it automatically sets a " "paragraph indent, to ensure that paragraphs can be easily distinguished. " "This option controls the width of that indent." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid " em" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 msgid "Text justification:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 msgid "&Linearize tables" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 msgid "Extra &CSS" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 msgid "&Transliterate unicode characters to ASCII" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 msgid "Insert &blank line" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/look_and_feel_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 msgid "Keep &ligatures" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:116 msgid "Enable &autorotation of wide images" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117 msgid "&Wordspace:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119 msgid "Minimum para. &indent:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 msgid "Render &tables as images" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "Text size multiplier for text in rendered tables:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 msgid "Add &header" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Header &separation:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Header &format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "&Embed fonts" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 msgid "&Serif font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 msgid "S&ans-serif font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 msgid "&Monospaced font family:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:41 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195 msgid "Metadata" msgstr "ميتاداتا" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:43 msgid "" "Set the metadata. The output file will contain as much of this metadata as " "possible." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:101 msgid "Choose cover for " msgstr "إختار الغلاف لـ " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:168 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:108 msgid "Cannot read" msgstr "لا يمكن القراءة" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:109 msgid "You do not have permission to read the file: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:184 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:117 msgid "Error reading file" msgstr "خطأ في قراءة الملف" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:178 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 msgid "

There was an error reading from file:
" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata.py:185 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:126 msgid " is not a valid picture" msgstr " ليست صورة صالحة" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Book Cover" msgstr "غلاف الكتاب" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 msgid "Use cover from &source file" msgstr "استخدم غلاف من المصدر&" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 msgid "Change &cover image:" msgstr "تغيير صورة الغلاف&:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Browse for an image to use as the cover of this book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Title: " msgstr ":ال&عنوان " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Change the title of this book" msgstr "تغيير عنوان هذا الكتاب" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:145 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 msgid "&Author(s): " msgstr "ال&مؤلف: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Author So&rt:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 msgid "" "Change the author(s) of this book. Multiple authors should be separated by a " "comma" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:154 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "&Publisher: " msgstr "&الناشر: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "Ta&gs: " msgstr "الو&سوم: " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 msgid "" "Tags categorize the book. This is particularly useful while searching. " "

They can be any words or phrases, separated by commas." @@ -3281,441 +3433,445 @@ msgstr "" "الوسوم تصنّف الكتاب. هذا يفيد كثيراً في البحث.

ممكن تكون أي كلمة أو " "مجموعة كلمات، مفرقة بفاصلة." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:180 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Series:" msgstr "&سلسلات:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:181 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:375 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "List of known series. You can add new series." msgstr "قائمة السلسلات المعروفة. بإمكانك إضافة سلسلات جديدة." -#: /home/kovid/work/trunk/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "Book " msgstr "الكتاب " -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:20 msgid "MOBI Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:42 msgid "Default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:67 msgid "&Title for Table of Contents:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:68 msgid "Rescale images for &Palm devices" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:69 msgid "Use author &sort for author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:70 msgid "Disable compression of the file contents" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 msgid "Do not add Table of Contents to book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 msgid "Kindle options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 msgid "Periodical masthead font:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/mobi_output_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 msgid "Personal Doc tag:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" msgstr "ضبط الصفحة" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:116 msgid "&Output profile:" msgstr "طور ال&خرج:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:117 msgid "Profile description" msgstr "وصف الطور" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:118 msgid "&Input profile:" msgstr "طور ال&دخل" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:119 msgid "Margins" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 msgid "&Left:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 msgid "&Top:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 msgid "&Right:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 msgid "&Bottom:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:12 msgid "PDB Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:32 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 msgid "Treat each &line as a paragraph" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_input_ui.py:33 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:47 msgid "Assume print formatting" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:16 msgid "PDB Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdb_output_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:36 msgid "&Format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 msgid "PDF Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:39 msgid "Line &Un-Wrapping Factor:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_input_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:40 msgid "No &Images" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:17 msgid "PDF Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 msgid "&Orientation:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/pdf_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 msgid "Preserve &aspect ratio of cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/rb_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:75 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:2067 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:2174 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:82 msgid "Cannot build regex using the GUI builder without a book." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:82 msgid "No formats available" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:100 msgid "Open book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:52 msgid "Regex Builder" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:53 msgid "Preview" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:54 msgid "Regex:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/regex_builder_ui.py:55 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Test" msgstr "تجربة" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:171 msgid "Convert" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:196 msgid "Options specific to the input format." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:108 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:64 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:91 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 msgid "Dialog" msgstr "حوار" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 msgid "&Input format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/single_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 msgid "Use &saved conversion settings for individual books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" "Detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:19 msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:34 msgid "Detect chapters at (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:35 msgid "Insert page breaks before (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 msgid "Header regular expression:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:40 msgid "Footer regular expression:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:56 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:71 msgid "Invalid regular expression" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:57 -#: /home/kovid/work/trunk/src/calibre/gui2/widgets.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:72 msgid "Invalid regular expression: %s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:62 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:38 msgid "Invalid XPath" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection.py:63 -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "The XPath expression %s is invalid." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 msgid "Chapter &mark:" msgstr "ع&لامة الفصل:" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Remove first &image" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 msgid "Insert &metadata as page at start of book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 msgid "Remove F&ooter" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/structure_detection_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 msgid "Remove H&eader" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" "Contents" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:29 msgid "Level &1 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &2 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &3 TOC (XPath expression):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:63 msgid "Do not add &detected chapters to the Table of Contents" msgstr "لا تضف فصول مك&شوفة إلى قائمة المحتويات" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:64 msgid "Number of &links to add to Table of Contents" msgstr "عدد الوصلات& لإضافتها لقائمة المحتويات" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:65 msgid "Chapter &threshold" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:66 msgid "&Force use of auto-generated Table of Contents" msgstr "ألزم& استخدام قائمة المحتويات المنشئة آلياً" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/toc_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 msgid "TOC &Filter:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input.py:12 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:48 msgid "Process using markdown" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/convert/txt_input_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:49 msgid "" "

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

For example, to match all h2 tags that have class=\"chapter\", set tag to " "h2, attribute to class and value to " @@ -3725,354 +3881,415 @@ msgid "" "href=\"http://calibre-ebook.com/user_manual/xpath.html\">XPath Tutorial." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:38 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:242 +msgid "Undefined" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 +msgid "Yes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 +msgid "No" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:110 +msgid "star(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:111 +msgid "Unrated" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:352 +msgid "Remove all tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:373 +msgid "tags to add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:378 +msgid "tags to remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 msgid "No details available." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:138 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:243 msgid "Get device information" msgstr "احصل على معلومات الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:269 msgid "Get list of books on device" msgstr "احصل على قائمة الكتب على الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:279 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:288 msgid "Send metadata to device" msgstr "ارسل الميتاداتا إلى الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:297 msgid "Upload %d books to device" msgstr "رفع %d كتاب إلى الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Delete books from device" msgstr "حذف كتب من الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:329 msgid "Download books from device" msgstr "تنزيل الكتب من الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "View book on device" msgstr "عرض كتاب على الجهاز" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:296 -msgid "and delete from library" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:373 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:324 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:331 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:333 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:390 msgid "Email to" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:346 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:401 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:348 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:403 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:350 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:405 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:360 -msgid "Send specific format to main memory" +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:419 +msgid "Main Memory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:362 -msgid "Send specific format to storage card A" +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +msgid "Storage Card A" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:364 -msgid "Send specific format to storage card B" +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 +msgid "Storage Card B" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:437 +msgid "Send and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:438 +msgid "Send specific format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477 +msgid "Connect to folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +msgid "Disconnect from folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:490 msgid "Fetch annotations (experimental)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:600 msgid "selected to send" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:523 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:605 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:613 msgid "No device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:614 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:534 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:621 msgid "No card" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:535 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:622 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 msgid "E-book:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:667 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:585 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:180 msgid "by" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:669 msgid "in the %s format." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:682 msgid "Sending email to" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:629 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:636 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:728 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:788 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:904 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:911 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:630 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:713 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:738 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:739 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:660 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:743 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 msgid "News:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:771 msgid "Attached is the" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:782 msgid "Sent news to" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:729 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:789 -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:905 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:841 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:873 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:957 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1046 msgid "No space on device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device.py:961 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1047 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:75 msgid "Select available formats and their order for this device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 msgid "Use sub directories" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/device_drivers/configwidget_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 msgid "Save &template:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:114 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:115 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:116 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:373 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1101 -#: /home/kovid/work/trunk/src/calibre/gui2/status.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/status.py:102 msgid "Path" msgstr "المسار" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:117 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:118 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:119 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:216 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:372 -#: /home/kovid/work/trunk/src/calibre/gui2/status.py:94 -#: /home/kovid/work/trunk/src/calibre/gui2/tag_view.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/status.py:103 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 msgid "Formats" msgstr "التهيئات" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 msgid "Fit &cover to view" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 msgid "&Previous" msgstr "ال&سابق" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/book_info_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 msgid "&Next" msgstr "ال&تالي" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:38 msgid "My Books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:69 -#: /home/kovid/work/trunk/src/calibre/gui2/tools.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:287 msgid "Generate catalog" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:70 msgid "Generate catalog for {0} books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:71 msgid "Catalog &format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:72 msgid "" "Catalog &title (existing catalog with the same title will be replaced):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:73 msgid "&Send catalog to device automatically" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/catalog_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 msgid "Catalog options" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/choose_format_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" msgstr "إختيار التهيئة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "ضبط الإفتراضي في تحويل الرسومات (ملفات CBZ/CBR)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 msgid "Set options for converting %s" msgstr "ضبط الخيارات لتحويل %s" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr ":ال&عنوان" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "ال&مؤلف:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 msgid "&Profile:" msgstr "&طور:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 +msgid "Edit Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "%(plugin_type)s %(plugins)s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:174 msgid "plugins" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:183 msgid "" "\n" "Customization: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Conversion" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "General" msgstr "عام" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:199 msgid "Interface" msgstr "الواجهة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "Add/Save" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:200 msgid "" "Email\n" "Delivery" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Advanced" msgstr "متقدّم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "" "Content\n" "Server" @@ -4080,164 +4297,191 @@ msgstr "" "محتوى\n" "خادم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:201 msgid "Plugins" msgstr "الملحقات" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:219 msgid "Auto send" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:219 msgid "Email" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:224 msgid "Formats to email. The first matching format will be sent." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:225 msgid "" "If checked, downloaded news will be automatically mailed
to this email " "address (provided it is in one of the listed formats)." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:299 msgid "new email address" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:489 msgid "System port selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 msgid "" "The value %d you have chosen for the content server port is a system " "port. Your operating system may not allow the server to run on this " "port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:492 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:837 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:176 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:1538 -#: /home/kovid/work/trunk/src/calibre/utils/ipc/job.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:930 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 msgid "Error" msgstr "خطأ" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:510 msgid "Failed to install command line tools." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:513 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:514 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:566 msgid "No valid plugin path" msgstr "مسار الملحق غير صالح" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 msgid "%s is not a valid plugin path" msgstr "%s ليس مسار لملحق صالح" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:570 msgid "Choose plugin" msgstr "إختيار الملحق" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:582 msgid "Plugin cannot be disabled" msgstr "لا يمكن تعطيل الملحق" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:583 msgid "The plugin: %s cannot be disabled" msgstr "الملحق: %s لا يمكن تعطيله" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:592 msgid "Plugin not customizable" msgstr "لا يمكن تخصيص الملحق" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:593 msgid "Plugin: %s does not need customization" msgstr "الملحق: %s لا يحتاج التخصيص" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:601 msgid "Customize" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 msgid "Cannot remove builtin plugin" msgstr "لم يمكن حذف الملحق المضمن" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr " لا يمكن حذفه. هذا ملحق مضمن في البرنامج. حاول تعطيله بدلاً من حذفه." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:671 +msgid "You must select a column to delete it" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:676 +msgid "The selected column is not a custom column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "هل أنت متأكّد؟" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 +msgid "Do you really want to delete column %s and all its data?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:745 msgid "Error log:" msgstr "سجل الأخطاء:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:752 msgid "Access log:" msgstr "سجل النفاذ:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:691 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:701 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:780 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:767 msgid "Failed to start content server" msgstr "فشل في تشغيل خادم المحتوى" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:715 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/__init__.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:587 msgid "Select location for books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:723 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811 msgid "Invalid size" msgstr "حجم غير صالح" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:812 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:778 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:783 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:865 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:870 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:866 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:780 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:867 msgid "
Must be a directory." msgstr "
يجب أن يكون دليل." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:784 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:871 msgid "Invalid database location.
Cannot write to " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:876 +msgid "Must restart" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:877 +msgid "" +"The changes you made require that Calibre be restarted. Please restart as " +"soon as practical." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:911 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:838 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:931 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:843 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:936 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/__init__.py:844 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:937 msgid "" "The following books had formats listed in the database that are not actually " "available. The entries for the formats have been removed. You should check " @@ -4245,32 +4489,32 @@ msgid "" "folder directly." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:103 msgid "TabWidget" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:104 msgid "" "Here you can control how calibre will read metadata from the files you add " "to it. calibre can either read metadata from the contents of the file, or " "from the filename." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:105 msgid "Read metadata only from &file name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:106 msgid "" "Swap the firstname and lastname of the author. This affects only metadata " "read from file names." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:107 msgid "&Swap author firstname and lastname" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:108 msgid "" "If an existing book with a similar title and author is found that does not " "have the format being added, the format is added \n" @@ -4281,327 +4525,343 @@ msgid "" "punctuation, case, etc. Author match is exact." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:112 msgid "" "If books with similar titles and authors found, &merge the new files " "automatically" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:113 msgid "&Configure metadata from file name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:114 msgid "&Adding books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:115 msgid "" "Here you can control how calibre will save your books when you click the " "Save to Disk button:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:116 msgid "Save &cover separately" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:117 msgid "Update &metadata in saved copies" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:118 msgid "Save metadata in &OPF file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:119 msgid "Convert non-English characters to &English equivalents" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:120 msgid "Format &dates as:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:121 msgid "File &formats to save:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:122 msgid "Replace space with &underscores" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:123 msgid "Change paths to &lowercase" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:124 msgid "&Saving books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:125 msgid "" "Here you can control how calibre will save your books when you click the " "Send to Device button. This setting can be overriden for individual devices " "by customizing the device interface plugins in Preferences->Plugins" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/add_save_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:126 msgid "Sending to &device" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:504 -#: /home/kovid/work/trunk/src/calibre/gui2/main_ui.py:409 -#: /home/kovid/work/trunk/src/calibre/gui2/viewer/main_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:527 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 msgid "Preferences" msgstr "التفضيلات" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:528 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:506 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:529 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:531 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:532 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:510 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:533 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:534 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:535 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 msgid " seconds" msgstr " ثانية" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 msgid "Choose &language (requires restart):" msgstr "إختر ال&لغة (يحتاج إعادة تشغيل):" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 msgid "Normal" msgstr "عادي" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539 msgid "High" msgstr "مرتفع" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:517 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 msgid "Low" msgstr "منخفض" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:542 msgid "Preferred &output format:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543 msgid "Preferred &input format order:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:523 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 msgid "Show ¬ifications in system tray" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 +msgid "Show &splash screen at startup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:527 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 msgid "Search as you type" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 msgid "Automatically send downloaded &news to ebook reader" msgstr "إرسال الأخبار& التي تم تنزيلها آلياً إلى قارئ الكتب الإلكترونية" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 msgid "Toolbar" msgstr "شريط الأدوات" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 msgid "Large" msgstr "كبير" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 msgid "Medium" msgstr "متوسط" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 msgid "Small" msgstr "صغير" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 msgid "&Button size in toolbar" msgstr "&حجم الأزرار على شريط الأدوات" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 msgid "Show &text in toolbar buttons" msgstr "إظهار النص& على أزرار شريط الأدوات" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 +msgid "Remove a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +msgid "Add a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 +msgid "Edit settings of a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 msgid "Use internal &viewer for:" msgstr "استخدم المستعرض& الداخلي في:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 msgid "Add an email address to which to send books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 msgid "&Add email" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 msgid "Make &default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 msgid "&Remove email" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 msgid "" "calibre can send your books to you (or your reader) by email. Emails will be " "automatically sent for downloaded news to all email addresses that have Auto-" "send checked." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 msgid "&Check database integrity" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 msgid "&Install command line tools" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 msgid "Open calibre &configuration directory" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 msgid "Limit the max. simultaneous jobs to the available CPU &cores" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 msgid "Debug &device detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 msgid "Server &port:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:554 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:212 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "&اسم المستخدم:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:555 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:213 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "&كلمة السرّ" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:559 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:60 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "إظهار& كلمة السرّ" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 msgid "&Start Server" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 msgid "St&op Server" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 msgid "&Test Server" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 msgid "View &server logs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:566 -#: /home/kovid/work/trunk/src/calibre/gui2/wizard/stanza_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

Remember to leave calibre running as the server only runs as long as " "calibre is running.\n" @@ -4611,121 +4871,234 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 msgid "&Customize plugin" msgstr "ت&خصيص الملحق" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 msgid "&Remove plugin" msgstr "&حذف الملحق" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 msgid "Add new plugin" msgstr "إضافة ملحق جديد" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 msgid "Plugin &file:" msgstr "&ملف الملحق:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/config_ui.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "&Add" msgstr "&إضافة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 msgid "Create Tag-based Column" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:126 msgid "Lookup name" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:127 msgid "Column heading" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:128 msgid "Column type" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:129 msgid "Use brackets" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:130 msgid "Values can be edited" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:131 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:133 -msgid "Yes" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:132 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:134 -msgid "No" -msgstr "" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:135 msgid "Text" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:136 msgid "Number" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:177 -#: /home/kovid/work/trunk/src/calibre/gui2/library.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:830 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:537 msgid "Date" msgstr "تاريخ" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:138 msgid "Tag on book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:139 msgid "Explanation text added in create_ct_column.py" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:140 msgid "Create and edit tag-based columns" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:18 +msgid "Text, column shown in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:21 +msgid "Comma separated text, like tags, shown in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:24 +msgid "Long text, like comments, not shown in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:29 +msgid "Floating point numbers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:31 +msgid "Integers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:33 +msgid "Ratings, shown with stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:36 +msgid "Yes/No" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:60 +msgid "No column selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:61 +msgid "No column has been selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:65 +msgid "Selected column is not a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:96 +msgid "No lookup name was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:98 +msgid "" +"The label must contain only letters and digits, and start with a letter" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:107 +msgid "No column heading was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:113 +msgid "The lookup name %s is already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:123 +msgid "The heading %s is already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:125 +msgid "" +"The lookup name must be lower case and cannot contain \":\"s or spaces" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 +msgid "Create or edit custom columns" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 +msgid "&Lookup name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 +msgid "Column &heading" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 +msgid "" +"Used for searching the column. Must contain only digits and lower case " +"letters." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 +msgid "" +"Column heading in the library view and category name in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 +msgid "Column &type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 +msgid "What kind of information will be kept in the column." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 +msgid "" +"

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

\n" +"

For example:\n" +"

    \n" +"
  • ddd, d MMM yyyy gives Mon, 5 Jan 2010
  • \n" +"
  • dd MMMM yy gives 05 January 10
  • \n" +"
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 +msgid "Use MMM yyyy for month + year, yyyy for year only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 +msgid "Default: dd MMM yyyy." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 +msgid "Format for &dates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:21 msgid "Getting debug information" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:22 msgid "Copy to &clipboard" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/device_debug.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:24 msgid "Debug device detection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:44 msgid "Invalid template" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template.py:45 msgid "The template %s is invalid:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:42 msgid "Save &template" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:43 msgid "" "By adjusting the template below, you can control what folders the files are " "saved in and what filenames they are given. You can use the / character to " @@ -4734,68 +5107,64 @@ msgid "" "by the empty string." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/save_template_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:44 msgid "Available variables:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/config/social.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/social.py:34 msgid "Downloading social metadata, please wait..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 -msgid "Are you sure?" -msgstr "هل أنت متأكّد؟" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/conversion_error_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:42 msgid "ERROR" msgstr "خطأ" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 msgid "Author Sort" msgstr "ترتيب المؤلف" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:65 msgid "ISBN" msgstr "ISBN" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:165 msgid "Finding metadata..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:179 msgid "Could not find metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:180 msgid "The metadata download seems to have stalled. Try again later." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:189 msgid "Warning" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:190 msgid "Could not fetch metadata from:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:194 msgid "No metadata found" msgstr "لم يوجد ميتاداتا" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:195 msgid "" "No metadata found, try adjusting the title and author or the ISBN key." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 msgid "Fetch metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 msgid "" "

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

To use isbndb.com you must sign up for a " @@ -4803,128 +5172,123 @@ msgid "" "below." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 msgid "&Access Key:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 msgid "Fetch" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 msgid "Matches" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 msgid "" "Select the book that most closely matches your copy from the list below" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 msgid "Download &social metadata (tags/rating/etc.) for the selected book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 msgid "Overwrite author and title with author and title of selected book" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/job_view_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:37 msgid "Details of job" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:44 msgid "Active Jobs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:45 msgid "&Stop selected job" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:46 msgid "Show job &details" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/jobs_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 msgid "Stop &all jobs" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk.py:22 -msgid "Editing meta information for %d books" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 +msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 msgid "Edit Meta information" msgstr "تحرير معلومات الميتا" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:144 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:355 -msgid "Meta information" -msgstr "معلومات الميتا" - -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 msgid "A&utomatically set author sort" msgstr "ضبط& ترتيب المؤلف آلياً" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 msgid "Author s&ort: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:149 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Rating:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:150 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:151 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:366 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "Rating of this book. 0-5 stars" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 msgid "No change" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:153 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 msgid " stars" msgstr " نجمة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:372 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Open Tag Editor" msgstr "فتح محرر الوسوم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 msgid "&Remove tags:" msgstr "حذف& الوسوم:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 msgid "Comma separated list of tags to remove from the books. " msgstr "قائمة من الوسوم مفرقة بالفاصلة لحذفها من الكتب. " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 msgid "Remove &format:" msgstr "حذف الت&هيئة:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 msgid "&Swap title and author" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 msgid "" "Selected books will be automatically numbered,\n" "in the order you selected them.\n" @@ -4932,460 +5296,586 @@ msgid "" "Book A will have series number 1 and Book B series number 2." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 +msgid "" +"Remove stored conversion settings for the selected books.\n" +"\n" +"Future conversion of these books will use the default settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 +msgid "Remove &stored conversion settings for the selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:412 +msgid "&Basic metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413 +msgid "&Custom metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:125 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:138 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:137 -#: /home/kovid/work/trunk/src/calibre/gui2/ui.py:1284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1382 msgid "Books" msgstr "كتب" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:167 msgid "No permission" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:168 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:193 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196 msgid "No format selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:207 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:208 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:254 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "Could not read cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:257 msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:263 msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:300 msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:413 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:447 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:450 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:517 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:546 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:529 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:534 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:569 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:530 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:570 msgid "Could not fetch cover.
" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:560 msgid "The download timed out." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:564 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:576 msgid "Bad cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:577 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:610 msgid "There were errors" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:640 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:641 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:712 msgid "Permission denied" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:713 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Edit Meta Information" msgstr "تحرير معلومات الميتا" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +msgid "Meta information" +msgstr "معلومات الميتا" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "Swap the author and title" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "" "Automatically create the author sort entry based on the current author entry" msgstr "ينشئ مدخل ترتيب المؤلف حسب مدخل المؤلف الحالي" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Remove unused series (Series that have no books)" msgstr "حذف سلسلات غير مستخدمة (سلسلات التي لا تحتوي على كتب)" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "IS&BN:" msgstr "IS&BN:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "Publishe&d:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "dd MMM yyyy" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "&Date:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 msgid "&Comments" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "&Fetch metadata from server" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 msgid "Available Formats" msgstr "التهيئات المتوفرة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Add a new format for this book to the database" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Remove the selected formats for this book from the database." msgstr "حذف التهيئات المختارة لهذا الكتاب من قاعدة البيانات." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 msgid "Update metadata from the metadata in the selected format" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "Reset cover to default" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "Download &cover" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/password_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/progress.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 msgid "Aborting..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 +msgid "" +"The current saved search will be permanently deleted. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 +msgid "Saved Search Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 +msgid "Saved Search: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 +msgid "Select a saved search to edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 +msgid "Delete this selected saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 +msgid "Enter a new saved search name." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 +msgid "Add the new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 +msgid "Change the contents of the saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:119 msgid "Need username and password" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:120 msgid "You must provide a username and/or password to use this news source." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:171 msgid "Created by: " msgstr "أنشأه: " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:178 msgid "Last downloaded: never" msgstr "آخر تنزيل: لم ينزّل من قبل" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:193 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:195 msgid "Last downloaded" msgstr "آخر تنزيل" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:217 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:192 msgid "Schedule news download" msgstr "جدولة تنزيل الأخبار" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:219 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:224 msgid "Download all scheduled new sources" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:321 msgid "No internet connection" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:322 msgid "Cannot download news as no internet connection is active" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:193 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:278 msgid "Recipes" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:194 msgid "Download all scheduled recipes at once" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:195 msgid "Download &all scheduled" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:196 msgid "blurb" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 msgid "&Schedule for download:" msgstr "ج&دولة للتنزيل:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:198 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 msgid "Every " msgstr "كل " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 msgid "day" msgstr "اليوم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 msgid "Monday" msgstr "الأثنين" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 msgid "Tuesday" msgstr "الثلاثاء" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 msgid "Wednesday" msgstr "الأربعاء" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 msgid "Thursday" msgstr "الخميس" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 msgid "Friday" msgstr "الجمعة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 msgid "Saturday" msgstr "السبت" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 msgid "Sunday" msgstr "الأحد" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 msgid "at" msgstr "في" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:210 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:222 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " يوم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 msgid "&Account" msgstr "&حساب" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 msgid "&Schedule" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 msgid "Add &title as tag" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 msgid "&Extra tags:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 msgid "&Advanced" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "&Download now" msgstr "&تنزيل الآن" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" "حذف الأخبار المنزّلة التي أقدم من العدد المخصص من الأيام. اضبطه بـ0 لتعطيله." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/scheduler_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "Delete downloaded news older than " msgstr "حذف أخبار أقدم من " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" msgstr "يحتوي على" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 msgid "" "

Negate this match. That is, only return results that do not match " "this query." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_item_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 msgid "Negate" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:113 msgid "Advanced Search" msgstr "بحث متقدم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:114 msgid "Find entries that have..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:115 msgid "&All these words:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:116 msgid "This exact &phrase:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:117 msgid "&One or more of these words:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 msgid "But dont show entries that have..." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 msgid "Any of these &unwanted words:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 msgid "What kind of match to use:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 msgid "Contains: the word or phrase matches anywhere in the metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 msgid "Equals: the word or phrase must match an entire metadata field" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 msgid "" "Regular expression: the expression must match anywhere in the metadata" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 msgid " " msgstr " " -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 msgid "" "See the User Manual for more help" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/select_formats.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:72 +msgid "Authors" +msgstr "المؤلفون" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:46 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:101 +msgid "Publishers" +msgstr "الناشرون" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:110 +msgid " (not on any book)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:162 +msgid "" +"The current tag category will be permanently deleted. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:153 +msgid "User Categories Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:154 +msgid "A&vailable items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:155 +msgid "Apply tags to current tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:157 +msgid "A&pplied items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 +msgid "Unapply (remove) tag from current tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160 +msgid "Category name: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161 +msgid "Select a category to edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162 +msgid "Delete this selected tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:164 +msgid "Enter a new category name. Select the kind before adding it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165 +msgid "Add the new category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 +msgid "Category filter: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168 +msgid "Select the content kind of the new category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:93 msgid "Are your sure?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:69 msgid "" "The following tags are used by one or more books. Are you certain you want " "to delete them?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" msgstr "محرر الوسوم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" msgstr "الوسوم المت&وفرة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." @@ -5393,23 +5883,23 @@ msgstr "" "حذف الوسم من قائمة البيانات. هذا سيحذف الوسم من الكتب وثم سيحذف الوسم تماماً " "من القاعدة." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" msgstr "علّم الكتاب الحالي بالوسم" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" msgstr "الوسوم الم&علّمة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" msgstr "حذف الوسم من الكتاب الحالي" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" msgstr "إض&افة وسم:" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." @@ -5417,135 +5907,195 @@ msgstr "" "إذا الوسم الذي تريده ليس متوفر، بإمكانك إضافته هنا. يقبل قائمة من الوسوم " "مفرّقة بفاصلات." -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/tag_editor_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" msgstr "إضافة وسم إلى قائمة الوسوم المتوفرة وعلّم الكتاب الحالي به" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:429 +msgid "Item is blank" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430 +msgid "An item cannot be set to nothing. Delete it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:66 +msgid "Item already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:67 +msgid "The item %s is already used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:79 +msgid "No item selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:80 +msgid "You must select one item from the list of Available items." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:89 +msgid "No items selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:90 +msgid "You must select at least one items from the list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:94 +msgid "Are you certain you want to delete the following items?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:71 +msgid "Category Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 +msgid "Items in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 +msgid "" +"Delete item from database. This will unapply the item from all books and " +"then remove it from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 +msgid "Rename the item in every book where it is used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 msgid "Test email settings" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:52 msgid "Send test mail from %s to:" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/test_email_ui.py:53 -#: /home/kovid/work/trunk/src/calibre/gui2/filename_pattern_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "&Test" msgstr "&تجربة" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:127 msgid "No recipe selected" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:132 msgid "The attached file: %s is a recipe to download %s." msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:133 msgid "Recipe for " msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:150 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:161 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:156 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:164 msgid "Switch to Basic mode" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:174 msgid "Feed must have a title" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:175 msgid "The feed must have a title" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:179 msgid "Feed must have a URL" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:180 msgid "The feed %s must have a URL" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:185 msgid "Already exists" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:186 msgid "This feed has already been added to the recipe" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:227 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:236 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:286 msgid "Invalid input" msgstr "دخل غير صالح" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:228 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:237 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:287 msgid "

Could not create recipe. Error:
%s" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:241 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:263 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:290 msgid "Replace recipe?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:242 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:264 -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:291 msgid "A custom recipe named %s already exists. Do you want to replace it?" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick recipe" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:257 msgid "Pick the recipe to customize" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:277 msgid "Choose a recipe file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 msgid "Add/Update &recipe" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 msgid "&Remove recipe" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 msgid "&Share recipe" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 msgid "Customize &builtin recipe" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 msgid "&Load recipe from file" msgstr "" -#: /home/kovid/work/trunk/src/calibre/gui2/dialogs/user_profiles_ui.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 msgid "" "