Updated translation template

This commit is contained in:
Kovid Goyal 2010-11-10 07:16:38 -07:00
parent 94277e1d7e
commit 7ed2aa75e8
6 changed files with 188 additions and 94 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -9,7 +9,8 @@ __docformat__ = 'restructuredtext en'
from lxml import html from lxml import html
from lxml.html import soupparser from lxml.html import soupparser
from PyQt4.Qt import QApplication, QFontInfo, QPalette from PyQt4.Qt import QApplication, QFontInfo, QPalette, QSize, QWidget, \
QToolBar, QVBoxLayout, QAction, QIcon
from PyQt4.QtWebKit import QWebView from PyQt4.QtWebKit import QWebView
from calibre.ebooks.chardet import xml_to_unicode from calibre.ebooks.chardet import xml_to_unicode
@ -17,6 +18,22 @@ from calibre import xml_replace_entities
class EditorWidget(QWebView): class EditorWidget(QWebView):
def __init__(self, parent=None):
QWebView.__init__(self, parent)
for name, icon, text, checkable in [
('bold', 'format-text-bold', _('Bold'), True),
('italic', 'format-text-italic', _('Italic'), True),
('underline', 'format-text-underline', _('Underline'), True),
('strikethrough', 'format-text-underline', _('Underline'), True),
]:
ac = QAction(QIcon(I(icon+'.png')), text, self)
ac.setCheckable(checkable)
setattr(self, 'action_'+name, ac)
def sizeHint(self):
return QSize(150, 150)
@dynamic_property @dynamic_property
def html(self): def html(self):
@ -63,9 +80,31 @@ class EditorWidget(QWebView):
return property(fget=fget, fset=fset) return property(fget=fget, fset=fset)
class Editor(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.toolbar = QToolBar(self)
self.editor = EditorWidget(self)
self._layout = QVBoxLayout(self)
self.setLayout(self._layout)
self._layout.setContentsMargins(0, 0, 0, 0)
self._layout.addWidget(self.toolbar)
self._layout.addWidget(self.editor)
@dynamic_property
def html(self):
def fset(self, v):
self.editor.html = v
return property(fget=lambda self:self.editor.html, fset=fset)
if __name__ == '__main__': if __name__ == '__main__':
app = QApplication([]) app = QApplication([])
w = EditorWidget() w = Editor()
w.resize(800, 600)
w.show() w.show()
# testing {{{ # testing {{{
@ -101,4 +140,4 @@ if __name__ == '__main__':
#print w.html.encode('utf-8') #print w.html.encode('utf-8')
# }}} # }}}
print w.html #print w.html

View File

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre 0.7.27\n" "Project-Id-Version: calibre 0.7.27\n"
"POT-Creation-Date: 2010-11-06 09:35+MDT\n" "POT-Creation-Date: 2010-11-10 07:14+MST\n"
"PO-Revision-Date: 2010-11-06 09:35+MDT\n" "PO-Revision-Date: 2010-11-10 07:14+MST\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: LANGUAGE\n" "Language-Team: LANGUAGE\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -72,9 +72,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:611 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:616
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:817 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:822
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:819 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:824
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /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/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:911 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:911
@ -273,7 +273,7 @@ msgid "Change the way calibre behaves"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:734 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:734
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:206 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208
msgid "Add your own columns" msgid "Add your own columns"
msgstr "" msgstr ""
@ -1881,8 +1881,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:605 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:605
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:108
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
@ -1916,8 +1916,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:206 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:206
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:189 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:325 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:325
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1131 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1131
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:178 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:178
@ -2213,7 +2213,7 @@ msgstr ""
msgid "All articles" msgid "All articles"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:259 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:262
msgid "This is an Amazon Topaz book. It cannot be processed." msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "" msgstr ""
@ -3140,7 +3140,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:391
#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:739 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:741
msgid "Not allowed" msgid "Not allowed"
msgstr "" msgstr ""
@ -3207,7 +3207,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:720
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685
#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189
msgid "Failed" msgid "Failed"
msgstr "" msgstr ""
@ -3878,11 +3878,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:58
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:403 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:405
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:126
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:121 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:137
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:320 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:320
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1117 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1117
@ -3891,10 +3891,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:319 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:319
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:24 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:24
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:117 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:117
@ -3925,7 +3925,7 @@ msgstr ""
msgid "None" msgid "None"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:402 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:404
msgid "Double-click to open Book Details window" msgid "Double-click to open Book Details window"
msgstr "" msgstr ""
@ -4146,6 +4146,19 @@ msgstr ""
msgid "Tab template for catalog.ui" msgid "Tab template for catalog.ui"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:25
msgid "Bold"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:26
msgid "Italic"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:28
msgid "Underline"
msgstr ""
#: /home/kovid/work/calibre/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" 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 "" msgstr ""
@ -4613,6 +4626,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:353 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:353
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
msgid "&Series:" msgid "&Series:"
msgstr "" msgstr ""
@ -4798,7 +4812,7 @@ msgid "Options specific to the input format."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:117 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:117
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
msgid "Dialog" msgid "Dialog"
@ -4988,8 +5002,8 @@ msgid "Force maximum line length"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:72 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:54
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:62
@ -5400,15 +5414,15 @@ msgstr ""
msgid "&Paste from clipboard" msgid "&Paste from clipboard"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:80
msgid "Fit &cover within view" msgid "Fit &cover within view"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:81
msgid "&Previous" msgid "&Previous"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:82
msgid "&Next" msgid "&Next"
msgstr "" msgstr ""
@ -5565,6 +5579,7 @@ msgid "Set options for converting %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:211
msgid "&Title:" msgid "&Title:"
msgstr "" msgstr ""
@ -5813,40 +5828,40 @@ msgid "Book %d:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274
msgid "<b>You can destroy your library using this feature.</b> Changes are permanent. There is no undo function. This feature is experimental, and there may be bugs. You are strongly encouraged to back up your library before proceeding.<p>Search and replace in text fields using character matching or regular expressions. " msgid "<b>You can destroy your library using this feature.</b> Changes are permanent. There is no undo function. You are strongly encouraged to back up your library before proceeding.<p>Search and replace in text fields using character matching or regular expressions. "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282
msgid "In character mode, the field is searched for the entered search text. The text is replaced by the specified replacement text everywhere it is found in the specified field. After replacement is finished, the text can be changed to upper-case, lower-case, or title-case. If the case-sensitive check box is checked, the search text must match exactly. If it is unchecked, the search text will match both upper- and lower-case letters" msgid "In character mode, the field is searched for the entered search text. The text is replaced by the specified replacement text everywhere it is found in the specified field. After replacement is finished, the text can be changed to upper-case, lower-case, or title-case. If the case-sensitive check box is checked, the search text must match exactly. If it is unchecked, the search text will match both upper- and lower-case letters"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293
msgid "In regular expression mode, the search text is an arbitrary python-compatible regular expression. The replacement text can contain backreferences to parenthesized expressions in the pattern. The search is not anchored, and can match and replace multiple times on the same string. The modification functions (lower-case etc) are applied to the matched text, not to the field as a whole. The destination box specifies the field where the result after matching and replacement is to be assigned. You can replace the text in the field, or prepend or append the matched text. See <a href=\"http://docs.python.org/library/re.html\"> this reference</a> for more information on python's regular expressions, and in particular the 'sub' function." msgid "In regular expression mode, the search text is an arbitrary python-compatible regular expression. The replacement text can contain backreferences to parenthesized expressions in the pattern. The search is not anchored, and can match and replace multiple times on the same string. The modification functions (lower-case etc) are applied to the matched text, not to the field as a whole. The destination box specifies the field where the result after matching and replacement is to be assigned. You can replace the text in the field, or prepend or append the matched text. See <a href=\"http://docs.python.org/library/re.html\"> this reference</a> for more information on python's regular expressions, and in particular the 'sub' function."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:436 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438
msgid "You must specify a destination when source is a composite field" msgid "You must specify a destination when source is a composite field"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:528 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:536 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:631 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633
msgid "Search/replace invalid" msgid "Search/replace invalid"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:529 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531
msgid "Authors cannot be set to the empty string. Book title %s not processed" msgid "Authors cannot be set to the empty string. Book title %s not processed"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:537 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539
msgid "Title cannot be set to the empty string. Book title %s not processed" msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:632 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634
msgid "Search pattern is invalid: %s" msgid "Search pattern is invalid: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:669 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671
msgid "" msgid ""
"Applying changes to %d books.\n" "Applying changes to %d books.\n"
"Phase {0} {1}%%." "Phase {0} {1}%%."
@ -6071,7 +6086,7 @@ msgid "Your test:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:401 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:401
msgid "&Search and replace (experimental)" msgid "&Search and replace"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:91
@ -6570,56 +6585,92 @@ msgstr ""
msgid "Negate" msgid "Negate"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198
msgid "Advanced Search" msgid "Advanced Search"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:199
msgid "Find entries that have..." msgid "Find entries that have..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200
msgid "&All these words:" msgid "&All these words:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201
msgid "This exact &phrase:" msgid "This exact &phrase:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202
msgid "&One or more of these words:" msgid "&One or more of these words:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203
msgid "But dont show entries that have..." msgid "But dont show entries that have..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:204
msgid "Any of these &unwanted words:" msgid "Any of these &unwanted words:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:205
msgid "What kind of match to use:" msgid "What kind of match to use:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:126 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:206
msgid "Contains: the word or phrase matches anywhere in the metadata" msgid "Contains: the word or phrase matches anywhere in the metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:207
msgid "Equals: the word or phrase must match an entire metadata field" msgid "Equals: the word or phrase must match an entire metadata field"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:208
msgid "Regular expression: the expression must match anywhere in the metadata" msgid "Regular expression: the expression must match anywhere in the metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:209
msgid " " msgid "See the <a href=\"http://calibre-ebook.com/user_manual/gui.html#the-search-interface\">User Manual</a> for more help"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:210
msgid "See the <a href=\"http://calibre-ebook.com/user_manual/gui.html#the-search-interface\">User Manual</a> for more help" msgid "A&dvanced Search"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:212
msgid "Enter the title."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:213
msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
msgid "Ta&gs:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:216
msgid "Enter an author's name. Only one author can be used."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:217
msgid "Enter a series name, without an index. Only one series name can be used."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218
msgid "Enter tags separated by spaces"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:219
msgid "&Clear"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:220
msgid "Search only in specific fields:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221
msgid "Titl&e/Author/Series ..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45
@ -7231,35 +7282,39 @@ msgstr ""
msgid "Books display will be restricted to those matching the selected saved search" msgid "Books display will be restricted to those matching the selected saved search"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:170
msgid "Shift+Ctrl+F"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:173
msgid "Advanced search" msgid "Advanced search"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:177 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:178
msgid "<p>Search the list of books by title, author, publisher, tags, comments, etc.<br><br>Words separated by spaces are ANDed" msgid "<p>Search the list of books by title, author, publisher, tags, comments, etc.<br><br>Words separated by spaces are ANDed"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181
msgid "&Go!" msgid "&Go!"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:187
msgid "Do Quick Search (you can also press the Enter key)" msgid "Do Quick Search (you can also press the Enter key)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Reset Quick Search" msgid "Reset Quick Search"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205
msgid "Copy current search text (instead of search name)" msgid "Copy current search text (instead of search name)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:211
msgid "Save current search under the name shown in the box" msgid "Save current search under the name shown in the box"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:217
msgid "Delete current saved search" msgid "Delete current saved search"
msgstr "" msgstr ""
@ -7316,47 +7371,47 @@ msgstr ""
msgid "Double click to <b>edit</b> me<br><br>" msgid "Double click to <b>edit</b> me<br><br>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:146
msgid "Hide column %s" msgid "Hide column %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:151
msgid "Sort on %s" msgid "Sort on %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:152
msgid "Ascending" msgid "Ascending"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:155
msgid "Descending" msgid "Descending"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:167
msgid "Change text alignment for %s" msgid "Change text alignment for %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:169
msgid "Left" msgid "Left"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:169
msgid "Right" msgid "Right"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:168 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:170
msgid "Center" msgid "Center"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:189
msgid "Show column" msgid "Show column"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:201
msgid "Restore default layout" msgid "Restore default layout"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:740 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:742
msgid "Dropping onto a device is not supported. First add the book to the calibre library." msgid "Dropping onto a device is not supported. First add the book to the calibre library."
msgstr "" msgstr ""
@ -9027,7 +9082,7 @@ msgid "Options to customize the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:704 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "" msgstr ""
@ -9197,63 +9252,63 @@ msgstr ""
msgid "No matches found for: %s" msgid "No matches found for: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:481 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485
msgid "Loading flow..." msgid "Loading flow..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521
msgid "Laying out %s" msgid "Laying out %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:548 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552
msgid "Bookmark #%d" msgid "Bookmark #%d"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556
msgid "Add bookmark" msgid "Add bookmark"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:553 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557
msgid "Enter title for bookmark:" msgid "Enter title for bookmark:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:563 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567
msgid "Manage Bookmarks" msgid "Manage Bookmarks"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:600 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604
msgid "Loading ebook..." msgid "Loading ebook..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:608 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612
msgid "DRM Error" msgid "DRM Error"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:609 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613
msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgid "<p>This book is protected by <a href=\"%s\">DRM</a>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617
msgid "Could not open ebook" msgid "Could not open ebook"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:691 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695
msgid "Options to control the ebook viewer" msgid "Options to control the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702
msgid "If specified, viewer window will try to come to the front when started." msgid "If specified, viewer window will try to come to the front when started."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:701 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705
msgid "If specified, viewer window will try to open full screen when started." msgid "If specified, viewer window will try to open full screen when started."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:706 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710
msgid "Print javascript alert and console messages to the console" msgid "Print javascript alert and console messages to the console"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:712 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716
msgid "" msgid ""
"%prog [options] file\n" "%prog [options] file\n"
"\n" "\n"