From 9b5322092fec9f330c47f15588a04d406415e39f Mon Sep 17 00:00:00 2001 From: Translators <> Date: Sat, 19 Sep 2009 10:53:20 +0100 Subject: [PATCH 01/42] Launchpad automatic translations update. --- src/calibre/translations/ar.po | 77 ++++++++------ src/calibre/translations/bg.po | 75 +++++++------ src/calibre/translations/ca.po | 75 +++++++------ src/calibre/translations/cs.po | 168 +++++++++++++++++------------- src/calibre/translations/da.po | 82 +++++++++------ src/calibre/translations/de.po | 94 ++++++++++------- src/calibre/translations/el.po | 75 +++++++------ src/calibre/translations/en_GB.po | 80 ++++++++------ src/calibre/translations/es.po | 86 ++++++++------- src/calibre/translations/fr.po | 84 ++++++++------- src/calibre/translations/gl.po | 75 +++++++------ src/calibre/translations/he.po | 75 +++++++------ src/calibre/translations/hr.po | 82 +++++++++------ src/calibre/translations/hu.po | 84 ++++++++------- src/calibre/translations/it.po | 84 ++++++++------- src/calibre/translations/ja.po | 75 +++++++------ src/calibre/translations/nb.po | 84 ++++++++------- src/calibre/translations/nds.po | 82 +++++++++------ src/calibre/translations/nl.po | 80 ++++++++------ src/calibre/translations/pl.po | 82 +++++++++------ src/calibre/translations/pt.po | 82 +++++++++------ src/calibre/translations/pt_BR.po | 80 ++++++++------ src/calibre/translations/ro.po | 75 +++++++------ src/calibre/translations/ru.po | 84 ++++++++------- src/calibre/translations/sk.po | 82 +++++++++------ src/calibre/translations/sl.po | 80 ++++++++------ src/calibre/translations/sv.po | 75 +++++++------ src/calibre/translations/te.po | 75 +++++++------ src/calibre/translations/uk.po | 75 +++++++------ src/calibre/translations/yi.po | 75 +++++++------ src/calibre/translations/zh_CN.po | 82 +++++++++------ src/calibre/translations/zh_HK.po | 75 +++++++------ src/calibre/translations/zh_TW.po | 75 +++++++------ 33 files changed, 1572 insertions(+), 1142 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index a9334fe0db..7206811eb8 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 05:40+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:18+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: 2009-09-18 09:45+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -612,40 +612,43 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "تعطيل التشحيذ." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" "تعطيل اقتصاص صفحات الرسم. لبعضهم، الاقتصاص قد يتسبب بحذف محتوى وحدود." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "لا تقسم صور عرضية إلى صورتين طوليتين." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -653,13 +656,13 @@ msgstr "" "تستخدم لمنشورات يمين إلى يسار مثل المانغا اليابانية، إلخ. يتسبب بتقسيم صور " "عرضية إلى صور طولية من اليمين إلى اليسار." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -667,12 +670,19 @@ msgstr "" "لا ترتّب ملفات موجودة في الرسومات أبجدياً، بل استخدم الترتيب المستخدم في " "الرسومات." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "صفحة" @@ -2292,7 +2302,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2320,60 +2330,65 @@ msgstr "" msgid "Form" msgstr "استمارة" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&عدد الألوان:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "تعطيل تشحيذ&" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "تعطيل اقتصاص&" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&عرضي" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&يمين إلى يسار" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2893,10 +2908,6 @@ msgstr "حوار" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 49a0fb21a1..104fea56b9 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2008-05-24 06:23+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -28,7 +28,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 46640d7747..d572169b91 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-05-21 15:19+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -31,7 +31,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -613,62 +613,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2273,7 +2283,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2301,60 +2311,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2875,10 +2890,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index d70dc434ee..49975d950a 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-04 22:22+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-19 07:43+0000\n" +"Last-Translator: Plazec \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -170,6 +170,8 @@ msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." msgstr "" +"Kódování vstupních HTML souborů. Bežně používané kódování jsou např. cp1252, " +"latin1 iso-8859-1 nebo UTF-8." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56 msgid "Extract cover from comic files" @@ -282,7 +284,7 @@ msgstr "Tento profil je určený pro Cybook G3." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:118 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:278 msgid "This profile is intended for the Cybook Opus." -msgstr "" +msgstr "Tento profil je určen pro Cybook Opus." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:130 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:289 @@ -292,12 +294,12 @@ msgstr "Tento profil je určený pro Amazon Kindle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:142 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:322 msgid "This profile is intended for the Irex Illiad." -msgstr "" +msgstr "Tento profil je určen pro Irex Illiad." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:154 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:335 msgid "This profile is intended for the IRex Digital Reader 1000." -msgstr "" +msgstr "Tento profil je určen pro Irex Digital Reader 1000." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:172 msgid "Output profile" @@ -315,7 +317,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 msgid "This profile is intended for the 5-inch JetBook." -msgstr "" +msgstr "Tento profil je určen pro 5\" Jetbook" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:217 msgid "" @@ -394,19 +396,19 @@ msgstr "Deaktivovat modul podle jména" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 msgid "Communicate with Android phones." -msgstr "" +msgstr "Komunikace s telefony Android." #: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:19 msgid "Communicate with the BeBook eBook reader." -msgstr "" +msgstr "Komunikace s zařízením BeBook." #: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:95 msgid "Communicate with the BeBook Mini eBook reader." -msgstr "" +msgstr "Komunikace s zařízením BeBookMini." #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:12 msgid "Communicate with the Blackberry smart phone." -msgstr "" +msgstr "Komunikace s telefony BlackBerry." #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 @@ -418,7 +420,7 @@ msgstr "Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:21 msgid "Communicate with the Cybook Gen 3 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Cybook Gen 3." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:22 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:86 @@ -440,23 +442,23 @@ msgstr "John Schember" #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:101 msgid "Transferring books to device..." -msgstr "" +msgstr "Přenos knih do zařízení..." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:85 msgid "Communicate with the Cybook Opus eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Cybook Opus." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:23 msgid "Communicate with the EB600 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením EB600." #: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." -msgstr "" +msgstr "Komunikace s zařízením ESlick eBook." #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Irex Illiad." #: /home/kovid/work/calibre/src/calibre/devices/interface.py:20 msgid "Device Interface" @@ -464,11 +466,11 @@ msgstr "Rozhraní zařízení" #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Irex Digital Reader 1000." #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:22 msgid "Communicate with the JetBook eBook reader." -msgstr "" +msgstr "Komunikace s zařízením JetBook." #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:23 msgid "James Ralston" @@ -476,16 +478,16 @@ msgstr "James Ralston" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:21 msgid "Communicate with the Kindle eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Amazon Kindle." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:66 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:77 msgid "Communicate with the Kindle 2 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Amazon Kindle 2." #: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:87 msgid "Communicate with the Sony PRS-500 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Sony PRS-500." #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:150 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:93 @@ -499,11 +501,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:78 msgid "Getting list of books on device..." -msgstr "" +msgstr "Získávám seynam knih na zařízení..." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:26 msgid "Communicate with the Sony PRS-300/505 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Sony PRS-300/505." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:27 #: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:18 @@ -524,7 +526,7 @@ msgstr "Odesílám metadata do zařízení..." #: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:17 msgid "Communicate with the Sony PRS-600/700 eBook reader." -msgstr "" +msgstr "Komunikace s zařízením Sony PRS-600/700" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:285 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:357 @@ -533,7 +535,7 @@ msgstr "Nepodařilo se najít disk %s. Zkuste reboot." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:425 msgid "Unable to detect the %s disk drive." -msgstr "" +msgstr "Nemohu detekovat disk %s." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:518 msgid "Could not find mount helper: %s." @@ -547,7 +549,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:538 msgid "Unable to mount main memory (Error code: %d)" -msgstr "" +msgstr "Nemohu připojit hlavní paměť (Kód chyby: %d)" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:643 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:645 @@ -556,7 +558,7 @@ msgstr "Čtečka nemá v tomto slotu žádnou pamětovou kartu." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:647 msgid "Selected slot: %s is not supported." -msgstr "" +msgstr "Vybraný slot: %s není podporováno." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:671 msgid "There is insufficient free space in main memory" @@ -578,7 +580,7 @@ msgstr "Zprávy" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:11 msgid "Configure Device" -msgstr "" +msgstr "Konfigurovat zařízení" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:16 msgid "settings for device drivers" @@ -590,16 +592,16 @@ msgstr "Setříděný seznam formátů, které toto zařízení přijme." #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:18 msgid "Place files in sub directories if the device supports them" -msgstr "" +msgstr "Uložit soubory do podadresářů pokud je zařízení podporuje." #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:19 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:64 msgid "Read metadata from files on device" -msgstr "" +msgstr "Číst metadata ze souborů zařízení" #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:29 msgid "Communicate with an eBook reader." -msgstr "" +msgstr "Komunikace s čtecím zařízením." #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 msgid "Get device information..." @@ -613,7 +615,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:138 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 msgid "Removing books from device metadata listing..." -msgstr "" +msgstr "Odebírám knihy ze seznamu metadat v zařízení..." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:196 msgid "Rendered %s" @@ -629,40 +631,49 @@ msgid "" "\n" "%s" msgstr "" +"Selhalo zpracování komiksu: \n" +"\n" +"%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Počet odstínů šedé barvy použitý při převodu obrázků. Standardní hodnota: " -"%default" +"Počet barev pro převod obrácku ve stupních šedi. Výchozí: %default. Hodnoty " +"menší než 256 mohou vyůstit v rozostřený text na vašem zařízení pokud " +"vytváříte komiks v EPUB formátu." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Vypnutí normalizace (vylepšení kontrastu) rozsahu barev obrázku. Standardně " "je normalizace zapnutá." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Zachovat poměr stran obrázků. Standardně obrazky vyplní celou obrazovku." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Vypnout zvyšování ostrosti obrázků." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" +"Neořezávat stránky komiksů. U některých komiksů může ořezávání kromě okraje " +"stránky odstranit i část kresby." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Nerozdělovat obrázky \"na šířku\" na dva obrázky \"na výsku\"" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -670,7 +681,7 @@ msgstr "" "Zachovat poměr stran a přizpůsobit šířku obrázku výšce obrazovky pro " "prohlížení \"na šířku\"" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -678,7 +689,7 @@ msgstr "" "Pužívané pro publikace čtené zleva doprava, jako např. manga. Obrázky \"na " "šířku\" budou rozdělené na obrázky \"na výšku\" v pořadí zprava doleva." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -686,7 +697,7 @@ msgstr "" "Zapnout filtr šumu. Odstraňuje šum v oblastech plynulých přechodů. Může " "výrazně prodloužit čas na zpracování." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -694,14 +705,21 @@ msgstr "" "Neřadit soubory komiksu abecedně. Použít pořadí v kterém byli přidané do " "komiksu." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Obrázek nijak neupravovat" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" -msgstr "" +msgstr "Strana" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19 msgid "" @@ -1552,7 +1570,7 @@ msgstr "Časová značka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:162 msgid "Published" -msgstr "" +msgstr "Publikováno" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:379 msgid "Rights" @@ -2357,7 +2375,7 @@ msgstr "" msgid "input" msgstr "vstup" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2385,60 +2403,65 @@ msgstr "vstup" msgid "Form" msgstr "Z" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Počet &barev" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Vypnout &normalizaci" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachov&at poměr stran" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Vypnout zao&střování" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "Širo&ké" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Na šíř&ku" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Zp&rava doleva" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Netřídit" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Čistíci &filtr" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "&Výstupní formát:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2958,10 +2981,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "&Výstupní formát:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -3483,7 +3502,7 @@ msgstr "Rozhraní" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "Add/Save" -msgstr "" +msgstr "Přidat/Uložit" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:197 msgid "" @@ -3813,7 +3832,7 @@ msgstr "Upřednostňovaný výstupní formát:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:482 msgid "Preferred &input format order:" -msgstr "" +msgstr "Pořadí preference &vstupních formátů:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:485 msgid "Use &Roman numerals for series number" @@ -5133,7 +5152,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:241 msgid "Add Empty book. (Book entry with no formats)" -msgstr "" +msgstr "Přidat prázdnou knihu. (Položka knihy bez žádných formátů)" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:278 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 @@ -6789,7 +6808,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:32 msgid "The published date" -msgstr "" +msgstr "Datum publikování" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:33 msgid "The calibre internal id" @@ -7587,6 +7606,11 @@ msgstr "" #~ msgid "Converting from %s to LRF is not supported." #~ msgstr "Převod z %s do LRF není podporovaný" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Počet odstínů šedé barvy použitý při převodu obrázků. Standardní hodnota: " +#~ "%default" + #~ msgid "" #~ "Set the author in the metadata of the generated ebook. Default is %default" #~ msgstr "" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index f499d34e92..11f9d9ee2e 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 04:02+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:21+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -638,26 +638,28 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Antal farver for billedkonvertering til gråtone. Standardværdi: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deaktiver normalisering (forbedrer kontrasten) af farveområdet for billeder. " "Standardværdi: Falsk" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Bevar billedformat. Standardværdien er at fylde skærmen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Slå skærpning fra." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -665,11 +667,11 @@ msgstr "" "Slå trimning af tegneserie sider fra. For nogle tegneserier kan trimning " "fjerne del af indholdet, såvel som kanter." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Split ikke landskabsbilleder op i to portrætbilleder" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -677,7 +679,7 @@ msgstr "" "Behold højde-bredde-forhold og skaler billede med skærmens højde som " "billedets bredde for visning i landskabstilstand." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -685,7 +687,7 @@ msgstr "" "Bruges til højre-mod-venstre publikationer som ex. manga. Forårsager at " "landskabssider splittes i portrætsider fra højre mod venstre." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -693,7 +695,7 @@ msgstr "" "Aktiver Despeckle. Reducerer billedstøj. Kan forøge behandlingstid " "væsentligt." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -701,12 +703,19 @@ msgstr "" "Sortér ikke de fundne filer i en tegneserie alfabetisk efter navn. Benyt i " "stedet for den rækkefølge de blev tilføjet til tegneserien." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Processer ikke billedet" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Side" @@ -2367,7 +2376,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2395,60 +2404,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2970,10 +2984,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -7737,6 +7747,10 @@ msgstr "Vis detaljeret output information. Nyttig til fejlfinding" #~ "Options to control the conversion of comics (CBR, CBZ) files into ebooks" #~ msgstr "Indstillinger for konvertering af tegneserier(CBR, CBZ) til e-bøger" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Antal farver for billedkonvertering til gråtone. Standardværdi: %default" + #~ msgid "" #~ "Set the author in the metadata of the generated ebook. Default is %default" #~ msgstr "" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 6982ad6de7..313cdbe218 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 03:47+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 21:16+0000\n" +"Last-Translator: S. Dorscht \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -29,7 +29,7 @@ msgstr "Mach absolut garnichts" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -461,7 +461,7 @@ msgstr "Kommunikation mit dem EB600 eBook Reader." #: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." -msgstr "" +msgstr "Kommunikation mit dem ESlick eBook Reader." #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." @@ -646,29 +646,30 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Anzahl der Farben für die Konvertierung von Graustufenbildern. " -"Voreinstellung: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deaktivieren der Normalisierung (verbessert den Kontrast) des Farbbereichs " "für Bilder. Voreinstellung: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Seitenverhältnis des Bildes beibehalten. Voreinstellung ist " "bildschirmfüllende Darstellung." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Schärfen deaktivieren." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -676,11 +677,11 @@ msgstr "" "Beschneiden von Comic-Seiten ausschalten. Bei einigen Comics könnte sonst " "neben dem Rahmen auch Inhalt entfernt werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Bilder im Querformat nicht in zwei Bilder im Hochformat aufteilen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -688,7 +689,7 @@ msgstr "" "Seitenverhältnis beibehalten und Bild so skalieren, dass die Bildschirmhöhe " "als Bildbreite in der Querformatansicht verwendet wird." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -696,7 +697,7 @@ msgstr "" "Benutzt für rechts-nach-links Publikationen wie Mangas. Querformatige Seiten " "werden von rechts nach links in mehrere hochformatige Seiten unterteilt." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -704,7 +705,7 @@ msgstr "" "Entkörnung einschalten. Reduziert die Körnigkeit. Kann die Bearbeitungszeit " "stark verlängern." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -713,12 +714,19 @@ msgstr "" "sortieren, sondern die Reihenfolge verwenden, in der sie zum Comic " "hinzugefügt wurden." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Auf das Bild keine Verarbeitung anwenden" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Seite" @@ -2573,7 +2581,7 @@ msgstr "In die Zwischenablage kopieren" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:381 msgid "Choose Files" -msgstr "" +msgstr "Dateien wählen" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:52 msgid "Searching in" @@ -2593,7 +2601,7 @@ msgstr "Hinzugefügt" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:257 msgid "Adding failed" -msgstr "Hinzufügen gescheitert" +msgstr "Hinzufügen schlug fehl" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:258 msgid "" @@ -2665,7 +2673,7 @@ msgstr "Einstellungen für" msgid "input" msgstr "Eingabe" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2693,60 +2701,65 @@ msgstr "Eingabe" msgid "Form" msgstr "Art" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "A&nzahl der Farben:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "&Normalisieren deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Verhältnis &beibehalten" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "&Schärfen deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Beschneiden ausschal&ten" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Weite" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Querformat" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Von &rechts nach links" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nicht so&rtieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Ent&körnung" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Comic Verarbeitung ausschalten" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "Ausgabef&ormat:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Fehlersuche" @@ -3278,10 +3291,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "E&ingabeformat:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "Ausgabef&ormat:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -5994,7 +6003,7 @@ msgstr "Informationen zur Fehlersuche in Konsole aufzeichnen" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1757 msgid "Do not check for updates" -msgstr "" +msgstr "Nicht nach Updates suchen" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1805 msgid "If you are sure it is not running" @@ -8606,6 +8615,11 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Very verbose output, useful for debugging." #~ msgstr "Sehr ausführliche Ausgabe, hilfreich bei der Fehlersuche." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Anzahl der Farben für die Konvertierung von Graustufenbildern. " +#~ "Voreinstellung: %default" + #~ msgid "The format to use when saving single files to disk" #~ msgstr "" #~ "Das zu verwendende Format bei der Speicherung einzelner Dateie auf die " diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 3f41b9c772..36dd5bc10f 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-05-21 15:22+0000\n" "Last-Translator: Thanos Petkakis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index 2c3752ef8e..4532485c78 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-05 19:12+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -619,24 +619,27 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" -msgstr "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Disable normalize (improve contrast) color range for pictures. Default: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Maintain picture aspect ratio. Default is to fill the screen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Disable sharpening." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -644,11 +647,11 @@ msgstr "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Don't split landscape images into two portrait images" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -656,7 +659,7 @@ msgstr "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -664,7 +667,7 @@ msgstr "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -672,7 +675,7 @@ msgstr "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -680,12 +683,19 @@ msgstr "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Apply no processing to the image" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2357,7 +2367,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2385,60 +2395,65 @@ msgstr "" msgid "Form" msgstr "Form" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Number of Colors:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Disable &normalize" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Keep &aspect ratio" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Disable &Sharpening" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Disable &Trimming" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Wide" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Landscape" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Right to left" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Don't so&rt" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "De&speckle" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2960,10 +2975,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -7338,6 +7349,9 @@ msgstr "Do not download CSS stylesheets." msgid "Show detailed output information. Useful for debugging" msgstr "Show detailed output information. Useful for debugging" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "Number of colors for grayscale image conversion. Default: %default" + #~ msgid "Frequently used directories" #~ msgstr "Frequently used directories" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 828ffd04fd..ce694799c6 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 11:17+0000\n" -"Last-Translator: Jellby \n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:27+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -31,7 +31,7 @@ msgstr "No hacer nada en absoluto" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -649,29 +649,30 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Número de colores para conversión de imágenes a escala de grises. Por " -"defecto es %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deshabilitar normalizar (mejora el contraste) el rango de color para " "imágenes. Por defecto: desactivado" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Mantener la proporción de la imagen. El valor por defecto es rellenar la " "pantalla." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Deshabilitar enfocar." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -679,11 +680,11 @@ msgstr "" "Desactivar el recortado de páginas de cómics. Para algunos cómics, el " "recortado puede eliminar contenido además de bordes." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "No dividir imágenes apaisadas en dos imágenes verticales" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -691,7 +692,7 @@ msgstr "" "Mantener la proporción y escalar la imagen usando la altura de la pantalla " "como ancho de imagen, para verla en modo de visualización apaisado." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -700,7 +701,7 @@ msgstr "" "páginas apaisadas sean divididas en páginas verticales de derecha a " "izquierda." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -708,7 +709,7 @@ msgstr "" "Activa eliminación de artefactos (despeckle). Reduce el ruido de artefactos " "en imágenes. Puede incrementar bastante el tiempo de procesamiento." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -716,12 +717,19 @@ msgstr "" "No ordenar los ficheros encontrados en el cómic por nombre alfabético. En su " "lugar usar el orden en el que fueron agregados al cómic." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Dejar imágenes sin procesar" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Página" @@ -2652,7 +2660,7 @@ msgstr "Opciones específicas para" msgid "input" msgstr "entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2680,60 +2688,65 @@ msgstr "entrada" msgid "Form" msgstr "Formulario" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Número de &colores" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Desactivar &normalización" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Mantener &proporción" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Desactivar &enfoque" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Desactivar &recortado" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "A&justar al ancho" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Apaisado" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Derecha a &izquierda" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "No &ordenar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Despec&kle (eliminar artefactos en imágenes)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Desactivar procesamiento de cómics" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "Formato de &salida:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Depurar" @@ -3264,10 +3277,6 @@ msgstr "Diálogo" msgid "&Input format:" msgstr "Formato de &entrada:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "Formato de &salida:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8596,6 +8605,11 @@ msgstr "Mostrar información de salida detallada. Útil para la depuración" #~ "Debe ser un numero no-negativo. 0 implica que no se seguirá ningún enlace en " #~ "el archivo HTML raiz." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Número de colores para conversión de imágenes a escala de grises. Por " +#~ "defecto es %default" + #~ msgid "Usage: imp-meta file.imp" #~ msgstr "Uso: imp-meta file.imp" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index b830bddf39..c6c1234f80 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 05:46+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:32+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -28,7 +28,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -641,27 +641,28 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Nombre de teintes pour la conversion de l'image en échelle de gris. Défaut: " -"%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Désactiver l'effet de normalisation (améliore le contraste) de la gamme de " "couleurs pour les images. Par défaut : False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Maintient le ratio pour l'image. Par défaut : Plein écran." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Désactiver l'effet d'accentuation." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -669,12 +670,12 @@ msgstr "" "Désactive le découpage des pages de BD. Pour certaines BD, le découpage peut " "supprimer le contenu aussi bien que les bordures." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" "Ne pas diviser les images au format paysage en deux images au format portrait" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -682,7 +683,7 @@ msgstr "" "Garde la proportion d'image et redimensionne en utilisant la hauteur d'écran " "comme largeur d'image en mode paysage." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -691,7 +692,7 @@ msgstr "" "Peut entrainer une division des pages au format paysage en pages au format " "portrait affichées de droite à gauche." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -699,7 +700,7 @@ msgstr "" "Autoriser le flou. Réduit le bruit. Peut augmenter sensiblement les durées " "d'exécutions." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -708,12 +709,19 @@ msgstr "" "l'ordre alphabétique. Utiliser plutôt l'ordre dans lequel ils ont été " "ajoutés dans la bande dessinée." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "N'applique aucun traitement sur l'image" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Page" @@ -2617,7 +2625,7 @@ msgstr "Options spécifiques à" msgid "input" msgstr "entrée" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2645,60 +2653,65 @@ msgstr "entrée" msgid "Form" msgstr "Formulaire" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Nombre de couleurs:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "désactive &normalize" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Garde proportion &aspect" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Désactive &Sharpening" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Désactive &Trimming" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Large" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Paysage" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "De d&roite à gauche" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Pas de t&ri" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "&Flou" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Désactiver le traitement des bandes dessinées" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "Format de &sortie:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Déboguer" @@ -3229,10 +3242,6 @@ msgstr "Boîte de dialogue" msgid "&Input format:" msgstr "Format d'&entrée:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "Format de &sortie:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8357,6 +8366,11 @@ msgstr "Affiche des informations détaillées. Utile pour le débogage" #~ msgid "Output directory. Defaults to current directory." #~ msgstr "Dossier de récupération. Par défaut, il s'agit du dossier actuel." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Nombre de teintes pour la conversion de l'image en échelle de gris. Défaut: " +#~ "%default" + #~ msgid "Path to the cover to be used for this book" #~ msgstr "Chemin de la couverture à utiliser pour ce livre" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index a3e6b95498..452ec1dbf3 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-04 22:08+0000\n" "Last-Translator: Marcos X. \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 2e07fa04c1..34a24ab61b 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-05-21 15:24+0000\n" "Last-Translator: nikitajy \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -612,62 +612,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2267,7 +2277,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2295,60 +2305,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2866,10 +2881,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index f07e38ce39..caf5054d1d 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-16 03:20+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:18+0000\n" "Last-Translator: Miro Glavić \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -643,25 +643,28 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" -msgstr "Broj boja za grayscale pretvorbu slike. Standardno: %default." +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Onesposobi normaliziranje (poboljšanje kontrasta) opsega boja za slike. " "Standardno: Pogrešno" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Održi proporcije slike. Standardno je da se popuni zaslon." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Onesposobi izoštravanje." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -669,11 +672,11 @@ msgstr "" "Onesposobi podrezivanje stranica stripova. Kod nekih stripova podrezivanje " "može izbrisati i sadržaj i obrub." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Ne cijepaj pejsažne slike u dvije portretne slike." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -681,7 +684,7 @@ msgstr "" "Održi proporcije i promijeni veličinu slike koristeći visinu zaslona kao " "širinu slike za pregledavanje u pejsažnom modu." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -690,7 +693,7 @@ msgstr "" "Uzrokuje cijepanje pejsažnih stranica u portretne stranice sa desna na " "lijevo." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -698,7 +701,7 @@ msgstr "" "Osposobi Uklanjanje Mrlja. Umanjuje pretjerane mrlje. Može uvelike povećati " "vrijeme procesiranja." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -706,12 +709,19 @@ msgstr "" "Ne sortiraj datoteke pronađene u stripu abecedno po imenu. Upotrijebi " "redoslijed kojim su dodavane u strip." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Ne primijenjuj procesiranje slike." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Stranica" @@ -2599,7 +2609,7 @@ msgstr "Opcije specifične za" msgid "input" msgstr "unos" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2627,60 +2637,65 @@ msgstr "unos" msgid "Form" msgstr "Form" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Broj Boja:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Onesposobi &normalize" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Održi &aspect ratio" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Onesposobi &Sharpening" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Onesposobi &Podrezivanje" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Širok" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Pejsaž" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&S desna na lijevo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Ne so&rt" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Oč&isti mrlje" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Onemogući procesiranje stripova" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "&Izlazni format:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Ukloni grešku" @@ -3208,10 +3223,6 @@ msgstr "Diajlog" msgid "&Input format:" msgstr "&Ulazni format:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "&Izlazni format:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8203,6 +8214,9 @@ msgstr "Prikaži detaljne izlazne podatke. Korisno kod otkrivanja grešaka." #~ msgid "Converting from %s to LRF is not supported." #~ msgstr "Pretvaranje sa %s na LRF nije podržano." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "Broj boja za grayscale pretvorbu slike. Standardno: %default." + #~ msgid "" #~ "Set the author in the metadata of the generated ebook. Default is %default" #~ msgstr "" diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 83986f5791..4f5c3fb1b1 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-16 11:48+0000\n" -"Last-Translator: Devilinside \n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:23+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Semmit nem csinál" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -641,26 +641,28 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Szürkeárnyalatok száma a képek konvertálásához. Alapértelmezés: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Normalizálás tiltása az élénk színű képeknél (növeli a kontrasztot). " "Alapértelmezett: Nincs" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "A képméretarány megtartása. Alapértelmezett: kijelző kitöltése" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Képélesítés letiltása." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -668,17 +670,17 @@ msgstr "" "Képregény lapok vágásának tiltása. Néhány képregénynél a vágás nem csak a " "szegélyt, hanem a tartalom egy részét is eltünteti." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Fekvő képeket ne vágja szét két álló képre." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "Képméretarány megtartása és a képméret növelése fekvő nézethez." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -686,7 +688,7 @@ msgstr "" "Jobbról balra haladó kiadványoknál (pl. Manga) portréoldalakba hasítás " "jobbról balra." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -694,7 +696,7 @@ msgstr "" "Szemcseszűrés bekapcsolása. A szemcse típusú zajt jelentősen csökkenti, de " "sokkal nagyobb feldolgozási időt eredményezhet." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -702,12 +704,19 @@ msgstr "" "A képregény csomagban talált fájlokat a képregényhez való hozzáadás " "sorrendje alapján rendezze a névsorrend helyett." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Képek változatlan megtartása módosítás nélkül." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Oldal" @@ -2595,7 +2604,7 @@ msgstr "Beállítás:" msgid "input" msgstr "bemenet" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2623,60 +2632,65 @@ msgstr "bemenet" msgid "Form" msgstr "Űrlap" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Színek száma:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Normalizálás tiltása" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Az oldal&arány megtartása" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Képélesítés letiltása" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Lapvágás tiltása" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "Méretnövelés fekvő nézethez" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Fekvő nézetű képek megtartása" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Jobbról balra" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Ne rendezze sorba" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Szemcseszűrés" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "Képregény átalakító műveletek tiltása" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "Kimeneti formátum" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Hibakeresés" @@ -3204,10 +3218,6 @@ msgstr "Párbeszédablak" msgid "&Input format:" msgstr "Bemeneti formátum:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "Kimeneti formátum" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8135,6 +8145,10 @@ msgstr "" #~ "New Roman\"\n" #~ " " +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Szürkeárnyalatok száma a képek konvertálásához. Alapértelmezés: %default" + #~ msgid "" #~ "Set the author in the metadata of the generated ebook. Default is %default" #~ msgstr "Szerző a fájl metaadataiban. Alapértelmezés: %default" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index a6739d13e4..ec9c2c8c64 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 02:57+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:29+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: italiano\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -30,7 +30,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -623,39 +623,40 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Numero di colori per conversione immagine in scala di grigi. Predefinito: " -"%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Disabilita la normalizzazione dell'intervallo dei colori per le immagini " "(migliora il contrasto). Predefinito: falso." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Mantieni le proporzioni dell'immagine. Predefinito: riempimento dello " "schermo." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Disabilita maschera di nitidezza." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Non dividere le immagini orizzontali in due immagini verticali" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -663,7 +664,7 @@ msgstr "" "Mantieni le proporzioni e scala l'immagine usando l'altezza dello schermo " "come larghezza dell'immagine per la visualizzazione in orizzontale." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -672,7 +673,7 @@ msgstr "" "divisione di una pagina orizzontale in due pagine verticali orientate da " "destra a sinistra." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -680,7 +681,7 @@ msgstr "" "Abilita Despeckle. Riduce il rumore speckle. Può aumentare di molto il tempo " "di processamento." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -688,12 +689,19 @@ msgstr "" "Non ordinare i file trovati nel fumetto alfabeticamente per nome. Usa invece " "l'ordine in cui sono stati aggiunti al fumetto." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2357,7 +2365,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2385,60 +2393,65 @@ msgstr "" msgid "Form" msgstr "Formato" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Numero di colori:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Disabilita normali&zzazione" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Ma&ntieni proporzioni" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Disabilita masc&hera di nitidezza" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Largo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Orizzontale" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Da destra a sinistra" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Non ordinare" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "De&speckle" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2962,10 +2975,6 @@ msgstr "Finestra di dialogo" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8175,6 +8184,11 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ msgid "Copying library to " #~ msgstr "Copia biblioteca in " +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Numero di colori per conversione immagine in scala di grigi. Predefinito: " +#~ "%default" + #~ msgid "The format to use when saving single files to disk" #~ msgstr "Formato da utilizzare per il salvataggio di singoli file sul disco" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index 55f64cb6d9..bc91c5e2a5 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-04 22:21+0000\n" "Last-Translator: MASA.H \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "まったく何もしません。(何も影響しません。)" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -612,62 +612,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2267,7 +2277,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2295,60 +2305,65 @@ msgstr "" msgid "Form" msgstr "フォーム" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2866,10 +2881,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index d11a3a74d1..f9a7bde649 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-16 19:49+0000\n" -"Last-Translator: Øyvind Øritsland \n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:31+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -643,26 +643,28 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Antall farger brukt for gråskala bildekonvertering. Standard er %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Forhindre normalisering (forbedre kontrasten) av farge rangering for bilder. " "Standard: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Beholde bilde sideforhold. Standard er å fylle hele skjermen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Ikke foreta skjerping av bilder" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -670,11 +672,11 @@ msgstr "" "Slå av finjusteringen av tegneseriesider. For noen tegneserier, kan " "finjustering fjerne innhold og kantrammer." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Ikke splitt landskapsbilder i to portrett bilder" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -682,7 +684,7 @@ msgstr "" "Behold apparisjonsfaktor og skaleringsbilde ved å benytte skjermhøyde som " "bildevidde, for bruk av landskapsmodus." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -691,7 +693,7 @@ msgstr "" "landskapssider blir splittet til portrettbilder som leses fra høyre til " "venstre." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -699,7 +701,7 @@ msgstr "" "Slå på kantutjevning. Reduserer ujevne kanter. Dette valget kan påvirke " "prosesstiden betraktelig." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -707,12 +709,19 @@ msgstr "" "Ikke sorter filene i tegneserien alfabetisk etter navn. Bruk rekkefølgen " "filene ble lagt til i tegneserien." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Ikke legg prosesser til bildet" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Side" @@ -2607,7 +2616,7 @@ msgstr "Valg spesifisert til" msgid "input" msgstr "Inndata" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2635,60 +2644,65 @@ msgstr "Inndata" msgid "Form" msgstr "Form" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Antall Farger:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Slå av &normaliser" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Behold &størrelsesforhold" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Slå av &kontrastøkning" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Slå av &Justering" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Bredde" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Landskap" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Høyre til venstre" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Ikke so&rter" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Kant&utgjevning" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Slå av tegneserieprossessering" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "&Utdataformat:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Feilsøk" @@ -3217,10 +3231,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "&Inndataformat:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "&Utdataformat:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8000,6 +8010,10 @@ msgstr "Vis detaljert utdatainformasjon. Benyttes for feilsøking" #~ "Uthentet markup fra lesbart format. Dette kan medføre at mellomrom, " #~ "tabulatorer og linjeskift blir modifisert." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Antall farger brukt for gråskala bildekonvertering. Standard er %default" + #~ msgid "Rendering comic pages..." #~ msgstr "Prosesserer tegneserie sider..." diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 75c38c4698..96c3059ea4 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-04 22:11+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -29,7 +29,7 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -644,29 +644,30 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Anzahl der Farben für die Konvertierung von Graustufenbildern. " -"Voreinstellung: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deaktivieren der Normalisierung (verbessert den Kontrast) des Farbbereichs " "für Bilder. Voreinstellung: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Seitenverhältnis des Bildes beibehalten. Voreinstellung ist " "bildschirmfüllende Darstellung." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Schärfen deaktivieren." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -674,11 +675,11 @@ msgstr "" "Beschneiden von Comic-Seiten ausschalten. Bei einigen Comics könnte sonst " "neben dem Rahmen auch Inhalt entfernt werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Bilder im Querformat nicht in zwei Bilder im Hochformat aufteilen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -686,7 +687,7 @@ msgstr "" "Seitenverhältnis beibehalten und Bild so skalieren, dass die Bildschirmhöhe " "als Bildbreite in der Querformatansicht verwendet wird." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -694,7 +695,7 @@ msgstr "" "Benutzt für rechts-nach-links Publikationen wie Mangas. Querformatige Seiten " "werden von rechts nach links in mehrere hochformatige Seiten unterteilt." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -702,7 +703,7 @@ msgstr "" "Entkörnung einschalten. Reduziert die Körnigkeit. Kann die Bearbeitungszeit " "stark verlängern." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -711,12 +712,19 @@ msgstr "" "sortieren, sondern die Reihenfolge verwenden, in der sie zum Comic " "hinzugefügt wurden." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Auf das Bild keine Verarbeitung anwenden" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Seite" @@ -2622,7 +2630,7 @@ msgstr "Einstellungen für" msgid "input" msgstr "Eingabe" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2650,60 +2658,65 @@ msgstr "Eingabe" msgid "Form" msgstr "Art" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "A&nzahl der Farben:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "&Normalisieren deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Verhältnis &beibehalten" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "&Schärfen deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Beschneiden ausschal&ten" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Weite" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Querformat" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Von &rechts nach links" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nicht so&rtieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Ent&körnung" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Comic Verarbeitung ausschalten" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "Ausgabef&ormat:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -3228,10 +3241,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "E&ingabeformat:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "Ausgabef&ormat:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8480,6 +8489,11 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Very verbose output, useful for debugging." #~ msgstr "Sehr ausführliche Ausgabe, hilfreich bei der Fehlersuche." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Anzahl der Farben für die Konvertierung von Graustufenbildern. " +#~ "Voreinstellung: %default" + #~ msgid "The format to use when saving single files to disk" #~ msgstr "" #~ "Das zu verwendende Format bei der Speicherung einzelner Dateie auf die " diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index dc26cb0b73..518b11f94d 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-15 05:43+0000\n" "Last-Translator: Yentl \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Doet absoluut niets." #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -622,36 +622,38 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Aantal kleuren voor beeld conversie naar grijstinten. Standaard: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Geen kleur normalisatie (contrast verbetering) voor afbeeldingen. Standaard: " "Nee (False)" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Behoudt afbeelding aspect ratio. Standaard is beeldvullend." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Geen aanscherpen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Splits landscape afbeeldingen niet in twee portret afbeeldingen" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -659,7 +661,7 @@ msgstr "" "Behoudt aspect ratio en schaal afbeelding aan de hand van de schermhoogte " "als beeld breedte voor het bekijken in landscape modus." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -667,7 +669,7 @@ msgstr "" "Gebruik voor rechts-naar-links publicaties zoals manga. Hierdoor worden " "landscape paginas gesplitst in portret paginas van rechts naar links." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -675,7 +677,7 @@ msgstr "" "Activeer ontspikkelen. Verminderd spikkel ruis. Dit kan de verwerkingstijd " "flink verlengen." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -683,12 +685,19 @@ msgstr "" "Sorteer de bestanden in de comic niet alfabetisch op naam - gebruik de " "voldorde waarin ze zijn toegevoegd aan de comic." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2328,7 +2337,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2356,60 +2365,65 @@ msgstr "" msgid "Form" msgstr "Formulier" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Aantal &Kleuren:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Schakel &normalisatie uit" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "&Aspectverhouding behouden" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Schakel ver&scherping uit" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Wijd" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Landscape" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Rechts naar links" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Niet so&rteren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Ont&spikkel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2932,10 +2946,6 @@ msgstr "Dialoogvenster" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8150,6 +8160,10 @@ msgstr "" #~ "Opties voor de configuratie van de conversie van comics (CBR, CBZ) bestanden " #~ "naar eboek" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Aantal kleuren voor beeld conversie naar grijstinten. Standaard: %default" + #~ msgid "The format to use when saving single files to disk" #~ msgstr "" #~ "Het formaat te gebruiken voor het wegschrijven van enkele bestanden naar " diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 46ac506a57..faaa671f3b 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 05:42+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:32+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Ta opcja nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -616,36 +616,38 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Liczba kolorów dla konwersji grafiki na czarno-białą. Domyślnie: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Nie zezwalaj na normalizowanie (poprawianie kontrastu) głębi kolorów. " "Domyślne: Fałsz" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Wyłącz wyostrzanie" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Nie dziel grafik panoramicznych na dwie części" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -653,30 +655,37 @@ msgstr "" "Zachowaj format i skalę obrazu używając wysokości ekranu jako szerokość " "obrazu podczas wyświetlania w trybie panoramicznym." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Strona" @@ -2318,7 +2327,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2346,60 +2355,65 @@ msgstr "" msgid "Form" msgstr "Formularz" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Liczba kolorów:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Wyłącz normalizację" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachowaj &proporcje" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Wyłącz wyostrzanie" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Pozioma" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Prawa do lewej" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nie so&tuj" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2917,10 +2931,6 @@ msgstr "Okno dialogowe" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -7589,6 +7599,10 @@ msgstr "" #~ msgid "Click to see the list of books available on your computer" #~ msgstr "Kliknij, aby zobaczyć listę książek dostepnych na twoim komputerze" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Liczba kolorów dla konwersji grafiki na czarno-białą. Domyślnie: %default" + #~ msgid "" #~ "any2lrf [options] myfile\n" #~ "\n" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index ad83aed808..b097d68718 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-15 05:39+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -642,28 +642,29 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Número de cores para a conversão de imagens em escala de cinza. A " -"predefinição é: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Desactivar a normalização (melhoria do contraste) do campo de cores das " "imagens. A predefinição é: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Manter a relação de aspecto da imagem. A predefinição é preencher o écran." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Desactivar a nitidez." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -671,12 +672,12 @@ msgstr "" "Desactivar o aparar das páginas de banda desenhada. Em certas bandas " "desenhadas aparar pode remover conteúdos além das margens." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" "Não dividir as imagens em modo de paisagem em duas imagens em modo de retrato" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -684,7 +685,7 @@ msgstr "" "Manter a relação de aspecto e escala da imagem usando a altura do écran como " "largura da imagem para visualização em modo paisagem." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -693,7 +694,7 @@ msgstr "" "páginas em modo de paisagem a serem divididas em páginas em modo de retrato " "da direita para a esquerda." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -701,7 +702,7 @@ msgstr "" "Activar Limpar Irregularidades. Reduz as irregularidades. Pode aumentar " "muito o tempo de processamento." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -710,12 +711,19 @@ msgstr "" "nome. Em vez disso, usar a ordem pela qual foram adicionados à banda " "desenhada." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Não aplicar processamento à imagem" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Página" @@ -2632,7 +2640,7 @@ msgstr "Opções específicas a" msgid "input" msgstr "ficheiro de origem" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2660,60 +2668,65 @@ msgstr "ficheiro de origem" msgid "Form" msgstr "Formulário" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Número de &cores:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Desactivar nor&malizar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Manter a &relação de aspecto" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Desactivar &nitidez" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Desactivar &aparar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Largo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Paisa&gem" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Direita para a esquerda" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Não &ordenar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Limpar &irregularidades" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "Desactivar o &processamento de banda desenhada" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "Formato de &destino:" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "Depurar" @@ -3243,10 +3256,6 @@ msgstr "Caixa de diálogo" msgid "&Input format:" msgstr "Formato de &origem:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "Formato de &destino:" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -9215,6 +9224,11 @@ msgstr "Mostrar informação detalhada. Útil para depurar." #~ "Opções para controlar a conversão de ficheiros de banda desenhada (CBR, CBZ) " #~ "em livros" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Número de cores para a conversão de imagens em escala de cinza. A " +#~ "predefinição é: %default" + #~ msgid "Options to control the fetching of periodical content from the web." #~ msgstr "Opções para controlar a recolha de conteúdos periódicos da rede." diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index a5fd3f4a3e..647d3887cb 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-05 19:10+0000\n" "Last-Translator: matheusoveral \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -634,24 +634,26 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Número de cores para conversão de imagens em tons de cinza. Padrão: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Manter a proporção da imagem. O padrão é para preencher a tela." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -659,29 +661,29 @@ msgstr "" "Desativar corte de páginas de quadrinhos. Para alguns quadrinhos, o corte " "pode remover conteúdo bem como bordas." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -689,12 +691,19 @@ msgstr "" "Não listar alfabeticamente por nome os arquivos encontrados no gibi. " "Utilizar a sequencia pela qual foram adicionados ao arquivo." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Página" @@ -2340,7 +2349,7 @@ msgstr "" msgid "input" msgstr "entrada" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2368,60 +2377,65 @@ msgstr "entrada" msgid "Form" msgstr "Formulário" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "&Desativar processamento de gibis" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2939,10 +2953,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -7134,6 +7144,10 @@ msgstr "" #~ msgid "Communicate with the Sony PRS-700 eBook reader." #~ msgstr "Comunicar com o leitor de eBooks Sony PRS-700." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Número de cores para conversão de imagens em tons de cinza. Padrão: %default" + #~ msgid "/Unknown" #~ msgstr "/Desconhecido" diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 2aed5afdbb..e22c0eba7d 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-05-21 15:31+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -615,62 +615,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2285,7 +2295,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2313,60 +2323,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2884,10 +2899,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index a1425d372e..4b7123e407 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 05:26+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:23+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" @@ -32,7 +32,7 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -635,25 +635,26 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Количество цветов для преобразования изображения в оттенки серого. По " -"умолчанию: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Задать формат картинки. По умолчанию на весь экран." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Отменить повышение резкости." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -661,11 +662,11 @@ msgstr "" "Отключить обрезку страниц комиксов. В некоторых коммиксах данная опция может " "удалять содержимое вместе с границами." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Не разделять альбомную картинку на две портретных" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -673,7 +674,7 @@ msgstr "" "Сохранить формат картинки и масштаб, используя высоту экрана как ширину для " "просмотра в альбомном режиме." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -681,7 +682,7 @@ msgstr "" "Используется для публикаций справа налево, таких, как манга (японские " "комиксы). Альбомные страницы разделяются на портретные справа налево." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -689,7 +690,7 @@ msgstr "" "Разрешить подчистку. Уменьшает пятнистый шум. Может значительно увеличить " "время обработки." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -698,12 +699,19 @@ msgstr "" "Вместо этого использовать тот порядок, в котором они были добавлены в " "комиксы." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Не обрабатывать изображения" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Страница" @@ -2363,7 +2371,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2391,60 +2399,65 @@ msgstr "" msgid "Form" msgstr "Форма" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Количество цветов:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Блокировать &упорядочивание" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Сохранить &соотношение сторон" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Блокировать повышение &резкости" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "Выключить обрезку" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Широкий" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Альбомная" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Справа на лево" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Не сорт&ировать" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Конт&раст" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2965,10 +2978,6 @@ msgstr "Диалог" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -9116,3 +9125,8 @@ msgstr "Показать детальную информацию. Использ #~ msgid "Communicate with the Sony PRS-700 eBook reader." #~ msgstr "Соединяться с Sony PRS-700." + +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Количество цветов для преобразования изображения в оттенки серого. По " +#~ "умолчанию: %default" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 77c311c4b1..a7fca7a3db 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-05 19:23+0000\n" "Last-Translator: Michael Gallo \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -632,28 +632,29 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +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 "" -"Počet odtieňov sivej použitý pri prevode obrázkov. Predvolená hodnota: " -"%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Vypnutie normalizácie (zvýšenia kontrastu) rozsahu farieb obrázkov. " "Štandardne je normalizácia zapnutá." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Zachovať pomer strán obrázkov. Štandardne obrázky vyplnia celú obrazovku." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Vypnúť zvyšovanie ostrosti obrázkov." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." @@ -661,11 +662,11 @@ msgstr "" "Neorezávať strany komiksov. Pre niektoré komiksy, orezávanie môže okrem " "okraja strany odstrániť aj časti kresby." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Nerozdeľovať obrázky \"na šírku\" na dva obrázky \"na výšku\"." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -673,7 +674,7 @@ msgstr "" "Zachovať pomer strán a prispôsobiť šírku obrázka výške obrazovky na " "prezeranie \"na šírku\"." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -681,7 +682,7 @@ msgstr "" "Užitočné pre publikácie čítané zprava doľava, ako napr. manga. Obrázky \"na " "šírku\" budú rozdelené na obrázky \"na výšku\" v poradí zprava doľava." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -689,7 +690,7 @@ msgstr "" "Zapnúť filter šumu. Odstraňuje šum v oblastiach plynulých prechodov. Môže " "výrazne predĺžiť čas potrebný na spracovanie." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -697,12 +698,19 @@ msgstr "" "Netriediť súbory komiksu abecedne. Použiť poradie v ktorom boli pridané do " "komiksu." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "Obrázok nijak neupravovať" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "Strana" @@ -2363,7 +2371,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2391,60 +2399,65 @@ msgstr "" msgid "Form" msgstr "Z" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Počet &farieb:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Vypnúť &normalizáciu" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachovať &pomer strán" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Vypnúť &zaostrovanie" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "Širo&ké obrázky" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Na ší&rku" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Sprava doľava" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Netriediť" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Čistiaci &filter" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2965,10 +2978,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -8406,6 +8415,11 @@ msgstr "" #~ "listovania v LRF súbore. Táto možnosť je teda ignorovaná ak aktuálna stránka " #~ "má len pár elementov." +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "" +#~ "Počet odtieňov sivej použitý pri prevode obrázkov. Predvolená hodnota: " +#~ "%default" + #~ msgid "Set defaults for conversion of comics" #~ msgstr "Štandardné nastavenie prevodu komiksov" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 56d52cae49..1b868eedd0 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.17\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-04 21:49+0000\n" "Last-Translator: Ketrin \n" "Language-Team: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -28,7 +28,7 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,36 +610,39 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" -msgstr "Število barv za sivinsko pretvorbo slike. Privzeto: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Onemogoči normalizacijo (izboljšaj kontrast) barvnega razpona za slike. " "Privzeto: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Obdrži razmerje slike. Privzeto je da se prilagodi velikosti zaslona." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "Onemogoči ostrenje." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "Ne razdeli panoramskih slik v dve portretni" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -647,7 +650,7 @@ msgstr "" "Obdrži razmerje pri skaliranju slik in uporabi višino zaslona za širino " "slike pri pregledovanju v panoramskem načinu." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -655,13 +658,13 @@ msgstr "" "Uporablja se za izdaje, ki se berejo od desne proti levi tako kot manga. " "Panoramske slike se razdelijo v portretne strani od desne proti levi." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -669,12 +672,19 @@ msgstr "" "Ne razvrščaj datotek, ki se nahajajo v arhivu stripa po imenu. Upoštevaj " "vrstni red v katerem so bile dane v strip." -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2308,7 +2318,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2336,60 +2346,65 @@ msgstr "" msgid "Form" msgstr "Forma" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Število Barv:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Izklopi &normalizacijo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Ohrani r&azmerje" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Onemogoči O&strenje" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Široko" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Panorama" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Od desne p&roti levi" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Ne &razvrščaj" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "De&speckle" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2910,10 +2925,6 @@ msgstr "Dialog" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -7490,6 +7501,9 @@ msgstr "Podrobneje prikaži izhodne informacije. Koristno za razhroščevanje." #~ msgstr "" #~ "Nastavi avtorja v meta podatkih ustvarjene eknjige. Privzeto je %default" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "Število barv za sivinsko pretvorbo slike. Privzeto: %default" + #~ msgid "Don't show progress bar." #~ msgstr "Ne pokaži indikatorja napredka." diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index e042a48ba3..921ed5c7b4 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-05-21 15:34+0000\n" "Last-Translator: nicke \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Gör ingenting" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 6ddf2daf59..19f08c370f 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-05-21 15:34+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Telugu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index e265d16a0b..35a993800a 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-04 22:00+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "Робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -622,62 +622,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2279,7 +2289,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2307,60 +2317,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2878,10 +2893,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index ee38f044f9..871e7f97fc 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-04 22:02+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Yiddish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index 9a11c7dcee..374ec23d18 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" -"PO-Revision-Date: 2009-09-15 19:06+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" +"PO-Revision-Date: 2009-09-18 19:28+0000\n" "Last-Translator: Thruth Wang \n" "Language-Team: Simplified Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -617,62 +617,72 @@ msgstr "" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" -msgstr "转化输出图片的灰度阶数。默认值:%default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "禁用图片色阶规范化(提升图片对比度)。默认:关闭" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "维持图片长宽比。 默认为缩放至屏幕大小。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "禁用锐化。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "关闭漫画自动切边功能。对于一些漫画,切边会丢失某些内容。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "不要将横向图片分割为两张纵向图片" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "在将纵向图片旋转缩放到横向浏览模式时保持长宽比。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "开启从右至左的漫画切分模式。该功能会将横向图片页面且分为多个从右至左的纵向页面。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "开启除噪点功能。该功能将去除噪点。可能会大幅度增加处理时间。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "不要按照文件名字母排序动画文件列表。而使用文件被添加的顺序。" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "不对图片进行处理" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "页" @@ -2391,7 +2401,7 @@ msgstr "选项适用于" msgid "input" msgstr "输入" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2419,60 +2429,65 @@ msgstr "输入" msgid "Form" msgstr "来自" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "颜色数(&N):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "关闭图像规范化(&N)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "保持宽高比(&A)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "关闭锐化(&S)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "关闭切边(&T)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "宽度(&W)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "横向(&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "从右向左(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "不要排序(&R)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "除噪点(&S)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "关闭漫画处理(&D)" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "输出格式(&O):" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "调试" @@ -2990,10 +3005,6 @@ msgstr "对话框" msgid "&Input format:" msgstr "输入格式(&I):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "输出格式(&O):" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -7326,6 +7337,9 @@ msgstr "显示详细输出信息。有利调试" #~ msgid "Communicate with the Sony PRS-700 eBook reader." #~ msgstr "与 Sony PRS-700 eBook reader 通信。" +#~ msgid "Number of colors for grayscale image conversion. Default: %default" +#~ msgstr "转化输出图片的灰度阶数。默认值:%default" + #~ msgid "French" #~ msgstr "法语" diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index bab23cc95d..d02bbcaeb2 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-05 19:14+0000\n" "Last-Translator: pikoman \n" "Language-Team: Chinese (Hong Kong) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "不要做任何事情" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index e5d2e02928..dc7b29d6b3 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-09-18 06:45+0000\n" +"POT-Creation-Date: 2009-09-18 19:33+0000\n" "PO-Revision-Date: 2009-09-05 19:09+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Traditional Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-18 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,7 +28,7 @@ msgstr "English" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:703 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:706 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:403 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:65 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:318 @@ -610,62 +610,72 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 -msgid "Number of colors for grayscale image conversion. Default: %default" +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:293 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:300 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:427 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:438 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:434 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:445 msgid "Page" msgstr "" @@ -2265,7 +2275,7 @@ msgstr "" msgid "input" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 @@ -2293,60 +2303,65 @@ msgstr "" msgid "Form" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "Disable &Trimming" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 msgid "&Disable comic processing" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 +msgid "&Output format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2864,10 +2879,6 @@ msgstr "" msgid "&Input format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:107 -msgid "&Output format:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" From 93648f1bca60602a41095185f57a0203efd31aa4 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Sun, 20 Sep 2009 10:54:11 +0100 Subject: [PATCH 02/42] Launchpad automatic translations update. --- src/calibre/translations/ar.po | 2 +- src/calibre/translations/bg.po | 2 +- src/calibre/translations/ca.po | 2 +- src/calibre/translations/cs.po | 2 +- src/calibre/translations/da.po | 2 +- src/calibre/translations/de.po | 16 ++++--- src/calibre/translations/el.po | 2 +- src/calibre/translations/en_GB.po | 2 +- src/calibre/translations/es.po | 12 +++-- src/calibre/translations/fr.po | 2 +- src/calibre/translations/gl.po | 2 +- src/calibre/translations/he.po | 2 +- src/calibre/translations/hr.po | 2 +- src/calibre/translations/hu.po | 2 +- src/calibre/translations/it.po | 2 +- src/calibre/translations/ja.po | 2 +- src/calibre/translations/nb.po | 73 +++++++++++++++++++------------ src/calibre/translations/nds.po | 2 +- src/calibre/translations/nl.po | 2 +- src/calibre/translations/pl.po | 2 +- src/calibre/translations/pt.po | 2 +- src/calibre/translations/pt_BR.po | 2 +- src/calibre/translations/ro.po | 2 +- src/calibre/translations/ru.po | 2 +- src/calibre/translations/sk.po | 2 +- src/calibre/translations/sl.po | 2 +- src/calibre/translations/sv.po | 2 +- src/calibre/translations/te.po | 2 +- src/calibre/translations/uk.po | 2 +- src/calibre/translations/yi.po | 2 +- src/calibre/translations/zh_CN.po | 2 +- src/calibre/translations/zh_HK.po | 2 +- src/calibre/translations/zh_TW.po | 2 +- 33 files changed, 92 insertions(+), 69 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 7206811eb8..8a43a49652 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 104fea56b9..101017b90a 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index d572169b91..2e520edad7 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 49975d950a..a50649c85e 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 11f9d9ee2e..4641c31c0c 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 313cdbe218..688ea3c254 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-18 19:33+0000\n" -"PO-Revision-Date: 2009-09-18 21:16+0000\n" +"PO-Revision-Date: 2009-09-19 21:13+0000\n" "Last-Translator: S. Dorscht \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -2564,7 +2564,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:85 msgid "Maximum number of waiting worker processes" -msgstr "" +msgstr "Maximale Anzahl der Arbeitsprozesse in der Warteschlange" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:397 @@ -4288,6 +4288,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:508 msgid "&Maximum number of waiting worker processes (needs restart):" msgstr "" +"&Maximale Anzahl der Arbeitsprozesse in der Warteschlange (erfordert " +"Neustart):" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:509 msgid "&Check database integrity" @@ -4531,7 +4533,7 @@ msgstr "Zeige Auftrag&details" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 msgid "Stop &all jobs" -msgstr "" +msgstr "&Alle Aufträge abbrechen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:133 msgid "Edit Meta information" @@ -4633,7 +4635,7 @@ msgstr "Das Umschlagbild im Format %s ist ungültig" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:268 msgid "Abort the editing of all remaining books" -msgstr "" +msgstr "Editieren aller verbleibenden Bücher abbrechen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:459 msgid "Downloading cover..." @@ -6260,11 +6262,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 msgid "Queueing books for bulk conversion" -msgstr "" +msgstr "Bücher sammeln und zusammen konvertieren" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Queueing " -msgstr "" +msgstr "Sammle " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:237 msgid "You must set a username and password for %s" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 36dd5bc10f..5bd17db7fe 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index 4532485c78..dfd8ba5e49 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index ce694799c6..6697de80a2 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -11,13 +11,13 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-18 19:33+0000\n" -"PO-Revision-Date: 2009-09-18 19:27+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2009-09-19 12:32+0000\n" +"Last-Translator: Jellby \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -654,6 +654,9 @@ msgid "" "of less than 256 may result in blurred text on your device if you are " "creating your comics in EPUB format." msgstr "" +"Número de colores para conversión de imágenes a escala de grises. Valor por " +"defecto: %default. Los valores menores de 256 pueden hacer que el texto se " +"vea borroso en su dispositivo si crea los cómics en formato EPUB." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" @@ -723,6 +726,9 @@ msgid "" "experiment to see which format gives you optimal size and look on your " "device." msgstr "" +"El formato al que se convierten las imágenes en los libros creados. Puede " +"hacer pruebas para ver qué formato proporciona una mejor relación entre " +"tamaño y calidad para su dispositivo." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index c6c1234f80..d38dd0790f 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 452ec1dbf3..794e8012b0 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 34a24ab61b..7ac43a8371 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index caf5054d1d..744960fa05 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 4f5c3fb1b1..943bdd9f20 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index ec9c2c8c64..8f5e702fa9 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index bc91c5e2a5..fb871c5a60 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index f9a7bde649..1d605dcb8a 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-09-18 19:33+0000\n" -"PO-Revision-Date: 2009-09-18 19:31+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2009-09-19 16:40+0000\n" +"Last-Translator: Øyvind Øritsland \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -459,7 +459,7 @@ msgstr "Kommuniser med EB600 eBook-leser." #: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 msgid "Communicate with the ESlick eBook reader." -msgstr "" +msgstr "Kommuniser med ESlick eBook reader" #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." @@ -648,6 +648,9 @@ msgid "" "of less than 256 may result in blurred text on your device if you are " "creating your comics in EPUB format." msgstr "" +"Antall farger for konvertering til grå-skalering. Standard %standard. " +"Verdier på mindre enn 256 kan resultere i uskarp tekst i enheten din dersom " +"du oppretter dine tegneserier til EPUB format." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 msgid "" @@ -715,6 +718,9 @@ msgid "" "experiment to see which format gives you optimal size and look on your " "device." msgstr "" +"Formatet som bildene i den opprettede e-boken er konvertert til. Du kan " +"eksperimentere deg frem til å se hvilket format som gir den mest optimale " +"størrelsen og det beste utseendet i din enhet." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308 msgid "Apply no processing to the image" @@ -1335,6 +1341,9 @@ 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 "" +"Gjennomsnittlig linjelengde for linjebryting dersom HTML filen er fra en " +"tidligere delvis konvertering fra en PDF fil. Standard er %standard som slår " +"av dette valget." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." @@ -2074,6 +2083,10 @@ msgid "" "spaces) represents a paragraph. Paragraphs end when the next line that " "starts with an indent is reached." msgstr "" +"Normalt behandler Calibre blanke linjer som avsnittmerker. Med dette valget " +"vil Calibre regne med at hver linje som starter med et innrykk (enten " +"tabulator eller flere en 2 mellomrom) representerer et avsnitt. Avsnittet " +"slutter der neste linje med et innrykk begynner." #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23 msgid "Format to use inside the pdb container. Choices are:" @@ -2508,7 +2521,7 @@ msgstr "Standard oppgaver som gjøres når send til enhet-knappen er klikket" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:85 msgid "Maximum number of waiting worker processes" -msgstr "" +msgstr "Maksumum antall ventende arbeidsprosesser" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:397 @@ -2525,7 +2538,7 @@ msgstr "Kopier til utklippstavlen" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:381 msgid "Choose Files" -msgstr "" +msgstr "Velg filer" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:52 msgid "Searching in" @@ -2846,7 +2859,7 @@ msgstr " punkter" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:91 msgid "Line &height:" -msgstr "Linje &høyde" +msgstr "Linje&hløyde" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:93 msgid "Remove &spacing between paragraphs" @@ -2854,7 +2867,7 @@ msgstr "Fjern &mellomrom mellom avsnitt" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:94 msgid "No text &justification" -msgstr "Ingen tekst &justeringer" +msgstr "Ingen tekst&justeringer" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:95 msgid "&Linearize tables" @@ -2866,15 +2879,15 @@ msgstr "&Omskriv unicodetegn til ASCII." #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:97 msgid "Font size &key:" -msgstr "Fontstørrelse &nøkkel:" +msgstr "Fontstørrelse&nøkkel:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:98 msgid "Input character &encoding" -msgstr "Tegnsett for inndata &omkoding" +msgstr "Tegnsett for &omkoding av inndata" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:99 msgid "&Disable font size rescaling" -msgstr "&Slå av fontstørrelse omskalering" +msgstr "&Slå av omskalering av fontstørrelse" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:100 msgid "Insert &blank line" @@ -3283,7 +3296,7 @@ msgstr "XPath uttrykket %s er ugyldig." #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 msgid "Chapter &mark:" -msgstr "Kapittell &merke:" +msgstr "Kapittel&merke:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Remove first &image" @@ -4128,7 +4141,7 @@ msgstr "Bruk &Romerske tall for seriell numerering" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:486 msgid "Enable system &tray icon (needs restart)" -msgstr "Slå på system &oppgavepanelikonet (trenger omstart)" +msgstr "Slå på oppgave&panelikonet" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:487 msgid "Show ¬ifications in system tray" @@ -4204,11 +4217,11 @@ msgstr "&Fjern e-post" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:507 msgid "calibre can send your books to you (or your reader) by email" -msgstr "Calibre kan sende deg bøker til deg (eller din leser) via e-post" +msgstr "Calibre kan sende bøker til deg (eller din leser) via e-post" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:508 msgid "&Maximum number of waiting worker processes (needs restart):" -msgstr "" +msgstr "&Maximum antall ventende arbeidsprosesser (omstart behøves):" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:509 msgid "&Check database integrity" @@ -4274,7 +4287,7 @@ msgstr "&Vis passord" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:519 msgid "Max. &OPDS items per query:" -msgstr "" +msgstr "Maksimum &OPDS enheter per spørring:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:520 msgid "&Start Server" @@ -4448,7 +4461,7 @@ msgstr "Vis oppgave&detaljer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 msgid "Stop &all jobs" -msgstr "" +msgstr "Stopp &alle jobber" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:133 msgid "Edit Meta information" @@ -4548,7 +4561,7 @@ msgstr "Omslaget i %s format er ikke gyldig" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:268 msgid "Abort the editing of all remaining books" -msgstr "" +msgstr "Avbryt redigering av alle gjenværende bøker" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:459 msgid "Downloading cover..." @@ -4600,7 +4613,7 @@ msgstr "Kunne ikke åpne %s. Blir den benyttet i et annet program?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:338 msgid "Edit Meta Information" -msgstr "Rediger metadatainformasjon" +msgstr "Rediger metadata" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:342 msgid "Swap the author and title" @@ -5183,7 +5196,7 @@ msgstr "" "qt-block-indent:0; text-indent:0px;\">Legg inn et regulært uttrykksmønster " "til bruk når du forsøker å gjette e-bok metadata fra filnavnet.

\n" "

A En referanse av " "syntaksen dersom et regulært uttrykk er tilgjengelig.

\n" @@ -5422,7 +5435,7 @@ msgstr "Lagre et enkelt format til lagringsenhet..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:124 msgid "Search (For Advanced Search click the button to the left)" -msgstr "Søk (For Avansert Søk klikk på knappen til venstre)" +msgstr "Søk (For avansert søk, klikk på knappen til venstre)" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:141 msgid "Error communicating with device" @@ -5466,11 +5479,11 @@ msgstr "Last ned metadata og omslag" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Download only metadata" -msgstr "Last kun ned metadata" +msgstr "Last bare ned metadata" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Download only covers" -msgstr "Last kun ned omslag" +msgstr "Last bare ned omslag" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Add books from a single directory" @@ -5529,7 +5542,7 @@ msgstr "Samlet konvertering" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:331 msgid "Run welcome wizard" -msgstr "Kjør velkommenveiviser" +msgstr "Kjør velkomstveiviser" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:365 msgid "Similar books..." @@ -5900,7 +5913,7 @@ msgstr "Logg debugging informasjon til konsollen" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1757 msgid "Do not check for updates" -msgstr "" +msgstr "Ikke søk etter oppdateringer" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1805 msgid "If you are sure it is not running" @@ -5995,7 +6008,7 @@ msgstr "Slett" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:350 msgid "Edit meta information" -msgstr "Rediger metadatainformasjon" +msgstr "Rediger metadata" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:351 msgid "E" @@ -6155,11 +6168,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 msgid "Queueing books for bulk conversion" -msgstr "" +msgstr "Kø bøker for samlet konvertering" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183 msgid "Queueing " -msgstr "" +msgstr "Kø " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:237 msgid "You must set a username and password for %s" @@ -6827,7 +6840,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:111 msgid "Mail &Server" -msgstr "E-post &Server" +msgstr "E-post&server" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 msgid "calibre can optionally use a server to send mail" @@ -6947,6 +6960,8 @@ msgid "" "The maximum number of matches to return per OPDS query. This affects Stanza, " "WordPlayer, etc. integration." msgstr "" +"Maksimum antall treff som resultat per OPDS spørring. Dette affekterer " +"Stanza, WordPlayer osv integrering." #: /home/kovid/work/calibre/src/calibre/library/cli.py:117 msgid "" diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 96c3059ea4..c5fbbe6ae4 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 518b11f94d..fb821e827e 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:50+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index faaa671f3b..2ce09aa39d 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index b097d68718..5451e291cb 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 647d3887cb..4dc7ccaeb4 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index e22c0eba7d..9fe69e3b72 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 4b7123e407..2ebab551d0 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index a7fca7a3db..98801ae7c3 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 1b868eedd0..02cf09844f 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 921ed5c7b4..10e2bfec60 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 19f08c370f..b9999deb1b 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 35a993800a..962cc0b539 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 871e7f97fc..80bcf8e10f 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index 374ec23d18..6ce25e1951 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index d02bbcaeb2..f9515a6405 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index dc7b29d6b3..f0b57c5400 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-19 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-20 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 From a37f2e4f856c6fd4d363d7a4b6412f34c65c0533 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Mon, 21 Sep 2009 10:56:54 +0100 Subject: [PATCH 03/42] Launchpad automatic translations update. --- src/calibre/translations/ar.po | 2 +- src/calibre/translations/bg.po | 2 +- src/calibre/translations/ca.po | 2 +- src/calibre/translations/cs.po | 2 +- src/calibre/translations/da.po | 2 +- src/calibre/translations/de.po | 2 +- src/calibre/translations/el.po | 2 +- src/calibre/translations/en_GB.po | 2 +- src/calibre/translations/es.po | 2 +- src/calibre/translations/fr.po | 2 +- src/calibre/translations/gl.po | 2 +- src/calibre/translations/he.po | 2 +- src/calibre/translations/hr.po | 2 +- src/calibre/translations/hu.po | 2 +- src/calibre/translations/it.po | 2 +- src/calibre/translations/ja.po | 2 +- src/calibre/translations/nb.po | 2 +- src/calibre/translations/nds.po | 2 +- src/calibre/translations/nl.po | 2 +- src/calibre/translations/pl.po | 2 +- src/calibre/translations/pt.po | 2 +- src/calibre/translations/pt_BR.po | 2 +- src/calibre/translations/ro.po | 2 +- src/calibre/translations/ru.po | 2 +- src/calibre/translations/sk.po | 2 +- src/calibre/translations/sl.po | 2 +- src/calibre/translations/sv.po | 2 +- src/calibre/translations/te.po | 2 +- src/calibre/translations/uk.po | 24 ++++++++++++++---------- src/calibre/translations/yi.po | 2 +- src/calibre/translations/zh_CN.po | 2 +- src/calibre/translations/zh_HK.po | 2 +- src/calibre/translations/zh_TW.po | 2 +- 33 files changed, 46 insertions(+), 42 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 8a43a49652..a83c23cd94 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 101017b90a..74e38e04d9 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:53+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 2e520edad7..5c6bbb783f 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index a50649c85e..ac4e348b3c 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 4641c31c0c..86b04b2b02 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 688ea3c254..8200a6b638 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 5bd17db7fe..aa2499fc52 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index dfd8ba5e49..e17b4235a4 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 6697de80a2..0731ae1c3d 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index d38dd0790f..8815c38101 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 794e8012b0..8ed1c0ff53 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 7ac43a8371..2ac3e4362b 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index 744960fa05..3a881a929b 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 943bdd9f20..f24e99c86c 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 8f5e702fa9..faad4ff342 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index fb871c5a60..582bc6800d 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index 1d605dcb8a..f7ea86ff6c 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index c5fbbe6ae4..da8d3829cf 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index fb821e827e..a0517e299b 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:51+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 2ce09aa39d..a3c8d61829 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 5451e291cb..223ef187d6 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:52+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 4dc7ccaeb4..4b4bd77700 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 9fe69e3b72..3342269d4a 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 2ebab551d0..e8f631f955 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 98801ae7c3..f45be798a0 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 02cf09844f..9b139a27f7 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 10e2bfec60..c31810e2df 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index b9999deb1b..15700b13b3 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 962cc0b539..b7b74f3e9c 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-09-18 19:33+0000\n" -"PO-Revision-Date: 2009-09-04 22:00+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2009-09-20 20:55+0000\n" +"Last-Translator: Bohdan \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -170,6 +170,8 @@ msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." msgstr "" +"Кодування символів для вхідних HTML файлів. Зазвичай варіанти бувають: " +"cp1252, latin1, iso-8859-1 і utf-8." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56 msgid "Extract cover from comic files" @@ -239,6 +241,8 @@ msgid "" "If specified, the output plugin will try to create output that is as human " "readable as possible. May not have any effect for some output plugins." msgstr "" +"Якщо вказано, вихідний втулок спробує створити зручні для читання вихідні " +"дані. Може не мати жодного ефекту для деяких втулків." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:44 msgid "Input profile" @@ -253,37 +257,37 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:56 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 msgid "This profile is intended for the SONY PRS line. The 500/505/700 etc." -msgstr "" +msgstr "Цей профіль призначено для лінійки SONY PRS. 500/505/700 і ін." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:69 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:229 msgid "This profile is intended for the Microsoft Reader." -msgstr "" +msgstr "Цей профіль призначено для Microsoft Reader." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:80 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:240 msgid "This profile is intended for the Mobipocket books." -msgstr "" +msgstr "Цей профіль призначено для Mobipocket books." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253 msgid "This profile is intended for the Hanlin V3 and its clones." -msgstr "" +msgstr "Цей профіль призначено для Hanlin V3 та його клонів." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:105 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:265 msgid "This profile is intended for the Cybook G3." -msgstr "" +msgstr "Цей профіль призначено для Cybook G3." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:118 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:278 msgid "This profile is intended for the Cybook Opus." -msgstr "" +msgstr "Цей профіль призначено для Cybook Opus." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:130 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:289 msgid "This profile is intended for the Amazon Kindle." -msgstr "" +msgstr "Цей профіль призначено для Amazon Kindle." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:142 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:322 diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 80bcf8e10f..0f0d0a71b3 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index 6ce25e1951..e5c121cfa1 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index f9515a6405..c8c1f2f2a9 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index f0b57c5400..8bbbce302b 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-20 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 From 8b2f7ca6503eedc1b7b4f9dd15107bc761dd9795 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Tue, 22 Sep 2009 10:49:51 +0100 Subject: [PATCH 04/42] Launchpad automatic translations update. --- src/calibre/translations/ar.po | 2 +- src/calibre/translations/bg.po | 2 +- src/calibre/translations/ca.po | 2 +- src/calibre/translations/cs.po | 2 +- src/calibre/translations/da.po | 2 +- src/calibre/translations/de.po | 2 +- src/calibre/translations/el.po | 2 +- src/calibre/translations/en_GB.po | 2 +- src/calibre/translations/es.po | 2 +- src/calibre/translations/fr.po | 2 +- src/calibre/translations/gl.po | 2 +- src/calibre/translations/he.po | 2 +- src/calibre/translations/hr.po | 2 +- src/calibre/translations/hu.po | 2 +- src/calibre/translations/it.po | 2 +- src/calibre/translations/ja.po | 2 +- src/calibre/translations/nb.po | 2 +- src/calibre/translations/nds.po | 2 +- src/calibre/translations/nl.po | 2 +- src/calibre/translations/pl.po | 2 +- src/calibre/translations/pt.po | 2 +- src/calibre/translations/pt_BR.po | 2 +- src/calibre/translations/ro.po | 2 +- src/calibre/translations/ru.po | 2 +- src/calibre/translations/sk.po | 2 +- src/calibre/translations/sl.po | 2 +- src/calibre/translations/sv.po | 2 +- src/calibre/translations/te.po | 2 +- src/calibre/translations/uk.po | 2 +- src/calibre/translations/yi.po | 2 +- src/calibre/translations/zh_CN.po | 2 +- src/calibre/translations/zh_HK.po | 2 +- src/calibre/translations/zh_TW.po | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index a83c23cd94..4f99718fa3 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 74e38e04d9..1c298b0da8 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:53+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 5c6bbb783f..0107c125ed 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index ac4e348b3c..ee9a30fd8e 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 86b04b2b02..a1344f4806 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 8200a6b638..c665b11d09 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index aa2499fc52..e41d450b6a 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index e17b4235a4..43a1e77268 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 0731ae1c3d..cab42e487d 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 8815c38101..429c2ae49a 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 8ed1c0ff53..6a8a5a95e4 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 2ac3e4362b..6b46280a69 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index 3a881a929b..4c03c31f84 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index f24e99c86c..7750c08e93 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index faad4ff342..dd816575ac 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index 582bc6800d..22d6bb050e 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index f7ea86ff6c..8e8844d72a 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index da8d3829cf..e0c6e240ca 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index a0517e299b..57413b2958 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:54+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index a3c8d61829..7494c89632 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 223ef187d6..2d7afd180a 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 4b4bd77700..4e20150f34 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 3342269d4a..39720be163 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index e8f631f955..b0e916268f 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index f45be798a0..5af5b7519e 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:55+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 9b139a27f7..98444c29db 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index c31810e2df..d1ad916a59 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 15700b13b3..7226577d81 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index b7b74f3e9c..6c1c5874c6 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 0f0d0a71b3..6b0744ba57 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index e5c121cfa1..d1e1015d2c 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index c8c1f2f2a9..22fbb49a80 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index 8bbbce302b..8b6e3f910f 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-21 09:56+0000\n" +"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 From 84feaaa89916327575a32e54bf74f97aba20f217 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Wed, 23 Sep 2009 10:45:26 +0100 Subject: [PATCH 05/42] Launchpad automatic translations update. --- src/calibre/translations/ar.po | 2 +- src/calibre/translations/bg.po | 2 +- src/calibre/translations/ca.po | 2 +- src/calibre/translations/cs.po | 80 ++++++++++++++++--------------- src/calibre/translations/da.po | 2 +- src/calibre/translations/de.po | 2 +- src/calibre/translations/el.po | 2 +- src/calibre/translations/en_GB.po | 2 +- src/calibre/translations/es.po | 2 +- src/calibre/translations/fr.po | 2 +- src/calibre/translations/gl.po | 2 +- src/calibre/translations/he.po | 2 +- src/calibre/translations/hr.po | 2 +- src/calibre/translations/hu.po | 2 +- src/calibre/translations/it.po | 2 +- src/calibre/translations/ja.po | 2 +- src/calibre/translations/nb.po | 2 +- src/calibre/translations/nds.po | 2 +- src/calibre/translations/nl.po | 2 +- src/calibre/translations/pl.po | 2 +- src/calibre/translations/pt.po | 2 +- src/calibre/translations/pt_BR.po | 2 +- src/calibre/translations/ro.po | 2 +- src/calibre/translations/ru.po | 2 +- src/calibre/translations/sk.po | 2 +- src/calibre/translations/sl.po | 2 +- src/calibre/translations/sv.po | 2 +- src/calibre/translations/te.po | 2 +- src/calibre/translations/uk.po | 2 +- src/calibre/translations/yi.po | 2 +- src/calibre/translations/zh_CN.po | 2 +- src/calibre/translations/zh_HK.po | 2 +- src/calibre/translations/zh_TW.po | 2 +- 33 files changed, 73 insertions(+), 71 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 4f99718fa3..8d441e2952 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:46+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 1c298b0da8..4f5bd4430b 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 0107c125ed..44eed0704c 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index ee9a30fd8e..9c5b262b71 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-09-18 19:33+0000\n" -"PO-Revision-Date: 2009-09-19 07:43+0000\n" +"PO-Revision-Date: 2009-09-22 17:00+0000\n" "Last-Translator: Plazec \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -546,6 +546,8 @@ msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." msgstr "" +"Nemohu detekovat disk %s. Váš Kernel pravděpodobně exportuje zastaralou " +"verzi SYSFS." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:538 msgid "Unable to mount main memory (Error code: %d)" @@ -610,7 +612,7 @@ msgstr "Zjistit informace o zařízení..." #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:107 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:115 msgid "Adding books to device metadata listing..." -msgstr "" +msgstr "Přidávám knihy do seznamu metadat v zařízení..." #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:138 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 @@ -749,23 +751,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:97 msgid "INPUT OPTIONS" -msgstr "" +msgstr "NASTAVENÍ VSTUPU" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:98 msgid "Options to control the processing of the input %s file" -msgstr "" +msgstr "Možnosti nastavení zpracování vstupního souboru %s" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:104 msgid "OUTPUT OPTIONS" -msgstr "" +msgstr "NASTAVENÏ VÝSTUPU" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:105 msgid "Options to control the processing of the output %s" -msgstr "" +msgstr "Možnosti nastavení zpracování výstupního souboru %s" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:119 msgid "Options to control the look and feel of the output" -msgstr "" +msgstr "Možnosti nastavení vzheldu výstupu" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:135 msgid "Control auto-detection of document structure." @@ -780,7 +782,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:155 msgid "Options to set metadata in the output" -msgstr "" +msgstr "Nastevení výstupních metadat" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:158 msgid "Options to help with debugging the conversion" @@ -788,7 +790,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 msgid "List builtin recipes" -msgstr "" +msgstr "Vypiš zabudované recepty" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:251 msgid "Output saved to" @@ -2600,7 +2602,7 @@ msgstr " bodů" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:91 msgid "Line &height:" -msgstr "" +msgstr "Výš&ka řádku" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:93 msgid "Remove &spacing between paragraphs" @@ -2616,7 +2618,7 @@ msgstr "Převést tabulky na řádky" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:96 msgid "&Transliterate unicode characters to ASCII." -msgstr "" +msgstr "Překódova&t znaky unicode do ASCII." #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:97 msgid "Font size &key:" @@ -2628,11 +2630,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:99 msgid "&Disable font size rescaling" -msgstr "" +msgstr "&Zakázat změnu velikosti písma" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:100 msgid "Insert &blank line" -msgstr "" +msgstr "Vložit &prázdný řádek" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:101 msgid "Extra &CSS" @@ -2886,7 +2888,7 @@ msgstr "" #: /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:39 msgid "Treat each &line as a paragraph" -msgstr "" +msgstr "Považovat každý řádek za odstavec" #: /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:42 @@ -3123,11 +3125,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:56 msgid "&Maximum line length:" -msgstr "" +msgstr "&Maximální délka řádku:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:57 msgid "Force maximum line lenght" -msgstr "" +msgstr "Vynutit maximální délku řádku" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 @@ -3288,15 +3290,15 @@ msgstr "Odeslat na pamětovou kartu B" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:335 msgid "Send specific format to main memory" -msgstr "" +msgstr "Odeslat určitý formát do hlavní paměti" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:337 msgid "Send specific format to storage card A" -msgstr "" +msgstr "Odeslat určitý formát na paměťovou kartu A" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send specific format to storage card B" -msgstr "" +msgstr "Odeslat určitý formát na paměťovou kartu B" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 msgid "No books" @@ -3304,11 +3306,11 @@ msgstr "Žádné knihy" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "selected to send" -msgstr "" +msgstr "vybrané k odeslání" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:488 msgid "Choose format to send to device" -msgstr "" +msgstr "Vyberte formát k odeslání do zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:495 msgid "No device" @@ -3347,7 +3349,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:564 msgid "Sending email to" -msgstr "" +msgstr "Odeslat email" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:601 @@ -3528,7 +3530,7 @@ msgstr "Moduly" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:216 msgid "Auto send" -msgstr "" +msgstr "Automaticky odeslat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:216 msgid "Email" @@ -3558,7 +3560,7 @@ msgstr "Chyba" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:462 msgid "Failed to install command line tools." -msgstr "" +msgstr "Selhala Instalce nástrojů pro příkazovou řádku." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:465 msgid "Command line tools installed" @@ -3717,7 +3719,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:106 msgid "Save &cover separately" -msgstr "" +msgstr "Uložit &obálku odděleně" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:107 msgid "Update &metadata in saved copies" @@ -3729,19 +3731,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:109 msgid "Convert non-English characters to &English equivalents" -msgstr "" +msgstr "Převést neAnglické znaky na Anglické &ekvivalenty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:110 msgid "Format &dates as:" -msgstr "" +msgstr "Formát data:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:111 msgid "File &formats to save:" -msgstr "" +msgstr "&Formáty souborů k uložení:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:112 msgid "Save &template" -msgstr "" +msgstr "Uložit šablonu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:113 msgid "" @@ -3754,19 +3756,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:114 msgid "Available variables:" -msgstr "" +msgstr "Dostupné proměné:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:115 msgid "Replace space with &underscores" -msgstr "" +msgstr "Nahradit mezer&u podtržitkem" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:116 msgid "Change paths to &lowercase" -msgstr "" +msgstr "Změnit cesty na malá písmena" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:117 msgid "&Saving books" -msgstr "" +msgstr "&Ukládám Knihy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:468 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:367 @@ -3852,7 +3854,7 @@ msgstr "Zobrazit prohlížec &obálek v samostatném okně (vyžaduje restart)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:489 msgid "Search as you type" -msgstr "" +msgstr "Vyhledávat při zadávání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:490 msgid "Automatically send downloaded &news to ebook reader" @@ -3900,7 +3902,7 @@ msgstr "Použít interní &prohlížec pro:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:503 msgid "Add an email address to which to send books" -msgstr "" +msgstr "Přdat emailovou adresu na kterou posílat knihy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:504 msgid "&Add email" @@ -4449,7 +4451,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:427 msgid "Add a custom news source" -msgstr "" +msgstr "Přidat vlastní zdroj zpráv" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:222 @@ -4721,7 +4723,7 @@ msgstr "Vyberte soubor s receptem" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" -msgstr "Pžidejte vlastní zdroj zpráv" +msgstr "Přidat vlastní zdroj zpráv" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" @@ -7043,7 +7045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:40 msgid "Unknown News Source" -msgstr "" +msgstr "Neznámý zdroj zpráv" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:588 msgid "Download finished" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index a1344f4806..398690d5f5 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index c665b11d09..b5fc1ae53f 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index e41d450b6a..23345e3792 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index 43a1e77268..ae0fc0de58 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index cab42e487d..c8533ed0e7 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 429c2ae49a..7263e705d6 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 6a8a5a95e4..0994382c35 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 6b46280a69..9a5ff3a6fb 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index 4c03c31f84..1a21c0555b 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 7750c08e93..89c264cb5c 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index dd816575ac..c7e128f1f3 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index 22d6bb050e..025914a542 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index 8e8844d72a..e925529034 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index e0c6e240ca..de4c5f3e5f 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 57413b2958..1fa25fcccd 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:47+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 7494c89632..dfd09bba02 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 2d7afd180a..743a8f5d79 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 4e20150f34..32238ebb3d 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 39720be163..00ed474818 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index b0e916268f..7448ba3f8d 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 5af5b7519e..5879a2e0c7 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 98444c29db..7efc9ccb2b 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:48+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index d1ad916a59..95d4e882c1 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 7226577d81..902447d93d 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 6c1c5874c6..ea85508617 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 6b0744ba57..d3f957c165 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index d1e1015d2c..cb807650c9 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index 22fbb49a80..f0ffaf252b 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index 8b6e3f910f..44646a06a7 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-09-22 09:49+0000\n" +"X-Launchpad-Export-Date: 2009-09-23 09:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 From 05a14fbda64b44807846c730ca46ea382cd33a88 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 24 Sep 2009 09:57:56 -0600 Subject: [PATCH 06/42] New recipe for Business Standard by Darko Miletic --- resources/images/news/business_standard.png | Bin 0 -> 290 bytes src/calibre/web/feeds/recipes/__init__.py | 2 +- .../feeds/recipes/recipe_business_standard.py | 57 ++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 resources/images/news/business_standard.png create mode 100644 src/calibre/web/feeds/recipes/recipe_business_standard.py diff --git a/resources/images/news/business_standard.png b/resources/images/news/business_standard.png new file mode 100644 index 0000000000000000000000000000000000000000..1edff420c0d49815ee1cb0cc518d43e654a9381c GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zK-vS0-A-oPfdtD69Mgd`SU*F|v9*VR9B)q-#}JFt$$vgRI#SQZ#UQLYOHx8YA_9md zEL3zhc>Sv=Y-*ffQySyY)f>Xk{Hls^`sKotm-PiMGV@2)b+9PyJFxTyYY+20X~xot zvg$U8Hc>!hRZCnWN>UO_QmvAUQh^kMk%57wE)W@+gcw*_nVMP|8R#0ASs54@Tuu-{ n(U6;;l9^VCtijO0%E;Wx$Oxk0q3iR7Kn)C@u6{1-oD!M<(WFqR literal 0 HcmV?d00001 diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index b48b4054ea..b8e73fba02 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -58,7 +58,7 @@ recipe_modules = ['recipe_' + r for r in ( 'esquire', 'livemint', 'thedgesingapore', 'darknet', 'rga', 'intelligencer', 'theoldfoodie', 'hln_be', 'honvedelem', 'the_new_republic', 'philly', 'salon', 'tweakers', 'smashing', - 'thestar', + 'thestar', 'business_standard', )] diff --git a/src/calibre/web/feeds/recipes/recipe_business_standard.py b/src/calibre/web/feeds/recipes/recipe_business_standard.py new file mode 100644 index 0000000000..8a137bc42e --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_business_standard.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +www.business-standard.com +''' + +from calibre.web.feeds.recipes import BasicNewsRecipe + +class BusinessStandard(BasicNewsRecipe): + title = 'Business Standard' + __author__ = 'Darko Miletic' + description = "India's most respected business daily" + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'cp1252' + publisher = 'Business Standard Limited' + category = 'news, business, money, india, world' + language = 'en_IN' + + conversion_options = { + 'comments' : description + ,'tags' : category + ,'language' : language + ,'publisher' : publisher + ,'linearize_tables': True + } + + remove_attributes=['style'] + remove_tags = [dict(name=['object','link','script','iframe'])] + + feeds = [ + (u'News Now' , u'http://feeds.business-standard.com/News-Now.xml' ) + ,(u'Banking & finance' , u'http://feeds.business-standard.com/Banking-Finance-All.xml' ) + ,(u'Companies & Industry', u'http://feeds.business-standard.com/Companies-Industry-All.xml') + ,(u'Economy & Policy' , u'http://feeds.business-standard.com/Economy-Policy-All.xml' ) + ,(u'Tech World' , u'http://feeds.business-standard.com/Tech-World-All.xml' ) + ,(u'Life & Leisure' , u'http://feeds.business-standard.com/Life-Leisure-All.xml' ) + ,(u'Markets & Investing' , u'http://feeds.business-standard.com/Markets-Investing-All.xml' ) + ,(u'Management & Mktg' , u'http://feeds.business-standard.com/Management-Mktg-All.xml' ) + ,(u'Automobiles' , u'http://feeds.business-standard.com/Automobiles.xml' ) + ,(u'Aviation' , u'http://feeds.business-standard.com/Aviation.xml' ) + ] + + def print_version(self, url): + autono = url.rpartition('autono=')[2] + tp = 'on' + hk = url.rpartition('bKeyFlag=')[1] + if hk == '': + tp = '' + return 'http://www.business-standard.com/india/printpage.php?autono=' + autono + '&tp=' + tp + + def get_article_url(self, article): + return article.get('guid', None) From 02a02f093f811f51debfa4b08ae8bc8b30be722f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 24 Sep 2009 10:16:18 -0600 Subject: [PATCH 07/42] New recipe for Le Monde Diplomatique by Darko Miletic --- resources/images/news/lemonde_dip.png | Bin 0 -> 640 bytes src/calibre/web/feeds/recipes/__init__.py | 2 +- .../web/feeds/recipes/recipe_lemonde_dip.py | 73 ++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 resources/images/news/lemonde_dip.png create mode 100644 src/calibre/web/feeds/recipes/recipe_lemonde_dip.py diff --git a/resources/images/news/lemonde_dip.png b/resources/images/news/lemonde_dip.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3b4c12c098f3daa67992e93b90ce0ebd477207 GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI zAngIhZYQ(tK!Rljj_E*J0gT&!&6&%rymD5xdHVs`TbpE9`DYrbycI~& z$ULAZAb*9w{_b($cmK)gqd0?)Nhm&b-_C1Cf|9s47SEGyD+xcn=I-CW%~vy-1uXgU zCwtm8w7o7WD|OXT-CTG?$yd_4oFV4>@14d4Ns%`aJuZK~c6)iqKj#}<^9@=bEWLjE z#q4>0Cb}+jnnju=TPJw^N)JiBwq}5@}lYd@Z9;eC?`2 zhSis!?YV2|VNfKalzuy(>tN~r^PQ=(=FH0kV(yh^?#L@^ocg{|Xn~n5ODj{zsr8YZ z0VW67iz{ZjT$#G-IxzNBOI#yLQW8s2t&)pUffR$0fq|ti5E+?-7#dg^8d{l}>Kd3? s85o>yt2=|DAvZrIGp!OugOQa1P=f(PgQsD03{V4ur>mdKI;Vst0G0;?4FCWD literal 0 HcmV?d00001 diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index b8e73fba02..c1e7414a79 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -58,7 +58,7 @@ recipe_modules = ['recipe_' + r for r in ( 'esquire', 'livemint', 'thedgesingapore', 'darknet', 'rga', 'intelligencer', 'theoldfoodie', 'hln_be', 'honvedelem', 'the_new_republic', 'philly', 'salon', 'tweakers', 'smashing', - 'thestar', 'business_standard', + 'thestar', 'business_standard', 'lemonde_dip', )] diff --git a/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py b/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py new file mode 100644 index 0000000000..4a114a09ae --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008-2009, Darko Miletic ' +''' +mondediplo.com +''' + +import re, urllib +from calibre import strftime +from calibre.web.feeds.news import BasicNewsRecipe +from calibre.ebooks.BeautifulSoup import Tag + +class LeMondeDiplomatiqueEn(BasicNewsRecipe): + title = 'Le Monde diplomatique - English edition' + __author__ = 'Darko Miletic' + description = 'Real journalism making sense of the world around us' + publisher = 'Le Monde diplomatique' + category = 'news, politics, world' + no_stylesheets = True + oldest_article = 31 + delay = 1 + encoding = 'utf-8' + needs_subscription = True + PREFIX = 'http://mondediplo.com/' + LOGIN = PREFIX + '2009/09/02congo' + INDEX = PREFIX + strftime('%Y/%m/') + use_embedded_content = False + language = 'en' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + def get_browser(self): + br = BasicNewsRecipe.get_browser() + br.open(self.LOGIN) + if self.username is not None and self.password is not None: + data = urllib.urlencode({ 'login':self.username + ,'pass':self.password + ,'enter':'enter' + }) + br.open(self.LOGIN,data) + return br + + keep_only_tags =[dict(name='div', attrs={'id':'contenu'})] + remove_tags = [dict(name=['object','link','script','iframe','base'])] + + def parse_index(self): + articles = [] + soup = self.index_to_soup(self.INDEX) + cnt = soup.find('div',attrs={'class':'som_num'}) + for item in cnt.findAll('li'): + description = '' + feed_link = item.find('a') + desc = item.find('div',attrs={'class':'chapo'}) + if desc: + description = desc.string + if feed_link and feed_link.has_key('href'): + url = self.PREFIX + feed_link['href'].partition('/../')[2] + title = self.tag_to_string(feed_link) + date = strftime(self.timefmt) + articles.append({ + 'title' :title + ,'date' :date + ,'url' :url + ,'description':description + }) + return [(soup.head.title.string, articles)] + From 2ddd37f0d2e9a5d33007cc29917abfc716b26474 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 25 Sep 2009 11:02:15 -0600 Subject: [PATCH 08/42] IGN:pdfreflow plugin now compiles and works on windows and OSX. --- setup/build_environment.py | 18 ++++- setup/extensions.py | 12 ++- setup/installer/osx/freeze.py | 29 +++++-- setup/installer/windows/calibre/calibre.mpi | 3 - setup/installer/windows/freeze.py | 6 +- src/calibre/ebooks/pdf/images.cpp | 15 ++-- src/calibre/ebooks/pdf/images.h | 8 +- src/calibre/ebooks/pdf/main.cpp | 23 +++--- src/calibre/ebooks/pdf/reflow.cpp | 85 +++++++++------------ src/calibre/ebooks/pdf/reflow.h | 13 +++- src/calibre/translations/calibre.pot | 40 +++++----- 11 files changed, 143 insertions(+), 109 deletions(-) diff --git a/setup/build_environment.py b/setup/build_environment.py index 42fdea5d07..f5bc969581 100644 --- a/setup/build_environment.py +++ b/setup/build_environment.py @@ -6,7 +6,7 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os, socket, struct, subprocess +import os, socket, struct, subprocess, glob from distutils.spawn import find_executable from PyQt4 import pyqtconfig @@ -84,6 +84,7 @@ ft_lib_dirs = [] ft_libs = [] jpg_libs = [] jpg_lib_dirs = [] +poppler_objs = [] fc_inc = '/usr/include/fontconfig' fc_lib = '/usr/lib' podofo_inc = '/usr/include/podofo' @@ -102,7 +103,8 @@ if iswindows: (r'C:\cygwin\home\kovid\poppler\poppler-build\qt4\src\Release;' r'C:\cygwin\home\kovid\poppler\poppler-build\Release')) popplerqt4_lib_dirs = poppler_lib_dirs - poppler_libs = ['poppler', 'poppler-qt4'] + poppler_libs = [] + poppler_objs = glob.glob(r'C:\cygwin\home\kovid\poppler\poppler-build\poppler.dir\Release\*.obj') popplerqt4_libs = poppler_libs + ['QtCore4', 'QtGui4'] png_inc_dirs = [r'C:\cygwin\home\\kovid\gnuwin32\include'] png_lib_dirs = [r'C:\cygwin\home\\kovid\gnuwin32\lib'] @@ -120,14 +122,22 @@ elif isosx: fc_inc = '/Users/kovid/fontconfig/include/fontconfig' fc_lib = '/Users/kovid/fontconfig/lib' poppler_inc_dirs = consolidate('POPPLER_INC_DIR', - '/Volumes/sw/build/poppler-0.10.7/poppler') + '/Volumes/sw/build/poppler-0.12.0/poppler:/Volumes/sw/build/poppler-0.12.0') popplerqt4_inc_dirs = poppler_inc_dirs + [poppler_inc_dirs[0]+'/qt4'] poppler_lib_dirs = consolidate('POPPLER_LIB_DIR', - '/Users/kovid/poppler/lib') + '/Volumes/sw/lib') popplerqt4_lib_dirs = poppler_lib_dirs poppler_libs = popplerqt4_libs = ['poppler'] podofo_inc = '/usr/local/include/podofo' podofo_lib = '/usr/local/lib' + magick_inc_dirs = consolidate('MAGICK_INC', + '/Users/kovid/ImageMagick/include/ImageMagick') + magick_lib_dirs = consolidate('MAGICK_LIB', + '/Users/kovid/ImageMagick/lib') + magick_libs = ['MagickWand', 'MagickCore'] + png_inc_dirs = consolidate('PNG_INC_DIR', '/usr/local/include') + png_lib_dirs = consolidate('PNG_LIB_DIR', '/usr/local/lib') + png_libs = ['png'] else: # Include directories poppler_inc_dirs = pkgconfig_include_dirs('poppler', diff --git a/setup/extensions.py b/setup/extensions.py index 2c1aa07815..6e993e84a0 100644 --- a/setup/extensions.py +++ b/setup/extensions.py @@ -16,7 +16,7 @@ from setup.build_environment import fc_inc, fc_lib, \ fc_error, poppler_libs, poppler_lib_dirs, poppler_inc_dirs, podofo_inc, \ podofo_lib, podofo_error, poppler_error, pyqt, OSX_SDK, NMAKE, \ leopard_build, QMAKE, msvc, MT, win_inc, win_lib, png_inc_dirs, \ - magick_inc_dirs, magick_lib_dirs, png_lib_dirs, png_libs, \ + magick_inc_dirs, magick_lib_dirs, png_lib_dirs, png_libs, poppler_objs, \ magick_error, magick_libs, ft_lib_dirs, ft_libs, jpg_libs, jpg_lib_dirs MT isunix = islinux or isosx @@ -39,6 +39,7 @@ class Extension(object): self.sip_files = self.absolutize(kwargs.get('sip_files', [])) self.inc_dirs = self.absolutize(kwargs.get('inc_dirs', [])) self.lib_dirs = self.absolutize(kwargs.get('lib_dirs', [])) + self.extra_objs = self.absolutize(kwargs.get('extra_objs', [])) self.error = kwargs.get('error', None) self.libraries = kwargs.get('libraries', []) self.cflags = kwargs.get('cflags', []) @@ -60,6 +61,7 @@ extensions = [ libraries=poppler_libs+magick_libs+png_libs+ft_libs+jpg_libs+pdfreflow_libs, lib_dirs=poppler_lib_dirs+magick_lib_dirs+png_lib_dirs+ft_lib_dirs+jpg_lib_dirs, inc_dirs=poppler_inc_dirs+magick_inc_dirs+png_inc_dirs, + extra_objs=poppler_objs, error=reflow_error, cflags=['-DPNG_SKIP_SETJMP_CHECK'] if islinux else [] ), @@ -148,6 +150,7 @@ if isosx: x, p = ('x86_64', 'ppc64') if leopard_build else ('i386', 'ppc') archs = ['-arch', x, '-arch', p, '-isysroot', OSX_SDK] + cflags.append('-D_OSX') cflags.extend(archs) ldflags.extend(archs) ldflags.extend('-bundle -undefined dynamic_lookup'.split()) @@ -159,6 +162,9 @@ if iswindows: cc = cxx = msvc.cc cflags = '/c /nologo /Ox /MD /W3 /EHsc /DNDEBUG'.split() ldflags = '/DLL /nologo /INCREMENTAL:NO'.split() + #cflags = '/c /nologo /Ox /MD /W3 /EHsc /Zi'.split() + #ldflags = '/DLL /nologo /INCREMENTAL:NO /DEBUG'.split() + for p in win_inc: cflags.append('-I'+p) for p in win_lib: @@ -268,9 +274,9 @@ class Build(Command): cmd = [linker] if iswindows: cmd += ldflags + ext.ldflags + elib + xlib + \ - ['/EXPORT:init'+ext.name] + objects + ['/OUT:'+dest] + ['/EXPORT:init'+ext.name] + objects + ext.extra_objs + ['/OUT:'+dest] else: - cmd += objects + ['-o', dest] + ldflags + ext.ldflags + elib + xlib + cmd += objects + ext.extra_objs + ['-o', dest] + ldflags + ext.ldflags + elib + xlib self.info('\n\n', ' '.join(cmd), '\n\n') subprocess.check_call(cmd) if iswindows: diff --git a/setup/installer/osx/freeze.py b/setup/installer/osx/freeze.py index 985f7ccaf8..c3e0a8d245 100644 --- a/setup/installer/osx/freeze.py +++ b/setup/installer/osx/freeze.py @@ -195,6 +195,11 @@ os.execv(python, args) for f in x[-1]: if f.endswith('.so'): modules.append(os.path.join(x[0], f)) + for x in os.walk(os.path.join(frameworks_dir, 'plugins')): + for f in x[-1]: + if f.endswith('.so'): + modules.append(os.path.join(x[0], f)) + deps = {} for x in ('Core.1', 'Wand.1'): modules.append(os.path.join(root, 'lib', 'libMagick%s.dylib'%x)) @@ -235,12 +240,21 @@ os.execv(python, args) shutil.copyfile(pdf, os.path.join(frameworks_dir, os.path.basename(pdf))) info('\nAdding poppler') - for x in ('pdftohtml', 'libpoppler.4.dylib', 'libpoppler-qt4.3.dylib'): - tgt = os.path.join(frameworks_dir, x) - os.link(os.path.join(os.path.expanduser('~/poppler'), x), tgt) - self.fix_qt_dependencies(tgt, self.qt_dependencies(tgt)) - - + popps = [] + for x in ('bin/pdftohtml', 'lib/libpoppler.5.dylib'): + dest = os.path.join(frameworks_dir, os.path.basename(x)) + popps.append(dest) + shutil.copy2(os.path.join('/Volumes/sw', x), dest) + x ='libpng12.0.dylib' + shutil.copy2('/usr/local/lib/'+x, frameworks_dir) + subprocess.check_call(['install_name_tool', '-id', + '@executable_path/../Frameworks/'+x, os.path.join(frameworks_dir, x)]) + self.fix_misc_dependencies(popps) + subprocess.check_call(['install_name_tool', '-change', + '/usr/local/lib/libfontconfig.1.dylib', + '@executable_path/../Frameworks/libfontconfig.1.dylib', popps[1]]) + subprocess.check_call(['install_name_tool', '-id', + '@executable_path/../Frameworks/'+os.path.basename(popps[1]), popps[1]]) loader_path = os.path.join(resource_dir, 'loaders') if not os.path.exists(loader_path): @@ -286,6 +300,9 @@ os.execv(python, args) if os.path.exists(dest): shutil.rmtree(dest) shutil.copytree(os.path.expanduser('~/ImageMagick'), dest, True) + shutil.rmtree(os.path.join(dest, 'include')) + shutil.rmtree(os.path.join(dest, 'share', 'doc')) + shutil.rmtree(os.path.join(dest, 'share', 'man')) shutil.copyfile('/usr/local/lib/libpng12.0.dylib', os.path.join(dest, 'lib', 'libpng12.0.dylib')) self.fix_image_magick_deps(dest) diff --git a/setup/installer/windows/calibre/calibre.mpi b/setup/installer/windows/calibre/calibre.mpi index 2309a1129c..2e20c054be 100644 --- a/setup/installer/windows/calibre/calibre.mpi +++ b/setup/installer/windows/calibre/calibre.mpi @@ -393,7 +393,6 @@ File ::E8A4442D-D0D3-31CD-997A-3CEB641CF5B7 -name IM_MOD_RL_mtv_.dll -parent 8E5 File ::0CA87D0B-5A04-1439-AEE8-C97072D47BA7 -name CORE_RL_tiff_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::AC24F520-88D4-D1CF-5797-27C715CE8ACA -name pyexpat.pyd -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::16848F38-71CD-55B8-4D96-1537F6773744 -name IM_MOD_RL_dps_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 -File ::33A46CC5-BAC4-5863-C83D-303DCCA0CAA1 -name tk85.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::81116DD3-1715-AA87-472F-544FC616EDAF -name IM_MOD_RL_dcm_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::335A4CFB-5C2D-44E4-C438-7018E8244C3D -name ebook-viewer.exe -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::62A16C3B-ED9C-5187-2807-58857DF3A990 -name calibre-debug.exe -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 @@ -507,7 +506,6 @@ File ::9BA85EE5-1754-67AF-736D-481CDCC72DD2 -name _imagingft.pyd -parent 8E5D85A File ::6254DD0C-8F2C-D4AE-2107-2597D542C181 -name IM_MOD_RL_matte_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::F159D566-88D6-C347-3E3C-55C2DDFC5FD0 -name IM_MOD_RL_mono_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::B873CAA2-011F-94C3-7977-FF344E53C44F -name CORE_RL_jbig_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 -File ::7004FCB8-C6F4-C7AF-08E4-B6151B2F7050 -name tcl85.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::6921F62A-4015-4C9F-98A6-BCBBC43B698E -name msvcm90.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::7276E0CA-C205-4B18-19A3-157F1B8523FB -name IM_MOD_RL_xtrn_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::7B9624A9-88B4-C61E-6771-9A34FB6CA3B5 -name PyQt4.QtGui.pyd -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 @@ -570,7 +568,6 @@ File ::8D7A36A6-4517-E995-E989-2E522E7A1438 -name calibre-smtp.exe.local -parent File ::9E4E5E8F-30C0-E631-9516-2AE01A5CA0E9 -name ebook-device.exe.local -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::7BE6B538-70D5-A7EB-5F91-E14CE57B394B -name calibre-complete.exe.local -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::C4E40030-3EE0-8B05-E6B9-89E81433EE1F -name phonon4.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 -File ::9E84342F-36ED-7ED3-8F90-1EC55267BCFC -name poppler-qt4.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::C9967023-A4C2-856C-1D90-DC710105EBCD -name jpeg62.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::B1560042-C99B-9803-552E-21C15F0DFD85 -type dir -name resources -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::DEDE8BE9-D712-2770-A1EC-7E9164CC6D29 -name libpng12.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 704f3b3b7b..6fc633c3db 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -189,8 +189,7 @@ class BuildEXE(bc): print '\tAdding unrar' shutil.copyfile(LIBUNRAR, os.path.join(PY2EXE_DIR, os.path.basename(LIBUNRAR))) print '\tAdding poppler' - for x in (r'utils\Release\pdftohtml.exe', - r'qt4\src\Release\poppler-qt4.dll'): + for x in (r'utils\Release\pdftohtml.exe',): shutil.copyfile(os.path.join(POPPLER, x), os.path.join(PY2EXE_DIR, os.path.basename(x))) for x in ('jpeg62', 'zlib1', 'libpng12'): @@ -281,7 +280,8 @@ def main(args=sys.argv): 'excludes' : ["Tkconstants", "Tkinter", "tcl", "_imagingtk", "ImageTk", "FixTk" ], - 'dll_excludes' : ['mswsock.dll'], + 'dll_excludes' : ['mswsock.dll', 'tcl85.dll', + 'tk85.dll'], }, }, diff --git a/src/calibre/ebooks/pdf/images.cpp b/src/calibre/ebooks/pdf/images.cpp index 2899da8307..b3b062e1f4 100644 --- a/src/calibre/ebooks/pdf/images.cpp +++ b/src/calibre/ebooks/pdf/images.cpp @@ -340,17 +340,17 @@ void PNGMemWriter::init(vector *buf, int width, int height) { } - +/* void calibre_jpeg_error_exit (j_common_ptr cinfo) { - /* cinfo->err really points to a my_error_mgr struct, so coerce pointer */ + // cinfo->err really points to a my_error_mgr struct, so coerce pointer calibre_jpeg_err_mgr *err = (calibre_jpeg_err_mgr *)(cinfo->err); - /* Always display the message. */ - /* We could postpone this until after returning, if we chose. */ + // Always display the message. + // We could postpone this until after returning, if we chose. //(*cinfo->err->output_message) (cinfo); - /* Return control to the setjmp point */ + // Return control to the setjmp point longjmp(err->setjmp_buffer, 1); } @@ -366,7 +366,7 @@ JPEGWriter::JPEGWriter() { void JPEGWriter::init(int width, int height) { cinfo.image_width = width; cinfo.image_height = height; - cinfo.input_components = 3; /* # of color components per pixel */ + cinfo.input_components = 3; // # of color components per pixel cinfo.in_color_space = JCS_RGB; jpeg_set_defaults(&this->cinfo); this->check(); @@ -387,7 +387,7 @@ void JPEGWriter::check() { void JPEGWriter::raise() { char buffer[JMSG_LENGTH_MAX]; - /* Create the message */ + // Create the message (*this->cinfo.err->format_message) ((jpeg_common_struct *)(&this->cinfo), buffer); jpeg_destroy_compress(&this->cinfo); throw ReflowException(buffer); @@ -422,3 +422,4 @@ void JPEGWriter::write_splash_bitmap(SplashBitmap *bitmap) { JPEGWriter::~JPEGWriter() { jpeg_destroy_compress(&this->cinfo); } +*/ diff --git a/src/calibre/ebooks/pdf/images.h b/src/calibre/ebooks/pdf/images.h index b6e8407ac9..2bdbc09d8d 100644 --- a/src/calibre/ebooks/pdf/images.h +++ b/src/calibre/ebooks/pdf/images.h @@ -99,11 +99,11 @@ namespace calibre_reflow { vector str() const; void clear(); }; - +/* struct calibre_jpeg_err_mgr { - struct jpeg_error_mgr pub; /* "public" fields */ + struct jpeg_error_mgr pub; // "public" fields - jmp_buf setjmp_buffer; /* for return to caller */ + jmp_buf setjmp_buffer; // for return to caller }; class JPEGWriter { @@ -125,6 +125,6 @@ namespace calibre_reflow { void write_image(JSAMPARRAY image_buffer, JDIMENSION number_of_scanlines); void write_splash_bitmap(SplashBitmap *bitmap); }; +*/ } - #endif diff --git a/src/calibre/ebooks/pdf/main.cpp b/src/calibre/ebooks/pdf/main.cpp index bde406dd49..5102a5c774 100644 --- a/src/calibre/ebooks/pdf/main.cpp +++ b/src/calibre/ebooks/pdf/main.cpp @@ -47,29 +47,32 @@ extern "C" { if (!PyArg_ParseTuple(args, "s#O", &pdfdata, &size, &cover)) return NULL; + Reflow *reflow = NULL; try { - Reflow reflow(pdfdata, static_cast(size)); - info = reflow.get_info(); + reflow = new Reflow(pdfdata, size); + info = reflow->get_info(); if (PyObject_IsTrue(cover)) { - if (!reflow.is_locked()) { - vector *data = reflow.render_first_page(); - if (data->size() > 0) { + if (!reflow->is_locked() && reflow->numpages() > 0) { + vector *data = reflow->render_first_page(); + if (data && data->size() > 0) { PyObject *d = PyBytes_FromStringAndSize(&((*data)[0]), data->size()); delete data; - if (d == NULL) return PyErr_NoMemory(); - if (PyDict_SetItemString(ans, "cover", d) == -1) return NULL; + if (d == NULL) {delete reflow; return PyErr_NoMemory();} + if (PyDict_SetItemString(ans, "cover", d) == -1) {delete reflow; return NULL;} Py_XDECREF(d); } } else { - if (PyDict_SetItemString(ans, "cover", Py_None) == -1) return NULL; + if (PyDict_SetItemString(ans, "cover", Py_None) == -1) {delete reflow; return NULL;} } } } catch (std::exception &e) { - PyErr_SetString(PyExc_RuntimeError, e.what()); return NULL; + PyErr_SetString(PyExc_RuntimeError, e.what()); delete reflow; return NULL; } catch (...) { PyErr_SetString(PyExc_RuntimeError, - "Unknown exception raised while getting metadata from PDF"); return NULL; + "Unknown exception raised while getting metadata from PDF"); delete reflow; return NULL; } + delete reflow; reflow = NULL; + for (map::const_iterator it = info.begin() ; it != info.end(); it++ ) { PyObject *key = PyUnicode_Decode((*it).first.c_str(), (*it).first.size(), "UTF-8", "replace"); diff --git a/src/calibre/ebooks/pdf/reflow.cpp b/src/calibre/ebooks/pdf/reflow.cpp index 3b3dba4f34..86a33ced8e 100644 --- a/src/calibre/ebooks/pdf/reflow.cpp +++ b/src/calibre/ebooks/pdf/reflow.cpp @@ -3,11 +3,6 @@ * License: GNU GPL v3 */ -#ifdef _WIN32 -#include -#else -#include -#endif #include #include #include @@ -25,6 +20,8 @@ static const char* info_keys[num_info_keys] = { "Title", "Subject", "Keywords", "Author", "Creator", "Producer", "CreationDate", "ModDate" }; +static char encoding[10] = "UTF-8"; +static char yes[10] = "yes"; //------------------------------------------------------------------------ @@ -684,30 +681,16 @@ void XMLOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, colorMap, interpolate, maskColors, inlineImg); } -static char stream_pdf[15] = "stream.pdf"; - -class MemInStream : public MemStream { - private: - GooString stream_name; - - public: - MemInStream(char *buf, size_t st, size_t sz, Object *obj) : - MemStream(buf, st, sz, obj), stream_name(stream_pdf) {} - ~MemInStream() {} - GooString *getFileName() { return &this->stream_name; } -}; - Reflow::Reflow(char *pdfdata, size_t sz) : - pdfdata(pdfdata), current_font_size(-1), doc(NULL) + pdfdata(pdfdata), current_font_size(-1), doc(NULL), obj() { - Object obj; - obj.initNull(); + this->obj.initNull(); if (globalParams == NULL) { globalParams = new GlobalParams(); if (!globalParams) throw ReflowException("Failed to allocate Globalparams"); } - MemInStream *str = new MemInStream(pdfdata, 0, sz, &obj); + MemStream *str = new MemStream(pdfdata, 0, sz, &this->obj); this->doc = new PDFDoc(str, NULL, NULL); if (!this->doc->isOk()) { @@ -730,7 +713,6 @@ Reflow::render() { if (!this->doc->okToCopy()) cout << "Warning, this document has the copy protection flag set, ignoring." << endl; - char encoding[10] = "UTF-8"; globalParams->setTextEncoding(encoding); int first_page = 1; @@ -808,7 +790,6 @@ map Reflow::get_info() { Object info; map ans; string val; - char encoding[10] = "UTF-8"; globalParams->setTextEncoding(encoding); this->doc->getDocInfo(&info); @@ -832,7 +813,7 @@ string Reflow::decode_info_string(Dict *info, const char *key) const { int i, n; ostringstream oss; char *tmp = new char[strlen(key)+1]; - strcpy(tmp, key); + strncpy(tmp, key, strlen(key)+1); UnicodeMap *umap; if (!(umap = globalParams->getTextEncoding())) { throw ReflowException("Failed to allocate unicode map."); @@ -871,8 +852,7 @@ string Reflow::decode_info_string(Dict *info, const char *key) const { vector* Reflow::render_first_page(bool use_crop_box, double x_res, double y_res) { if (this->is_locked()) throw ReflowException("Document is locked."); - char encoding[10] = "UTF-8"; - char yes[10] = "yes"; + if (this->numpages() < 1) throw ReflowException("Document has no pages."); globalParams->setTextEncoding(encoding); globalParams->setEnableFreeType(yes); globalParams->setAntialias(yes); @@ -882,37 +862,45 @@ vector* Reflow::render_first_page(bool use_crop_box, double x_res, paper_color[0] = 255; paper_color[1] = 255; paper_color[2] = 255; - SplashOutputDev *out = new SplashOutputDev(splashModeRGB8, 4, false, paper_color); + SplashOutputDev *out = new SplashOutputDev(splashModeRGB8, 4, false, paper_color, true, true); + out->setVectorAntialias(true); if (!out) { throw ReflowException("Failed to allocate SplashOutputDev"); } - out->startDoc(doc->getXRef()); + try { + out->startDoc(doc->getXRef()); + out->startPage(1, NULL); - double pg_w, pg_h; - int pg = 1; + double pg_w, pg_h; + int pg = 1; - if (use_crop_box) { - pg_w = this->doc->getPageCropWidth(pg); - pg_h = this->doc->getPageCropHeight(pg); - } else { - pg_w = this->doc->getPageMediaWidth(pg); - pg_h = this->doc->getPageMediaHeight(pg); - } + if (use_crop_box) { + pg_w = this->doc->getPageCropWidth(pg); + pg_h = this->doc->getPageCropHeight(pg); + } else { + pg_w = this->doc->getPageMediaWidth(pg); + pg_h = this->doc->getPageMediaHeight(pg); + } - pg_w *= x_res/72.; - pg_h *= x_res/72.; + pg_w *= x_res/72.; + pg_h *= x_res/72.; - int x=0, y=0; - this->doc->displayPageSlice(out, pg, x_res, y_res, 0, - !use_crop_box, false, false, x, y, pg_w, pg_h); + int x=0, y=0; + this->doc->displayPageSlice(out, pg, x_res, y_res, 0, + !use_crop_box, false, false, x, y, pg_w, pg_h); + } catch(...) { delete out; throw; } - SplashBitmap *bmp = out->getBitmap(); + SplashBitmap *bmp = out->takeBitmap(); + out->endPage(); + delete out; out = NULL; PNGMemWriter writer; vector *buf = new vector(); - writer.init(buf, bmp->getWidth(), bmp->getHeight()); - writer.write_splash_bitmap(bmp); - writer.close(); - delete out; + try { + writer.init(buf, bmp->getWidth(), bmp->getHeight()); + writer.write_splash_bitmap(bmp); + writer.close(); + } catch(...) { delete buf; delete bmp; throw; } + delete bmp; return buf; } @@ -967,4 +955,3 @@ string Reflow::set_info(map sinfo) { return ans; } - diff --git a/src/calibre/ebooks/pdf/reflow.h b/src/calibre/ebooks/pdf/reflow.h index 458d452b72..fd629602b2 100644 --- a/src/calibre/ebooks/pdf/reflow.h +++ b/src/calibre/ebooks/pdf/reflow.h @@ -8,6 +8,14 @@ #define CALIBRE_REFLOW #define UNICODE +#ifdef _WIN32 +#include +#elif defined(_OSX) +#include +#else +#include +#endif + #include #include #include @@ -23,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -49,6 +56,7 @@ class Reflow { char *pdfdata; double current_font_size; PDFDoc *doc; + Object obj; string decode_info_string(Dict *info, const char *key) const; void outline_level(ostringstream *oss, GooList *items, @@ -76,6 +84,9 @@ class Reflow { /* Set the info dictionary. Currently broken. */ string set_info(map info); + + /* Number of pages in the document */ + int numpages() { return this->doc->getNumPages(); } }; class XMLString { diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 8ee08e70cf..3197338eaa 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.6.13\n" -"POT-Creation-Date: 2009-09-18 12:45+MDT\n" -"PO-Revision-Date: 2009-09-18 12:45+MDT\n" +"POT-Creation-Date: 2009-09-25 11:00+MDT\n" +"PO-Revision-Date: 2009-09-25 11:00+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -51,8 +51,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:870 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:34 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:21 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44 @@ -132,8 +131,6 @@ msgstr "" #: /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/utils/poppler/__init__.py:28 -#: /home/kovid/work/calibre/src/calibre/utils/poppler/__init__.py:32 msgid "Unknown" msgstr "" @@ -313,11 +310,11 @@ msgstr "" msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:229 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:232 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:359 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:362 msgid "" " %prog options\n" "\n" @@ -325,27 +322,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:368 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:367 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:370 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:369 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:372 msgid "Customize plugin. Specify name of plugin and customization string separated by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:374 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:373 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:376 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:375 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:378 msgid "Disable the named plugin" msgstr "" @@ -2038,7 +2035,7 @@ msgid "input" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:41 #: /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 @@ -2133,7 +2130,7 @@ msgid "Debug the conversion process." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" @@ -2145,12 +2142,12 @@ msgstr "" msgid "Failed to create debug directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:46 +#: /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 understanding the conversion process and figuring out the correct values for conversion parameters like Table of Contents and Chapter Detection." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 +#: /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/metadata_ui.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:61 @@ -2182,6 +2179,10 @@ msgstr "" msgid "..." msgstr "" +#: /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/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" msgstr "" @@ -6342,6 +6343,7 @@ msgid "Traditional Chinese" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:99 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 msgid "English" msgstr "" From 6a31132868f73a288cd82925133af4def7f88343 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 25 Sep 2009 11:35:17 -0600 Subject: [PATCH 09/42] IGN: pdfreflow loads in the linux binary builds --- setup/installer/linux/freeze.py | 2 +- src/calibre/utils/PythonMagickWand.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/installer/linux/freeze.py b/setup/installer/linux/freeze.py index abf51a9750..f33452fc94 100644 --- a/setup/installer/linux/freeze.py +++ b/setup/installer/linux/freeze.py @@ -60,7 +60,7 @@ class LinuxFreeze(Command): arch), '/usr/lib/libpng12.so.0', '/usr/lib/libexslt.so.0', - '/usr/lib/libMagickWand.so', + '/usr/lib/libMagickWand.so.2', '/usr/lib/libMagickCore.so.2', '/usr/lib/libgcrypt.so.11', '/usr/lib/libgpg-error.so.0', diff --git a/src/calibre/utils/PythonMagickWand.py b/src/calibre/utils/PythonMagickWand.py index 93c1ddf1fa..91c37e42ba 100644 --- a/src/calibre/utils/PythonMagickWand.py +++ b/src/calibre/utils/PythonMagickWand.py @@ -85,7 +85,7 @@ elif iswindows: if isfrozen else 'CORE_RL_wand_' else: if isfrozen: - _lib = os.path.join(sys.frozen_path, 'libMagickWand.so') + _lib = os.path.join(sys.frozen_path, 'libMagickWand.so.2') else: _lib = util.find_library('MagickWand') if _lib is None: From 0c678d9f0534bfd3eeb06d32d36d69a70e8c6b66 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 25 Sep 2009 11:41:12 -0600 Subject: [PATCH 10/42] Fix #3590 (calibre 0.6.13 source package is a tarbomb) --- .project | 18 ------------------ .pydevproject | 10 ---------- setup/install.py | 5 +++-- 3 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 .project delete mode 100644 .pydevproject diff --git a/.project b/.project deleted file mode 100644 index 684c2fe798..0000000000 --- a/.project +++ /dev/null @@ -1,18 +0,0 @@ - - - libprs500 - - - ipython - - - - org.python.pydev.PyDevBuilder - - - - - - org.python.pydev.pythonNature - - diff --git a/.pydevproject b/.pydevproject deleted file mode 100644 index 509137a36a..0000000000 --- a/.pydevproject +++ /dev/null @@ -1,10 +0,0 @@ - - - - -python 2.6 - -/calibre-pluginize/src - -Default - diff --git a/setup/install.py b/setup/install.py index d9f5f3e4fe..62ad9bd7b5 100644 --- a/setup/install.py +++ b/setup/install.py @@ -215,6 +215,7 @@ class Sdist(Command): if not self.e(self.d(self.DEST)): os.makedirs(self.d(self.DEST)) tdir = tempfile.mkdtemp() + tdir = self.j(tdir, 'calibre') atexit.register(shutil.rmtree, tdir) self.info('\tRunning bzr export...') subprocess.check_call(['bzr', 'export', '--format', 'dir', tdir]) @@ -237,8 +238,8 @@ class Sdist(Command): shutil.copy2(f, dest) self.info('\tCreating tarfile...') - subprocess.check_call(' '.join(['tar', '-czf', self.a(self.DEST), '*']), - cwd=tdir, shell=True) + subprocess.check_call(['tar', '-czf', self.a(self.DEST), + 'calibre'], cwd=self.d(tdir)) def clean(self): if os.path.exists(self.DEST): From c9aeb3fd09e410f6882611e6e4bcf8cbe00e0678 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 26 Sep 2009 11:28:28 -0600 Subject: [PATCH 11/42] IGN:Easier development environment using the binary build on windows --- setup/gui.py | 41 +---- setup/installer/windows/freeze.py | 7 +- src/calibre/debug.py | 51 ++---- src/calibre/gui2/__init__.py | 50 ++++++ .../feeds/recipes/recipe_business_standard.py | 114 +++++++------- .../web/feeds/recipes/recipe_lemonde_dip.py | 145 +++++++++--------- .../web/feeds/recipes/recipe_nytimes.py | 36 ++--- .../web/feeds/recipes/recipe_smashing.py | 101 ++++++------ .../web/feeds/recipes/recipe_thestar.py | 94 ++++++------ 9 files changed, 318 insertions(+), 321 deletions(-) diff --git a/setup/gui.py b/setup/gui.py index a73c3466e3..058a3f052f 100644 --- a/setup/gui.py +++ b/setup/gui.py @@ -6,7 +6,7 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os, cStringIO, re +import os from setup import Command, __appname__ @@ -17,6 +17,8 @@ class GUI(Command): @classmethod def find_forms(cls): + from calibre.gui2 import find_forms + return find_forms(cls.SRC) forms = [] for root, _, files in os.walk(cls.PATH): for name in files: @@ -27,7 +29,8 @@ class GUI(Command): @classmethod def form_to_compiled_form(cls, form): - return form.rpartition('.')[0]+'_ui.py' + from calibre.gui2 import form_to_compiled_form + return form_to_compiled_form(form) def run(self, opts): self.build_forms() @@ -53,38 +56,8 @@ class GUI(Command): def build_forms(self): - from PyQt4.uic import compileUi - forms = self.find_forms() - pat = re.compile(r'''(['"]):/images/([^'"]+)\1''') - def sub(match): - ans = 'I(%s%s%s)'%(match.group(1), match.group(2), match.group(1)) - return ans - - for form in forms: - compiled_form = self.form_to_compiled_form(form) - if not os.path.exists(compiled_form) or os.stat(form).st_mtime > os.stat(compiled_form).st_mtime: - self.info('\tCompiling form', form) - buf = cStringIO.StringIO() - compileUi(form, buf) - dat = buf.getvalue() - dat = dat.replace('__appname__', __appname__) - dat = dat.replace('import images_rc', '') - dat = dat.replace('from library import', 'from calibre.gui2.library import') - dat = dat.replace('from widgets import', 'from calibre.gui2.widgets import') - dat = dat.replace('from convert.xpath_wizard import', - 'from calibre.gui2.convert.xpath_wizard import') - dat = re.compile(r'QtGui.QApplication.translate\(.+?,\s+"(.+?)(?' Embedded console for debugging. ''' -import sys, os, re, shutil +import sys, os from calibre.utils.config import OptionParser from calibre.constants import iswindows, isosx -from calibre.libunzip import update from calibre import prints def option_parser(): @@ -18,11 +17,6 @@ def option_parser(): Run an embedded python interpreter. ''') - parser.add_option('-u', '--update-module', default=False, - action='store_true', - help='Update the specified module in the frozen library. '+ - 'Module specifications are of the form full.name.of.module path_to_module.py', - ) parser.add_option('-c', '--command', help='Run python code.', default=None) parser.add_option('-e', '--exec-file', default=None, help='Run the python code in file.') parser.add_option('-d', '--debug-device-driver', default=False, action='store_true', @@ -41,39 +35,17 @@ Run an embedded python interpreter. parser.add_option('--pdfreflow', default=None, help='Path to PDF file to try and reflow. Output will be placed in ' 'current directory. ') + parser.add_option('-f', '--develop-from', default=None, + help=('Develop calibre from the specified path. ' + 'The path should point to the src sub-directory in the ' + 'calibre source tree.')) return parser -def update_zipfile(zipfile, mod, path): - if 'win32' in sys.platform: - print 'WARNING: On Windows Vista using this option may cause windows to put library.zip into the Virtual Store (typically located in c:\Users\username\AppData\Local\VirtualStore). If it does this you must delete it from there after you\'re done debugging).' - pat = re.compile(mod.replace('.', '/')+r'\.py[co]*') - name = mod.replace('.', '/') + os.path.splitext(path)[-1] - update(zipfile, [pat], [path], [name]) - -def update_site_packages(sp, mod, path): - dest = os.path.join(sp, *mod.split('.'))+'.py' - shutil.copy2(path, dest) - -def update_module(mod, path): - if not hasattr(sys, 'frozen'): - raise RuntimeError('Modules can only be updated in frozen installs.') - zp = None - if iswindows: - zp = os.path.join(os.path.dirname(sys.executable), 'library.zip') - elif getattr(sys, 'new_app_bundle', False): - update_site_packages(sys.site_packages, mod, path) - elif isosx: - zp = os.path.join(os.path.dirname(getattr(sys, 'frameworks_dir')), - 'Resources', 'lib', - 'python'+'.'.join(map(str, sys.version_info[:2])), - 'site-packages.zip') - else: - zp = os.path.join(getattr(sys, 'frozen_path'), 'loader.zip') - if zp is not None: - update_zipfile(zp, mod, path) - else: - raise ValueError('Updating modules is not supported on this platform.') +def develop_from(path): + from calibre.gui2 import build_forms + print 'Compiling .ui forms...' + build_forms(path) def migrate(old, new): from calibre.utils.config import prefs @@ -189,9 +161,6 @@ def main(args=sys.argv): if opts.gui: from calibre.gui2.main import main main(['calibre']) - elif opts.update_module: - mod, path = args[1:3] - update_module(mod, os.path.expanduser(path)) elif opts.command: sys.argv = args[:1] exec opts.command @@ -218,6 +187,8 @@ def main(args=sys.argv): from calibre.utils.logging import default_log opts2, args = px().parse_args(['xxxx', '-vvvv', opts.pdfreflow]) run(opts2, opts.pdfreflow, default_log) + elif opts.develop_from is not None: + develop_from(opts.develop_from) else: from IPython.Shell import IPShellEmbed ipshell = IPShellEmbed() diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 2d3a294c5b..ff30fff2c1 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -525,3 +525,53 @@ def is_ok_to_use_qt(): gui_thread = QThread.currentThread() return gui_thread is QThread.currentThread() +def find_forms(srcdir): + base = os.path.join(srcdir, 'calibre', 'gui2') + forms = [] + for root, _, files in os.walk(base): + for name in files: + if name.endswith('.ui'): + forms.append(os.path.abspath(os.path.join(root, name))) + + return forms + +def form_to_compiled_form(form): + return form.rpartition('.')[0]+'_ui.py' + +def build_forms(srcdir, info=None): + import re, cStringIO + from PyQt4.uic import compileUi + forms = find_forms(srcdir) + if info is None: + from calibre import prints + info = prints + pat = re.compile(r'''(['"]):/images/([^'"]+)\1''') + def sub(match): + ans = 'I(%s%s%s)'%(match.group(1), match.group(2), match.group(1)) + return ans + + for form in forms: + compiled_form = form_to_compiled_form(form) + if not os.path.exists(compiled_form) or os.stat(form).st_mtime > os.stat(compiled_form).st_mtime: + info('\tCompiling form', form) + buf = cStringIO.StringIO() + compileUi(form, buf) + dat = buf.getvalue() + dat = dat.replace('__appname__', 'calibre') + dat = dat.replace('import images_rc', '') + dat = dat.replace('from library import', 'from calibre.gui2.library import') + dat = dat.replace('from widgets import', 'from calibre.gui2.widgets import') + dat = dat.replace('from convert.xpath_wizard import', + 'from calibre.gui2.convert.xpath_wizard import') + dat = re.compile(r'QtGui.QApplication.translate\(.+?,\s+"(.+?)(?' -''' -www.business-standard.com -''' - -from calibre.web.feeds.recipes import BasicNewsRecipe - -class BusinessStandard(BasicNewsRecipe): - title = 'Business Standard' - __author__ = 'Darko Miletic' - description = "India's most respected business daily" - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'cp1252' - publisher = 'Business Standard Limited' - category = 'news, business, money, india, world' - language = 'en_IN' - - conversion_options = { - 'comments' : description - ,'tags' : category - ,'language' : language - ,'publisher' : publisher - ,'linearize_tables': True - } - - remove_attributes=['style'] - remove_tags = [dict(name=['object','link','script','iframe'])] - - feeds = [ - (u'News Now' , u'http://feeds.business-standard.com/News-Now.xml' ) - ,(u'Banking & finance' , u'http://feeds.business-standard.com/Banking-Finance-All.xml' ) - ,(u'Companies & Industry', u'http://feeds.business-standard.com/Companies-Industry-All.xml') - ,(u'Economy & Policy' , u'http://feeds.business-standard.com/Economy-Policy-All.xml' ) - ,(u'Tech World' , u'http://feeds.business-standard.com/Tech-World-All.xml' ) - ,(u'Life & Leisure' , u'http://feeds.business-standard.com/Life-Leisure-All.xml' ) - ,(u'Markets & Investing' , u'http://feeds.business-standard.com/Markets-Investing-All.xml' ) - ,(u'Management & Mktg' , u'http://feeds.business-standard.com/Management-Mktg-All.xml' ) - ,(u'Automobiles' , u'http://feeds.business-standard.com/Automobiles.xml' ) - ,(u'Aviation' , u'http://feeds.business-standard.com/Aviation.xml' ) - ] - - def print_version(self, url): - autono = url.rpartition('autono=')[2] - tp = 'on' - hk = url.rpartition('bKeyFlag=')[1] - if hk == '': - tp = '' - return 'http://www.business-standard.com/india/printpage.php?autono=' + autono + '&tp=' + tp - - def get_article_url(self, article): - return article.get('guid', None) +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +www.business-standard.com +''' + +from calibre.web.feeds.recipes import BasicNewsRecipe + +class BusinessStandard(BasicNewsRecipe): + title = 'Business Standard' + __author__ = 'Darko Miletic' + description = "India's most respected business daily" + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'cp1252' + publisher = 'Business Standard Limited' + category = 'news, business, money, india, world' + language = 'en_IN' + + conversion_options = { + 'comments' : description + ,'tags' : category + ,'language' : language + ,'publisher' : publisher + ,'linearize_tables': True + } + + remove_attributes=['style'] + remove_tags = [dict(name=['object','link','script','iframe'])] + + feeds = [ + (u'News Now' , u'http://feeds.business-standard.com/News-Now.xml' ) + ,(u'Banking & finance' , u'http://feeds.business-standard.com/Banking-Finance-All.xml' ) + ,(u'Companies & Industry', u'http://feeds.business-standard.com/Companies-Industry-All.xml') + ,(u'Economy & Policy' , u'http://feeds.business-standard.com/Economy-Policy-All.xml' ) + ,(u'Tech World' , u'http://feeds.business-standard.com/Tech-World-All.xml' ) + ,(u'Life & Leisure' , u'http://feeds.business-standard.com/Life-Leisure-All.xml' ) + ,(u'Markets & Investing' , u'http://feeds.business-standard.com/Markets-Investing-All.xml' ) + ,(u'Management & Mktg' , u'http://feeds.business-standard.com/Management-Mktg-All.xml' ) + ,(u'Automobiles' , u'http://feeds.business-standard.com/Automobiles.xml' ) + ,(u'Aviation' , u'http://feeds.business-standard.com/Aviation.xml' ) + ] + + def print_version(self, url): + autono = url.rpartition('autono=')[2] + tp = 'on' + hk = url.rpartition('bKeyFlag=')[1] + if hk == '': + tp = '' + return 'http://www.business-standard.com/india/printpage.php?autono=' + autono + '&tp=' + tp + + def get_article_url(self, article): + return article.get('guid', None) diff --git a/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py b/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py index 4a114a09ae..fa20e43aa2 100644 --- a/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py +++ b/src/calibre/web/feeds/recipes/recipe_lemonde_dip.py @@ -1,73 +1,72 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008-2009, Darko Miletic ' -''' -mondediplo.com -''' - -import re, urllib -from calibre import strftime -from calibre.web.feeds.news import BasicNewsRecipe -from calibre.ebooks.BeautifulSoup import Tag - -class LeMondeDiplomatiqueEn(BasicNewsRecipe): - title = 'Le Monde diplomatique - English edition' - __author__ = 'Darko Miletic' - description = 'Real journalism making sense of the world around us' - publisher = 'Le Monde diplomatique' - category = 'news, politics, world' - no_stylesheets = True - oldest_article = 31 - delay = 1 - encoding = 'utf-8' - needs_subscription = True - PREFIX = 'http://mondediplo.com/' - LOGIN = PREFIX + '2009/09/02congo' - INDEX = PREFIX + strftime('%Y/%m/') - use_embedded_content = False - language = 'en' - - conversion_options = { - 'comment' : description - , 'tags' : category - , 'publisher' : publisher - , 'language' : language - } - - def get_browser(self): - br = BasicNewsRecipe.get_browser() - br.open(self.LOGIN) - if self.username is not None and self.password is not None: - data = urllib.urlencode({ 'login':self.username - ,'pass':self.password - ,'enter':'enter' - }) - br.open(self.LOGIN,data) - return br - - keep_only_tags =[dict(name='div', attrs={'id':'contenu'})] - remove_tags = [dict(name=['object','link','script','iframe','base'])] - - def parse_index(self): - articles = [] - soup = self.index_to_soup(self.INDEX) - cnt = soup.find('div',attrs={'class':'som_num'}) - for item in cnt.findAll('li'): - description = '' - feed_link = item.find('a') - desc = item.find('div',attrs={'class':'chapo'}) - if desc: - description = desc.string - if feed_link and feed_link.has_key('href'): - url = self.PREFIX + feed_link['href'].partition('/../')[2] - title = self.tag_to_string(feed_link) - date = strftime(self.timefmt) - articles.append({ - 'title' :title - ,'date' :date - ,'url' :url - ,'description':description - }) - return [(soup.head.title.string, articles)] - +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008-2009, Darko Miletic ' +''' +mondediplo.com +''' + +import urllib +from calibre import strftime +from calibre.web.feeds.news import BasicNewsRecipe + +class LeMondeDiplomatiqueEn(BasicNewsRecipe): + title = 'Le Monde diplomatique - English edition' + __author__ = 'Darko Miletic' + description = 'Real journalism making sense of the world around us' + publisher = 'Le Monde diplomatique' + category = 'news, politics, world' + no_stylesheets = True + oldest_article = 31 + delay = 1 + encoding = 'utf-8' + needs_subscription = True + PREFIX = 'http://mondediplo.com/' + LOGIN = PREFIX + '2009/09/02congo' + INDEX = PREFIX + strftime('%Y/%m/') + use_embedded_content = False + language = 'en' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + def get_browser(self): + br = BasicNewsRecipe.get_browser() + br.open(self.LOGIN) + if self.username is not None and self.password is not None: + data = urllib.urlencode({ 'login':self.username + ,'pass':self.password + ,'enter':'enter' + }) + br.open(self.LOGIN,data) + return br + + keep_only_tags =[dict(name='div', attrs={'id':'contenu'})] + remove_tags = [dict(name=['object','link','script','iframe','base'])] + + def parse_index(self): + articles = [] + soup = self.index_to_soup(self.INDEX) + cnt = soup.find('div',attrs={'class':'som_num'}) + for item in cnt.findAll('li'): + description = '' + feed_link = item.find('a') + desc = item.find('div',attrs={'class':'chapo'}) + if desc: + description = desc.string + if feed_link and feed_link.has_key('href'): + url = self.PREFIX + feed_link['href'].partition('/../')[2] + title = self.tag_to_string(feed_link) + date = strftime(self.timefmt) + articles.append({ + 'title' :title + ,'date' :date + ,'url' :url + ,'description':description + }) + return [(soup.head.title.string, articles)] + diff --git a/src/calibre/web/feeds/recipes/recipe_nytimes.py b/src/calibre/web/feeds/recipes/recipe_nytimes.py index c21145ac07..af78856010 100644 --- a/src/calibre/web/feeds/recipes/recipe_nytimes.py +++ b/src/calibre/web/feeds/recipes/recipe_nytimes.py @@ -16,7 +16,7 @@ class NYTimes(BasicNewsRecipe): __author__ = 'GRiker' language = _('English') description = 'Top Stories from the New York Times' - + # List of sections typically included in Top Stories. Use a keyword from the # right column in the excludeSectionKeywords[] list to skip downloading that section sections = { @@ -39,7 +39,7 @@ class NYTimes(BasicNewsRecipe): 'world' : 'World' } - # By default, no sections are skipped. + # By default, no sections are skipped. excludeSectionKeywords = [] # Add section keywords from the right column above to skip that section @@ -49,7 +49,7 @@ class NYTimes(BasicNewsRecipe): # excludeSectionKeywords = ['Arts','Dining','Editorials','Health','Magazine','Media','Region','Op-Ed','Politics','Science','Sports','Top Stories','Travel','U.S.','World'] # Fetch only Top Stories # excludeSectionKeywords = ['Arts','Business','Dining','Editorials','Health','Magazine','Media','Region','Op-Ed','Politics','Science','Sports','Technology','Travel','U.S.','World'] - + # The maximum number of articles that will be downloaded max_articles_per_feed = 40 @@ -63,7 +63,7 @@ class NYTimes(BasicNewsRecipe): dict(attrs={ 'id':['toolsRight','inlineBox','sidebarArticles', 'portfolioInline','articleInline','readerscomment', 'nytRating']}) ] - + encoding = 'cp1252' no_stylesheets = True extra_css = '.headline {text-align: left;}\n \ @@ -105,13 +105,13 @@ class NYTimes(BasicNewsRecipe): _raw = url_or_raw if raw: return _raw - + if not isinstance(_raw, unicode) and self.encoding: _raw = _raw.decode(docEncoding, 'replace') massage = list(BeautifulSoup.MARKUP_MASSAGE) massage.append((re.compile(r'&(\S+?);'), lambda match: entity_to_unicode(match, encoding=self.encoding))) return BeautifulSoup(_raw, markupMassage=massage) - + # Entry point soup = get_the_soup( self.encoding, url_or_raw ) contentType = soup.find(True,attrs={'http-equiv':'Content-Type'}) @@ -122,7 +122,7 @@ class NYTimes(BasicNewsRecipe): if self.verbose > 2: self.log( " document encoding: '%s'" % docEncoding) if docEncoding != self.encoding : - soup = get_the_soup(docEncoding, url_or_raw) + soup = get_the_soup(docEncoding, url_or_raw) return soup @@ -133,7 +133,7 @@ class NYTimes(BasicNewsRecipe): feed = key = 'All Top Stories' articles[key] = [] ans.append(key) - + soup = self.index_to_soup('http://www.nytimes.com/pages/todaysheadlines/') # Fetch the outer table @@ -242,10 +242,10 @@ class NYTimes(BasicNewsRecipe): if url == article['url'] : duplicateFound = True break - - if duplicateFound: + + if duplicateFound: # Continue fetching, don't add this article - continue + continue if not articles.has_key(feed): articles[feed] = [] @@ -254,7 +254,7 @@ class NYTimes(BasicNewsRecipe): description=description, author=author, content='')) ans = self.sort_index_by(ans, {'Top Stories':-1}) - ans = [(key, articles[key]) for key in ans if articles.has_key(key)] + ans = [(key, articles[key]) for key in ans if articles.has_key(key)] return ans def strip_anchors(self,soup): @@ -270,7 +270,7 @@ class NYTimes(BasicNewsRecipe): # refresh = soup.find('meta', {'http-equiv':'refresh'}) # if refresh is None: # return self.strip_anchors(soup) -# +# # content = refresh.get('content').partition('=')[2] # raw = self.browser.open('http://www.nytimes.com'+content).read() # soup = BeautifulSoup(raw.decode('cp1252', 'replace')) @@ -280,7 +280,7 @@ class NYTimes(BasicNewsRecipe): content = refresh.get('content').partition('=')[2] raw = self.browser.open('http://www.nytimes.com'+content).read() soup = BeautifulSoup(raw.decode('cp1252', 'replace')) - + soup = self.strip_anchors(soup) # Test for empty content @@ -291,7 +291,7 @@ class NYTimes(BasicNewsRecipe): return soup else: print "no allowed content found, removing article" - raise StringError + raise Exception() def postprocess_html(self,soup, True): @@ -334,7 +334,7 @@ class NYTimes(BasicNewsRecipe): bTag = Tag(soup, "b") bTag.insert(0, subhead.contents[0]) subhead.replaceWith(bTag) - + # Synthesize a section header dsk = soup.find('meta', attrs={'name':'dsk'}) if dsk is not None and dsk.has_key('content'): @@ -343,12 +343,12 @@ class NYTimes(BasicNewsRecipe): hTag.insert(0,NavigableString(dsk['content'])) articleTag = soup.find(True, attrs={'id':'article'}) articleTag.insert(0,hTag) - + # Add class="articleBody" to
so we can format with CSS divTag = soup.find('div',attrs={'id':'articleBody'}) if divTag is not None : divTag['class'] = divTag['id'] - + # Add class="authorId" to
so we can format with CSS divTag = soup.find('div',attrs={'id':'authorId'}) if divTag is not None : diff --git a/src/calibre/web/feeds/recipes/recipe_smashing.py b/src/calibre/web/feeds/recipes/recipe_smashing.py index cc4edd2c77..04436a05ef 100644 --- a/src/calibre/web/feeds/recipes/recipe_smashing.py +++ b/src/calibre/web/feeds/recipes/recipe_smashing.py @@ -1,51 +1,50 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -www.smashingmagazine.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe -from calibre.ebooks.BeautifulSoup import Tag - -class SmashingMagazine(BasicNewsRecipe): - title = 'Smashing Magazine' - __author__ = 'Darko Miletic' - description = 'We smash you with the information that will make your life easier, really' - oldest_article = 20 - language = 'en' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - publisher = 'Smashing Magazine' - category = 'news, web, IT, css, javascript, html' - encoding = 'utf-8' - - conversion_options = { - 'comments' : description - ,'tags' : category - ,'publisher' : publisher - } - - keep_only_tags = [dict(name='div', attrs={'id':'leftcolumn'})] - remove_tags_after = dict(name='ul',attrs={'class':'social'}) - remove_tags = [ - dict(name=['link','object']) - ,dict(name='h1',attrs={'class':'logo'}) - ,dict(name='div',attrs={'id':'booklogosec'}) - ,dict(attrs={'src':'http://media2.smashingmagazine.com/wp-content/uploads/images/the-smashing-book/smbook6.gif'}) - ] - - feeds = [(u'Articles', u'http://rss1.smashingmagazine.com/feed/')] - - def preprocess_html(self, soup): - for iter in soup.findAll('div',attrs={'class':'leftframe'}): - it = iter.find('h1') - if it == None: - iter.extract() - for item in soup.findAll('img'): - oldParent = item.parent - if oldParent.name == 'a': - oldParent.name = 'div' - return soup +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +www.smashingmagazine.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class SmashingMagazine(BasicNewsRecipe): + title = 'Smashing Magazine' + __author__ = 'Darko Miletic' + description = 'We smash you with the information that will make your life easier, really' + oldest_article = 20 + language = 'en' + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + publisher = 'Smashing Magazine' + category = 'news, web, IT, css, javascript, html' + encoding = 'utf-8' + + conversion_options = { + 'comments' : description + ,'tags' : category + ,'publisher' : publisher + } + + keep_only_tags = [dict(name='div', attrs={'id':'leftcolumn'})] + remove_tags_after = dict(name='ul',attrs={'class':'social'}) + remove_tags = [ + dict(name=['link','object']) + ,dict(name='h1',attrs={'class':'logo'}) + ,dict(name='div',attrs={'id':'booklogosec'}) + ,dict(attrs={'src':'http://media2.smashingmagazine.com/wp-content/uploads/images/the-smashing-book/smbook6.gif'}) + ] + + feeds = [(u'Articles', u'http://rss1.smashingmagazine.com/feed/')] + + def preprocess_html(self, soup): + for iter in soup.findAll('div',attrs={'class':'leftframe'}): + it = iter.find('h1') + if it == None: + iter.extract() + for item in soup.findAll('img'): + oldParent = item.parent + if oldParent.name == 'a': + oldParent.name = 'div' + return soup diff --git a/src/calibre/web/feeds/recipes/recipe_thestar.py b/src/calibre/web/feeds/recipes/recipe_thestar.py index 99f024e964..5e662441ef 100644 --- a/src/calibre/web/feeds/recipes/recipe_thestar.py +++ b/src/calibre/web/feeds/recipes/recipe_thestar.py @@ -1,47 +1,47 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -www.thestar.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - -class TheTorontoStar(BasicNewsRecipe): - title = 'The Toronto Star' - __author__ = 'Darko Miletic' - description = "Canada's largest daily newspaper" - oldest_article = 2 - language = 'en_CA' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - publisher = 'The Toronto Star' - category = "Toronto Star,Canada's largest daily newspaper,breaking news,classifieds,careers,GTA,Toronto Maple Leafs,sports,Toronto,news,editorial,The Star,Ontario,information,columnists,business,entertainment,births,deaths,automotive,rentals,weather,archives,Torstar,technology,Joseph Atkinson" - encoding = 'utf-8' - extra_css = ' .headlineArticle{font-size: x-large; font-weight: bold} .navbar{text-align:center} ' - - conversion_options = { - 'comments' : description - ,'tags' : category - ,'publisher' : publisher - } - - keep_only_tags = [dict(name='div', attrs={'id':'AssetWebPart1'})] - remove_attributes= ['style'] - - feeds = [ - (u'News' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' ) - ,(u'Opinions' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=311' ) - ,(u'Business' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=294' ) - ,(u'Sports' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=295' ) - ,(u'Entertainment', u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' ) - ,(u'Living' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' ) - ,(u'Travel' , u'http://www.thestar.com/rss/82858?searchMode=Lineup' ) - ,(u'Science' , u'http://www.thestar.com/rss/82848?searchMode=Query&categories=300') - ] - - def print_version(self, url): - return url.replace('/article/','/printArticle/') - +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +www.thestar.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class TheTorontoStar(BasicNewsRecipe): + title = 'The Toronto Star' + __author__ = 'Darko Miletic' + description = "Canada's largest daily newspaper" + oldest_article = 2 + language = 'en_CA' + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + publisher = 'The Toronto Star' + category = "Toronto Star,Canada's largest daily newspaper,breaking news,classifieds,careers,GTA,Toronto Maple Leafs,sports,Toronto,news,editorial,The Star,Ontario,information,columnists,business,entertainment,births,deaths,automotive,rentals,weather,archives,Torstar,technology,Joseph Atkinson" + encoding = 'utf-8' + extra_css = ' .headlineArticle{font-size: x-large; font-weight: bold} .navbar{text-align:center} ' + + conversion_options = { + 'comments' : description + ,'tags' : category + ,'publisher' : publisher + } + + keep_only_tags = [dict(name='div', attrs={'id':'AssetWebPart1'})] + remove_attributes= ['style'] + + feeds = [ + (u'News' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' ) + ,(u'Opinions' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=311' ) + ,(u'Business' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=294' ) + ,(u'Sports' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=295' ) + ,(u'Entertainment', u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' ) + ,(u'Living' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' ) + ,(u'Travel' , u'http://www.thestar.com/rss/82858?searchMode=Lineup' ) + ,(u'Science' , u'http://www.thestar.com/rss/82848?searchMode=Query&categories=300') + ] + + def print_version(self, url): + return url.replace('/article/','/printArticle/') + From 98c00083b1b85d0487899ac66bda0c2a009fcdb1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 26 Sep 2009 15:31:12 -0600 Subject: [PATCH 12/42] Add a section to the User Manual explaining how to setup a development environment for calibre on all the OSes --- setup/installer/linux/freeze.py | 3 + setup/installer/osx/freeze.py | 11 ++ src/calibre/manual/custom.py | 2 +- src/calibre/manual/develop.rst | 192 ++++++++++++++++++++++++++++++++ src/calibre/manual/index.rst | 1 + 5 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 src/calibre/manual/develop.rst diff --git a/setup/installer/linux/freeze.py b/setup/installer/linux/freeze.py index f33452fc94..179c001f16 100644 --- a/setup/installer/linux/freeze.py +++ b/setup/installer/linux/freeze.py @@ -147,6 +147,9 @@ class LinuxFreeze(Command): sys.frozen_path = DIR_NAME sys.extensions_location = os.path.join(DIR_NAME, 'plugins') sys.resources_location = os.path.join(DIR_NAME, 'resources') + dfv = os.environ.get('CALIBRE_DEVELOP_FROM', None) + if dfv and os.path.exists(dfv): + sys.path.insert(0, dfv) executables = %(executables)s diff --git a/setup/installer/osx/freeze.py b/setup/installer/osx/freeze.py index c3e0a8d245..4f9a6c62f9 100644 --- a/setup/installer/osx/freeze.py +++ b/setup/installer/osx/freeze.py @@ -46,10 +46,16 @@ qt_plugins = os.path.join(os.path.realpath(base_dir), 'MacOS') loader_path = os.path.join(dirpath, base_name+'.py') loader = open(loader_path, 'w') site_packages = glob.glob(resources_dir+'/lib/python*/site-packages.zip')[0] +devf = os.environ.get('CALIBRE_DEVELOP_FROM', None) +do_devf = devf and os.path.exists(devf) +if do_devf: + devf = os.path.abspath(devf) print >>loader, 'import sys' print >>loader, 'sys.argv[0] =', repr(os.path.basename(path)) print >>loader, 'if', repr(dirpath), 'in sys.path: sys.path.remove(', repr(dirpath), ')' print >>loader, 'sys.path.append(', repr(site_packages), ')' +if do_devf: + print >>loader, 'sys.path.insert(0, %r)'%devf print >>loader, 'sys.frozen = "macosx_app"' print >>loader, 'sys.frameworks_dir =', repr(frameworks_dir) print >>loader, 'sys.extensions_location =', repr(extensions_dir) @@ -319,6 +325,11 @@ os.execv(python, args) sys.frameworks_dir = os.path.join(os.path.dirname(os.environ['RESOURCEPATH']), 'Frameworks') sys.resources_location = os.path.join(os.environ['RESOURCEPATH'], 'resources') sys.extensions_location = os.path.join(sys.frameworks_dir, 'plugins') +devf = os.environ.get('CALIBRE_DEVELOP_FROM', None) +do_devf = devf and os.path.exists(devf) +if do_devf: + devf = os.path.abspath(devf) + sys.path.insert(0, devf) ''') + r'\n\1', src) f = open(launcher_path, 'w') print >>f, 'import sys, os' diff --git a/src/calibre/manual/custom.py b/src/calibre/manual/custom.py index 0df8ea4fa8..1af97bf349 100644 --- a/src/calibre/manual/custom.py +++ b/src/calibre/manual/custom.py @@ -9,7 +9,7 @@ sys.path.insert(0, os.path.abspath('../../')) sys.extensions_location = '../plugins' sys.resources_location = '../../../resources' -from sphinx.builder import StandaloneHTMLBuilder +from sphinx.builders.html import StandaloneHTMLBuilder from qthelp import QtHelpBuilder from epub import EPUBHelpBuilder from sphinx.util import rpartition diff --git a/src/calibre/manual/develop.rst b/src/calibre/manual/develop.rst new file mode 100644 index 0000000000..27865f2d9a --- /dev/null +++ b/src/calibre/manual/develop.rst @@ -0,0 +1,192 @@ +.. include:: global.rst + +.. _develop: + +Setting up a |app| development environment +=========================================== + +|app| is completely open source, licensed under the `GNU GPL v3 `_. +This means that you are free to download and modify the program to your hearts content. In this section, +you will learn how to get a |app| development environment setup on the operating system of your choice. +|app| is written primarily in `Python `_ with some C/C++ code for speed and system interfacing. + +.. contents:: Contents + :depth: 2 + :local: + +Design philosophy +------------------- + +|app| has its roots in the Unix world, which means that it's design is highly modular. +The modules interact with each other via well defined interfaces. This makes adding new features and fixing +bugs in |app| very easy, resulting in a frenetic pace of development. Because of its roots, |app| has a +comprehensive command line interface for all its functions, documented in :ref:`cli`. + +The modular design of |app| is expressed via ``Plugins``. There is a :ref:`tutorial ` on writing |app| plugins. +For example, adding support for a new device to |app| typically involves writing less than a 100 lines of code in the form of +a device driver plugin. You can browse the +`built-in drivers `_. Similarly, adding support +for new conversion formats involves writing input/output format plugins. Another example of the modular design is the :ref:`recipe system ` for +fetching news. + +Code layout +^^^^^^^^^^^^^^ + +All the |app| python code is in the ``calibre`` package. This package contains the following main sub-packages + + * devices - All the device drivers. Just look through some of the built-in drivers to get an idea for how they work. + * ebooks - All the ebook conversion code. A good starting point is ``calibre.ebooks.conversion.cli`` which is the + module powering the :command:`ebook-convert` command. + * library - The database backed and the content server. + * gui2 - The Graphical User Interface. + +Getting the code +------------------ + +|app| uses `Bazaar `_ a distributed version control system. Bazaar is available on all the platforms |app| supports. +After installing Bazaar, you can get the calibre source code with the command:: + + bzr branch lp:calibre + +On Windows you will need the complete path name, that will be something like :file:`C:\\Program Files\\Bazaar\\bzr.exe`. To update a branch +to the latest code, use the command:: + + bzr merge + +Submitting your changes to be included +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you only plan to only make a few small changes, you can make your changes and create a +"merge directive" which you can then attach to a ticket in the |app| bug tracker for consideration. To do +this, make your changes, then run:: + + bzr commit -m "Comment describing your changes" + bzr send -o my-changes + +This will create a my-changes file in the current directory, simply attach that to a ticket on the |app| bug tracker at +`http://calibre.kovidgoyal.net`_. + +If you plan to do a lot of development on |app|, then the best method is to create a +`Launchpad `_ account. Once you have the account, you can create your own +branch in which you do |app| development. To do that go to `https://code.launchpad.net`_ and click +"Register a branch" (choose a branch type of "Hosted"). Once the branch is setup you can associate it +with the code you checked out in the previous step running the following command in any directory +in the |app| code you checked out:: + + bzr push + +This will host your branch on launchpad. Now go to `http://code.launchpad.net/calibre`_ and register +your branch with the |app| project. Now whenever you commit changes to your branch with the command:: + + bzr commit -m "Comment describing your change" + +I can merge it directly from you branch into the main |app| source tree. You should also subscribe to the |app| +developers mailing list at `https://launchpad.net/~calibre-devs`_. Before making major changes, you should +discuss them on the mailing list to ensure that the changes will be accepted once you're done. + + +Windows development environment +--------------------------------- + +Install |app| normally, using the windows installer. Then, open a Command Prompt and change to +the previously checked out calibre code directory, for example:: + + cd C:\Users\kovid\work\calibre + +calibre is the directory that contains the src and resources sub directories. Then, run the following command:: + + calibre-debug --develop-from src + +This assumes that the location of the calibre install (typically ``C:\Program Files\calibre``) is in your PATH. +The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path to the src directory. +So, following the example above, it would be ``C:\Users\kovid\work\calibre\src``. A short +`guide `_ to setting environment +variables on windows. + +Once you have set the environment variable, open a new Command Prompt and check that it was correctly set by using +the command:: + + echo %CALIBRE_DEVELOP_FROM% + +Setting this environment variable means that |app| will now load all its Python code from the specified location. + +That's it! You are now ready to start hacking on the |app| code. For example, open the file :file:`src\\calibre\\__init__.py` +in your favorite editor and add the line:: + + print "Hello, world!" + +near the top of the file. Now run the command :command:`calibredb`. The very first line of output should be ``Hello, world!``. +Note that if you make changes to any .ui files (these files define the |app| Graphical User Interface), you have to re-run the +``calibre-debug --develop-from src`` command, which will compile the .ui files, so that your changes show up. + +OS X development environment +------------------------------ + +Install |app| normally, using the provided .dmg. Then, open a Terminal and change to +the previously checked out calibre code directory, for example:: + + cd /Users/kovid/work/calibre + +calibre is the directory that contains the src and resources sub directories. Then, run the following command:: + + calibre-debug --develop-from src + +This assumes that you have installed the |app| command line tools. This can be done via Preferences->Advanced in the |app| GUI. +The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path to the src directory. +So, following the example above, it would be ``/Users/kovid/work/calibre/src``. Apple +`documentation http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html#//apple_ref/doc/uid/20002093-BCIJIJBH`_ +on how to set environment variables. + +Once you have set the environment variable, open a new Terminal and check that it was correctly set by using +the command:: + + echo $CALIBRE_DEVELOP_FROM + +Setting this environment variable means that |app| will now load all its Python code from the specified location. + +That's it! You are now ready to start hacking on the |app| code. For example, open the file :file:`src/calibre/__init__.py` +in your favorite editor and add the line:: + + print "Hello, world!" + +near the top of the file. Now run the command :command:`calibredb`. The very first line of output should be ``Hello, world!``. +Note that if you make changes to any .ui files (these files define the |app| Graphical User Interface), you have to re-run the +``calibre-debug --develop-from src`` command, which will compile the .ui files, so that your changes show up. + +Linux development environment +------------------------------ + +|app| is primarily developed on linux. You have two choices in setting up the development environment. You can install the +|app| binary as normal and use that as a runtime environment to do your development. This approach is similar to that +used in windows and linux. Alternatively, you can install |app| from source. Instructions for setting up a development +environment from source are in the INSTALL file in the source tree. Here we will address using the binary a runtime. + +Install the |app| using the binary installer. The opena terminal and change to the previously checked out |app| code directory, for example:: + + cd /home/kovid/work/calibre + +calibre is the directory that contains the src and resources sub directories. Then, run the following command:: + + calibre-debug --develop-from src + +The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path to the src directory. +So, following the example above, it would be ``/home/kovid/work/calibre/src``. How to set environment variables depends on +your linux distribution and what shell you are using. + +Once you have set the environment variable, open a new terminal and check that it was correctly set by using +the command:: + + echo $CALIBRE_DEVELOP_FROM + +Setting this environment variable means that |app| will now load all its Python code from the specified location. + +That's it! You are now ready to start hacking on the |app| code. For example, open the file :file:`src/calibre/__init__.py` +in your favorite editor and add the line:: + + print "Hello, world!" + +near the top of the file. Now run the command :command:`calibredb`. The very first line of output should be ``Hello, world!``. +Note that if you make changes to any .ui files (these files define the |app| Graphical User Interface), you have to re-run the +``calibre-debug --develop-from src`` command, which will compile the .ui files, so that your changes show up. + + diff --git a/src/calibre/manual/index.rst b/src/calibre/manual/index.rst index a8281ef57f..83ff7b0bfe 100644 --- a/src/calibre/manual/index.rst +++ b/src/calibre/manual/index.rst @@ -35,6 +35,7 @@ Sections xpath customize cli/cli-index + develop glossary From 0ff0ce51e8caa9ddad481aea314c2509c9247580 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 26 Sep 2009 17:29:10 -0600 Subject: [PATCH 13/42] IGN:... --- setup/installer/osx/freeze.py | 4 ++-- src/calibre/manual/develop.rst | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/setup/installer/osx/freeze.py b/setup/installer/osx/freeze.py index 4f9a6c62f9..8358a61a81 100644 --- a/setup/installer/osx/freeze.py +++ b/setup/installer/osx/freeze.py @@ -55,7 +55,7 @@ print >>loader, 'sys.argv[0] =', repr(os.path.basename(path)) print >>loader, 'if', repr(dirpath), 'in sys.path: sys.path.remove(', repr(dirpath), ')' print >>loader, 'sys.path.append(', repr(site_packages), ')' if do_devf: - print >>loader, 'sys.path.insert(0, %r)'%devf + print >>loader, 'sys.path.insert(0, '+repr(devf)+')' print >>loader, 'sys.frozen = "macosx_app"' print >>loader, 'sys.frameworks_dir =', repr(frameworks_dir) print >>loader, 'sys.extensions_location =', repr(extensions_dir) @@ -390,7 +390,7 @@ def main(): 'calibre.ebooks.metadata.amazon', ], 'packages' : ['PIL', 'Authorization', 'lxml', 'dns'], - 'excludes' : ['IPython'], + 'excludes' : ['IPython', 'PyQt4.uic.port_v3.proxy_base'], 'plist' : { 'CFBundleGetInfoString' : '''calibre, an E-book management application.''' ''' Visit http://calibre.kovidgoyal.net for details.''', 'CFBundleIdentifier':'net.kovidgoyal.calibre', diff --git a/src/calibre/manual/develop.rst b/src/calibre/manual/develop.rst index 27865f2d9a..626a784142 100644 --- a/src/calibre/manual/develop.rst +++ b/src/calibre/manual/develop.rst @@ -63,25 +63,24 @@ this, make your changes, then run:: bzr commit -m "Comment describing your changes" bzr send -o my-changes -This will create a my-changes file in the current directory, simply attach that to a ticket on the |app| bug tracker at -`http://calibre.kovidgoyal.net`_. +This will create a my-changes file in the current directory, simply attach that to a ticket on the |app| `bug tracker `_. If you plan to do a lot of development on |app|, then the best method is to create a `Launchpad `_ account. Once you have the account, you can create your own -branch in which you do |app| development. To do that go to `https://code.launchpad.net`_ and click +branch in which you do |app| development. To do that go to `Launchpad code `_ and click "Register a branch" (choose a branch type of "Hosted"). Once the branch is setup you can associate it with the code you checked out in the previous step running the following command in any directory in the |app| code you checked out:: bzr push -This will host your branch on launchpad. Now go to `http://code.launchpad.net/calibre`_ and register +This will host your branch on launchpad. Now go to `calibre@Launchapd `_ and register your branch with the |app| project. Now whenever you commit changes to your branch with the command:: bzr commit -m "Comment describing your change" I can merge it directly from you branch into the main |app| source tree. You should also subscribe to the |app| -developers mailing list at `https://launchpad.net/~calibre-devs`_. Before making major changes, you should +developers mailing list `calibre-devs `_. Before making major changes, you should discuss them on the mailing list to ensure that the changes will be accepted once you're done. @@ -134,7 +133,7 @@ calibre is the directory that contains the src and resources sub directories. Th This assumes that you have installed the |app| command line tools. This can be done via Preferences->Advanced in the |app| GUI. The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path to the src directory. So, following the example above, it would be ``/Users/kovid/work/calibre/src``. Apple -`documentation http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html#//apple_ref/doc/uid/20002093-BCIJIJBH`_ +`documentation `_ on how to set environment variables. Once you have set the environment variable, open a new Terminal and check that it was correctly set by using From ef06fbee81e520f636082d4e7ccc39f8af26e073 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Sep 2009 10:20:36 -0600 Subject: [PATCH 14/42] Fix #3523 (Please re-add ./setup.py install --root option) and clean up install/post-install code. Post install now no longer runs in a separate process. --- setup.py | 11 +- setup/__init__.py | 11 +- setup/check.py | 2 + setup/extensions.py | 2 + setup/install.py | 200 ++++---- setup/installer/linux/__init__.py | 6 + setup/installer/osx/__init__.py | 4 + setup/installer/osx/freeze.py | 2 + setup/installer/windows/__init__.py | 4 + setup/installer/windows/freeze.py | 2 + setup/resources.py | 2 + setup/translations.py | 1 + setup/upload.py | 2 + src/calibre/debug.py | 4 +- src/calibre/devices/linux_mount_helper.c | 12 +- src/calibre/linux.py | 603 +++++++++++++---------- 16 files changed, 501 insertions(+), 367 deletions(-) diff --git a/setup.py b/setup.py index b0acff3963..d8bd0267ee 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,14 @@ def clean_backups(): def main(args=sys.argv): if len(args) == 1 or args[1] in ('-h', '--help'): print 'Usage: python', args[0], 'command', '[options]' - print '\nWhere command is one of:', ', '.join(commands.__all__) + print '\nWhere command is one of:' + print + for x in sorted(commands.__all__): + print '%-20s -'%x, + c = getattr(commands, x) + desc = getattr(c, 'short_description', c.description) + print desc + print '\nTo get help on a particular command, run:' print '\tpython', args[0], 'command -h' return 1 @@ -83,7 +90,7 @@ def main(args=sys.argv): prints('There were', len(warnings), 'warning(s):') print for args, kwargs in warnings: - prints(*args, **kwargs) + prints('*', *args, **kwargs) print return 0 diff --git a/setup/__init__.py b/setup/__init__.py index 714a3bcb85..d947042fc4 100644 --- a/setup/__init__.py +++ b/setup/__init__.py @@ -111,6 +111,7 @@ class Command(object): self.b = os.path.basename self.s = os.path.splitext self.e = os.path.exists + self.orig_euid = os.geteuid() self.real_uid = os.environ.get('SUDO_UID', None) self.real_gid = os.environ.get('SUDO_GID', None) self.real_user = os.environ.get('SUDO_USER', None) @@ -121,19 +122,19 @@ class Command(object): if self.real_user is not None: self.info('Dropping privileges to those of', self.real_user+':', self.real_uid) + if self.real_gid is not None: + os.setegid(int(self.real_gid)) if self.real_uid is not None: os.seteuid(int(self.real_uid)) - #if self.real_gid is not None: - # os.setegid(int(self.real_gid)) def regain_privileges(self): if not islinux or isosx: return - if os.geteuid() != 0: + if os.geteuid() != 0 and self.orig_euid == 0: self.info('Trying to get root privileges') os.seteuid(0) - #if os.getegid() != 0: - # os.setegid(0) + if os.getegid() != 0: + os.setegid(0) def pre_sub_commands(self, opts): pass diff --git a/setup/check.py b/setup/check.py index 75a6d82530..14992b1628 100644 --- a/setup/check.py +++ b/setup/check.py @@ -37,6 +37,8 @@ def check_for_python_errors(filename, builtins): class Check(Command): + description = 'Check for errors in the calibre source code' + BUILTINS = ['_', '__', 'dynamic_property', 'I', 'P'] CACHE = '.check-cache.pickle' diff --git a/setup/extensions.py b/setup/extensions.py index 6e993e84a0..7228cf3d03 100644 --- a/setup/extensions.py +++ b/setup/extensions.py @@ -175,6 +175,8 @@ if iswindows: class Build(Command): + short_description = 'Build calibre C/C++ extension modules' + description = textwrap.dedent('''\ calibre depends on several python extensions written in C/C++. This command will compile them. You can influence the compile diff --git a/setup/install.py b/setup/install.py index 62ad9bd7b5..abd008df68 100644 --- a/setup/install.py +++ b/setup/install.py @@ -6,7 +6,7 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import sys, os, textwrap, subprocess, shutil, tempfile, atexit +import sys, os, textwrap, subprocess, shutil, tempfile, atexit, stat from setup import Command, islinux, basenames, modules, functions, \ __appname__, __version__ @@ -19,28 +19,26 @@ This is the standard runscript for all of calibre's tools. Do not modify it unless you know what you are doing. """ -import sys +import sys, os + +path = os.environ.get('CALIBRE_PYTHON_PATH', {path!r}) +sys.path.insert(0, path) + +sys.resources_location = os.environ.get('CALIBRE_RESOURCES_PATH', {resources!r}) +sys.extensions_location = os.environ.get('CALIBRE_EXTENSIONS_PATH', {extensions!r}) + ''' TEMPLATE = HEADER+''' -sys.path.insert(0, {path!r}) - -sys.resources_location = {resources!r} -sys.extensions_location = {extensions!r} - from {module} import {func!s} sys.exit({func!s}()) ''' COMPLETE_TEMPLATE = HEADER+''' -import os -sys.path.insert(0, {path!r}) -sys.path.insert(0, os.path.join({path!r}, 'calibre', 'utils')) +sys.path.insert(0, os.path.join(path, 'calibre', 'utils')) import complete sys.path = sys.path[1:] -sys.resources_location = {resources!r} -sys.extensions_location = {extensions!r} sys.exit(complete.main()) ''' @@ -53,93 +51,123 @@ class Develop(Command): the prefix of your python installation. This can be controlled via the --prefix option. ''') + short_description = 'Setup a development environment for calibre' MODE = 0755 sub_commands = ['build', 'resources', 'gui'] + def add_postinstall_options(self, parser): + parser.add_option('--make-errors-fatal', action='store_true', default=False, + dest='fatal_errors', help='If set die on post install errors.') + parser.add_option('--no-postinstall', action='store_false', + dest='postinstall', default=True, + help='Don\'t run post install actions like creating MAN pages, setting'+ + ' up desktop integration and so on') + + def add_options(self, parser): parser.add_option('--prefix', help='Binaries will be installed in /bin') - self.root = '' + self.add_postinstall_options(parser) + + def consolidate_paths(self): + opts = self.opts + if not opts.prefix: + opts.prefix = sys.prefix + self.libdir = getattr(opts, 'libdir', None) + if self.libdir is None: + self.libdir = self.j(opts.prefix, 'lib') + self.bindir = getattr(opts, 'bindir', None) + if self.bindir is None: + self.bindir = self.j(opts.prefix, 'bin') + self.sharedir = getattr(opts, 'sharedir', None) + if self.sharedir is None: + self.sharedir = self.j(opts.prefix, 'share') + if not getattr(opts, 'staging_root', None): + opts.staging_root = opts.prefix + self.staging_libdir = getattr(opts, 'staging_libdir', None) + if self.staging_libdir is None: + self.staging_libdir = opts.staging_libdir = self.j(opts.staging_root, 'lib') + self.staging_bindir = getattr(opts, 'staging_bindir', None) + if self.staging_bindir is None: + self.staging_bindir = opts.staging_bindir = self.j(opts.staging_root, 'bin') + self.staging_sharedir = getattr(opts, 'staging_sharedir', None) + if self.staging_sharedir is None: + self.staging_sharedir = opts.staging_sharedir = self.j(opts.staging_root, 'share') + + if self.__class__.__name__ == 'Develop': + self.libdir = self.SRC + self.sharedir = self.RESOURCES def pre_sub_commands(self, opts): if not islinux: - self.info('\nSetting up a development environment is only ' - 'supported on linux. On other platforms, install the calibre ' - 'binary and use the calibre-debug command.') + self.info('\nSetting up a source based development environment is only ' + 'supported on linux. On other platforms, see the User Manual' + ' for help with setting up a development environment.') raise SystemExit(1) - if not os.geteuid() == 0: - self.info('\nError: This command must be run as root.') - raise SystemExit(1) - self.drop_privileges() + if os.geteuid() == 0: + self.drop_privileges() + # Ensure any calibre config files are created as correct user + import calibre.utils.config as c + c def run(self, opts): + self.opts = opts self.regain_privileges() - self.find_locations(opts) - self.write_templates(opts) + self.consolidate_paths() + self.write_templates() self.setup_mount_helper() - self.install_files(opts) + self.install_files() self.run_postinstall() self.success() def setup_mount_helper(self): def warn(): self.warn('Failed to compile mount helper. Auto mounting of', - 'devices will not work') + ' devices will not work') if os.geteuid() != 0: - return warn() - import stat + return self.warn('Must be run as root to compile mount helper. Auto ' + 'mounting of devices will not work.') src = os.path.join(self.SRC, 'calibre', 'devices', 'linux_mount_helper.c') - dest = self.root + os.path.join(self.bindir, 'calibre-mount-helper') + dest = os.path.join(self.staging_bindir, 'calibre-mount-helper') self.info('Installing mount helper to '+ dest) - p = subprocess.Popen(['gcc', '-Wall', src, '-o', dest]) + p = subprocess.Popen(['gcc', '-Wall', '-pedantic', src, '-o', dest]) ret = p.wait() if ret != 0: return warn() os.chown(dest, 0, 0) - os.chmod(dest, - stat.S_ISUID|stat.S_ISGID|stat.S_IRUSR|stat.S_IWUSR|stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH) + os.chmod(dest, stat.S_ISUID|stat.S_ISGID|stat.S_IRUSR|stat.S_IWUSR|\ + stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH) return dest - def install_files(self, opts): + def install_files(self): pass def run_postinstall(self): - env = dict(**os.environ) - env['DESTDIR'] = self.prefix - subprocess.check_call(['calibre_postinstall', '--use-destdir'], env=env) + if self.opts.postinstall: + from calibre.linux import PostInstall + PostInstall(self.opts, info=self.info, warn=self.warn) def success(self): self.info('\nDevelopment environment successfully setup') - def find_locations(self, opts): - self.prefix = opts.prefix - if self.prefix is None: - self.prefix = sys.prefix - self.path = self.SRC - self.resources = self.j(self.d(self.SRC), 'resources') - self.extensions = self.j(self.SRC, 'calibre', 'plugins') - self.bindir = self.j(self.prefix, 'bin') - - def write_templates(self, opts): + def write_templates(self): for typ in ('console', 'gui'): for name, mod, func in zip(basenames[typ], modules[typ], functions[typ]): - self.write_template(opts, name, mod, func) - if islinux: - self.write_template(opts, 'calibre_postinstall', 'calibre.linux', 'main') + self.write_template(name, mod, func) - def write_template(self, opts, name, mod, func): + def write_template(self, name, mod, func): template = COMPLETE_TEMPLATE if name == 'calibre-complete' else TEMPLATE script = template.format( module=mod, func=func, - path=self.path, resources=self.resources, - extensions=self.extensions) - path = self.root + self.j(self.bindir, name) - if not os.path.exists(self.bindir): - os.makedirs(self.bindir) + path=self.libdir, resources=self.sharedir, + extensions=self.j(self.libdir, 'calibre', 'plugins')) + path = self.j(self.staging_bindir, name) + if not os.path.exists(self.staging_bindir): + os.makedirs(self.staging_bindir) self.info('Installing binary:', path) open(path, 'wb').write(script) os.chmod(path, self.MODE) @@ -154,49 +182,45 @@ class Install(Develop): The default is the prefix of your python installation. ''') + short_description = 'Install calibre from source' sub_commands = ['build', 'gui'] def add_options(self, parser): - parser.add_option('--prefix', help='Installation prefix') - parser.add_option('--libdir', help='Where to put calibre library files') - parser.add_option('--bindir', help='Where to install calibre binaries') - parser.add_option('--sharedir', help='Where to install calibre data files') - parser.add_option('--root', default='', - help='Use a different installation root (mainly for packaging)') - self.root = '' + parser.add_option('--prefix', help='Installation prefix.') + parser.add_option('--libdir', + help='Where to put calibre library files. Default is /lib') + parser.add_option('--bindir', + help='Where to put the calibre binaries. Default is /bin') + parser.add_option('--sharedir', + help='Where to put the calibre data files. Default is /share') + parser.add_option('--staging-root', '--root', default=None, + help=('Use a different installation root (mainly for packaging).' + ' The prefix option controls the paths written into ' + 'the launcher scripts. This option controls the prefix ' + 'to which the install will actually copy files. By default ' + 'it is set to the value of --prefix.')) + parser.add_option('--staging-libdir', + help='Where to put calibre library files. Default is /lib') + parser.add_option('--staging-bindir', + help='Where to put the calibre binaries. Default is /bin') + parser.add_option('--staging-sharedir', + help='Where to put the calibre data files. Default is /share') + self.add_postinstall_options(parser) - def find_locations(self, opts): - if opts.prefix is None: - opts.prefix = sys.prefix - if opts.libdir is None: - opts.libdir = self.j(opts.prefix, 'lib', 'calibre') - if opts.bindir is None: - opts.bindir = self.j(opts.prefix, 'bin') - if opts.sharedir is None: - opts.sharedir = self.j(opts.prefix, 'share', 'calibre') - self.prefix = opts.prefix - self.bindir = opts.bindir - self.path = opts.libdir - self.resources = opts.sharedir - self.extensions = self.j(self.path, 'calibre', 'plugins') - self.root = opts.root - - def install_files(self, opts): - dest = self.root + self.path + def install_files(self): + dest = self.staging_libdir if os.path.exists(dest): shutil.rmtree(dest) - shutil.copytree(self.SRC, dest) - for x in ('calibre/manual', 'calibre/trac', - 'calibre/ebooks/lrf/html/demo'): - x = self.j(dest, x) - if os.path.exists(dest): - shutil.rmtree(x) - for x in os.walk(dest): + for x in os.walk(self.SRC): + reldir = os.path.relpath(x[0], self.SRC) + destdir = os.path.join(dest, reldir) for f in x[-1]: - if os.path.splitext(f)[1] in ('.c', '.cpp', '.h'): - os.remove(self.j(x[0], f)) - dest = self.root + self.resources + if os.path.splitext(f)[1] in ('.py', '.so'): + if not os.path.exists(destdir): + os.makedirs(destdir) + shutil.copy2(self.j(x[0], f), destdir) + dest = self.staging_sharedir if os.path.exists(dest): shutil.rmtree(dest) shutil.copytree(self.RESOURCES, dest) diff --git a/setup/installer/linux/__init__.py b/setup/installer/linux/__init__.py index f3819af913..46014dfac6 100644 --- a/setup/installer/linux/__init__.py +++ b/setup/installer/linux/__init__.py @@ -13,6 +13,8 @@ from setup import Command, installer_name class Linux32(VMInstaller): + description = 'Build 32bit linux binary installer' + INSTALLER_EXT = 'tar.bz2' VM_NAME = 'gentoo32_build' VM = '/vmware/bin/gentoo32_build' @@ -21,6 +23,8 @@ class Linux32(VMInstaller): class Linux64(Command): + description = 'Build 64bit linux binary installer' + sub_commands = ['linux_freeze'] def run(self, opts): @@ -31,4 +35,6 @@ class Linux64(Command): class Linux(Command): + description = 'Build linux binary installers' + sub_commands = ['linux64', 'linux32'] diff --git a/setup/installer/osx/__init__.py b/setup/installer/osx/__init__.py index 5089859978..e5e689244a 100644 --- a/setup/installer/osx/__init__.py +++ b/setup/installer/osx/__init__.py @@ -12,6 +12,8 @@ from setup.installer import VMInstaller class OSX(Command): + description = 'Build OS X binary installers' + sub_commands = ['osx32'] def run(self, opts): @@ -20,6 +22,8 @@ class OSX(Command): class OSX32(VMInstaller): + description = 'Build 32 bit OS X binary installer' + INSTALLER_EXT = 'dmg' VM_NAME = 'tiger_build' VM = '/vmware/bin/%s'%VM_NAME diff --git a/setup/installer/osx/freeze.py b/setup/installer/osx/freeze.py index 8358a61a81..8164cd22f8 100644 --- a/setup/installer/osx/freeze.py +++ b/setup/installer/osx/freeze.py @@ -21,6 +21,8 @@ info = warn = None class OSX32_Freeze(Command): + description = 'Freeze OSX calibre installation' + def run(self, opts): global info, warn info, warn = self.info, self.warn diff --git a/setup/installer/windows/__init__.py b/setup/installer/windows/__init__.py index 31973194d1..17667368c7 100644 --- a/setup/installer/windows/__init__.py +++ b/setup/installer/windows/__init__.py @@ -14,6 +14,8 @@ from setup.installer.windows import build_installer class Win(Command): + description = 'Build windows binary installers' + sub_commands = ['win32'] def run(self, opts): @@ -22,6 +24,8 @@ class Win(Command): class Win32(VMInstaller): + description = 'Build 32bit windows binary installer' + INSTALLER_EXT = 'exe' VM_NAME = 'xp_build' VM = '/vmware/bin/%s'%VM_NAME diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 286f7092b3..03b0d09096 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -52,6 +52,8 @@ info = warn = None class Win32Freeze(Command): + description = 'Freeze windows calibre installation' + def run(self, opts): global info, warn info, warn = self.info, self.warn diff --git a/setup/resources.py b/setup/resources.py index 39416d88c6..253876989e 100644 --- a/setup/resources.py +++ b/setup/resources.py @@ -24,6 +24,8 @@ def get_opts_from_parser(parser): class Resources(Command): + description = 'Compile various needed calibre resources' + def get_recipes(self): sdir = os.path.join('src', 'calibre', 'web', 'feeds', 'recipes') resources= {} diff --git a/setup/translations.py b/setup/translations.py index 5ba84c4a5e..658ad0f4f5 100644 --- a/setup/translations.py +++ b/setup/translations.py @@ -196,6 +196,7 @@ class GetTranslations(Translations): class ISO639(Command): + description = 'Compile translations for ISO 639 codes' XML = '/usr/lib/python2.6/site-packages/pycountry/databases/iso639.xml' def run(self, opts): diff --git a/setup/upload.py b/setup/upload.py index 6580544ad6..b99e80ca18 100644 --- a/setup/upload.py +++ b/setup/upload.py @@ -127,6 +127,8 @@ class UploadDemo(Command): class UploadToServer(Command): + description = 'Upload miscellaneous data to calibre server' + def run(self, opts): check_call('ssh divok rm -f %s/calibre-\*.tar.gz'%DOWNLOADS, shell=True) check_call('scp dist/calibre-*.tar.gz divok:%s/'%DOWNLOADS, shell=True) diff --git a/src/calibre/debug.py b/src/calibre/debug.py index d695891ae9..575308fe14 100644 --- a/src/calibre/debug.py +++ b/src/calibre/debug.py @@ -179,8 +179,8 @@ def main(args=sys.argv): elif opts.add_simple_plugin is not None: add_simple_plugin(opts.add_simple_plugin) elif opts.paths: - prints('CALIBRE_RESOURCES_LOCATION='+sys.resources_location) - prints('CALIBRE_EXTENSIONS_LOCATION='+sys.extensions_location) + prints('CALIBRE_RESOURCES_PATH='+sys.resources_location) + prints('CALIBRE_EXTENSIONS_PATH='+sys.extensions_location) prints('CALIBRE_PYTHON_PATH='+os.pathsep.join(sys.path)) elif opts.pdfreflow: from calibre.ebooks.pdf.reflow import option_parser as px, run diff --git a/src/calibre/devices/linux_mount_helper.c b/src/calibre/devices/linux_mount_helper.c index 41dab3fada..23bab36389 100644 --- a/src/calibre/devices/linux_mount_helper.c +++ b/src/calibre/devices/linux_mount_helper.c @@ -27,6 +27,7 @@ int get_root() { int do_mount(char *dev, char *mp) { char options[1000]; char marker[2000]; + int errsv; if (exists(dev) == 0) { fprintf(stderr, "Specified device node does not exist\n"); return EXIT_FAILURE; @@ -55,19 +56,19 @@ int do_mount(char *dev, char *mp) { return EXIT_FAILURE; } execlp("mount", "mount", "-t", "vfat", "-o", options, dev, mp, NULL); - int errsv = errno; + errsv = errno; fprintf(stderr, "Failed to mount with error: %s\n", strerror(errsv)); return EXIT_FAILURE; } int do_eject(char *dev, char*mp) { char marker[2000]; - int status = EXIT_FAILURE, ret; + int status = EXIT_FAILURE, ret, pid, errsv, i, rmd; if (get_root() != 0) { fprintf(stderr, "Failed to elevate to root privileges\n"); return EXIT_FAILURE; } - int pid = fork(); + pid = fork(); if (pid == -1) { fprintf(stderr, "Failed to fork\n"); return EXIT_FAILURE; @@ -78,11 +79,10 @@ int do_eject(char *dev, char*mp) { return EXIT_FAILURE; } execlp("eject", "eject", "-s", dev, NULL); - int errsv = errno; + errsv = errno; fprintf(stderr, "Failed to eject with error: %s\n", strerror(errsv)); return EXIT_FAILURE; } else { - int i; for (i =0; i < 7; i++) { sleep(1); ret = waitpid(pid, &status, WNOHANG); @@ -99,7 +99,7 @@ int do_eject(char *dev, char*mp) { fprintf(stderr, "Failed to unlink marker: %s\n", strerror(errno)); return EXIT_FAILURE; } - int rmd = rmdir(mp); + rmd = rmdir(mp); if (rmd == -1) { fprintf(stderr, "Failed to remove mount point: %s\n", strerror(errno)); return EXIT_FAILURE; diff --git a/src/calibre/linux.py b/src/calibre/linux.py index fd2903c94b..4a63b54a68 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -1,17 +1,13 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' + ''' Post installation script for linux ''' -import sys, os, shutil + +import sys, os, shutil, cPickle, textwrap from subprocess import check_call -from calibre import __version__, __appname__ -from calibre.customize.ui import device_plugins +from calibre import __version__, __appname__, prints -DEVICES = device_plugins() - -DESTDIR = '' -if os.environ.has_key('DESTDIR'): - DESTDIR = os.environ['DESTDIR'] entry_points = { 'console_scripts': [ \ @@ -40,6 +36,335 @@ entry_points = { ], } +UNINSTALL = '''\ +#!{python} +euid = {euid} + +import os + +if os.geteuid() != euid: + print 'WARNING: uninstaller must be run as', euid, 'to remove all files' + +for x in {manifest!r}: + if not os.path.exists(x): continue + try: + if os.path.isdir(x): + shutil.rmtree(x) + else: + os.unlink(x) + except Exception, e: + print 'Failed to delete', x + print '\t', e +''' + +class PostInstall: + + def task_failed(self, msg): + self.warn(msg, 'with error:') + import traceback + tb = '\n\t'.join(traceback.format_exc().splitlines()) + self.info('\t'+tb) + print + + def warning(self, *args, **kwargs): + print '\n'+'_'*20, 'WARNING','_'*20 + prints(*args, **kwargs) + print '_'*50 + self.warnings.append((args, kwargs)) + sys.stdout.flush() + + + def __init__(self, opts, info=prints, warn=None, manifest=None): + self.opts = opts + self.info = info + self.warn = warn + self.warnings = [] + if self.warn is None: + self.warn = self.warning + + if not self.opts.staging_bindir: + self.opts.staging_bindir = os.path.join(self.opts.staging_root, + 'bin') + if not self.opts.staging_sharedir: + self.opts.staging_sharedir = os.path.join(self.opts.staging_root, + 'etc') + self.opts.staging_etc = '/etc' if self.opts.staging_root == '/usr' else \ + os.path.join(self.opts.staging_root, 'etc') + + scripts = cPickle.loads(P('scripts.pickle', data=True)) + if getattr(sys, 'frozen_path', False): + self.info('Creating symlinks...') + for exe in scripts.keys(): + dest = os.path.join(self.opts.staging_bindir, exe) + if os.path.exists(dest): + os.unlink(dest) + tgt = os.path.join(getattr(sys, 'frozen_path'), exe) + self.info('\tSymlinking %s to %s'%(tgt, dest)) + os.symlink(tgt, dest) + + if manifest is None: + manifest = [os.path.abspath(os.path.join(opts.staging_bindir, x)) for x in + scripts.keys()] + self.manifest = manifest + self.icon_resources = [] + self.menu_resources = [] + self.mime_resources = [] + self.setup_completion() + self.setup_udev_rules() + self.install_man_pages() + self.setup_desktop_integration() + + from calibre.utils.config import config_dir + if os.path.exists(config_dir): + os.chdir(config_dir) + for f in os.listdir('.'): + if os.stat(f).st_uid == 0: + os.rmdir(f) if os.path.isdir(f) else os.unlink(f) + if os.stat(config_dir).st_uid == 0: + os.rmdir(config_dir) + + if warn is None and self.warnings: + self.info('There were %d warnings'%len(self.warnings)) + for args, kwargs in self.warnings: + self.info('*', *args, **kwargs) + print + + + def setup_completion(self): + try: + self.info('Setting up bash completion...') + from calibre.ebooks.metadata.cli import option_parser as metaop, filetypes as meta_filetypes + from calibre.ebooks.lrf.lrfparser import option_parser as lrf2lrsop + from calibre.gui2.lrf_renderer.main import option_parser as lrfviewerop + from calibre.web.fetch.simple import option_parser as web2disk + from calibre.web.feeds.recipes import titles as feed_titles + from calibre.ebooks.metadata.fetch import option_parser as fem_op + from calibre.gui2.main import option_parser as guiop + from calibre.utils.smtp import option_parser as smtp_op + any_formats = ['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip', + 'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2', 'odt'] + if os.path.exists(os.path.join(self.opts.staging_sharedir, + 'bash-completion')): + f = os.path.join(self.opts.staging_sharedir, + 'bash-completion', 'calibre') + else: + f = os.path.join(self.opts.staging_etc, + 'bash_completion.d/calibre') + if not os.path.exists(os.path.dirname(f)): + os.makedirs(os.path.dirname(f)) + self.manifest.append(f) + with open(f, 'wb') as f: + f.write('# calibre Bash Shell Completion\n') + f.write(opts_and_exts('calibre', guiop, any_formats)) + f.write(opts_and_exts('lrf2lrs', lrf2lrsop, ['lrf'])) + f.write(opts_and_exts('ebook-meta', metaop, list(meta_filetypes()))) + f.write(opts_and_exts('lrfviewer', lrfviewerop, ['lrf'])) + f.write(opts_and_words('web2disk', web2disk, feed_titles)) + f.write(opts_and_words('fetch-ebook-metadata', fem_op, [])) + f.write(opts_and_words('calibre-smtp', smtp_op, [])) + f.write(textwrap.dedent(''' + _ebook_device_ls() + { + local pattern search listing prefix + pattern="$1" + search="$1" + if [[ -n "{$pattern}" ]]; then + if [[ "${pattern:(-1)}" == "/" ]]; then + pattern="" + else + pattern="$(basename ${pattern} 2> /dev/null)" + search="$(dirname ${search} 2> /dev/null)" + fi + fi + + if [[ "x${search}" == "x" || "x${search}" == "x." ]]; then + search="/" + fi + + listing="$(ebook-device ls ${search} 2>/dev/null)" + + prefix="${search}" + if [[ "x${prefix:(-1)}" != "x/" ]]; then + prefix="${prefix}/" + fi + + echo $(compgen -P "${prefix}" -W "${listing}" "${pattern}") + } + + _ebook_device() + { + local cur prev + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + COMPREPLY=() + case "${prev}" in + ls|rm|mkdir|touch|cat ) + COMPREPLY=( $(_ebook_device_ls "${cur}") ) + return 0 + ;; + cp ) + if [[ ${cur} == prs500:* ]]; then + COMPREPLY=( $(_ebook_device_ls "${cur:7}") ) + return 0 + else + _filedir + return 0 + fi + ;; + prs500 ) + COMPREPLY=( $(compgen -W "cp ls rm mkdir touch cat info books df" "${cur}") ) + return 0 + ;; + * ) + if [[ ${cur} == prs500:* ]]; then + COMPREPLY=( $(_ebook_device_ls "${cur:7}") ) + return 0 + else + if [[ ${prev} == prs500:* ]]; then + _filedir + return 0 + else + COMPREPLY=( $(compgen -W "prs500:" "${cur}") ) + return 0 + fi + return 0 + fi + ;; + esac + } + complete -o nospace -F _ebook_device ebook-device + + complete -o nospace -C calibre-complete ebook-convert + ''')) + except TypeError, err: + if 'resolve_entities' in str(err): + print 'You need python-lxml >= 2.0.5 for calibre' + sys.exit(1) + raise + except: + if self.opts.fatal_errors: + raise + self.task_failed('Setting up completion failed') + + def setup_udev_rules(self): + self.info('Trying to setup udev rules...') + try: + group_file = os.path.join(self.opts.staging_etc, 'group') + groups = open(group_file, 'rb').read() + group = 'plugdev' if 'plugdev' in groups else 'usb' + old_udev = '/etc/udev/rules.d/95-calibre.rules' + if os.path.exists(old_udev): + os.remove(old_udev) + if self.opts.staging_root == '/usr': + base = '/lib' + else: + base = os.path.join(self.opts.staging_root, 'lib') + base = os.path.join(base, 'udev', 'rules.d') + if not os.path.exists(base): + os.makedirs(base) + with open(os.path.join(base, '95-calibre.rules'), 'wb') as udev: + self.manifest.append(udev.name) + udev.write('''# Sony Reader PRS-500\n''' + '''BUS=="usb", SYSFS{idProduct}=="029b", SYSFS{idVendor}=="054c", MODE="660", GROUP="%s"\n'''%(group,) + ) + except: + if self.opts.fatal_errors: + raise + self.task_failed('Setting up udev rules failed') + + def install_man_pages(self): + try: + from calibre.utils.help2man import create_man_page + manpath = os.path.join(self.opts.staging_sharedir, 'man/man1') + if not os.path.exists(manpath): + os.makedirs(manpath) + self.info('Installing MAN pages...') + for src in entry_points['console_scripts']: + prog, right = src.split('=') + prog = prog.strip() + module = __import__(right.split(':')[0].strip(), fromlist=['a']) + parser = getattr(module, 'option_parser', None) + if parser is None: + continue + parser = parser() + raw = create_man_page(prog, parser) + manfile = os.path.join(manpath, prog+'.1'+__appname__+'.bz2') + self.info('\tInstalling MAN page for', prog) + open(manfile, 'wb').write(raw) + self.manifest.append(manfile) + except: + if self.opts.fatal_errors: + raise + self.task_failed('Installing MAN pages failed') + + def setup_desktop_integration(self): + try: + from PyQt4.QtCore import QFile + from tempfile import mkdtemp + + self.info('Setting up desktop integration...') + + + tdir = mkdtemp() + cwd = os.getcwdu() + try: + os.chdir(tdir) + render_svg(QFile(I('mimetypes/lrf.svg')), os.path.join(tdir, 'calibre-lrf.png')) + check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True) + self.icon_resources.append(('mimetypes', 'application-lrf')) + check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True) + self.icon_resources.append(('mimetypes', 'application-lrs')) + QFile(I('library.png')).copy(os.path.join(tdir, 'calibre-gui.png')) + check_call('xdg-icon-resource install --noupdate --size 128 calibre-gui.png calibre-gui', shell=True) + self.icon_resources.append(('apps', 'calibre-gui')) + render_svg(QFile(I('viewer.svg')), os.path.join(tdir, 'calibre-viewer.png')) + check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True) + self.icon_resources.append(('apps', 'calibre-viewer')) + + f = open('calibre-lrfviewer.desktop', 'wb') + f.write(VIEWER) + f.close() + f = open('calibre-ebook-viewer.desktop', 'wb') + f.write(EVIEWER) + f.close() + f = open('calibre-gui.desktop', 'wb') + f.write(GUI) + f.close() + des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop', + 'calibre-ebook-viewer.desktop') + for x in des: + cmd = ['xdg-desktop-menu', 'install', './'+x] + if x != des[-1]: + cmd.insert(2, '--noupdate') + check_call(' '.join(cmd), shell=True) + self.menu_resources.append(x) + f = open('calibre-mimetypes', 'wb') + f.write(MIME) + f.close() + self.mime_resources.append('calibre-mimetypes') + check_call('xdg-mime install ./calibre-mimetypes', shell=True) + finally: + os.chdir(cwd) + shutil.rmtree(tdir) + except Exception, err: + if self.opts.fatal_errors: + raise + self.task_failed('Setting up desktop integration failed') + +def option_parser(): + from calibre.utils.config import OptionParser + parser = OptionParser() + parser.add_option('--make-errors-fatal', action='store_true', default=False, + dest='fatal_errors', help='If set die on errors.') + parser.add_option('--root', dest='staging_root', default='/usr', + help='Prefix under which to install files') + parser.add_option('--bindir', default=None, dest='staging_bindir', + help='Location where calibre launcher scripts were installed') + parser.add_option('--sharedir', default=None, dest='staging_sharedir', + help='Location where calibre resources were installed') + + return parser + def options(option_parser): parser = option_parser() @@ -121,194 +446,6 @@ def opts_and_exts(name, op, exts): } complete -o filenames -F _'''%(opts,exts) + name + ' ' + name +"\n\n" -use_destdir = False - -def open_file(path, mode='wb'): - if use_destdir: - if os.path.isabs(path): - path = path[1:] - path = os.path.join(DESTDIR, path) - if not os.path.exists(os.path.dirname(path)): - os.makedirs(os.path.dirname(path)) - return open(path, mode) - -def setup_completion(fatal_errors): - manifest = [] - try: - print 'Setting up bash completion...', - sys.stdout.flush() - from calibre.ebooks.metadata.cli import option_parser as metaop, filetypes as meta_filetypes - from calibre.ebooks.lrf.lrfparser import option_parser as lrf2lrsop - from calibre.gui2.lrf_renderer.main import option_parser as lrfviewerop - from calibre.web.fetch.simple import option_parser as web2disk - from calibre.web.feeds.recipes import titles as feed_titles - from calibre.ebooks.metadata.fetch import option_parser as fem_op - from calibre.gui2.main import option_parser as guiop - from calibre.utils.smtp import option_parser as smtp_op - any_formats = ['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip', - 'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2', 'odt'] - if os.path.exists('/usr/share/bash-completion'): - f = open_file('/usr/share/bash-completion/calibre') - else: - f = open_file('/etc/bash_completion.d/calibre') - manifest.append(f.name) - - f.write('# calibre Bash Shell Completion\n') - f.write(opts_and_exts('calibre', guiop, any_formats)) - f.write(opts_and_exts('lrf2lrs', lrf2lrsop, ['lrf'])) - f.write(opts_and_exts('ebook-meta', metaop, list(meta_filetypes()))) - f.write(opts_and_exts('lrfviewer', lrfviewerop, ['lrf'])) - f.write(opts_and_words('web2disk', web2disk, feed_titles)) - f.write(opts_and_words('fetch-ebook-metadata', fem_op, [])) - f.write(opts_and_words('calibre-smtp', smtp_op, [])) - f.write(''' -_prs500_ls() -{ - local pattern search listing prefix - pattern="$1" - search="$1" - if [[ -n "{$pattern}" ]]; then - if [[ "${pattern:(-1)}" == "/" ]]; then - pattern="" - else - pattern="$(basename ${pattern} 2> /dev/null)" - search="$(dirname ${search} 2> /dev/null)" - fi - fi - - if [[ "x${search}" == "x" || "x${search}" == "x." ]]; then - search="/" - fi - - listing="$(prs500 ls ${search} 2>/dev/null)" - - prefix="${search}" - if [[ "x${prefix:(-1)}" != "x/" ]]; then - prefix="${prefix}/" - fi - - echo $(compgen -P "${prefix}" -W "${listing}" "${pattern}") -} - -_prs500() -{ - local cur prev - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - COMPREPLY=() - case "${prev}" in - ls|rm|mkdir|touch|cat ) - COMPREPLY=( $(_prs500_ls "${cur}") ) - return 0 - ;; - cp ) - if [[ ${cur} == prs500:* ]]; then - COMPREPLY=( $(_prs500_ls "${cur:7}") ) - return 0 - else - _filedir - return 0 - fi - ;; - prs500 ) - COMPREPLY=( $(compgen -W "cp ls rm mkdir touch cat info books df" "${cur}") ) - return 0 - ;; - * ) - if [[ ${cur} == prs500:* ]]; then - COMPREPLY=( $(_prs500_ls "${cur:7}") ) - return 0 - else - if [[ ${prev} == prs500:* ]]; then - _filedir - return 0 - else - COMPREPLY=( $(compgen -W "prs500:" "${cur}") ) - return 0 - fi - return 0 - fi - ;; - esac -} -complete -o nospace -F _prs500 ebook-device - -complete -o nospace -C calibre-complete ebook-convert -''') - f.close() - print 'done' - except TypeError, err: - if 'resolve_entities' in str(err): - print 'You need python-lxml >= 2.0.5 for calibre' - sys.exit(1) - raise - except: - if fatal_errors: - raise - print 'failed' - import traceback - traceback.print_exc() - return manifest - -def setup_udev_rules(group_file, reload, fatal_errors): - print 'Trying to setup udev rules...' - manifest = [] - sys.stdout.flush() - groups = open(group_file, 'rb').read() - group = 'plugdev' if 'plugdev' in groups else 'usb' - old_udev = '/etc/udev/rules.d/95-calibre.rules' - if os.path.exists(old_udev): - os.remove(old_udev) - if os.path.exists('/lib/udev/rules.d'): - udev = open_file('/lib/udev/rules.d/95-calibre.rules') - else: - udev = open_file(old_udev) - manifest.append(udev.name) - udev.write('''# Sony Reader PRS-500\n''' - '''BUS=="usb", SYSFS{idProduct}=="029b", SYSFS{idVendor}=="054c", MODE="660", GROUP="%s"\n'''%(group,) - ) - udev.close() - return manifest - -def option_parser(): - from optparse import OptionParser - parser = OptionParser() - parser.add_option('--use-destdir', action='store_true', default=False, dest='destdir', - help='If set, respect the environment variable DESTDIR when installing files') - parser.add_option('--do-not-reload-udev-hal', action='store_true', dest='dont_reload', default=False, - help='Does nothing. Present for legacy reasons.') - parser.add_option('--group-file', default='/etc/group', dest='group_file', - help='File from which to read group information. Default: %default') - parser.add_option('--dont-check-root', action='store_true', default=False, dest='no_root', - help='If set, do not check if we are root.') - parser.add_option('--make-errors-fatal', action='store_true', default=False, - dest='fatal_errors', help='If set die on errors.') - parser.add_option('--save-manifest-to', default=None, - help='Save a manifest of all installed files to the specified location') - return parser - -def install_man_pages(fatal_errors, use_destdir=False): - from calibre.utils.help2man import create_man_page - prefix = os.environ.get('DESTDIR', '/') if use_destdir else '/' - manpath = os.path.join(prefix, 'usr/share/man/man1') - if not os.path.exists(manpath): - os.makedirs(manpath) - print 'Installing MAN pages...' - manifest = [] - for src in entry_points['console_scripts']: - prog, right = src.split('=') - prog = prog.strip() - module = __import__(right.split(':')[0].strip(), fromlist=['a']) - parser = getattr(module, 'option_parser', None) - if parser is None: - continue - parser = parser() - raw = create_man_page(prog, parser) - manfile = os.path.join(manpath, prog+'.1'+__appname__+'.bz2') - print '\tInstalling MAN page for', prog - open(manfile, 'wb').write(raw) - manifest.append(manfile) - return manifest def post_install(): parser = option_parser() @@ -317,13 +454,6 @@ def post_install(): global use_destdir use_destdir = opts.destdir manifest = [] - setup_desktop_integration(opts.fatal_errors) - if opts.no_root or os.geteuid() == 0: - manifest += install_man_pages(opts.fatal_errors, use_destdir) - manifest += setup_udev_rules(opts.group_file, not opts.dont_reload, opts.fatal_errors) - manifest += setup_completion(opts.fatal_errors) - else: - print "Skipping udev, completion, and man-page install for non-root user." try: from PyQt4 import Qt @@ -335,26 +465,9 @@ def post_install(): if opts.save_manifest_to: open(opts.save_manifest_to, 'wb').write('\n'.join(manifest)+'\n') - from calibre.utils.config import config_dir - if os.path.exists(config_dir): - os.chdir(config_dir) - for f in os.listdir('.'): - if os.stat(f).st_uid == 0: - os.rmdir(f) if os.path.isdir(f) else os.unlink(f) - if os.stat(config_dir).st_uid == 0: - os.rmdir(config_dir) def binary_install(): manifest = os.path.join(getattr(sys, 'frozen_path'), 'manifest') - exes = [x.strip() for x in open(manifest).readlines()] - print 'Creating symlinks...' - for exe in exes: - dest = os.path.join('/usr', 'bin', exe) - if os.path.exists(dest): - os.unlink(dest) - tgt = os.path.join(getattr(sys, 'frozen_path'), exe) - print '\tSymlinking %s to %s'%(tgt, dest) - os.symlink(tgt, dest) post_install() return 0 @@ -431,50 +544,12 @@ def render_svg(image, dest): painter.end() image.save(dest) -def setup_desktop_integration(fatal_errors): - try: - from PyQt4.QtCore import QFile - from tempfile import mkdtemp - - print 'Setting up desktop integration...' +def main(): + p = option_parser() + opts, args = p.parse_args() + PostInstall(opts) + return 0 - tdir = mkdtemp() - cwd = os.getcwdu() - try: - os.chdir(tdir) - render_svg(QFile(I('mimetypes/lrf.svg')), os.path.join(tdir, 'calibre-lrf.png')) - check_call('xdg-icon-resource install --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True) - check_call('xdg-icon-resource install --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True) - QFile(I('library.png')).copy(os.path.join(tdir, 'calibre-gui.png')) - check_call('xdg-icon-resource install --size 128 calibre-gui.png calibre-gui', shell=True) - render_svg(QFile(I('viewer.svg')), os.path.join(tdir, 'calibre-viewer.png')) - check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True) - - f = open('calibre-lrfviewer.desktop', 'wb') - f.write(VIEWER) - f.close() - f = open('calibre-ebook-viewer.desktop', 'wb') - f.write(EVIEWER) - f.close() - f = open('calibre-gui.desktop', 'wb') - f.write(GUI) - f.close() - check_call('xdg-desktop-menu install ./calibre-gui.desktop ./calibre-lrfviewer.desktop', shell=True) - f = open('calibre-mimetypes', 'wb') - f.write(MIME) - f.close() - check_call('xdg-mime install calibre-mimetypes', shell=True) - finally: - os.chdir(cwd) - shutil.rmtree(tdir) - except Exception, err: - if fatal_errors: - raise - print >>sys.stderr, 'Could not setup desktop integration. Error:' - print err - -main = post_install if __name__ == '__main__': - post_install() - + sys.exit(main()) From 18dc1ce656fdf881e25804bd9b8389e7c4411f09 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Sep 2009 10:42:02 -0600 Subject: [PATCH 15/42] IGN:... --- setup/install.py | 17 ++++++++++++++++- src/calibre/linux.py | 42 +++++++++--------------------------------- 2 files changed, 25 insertions(+), 34 deletions(-) diff --git a/setup/install.py b/setup/install.py index abd008df68..87010de3d9 100644 --- a/setup/install.py +++ b/setup/install.py @@ -95,9 +95,19 @@ class Develop(Command): if self.staging_sharedir is None: self.staging_sharedir = opts.staging_sharedir = self.j(opts.staging_root, 'share') + self.staging_libdir = opts.staging_libdir = self.j(self.staging_libdir, 'calibre') + self.staging_sharedir = opts.staging_sharedir = self.j(self.staging_sharedir, 'calibre') + if self.__class__.__name__ == 'Develop': self.libdir = self.SRC self.sharedir = self.RESOURCES + else: + self.libdir = self.j(self.libdir, 'calibre') + self.sharedir = self.j(self.sharedir, 'calibre') + self.info('INSTALL paths:') + self.info('\tLIB:', self.staging_libdir) + self.info('\tSHARE:', self.staging_sharedir) + def pre_sub_commands(self, opts): if not islinux: @@ -113,6 +123,7 @@ class Develop(Command): c def run(self, opts): + self.manifest = [] self.opts = opts self.regain_privileges() self.consolidate_paths() @@ -140,6 +151,7 @@ class Develop(Command): os.chown(dest, 0, 0) os.chmod(dest, stat.S_ISUID|stat.S_ISGID|stat.S_IRUSR|stat.S_IWUSR|\ stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH) + self.manifest.append(dest) return dest def install_files(self): @@ -148,7 +160,8 @@ class Develop(Command): def run_postinstall(self): if self.opts.postinstall: from calibre.linux import PostInstall - PostInstall(self.opts, info=self.info, warn=self.warn) + PostInstall(self.opts, info=self.info, warn=self.warn, + manifest=self.manifest) def success(self): self.info('\nDevelopment environment successfully setup') @@ -171,6 +184,7 @@ class Develop(Command): self.info('Installing binary:', path) open(path, 'wb').write(script) os.chmod(path, self.MODE) + self.manifest.append(path) class Install(Develop): @@ -224,6 +238,7 @@ class Install(Develop): if os.path.exists(dest): shutil.rmtree(dest) shutil.copytree(self.RESOURCES, dest) + self.manifest.extend([self.staging_libdir, self.staging_sharedir]) def success(self): self.info('\n\ncalibre successfully installed. You can start' diff --git a/src/calibre/linux.py b/src/calibre/linux.py index 4a63b54a68..e21fb3e94e 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -87,7 +87,7 @@ class PostInstall: 'bin') if not self.opts.staging_sharedir: self.opts.staging_sharedir = os.path.join(self.opts.staging_root, - 'etc') + 'share', 'calibre') self.opts.staging_etc = '/etc' if self.opts.staging_root == '/usr' else \ os.path.join(self.opts.staging_root, 'etc') @@ -143,16 +143,16 @@ class PostInstall: from calibre.utils.smtp import option_parser as smtp_op any_formats = ['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip', 'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2', 'odt'] - if os.path.exists(os.path.join(self.opts.staging_sharedir, - 'bash-completion')): - f = os.path.join(self.opts.staging_sharedir, - 'bash-completion', 'calibre') + bc = os.path.join(os.path.dirname(self.opts.staging_sharedir), + 'bash-completion') + if os.path.exists(bc): + f = os.path.join(bc, 'calibre') else: - f = os.path.join(self.opts.staging_etc, - 'bash_completion.d/calibre') + f = os.path.join(self.opts.staging_etc, 'bash_completion.d/calibre') if not os.path.exists(os.path.dirname(f)): os.makedirs(os.path.dirname(f)) self.manifest.append(f) + self.info('Installing bash completion to', f) with open(f, 'wb') as f: f.write('# calibre Bash Shell Completion\n') f.write(opts_and_exts('calibre', guiop, any_formats)) @@ -359,9 +359,9 @@ def option_parser(): parser.add_option('--root', dest='staging_root', default='/usr', help='Prefix under which to install files') parser.add_option('--bindir', default=None, dest='staging_bindir', - help='Location where calibre launcher scripts were installed') + help='Location where calibre launcher scripts were installed. Typically /usr/bin') parser.add_option('--sharedir', default=None, dest='staging_sharedir', - help='Location where calibre resources were installed') + help='Location where calibre resources were installed, typically /usr/share/calibre') return parser @@ -447,30 +447,6 @@ def opts_and_exts(name, op, exts): complete -o filenames -F _'''%(opts,exts) + name + ' ' + name +"\n\n" -def post_install(): - parser = option_parser() - opts = parser.parse_args()[0] - - global use_destdir - use_destdir = opts.destdir - manifest = [] - - try: - from PyQt4 import Qt - if Qt.PYQT_VERSION < int('0x40402', 16): - print 'WARNING: You need PyQt >= 4.4.2 for the GUI. You have', Qt.PYQT_VERSION_STR, '\nYou may experience crashes or other strange behavior.' - except ImportError: - print 'WARNING: You do not have PyQt4 installed. The GUI will not work.' - - if opts.save_manifest_to: - open(opts.save_manifest_to, 'wb').write('\n'.join(manifest)+'\n') - - -def binary_install(): - manifest = os.path.join(getattr(sys, 'frozen_path'), 'manifest') - post_install() - return 0 - VIEWER = '''\ [Desktop Entry] Version=%s From ad947b1b7b561c828cea630078a5763d1c604d49 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Sep 2009 11:25:28 -0600 Subject: [PATCH 16/42] Linux: Create calibre-uninstall command also Fix #3542 (Fix/enhance non-root develop/install) --- setup/install.py | 10 ++++++++- src/calibre/linux.py | 49 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/setup/install.py b/setup/install.py index 87010de3d9..fb17049e4c 100644 --- a/setup/install.py +++ b/setup/install.py @@ -74,6 +74,11 @@ class Develop(Command): opts = self.opts if not opts.prefix: opts.prefix = sys.prefix + for x in ('prefix', 'libdir', 'bindir', 'sharedir', 'staging_root', + 'staging_libdir', 'staging_bindir', 'staging_sharedir'): + o = getattr(opts, x, None) + if o: + setattr(opts, x, os.path.abspath(o)) self.libdir = getattr(opts, 'libdir', None) if self.libdir is None: self.libdir = self.j(opts.prefix, 'lib') @@ -226,6 +231,8 @@ class Install(Develop): dest = self.staging_libdir if os.path.exists(dest): shutil.rmtree(dest) + self.info('Installing code to', dest) + self.manifest.append(dest) for x in os.walk(self.SRC): reldir = os.path.relpath(x[0], self.SRC) destdir = os.path.join(dest, reldir) @@ -237,8 +244,9 @@ class Install(Develop): dest = self.staging_sharedir if os.path.exists(dest): shutil.rmtree(dest) + self.info('Installing resources to', dest) shutil.copytree(self.RESOURCES, dest) - self.manifest.extend([self.staging_libdir, self.staging_sharedir]) + self.manifest.append(dest) def success(self): self.info('\n\ncalibre successfully installed. You can start' diff --git a/src/calibre/linux.py b/src/calibre/linux.py index e21fb3e94e..440f6d2ff0 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -3,7 +3,7 @@ __copyright__ = '2008, Kovid Goyal ' ''' Post installation script for linux ''' -import sys, os, shutil, cPickle, textwrap +import sys, os, shutil, cPickle, textwrap, stat from subprocess import check_call from calibre import __version__, __appname__, prints @@ -40,13 +40,14 @@ UNINSTALL = '''\ #!{python} euid = {euid} -import os +import os, subprocess, shutil if os.geteuid() != euid: print 'WARNING: uninstaller must be run as', euid, 'to remove all files' for x in {manifest!r}: if not os.path.exists(x): continue + print 'Removing', x try: if os.path.isdir(x): shutil.rmtree(x) @@ -55,6 +56,24 @@ for x in {manifest!r}: except Exception, e: print 'Failed to delete', x print '\t', e + +icr = {icon_resources!r} +for context, name, size in icr: + cmd = ['xdg-icon-resource', 'uninstall', '--context', context, '--size', size, name] + if (context, name) != icr[-1]: + cmd.insert(2, '--noupdate') + ret = subprocess.call(cmd) + if ret != 0: + print 'WARNING: Failed to remove icon', name + +mr = {menu_resources!r} +for f in mr: + cmd = ['xdg-desktop-menu', 'uninstall', f] + ret = subprocess.call(cmd) + if ret != 0: + print 'WARNING: Failed to remove menu item', f + +os.remove(os.path.abspath(__file__)) ''' class PostInstall: @@ -113,6 +132,7 @@ class PostInstall: self.setup_udev_rules() self.install_man_pages() self.setup_desktop_integration() + self.create_uninstaller() from calibre.utils.config import config_dir if os.path.exists(config_dir): @@ -129,6 +149,22 @@ class PostInstall: self.info('*', *args, **kwargs) print + def create_uninstaller(self): + dest = os.path.join(self.opts.staging_bindir, 'calibre-uninstall') + raw = UNINSTALL.format(python=os.path.abspath(sys.executable), euid=os.geteuid(), + manifest=self.manifest, icon_resources=self.icon_resources, + menu_resources=self.menu_resources) + try: + with open(dest, 'wb') as f: + f.write(raw) + os.chmod(dest, stat.S_IRWXU|stat.S_IRGRP|stat.S_IROTH) + if os.geteuid() == 0: + os.chown(dest, 0, 0) + except: + if self.opts.fatal_errors: + raise + self.task_failed('Creating uninstaller failed') + def setup_completion(self): try: @@ -311,15 +347,16 @@ class PostInstall: os.chdir(tdir) render_svg(QFile(I('mimetypes/lrf.svg')), os.path.join(tdir, 'calibre-lrf.png')) check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True) - self.icon_resources.append(('mimetypes', 'application-lrf')) + self.icon_resources.append(('mimetypes', 'application-lrf', '128')) check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True) - self.icon_resources.append(('mimetypes', 'application-lrs')) + self.icon_resources.append(('mimetypes', 'application-lrs', + '128')) QFile(I('library.png')).copy(os.path.join(tdir, 'calibre-gui.png')) check_call('xdg-icon-resource install --noupdate --size 128 calibre-gui.png calibre-gui', shell=True) - self.icon_resources.append(('apps', 'calibre-gui')) + self.icon_resources.append(('apps', 'calibre-gui', '128')) render_svg(QFile(I('viewer.svg')), os.path.join(tdir, 'calibre-viewer.png')) check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True) - self.icon_resources.append(('apps', 'calibre-viewer')) + self.icon_resources.append(('apps', 'calibre-viewer', '128')) f = open('calibre-lrfviewer.desktop', 'wb') f.write(VIEWER) From 0428cf9bd6ae4665ede042ecca9b90082edd554a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Sep 2009 11:59:21 -0600 Subject: [PATCH 17/42] IGN:... --- setup/installer/linux/freeze.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/setup/installer/linux/freeze.py b/setup/installer/linux/freeze.py index 179c001f16..c9c380bec1 100644 --- a/setup/installer/linux/freeze.py +++ b/setup/installer/linux/freeze.py @@ -83,8 +83,7 @@ class LinuxFreeze(Command): self.info('Freezing calibre located at', CALIBRESRC) entry_points = entry_points['console_scripts'] + entry_points['gui_scripts'] - entry_points = ['calibre_postinstall=calibre.linux:binary_install', - 'calibre-parallel=calibre.parallel:main'] + entry_points + entry_points = ['calibre_postinstall=calibre.linux:main'] + entry_points executables = {} for ep in entry_points: executables[ep.split('=')[0].strip()] = (ep.split('=')[1].split(':')[0].strip(), @@ -253,7 +252,6 @@ class LinuxFreeze(Command): exes = list(executables.keys()) exes.remove('calibre_postinstall') - exes.remove('calibre-parallel') open(os.path.join(FREEZE_DIR, 'manifest'), 'wb').write('\n'.join(exes)) self.info('Creating archive...') From a49fe8930964c7697d4818b29a9d9fe189ac7e66 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Sep 2009 12:00:39 -0600 Subject: [PATCH 18/42] TXT Output: Table support --- src/calibre/ebooks/txt/txtml.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/calibre/ebooks/txt/txtml.py b/src/calibre/ebooks/txt/txtml.py index 63a5cdc8af..6957e53d43 100644 --- a/src/calibre/ebooks/txt/txtml.py +++ b/src/calibre/ebooks/txt/txtml.py @@ -26,12 +26,18 @@ BLOCK_TAGS = [ 'h5', 'h6', 'li', + 'tr', ] BLOCK_STYLES = [ 'block', ] +SPACE_TAGS = [ + 'span', + 'td', +] + class TXTMLizer(object): def __init__(self, log): @@ -170,6 +176,10 @@ class TXTMLizer(object): if not end.endswith(u'\n\n') and hasattr(elem, 'text') and elem.text != None and elem.text.strip() != '': text.append(u'\n\n') + if tag in SPACE_TAGS: + if not end.endswith('u ') and hasattr(elem, 'text') and elem.text != None and elem.text.strip() != '': + text.append(u' ') + # Process tags that contain text. if hasattr(elem, 'text') and elem.text != None and elem.text.strip() != '': text.append(elem.text) From e114530a290bb31a74fa6960c7120b6799b74a44 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Sep 2009 12:01:36 -0600 Subject: [PATCH 19/42] Fix #3567 (Entire text of books imported into Title & Author fields) --- src/calibre/ebooks/metadata/txt.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/calibre/ebooks/metadata/txt.py b/src/calibre/ebooks/metadata/txt.py index 8dbc0c1453..79713774e3 100644 --- a/src/calibre/ebooks/metadata/txt.py +++ b/src/calibre/ebooks/metadata/txt.py @@ -22,6 +22,8 @@ def get_metadata(stream, extract_cover=True): else: mdata += line + mdata = mdata[:100] + mo = re.search('(?u)^[ ]*(?P.+)[ ]*(\n{3}|(\r\n){3}|\r{3})[ ]*(?P<author>.+)[ ]*(\n|\r\n|\r)$', mdata) if mo != None: mi.title = mo.group('title') From 22594dd2d0c24a6f0e914539e95969a2b6d85005 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 12:04:09 -0600 Subject: [PATCH 20/42] Implement #3602 (Updated recipes) --- src/calibre/web/feeds/recipes/recipe_danas.py | 10 +++-- src/calibre/web/feeds/recipes/recipe_nin.py | 40 ++++++++++++++----- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/calibre/web/feeds/recipes/recipe_danas.py b/src/calibre/web/feeds/recipes/recipe_danas.py index 0eb2ee868b..4de308a57d 100644 --- a/src/calibre/web/feeds/recipes/recipe_danas.py +++ b/src/calibre/web/feeds/recipes/recipe_danas.py @@ -19,8 +19,7 @@ class Danas(BasicNewsRecipe): max_articles_per_feed = 100 no_stylesheets = False use_embedded_content = False - language = 'sr' - + language = 'sr' lang = 'sr-Latn-RS' direction = 'ltr' extra_css = '@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} body{font-family: serif1, serif} .article_description{font-family: sans1, sans-serif}' @@ -29,7 +28,7 @@ class Danas(BasicNewsRecipe): 'comment' : description , 'tags' : category , 'publisher' : publisher - , 'language' : lang + , 'language' : language , 'pretty_print' : True } @@ -43,7 +42,10 @@ class Danas(BasicNewsRecipe): ,dict(name=['object','link']) ] - feeds = [ (u'Vesti', u'http://www.danas.rs/rss/rss.asp')] + feeds = [ + (u'Vesti' , u'http://www.danas.rs/rss/rss.asp' ) + ,(u'Periskop', u'http://www.danas.rs/rss/rss.asp?column_id=4') + ] def preprocess_html(self, soup): mlang = Tag(soup,'meta',[("http-equiv","Content-Language"),("content",self.lang)]) diff --git a/src/calibre/web/feeds/recipes/recipe_nin.py b/src/calibre/web/feeds/recipes/recipe_nin.py index 0dff2f5b8a..535652b6a0 100644 --- a/src/calibre/web/feeds/recipes/recipe_nin.py +++ b/src/calibre/web/feeds/recipes/recipe_nin.py @@ -7,6 +7,7 @@ nin.co.rs ''' import re, urllib +from calibre import strftime from calibre.web.feeds.news import BasicNewsRecipe from calibre.ebooks.BeautifulSoup import Tag @@ -25,10 +26,8 @@ class Nin(BasicNewsRecipe): PREFIX = 'http://www.nin.co.rs' INDEX = PREFIX + '/?change_lang=ls' LOGIN = PREFIX + '/?logout=true' - FEED = PREFIX + '/misc/rss.php?feed=RSS2.0' use_embedded_content = False - language = 'sr' - + language = 'sr' lang = 'sr-Latn-RS' direction = 'ltr' extra_css = '@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} body{font-family: serif1, serif} .article_description{font-family: sans1, sans-serif} .artTitle{font-size: x-large; font-weight: bold} .columnhead{font-size: small; font-weight: bold}' @@ -37,7 +36,7 @@ class Nin(BasicNewsRecipe): 'comment' : description , 'tags' : category , 'publisher' : publisher - , 'language' : lang + , 'language' : language , 'pretty_print' : True } @@ -57,12 +56,11 @@ class Nin(BasicNewsRecipe): keep_only_tags =[dict(name='td', attrs={'width':'520'})] remove_tags_after =dict(name='html') - feeds =[(u'NIN', FEED)] def get_cover_url(self): cover_url = None soup = self.index_to_soup(self.INDEX) - link_item = soup.find('img',attrs={'width':'100','height':'137','border':'0'}) + link_item = soup.find('img',attrs={'width':'100','border':'0'}) if link_item: cover_url = self.PREFIX + link_item['src'] return cover_url @@ -71,7 +69,7 @@ class Nin(BasicNewsRecipe): soup.html['lang'] = self.lang soup.html['dir' ] = self.direction mlang = Tag(soup,'meta',[("http-equiv","Content-Language"),("content",self.lang)]) - mcharset = Tag(soup,'meta',[("http-equiv","Content-Type"),("content","text/html; charset=UTF-8")]) + mcharset = Tag(soup,'meta',[("http-equiv","Content-Type"),("content","text/html; charset=utf-8")]) soup.head.insert(0,mlang) soup.head.insert(1,mcharset) attribs = [ 'style','font','valign' @@ -87,6 +85,28 @@ class Nin(BasicNewsRecipe): del item[attrib] return soup - def get_article_url(self, article): - raw = article.get('link', None) - return raw.replace('.co.yu','.co.rs') + def parse_index(self): + articles = [] + soup = self.index_to_soup(self.PREFIX) + for item in soup.findAll('a',attrs={'class':'lmeninavFont'}): + section = self.tag_to_string(item) + feedlink = self.PREFIX + item['href'] + feedpage = self.index_to_soup(feedlink) + self.report_progress(0, _('Fetching feed')+' %s...'%(section)) + inarts = [] + for art in feedpage.findAll('span',attrs={'class':'artTitle'}): + alink = art.parent + url = self.PREFIX + alink['href'] + title = self.tag_to_string(art) + sparent = alink.parent + alink.extract() + description = self.tag_to_string(sparent) + date = strftime(self.timefmt) + inarts.append({ + 'title' :title + ,'date' :date + ,'url' :url + ,'description':description + }) + articles.append((section,inarts)) + return articles From 8ae1ab6d6cc9d8bbffbf8d6561a237902198077a Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 12:37:29 -0600 Subject: [PATCH 21/42] New recipes for JavaLobyy, InfoWorld and ServerSide by Rick Kellog. Fixes #3543 (New Recipes) --- src/calibre/web/feeds/recipes/__init__.py | 3 +- .../web/feeds/recipes/recipe_infoworld.py | 35 +++++++++++++++++++ .../web/feeds/recipes/recipe_javalobby.py | 34 ++++++++++++++++++ .../web/feeds/recipes/recipe_serverside.py | 33 +++++++++++++++++ 4 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 src/calibre/web/feeds/recipes/recipe_infoworld.py create mode 100644 src/calibre/web/feeds/recipes/recipe_javalobby.py create mode 100644 src/calibre/web/feeds/recipes/recipe_serverside.py diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index c1e7414a79..cb52d41111 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -58,7 +58,8 @@ recipe_modules = ['recipe_' + r for r in ( 'esquire', 'livemint', 'thedgesingapore', 'darknet', 'rga', 'intelligencer', 'theoldfoodie', 'hln_be', 'honvedelem', 'the_new_republic', 'philly', 'salon', 'tweakers', 'smashing', - 'thestar', 'business_standard', 'lemonde_dip', + 'thestar', 'business_standard', 'lemonde_dip', 'javalobby', + 'serverside', 'infoworld' )] diff --git a/src/calibre/web/feeds/recipes/recipe_infoworld.py b/src/calibre/web/feeds/recipes/recipe_infoworld.py new file mode 100644 index 0000000000..b98649eeda --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_infoworld.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Rick Kellogg' +''' +Infoworld.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Engadget(BasicNewsRecipe): + title = u'Infoworld.com' + __author__ = 'Rick Kellogg' + description = 'news' + language = 'en' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + + remove_tags = [ dict(name='div', attrs={'class':["articleTools clearfix","relatedContent","pagination clearfix","addResources"]}), + dict(name='div', attrs={'id':["post-socialPromoBlock"]})] + + keep_only_tags = [dict(name='div', attrs={'class':["article"]})] + + feeds = [ (u'Top Tech Stories', u'http://infoworld.com/homepage/feed'), + (u'Today\'s Tech Headlines', u'http://www.infoworld.com/news/feed') ] + + def get_article_url(self, article): + + url = article.get('link', None) + + return url + + diff --git a/src/calibre/web/feeds/recipes/recipe_javalobby.py b/src/calibre/web/feeds/recipes/recipe_javalobby.py new file mode 100644 index 0000000000..55198e8321 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_javalobby.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Rick Kellogg' +''' +java.dzone.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Engadget(BasicNewsRecipe): + title = u'Javalobby' + __author__ = 'Rick Kellogg' + description = 'news' + language = 'en' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + + remove_tags = [ dict(name='div', attrs={'class':["fivestar-static-form-item","relatedContent","pagination clearfix","addResources"]}), + dict(name='div', attrs={'id':["comments"]})] + + keep_only_tags = [dict(name='div', attrs={'id':["article"]})] + + feeds = [ (u'news', u'http://feeds.dzone.com/javalobby/frontpage')] + + def get_article_url(self, article): + + url = article.get('link', None) + + return url + + diff --git a/src/calibre/web/feeds/recipes/recipe_serverside.py b/src/calibre/web/feeds/recipes/recipe_serverside.py new file mode 100644 index 0000000000..13a56e772e --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_serverside.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Rick Kellogg' +''' +TheServerSide.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Engadget(BasicNewsRecipe): + title = u'TheServerSide.com' + __author__ = 'Rick Kellogg' + description = 'news' + language = 'en' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + + remove_tags = [ dict(name='table', attrs={'class':["head"]})] + + feeds = [ (u'News', u'http://feeds.feedburner.com/techtarget/tsscom/home')] + + def get_article_url(self, article): + + url = article.get('guid', None) + + return url + + def print_version(self, url): + return url.replace('http://www.theserverside.com/news/thread.tss?thread_id=', 'http://www.theserverside.com/common/printthread.tss?thread_id=') + From 6a0cc12ef7cb0ea794a93dc5cdb2440f3d6ce843 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 19:25:24 -0600 Subject: [PATCH 22/42] Rewrite the Tag browser to make it more efficient and remove one source of random crashes --- setup/__init__.py | 2 +- src/calibre/gui2/tag_view.py | 249 +++++++++++++++++++------------ src/calibre/library/database2.py | 26 ++-- 3 files changed, 171 insertions(+), 106 deletions(-) diff --git a/setup/__init__.py b/setup/__init__.py index d947042fc4..d7b9d2321d 100644 --- a/setup/__init__.py +++ b/setup/__init__.py @@ -111,7 +111,7 @@ class Command(object): self.b = os.path.basename self.s = os.path.splitext self.e = os.path.exists - self.orig_euid = os.geteuid() + self.orig_euid = os.geteuid() if hasattr(os, 'geteuid') else None self.real_uid = os.environ.get('SUDO_UID', None) self.real_gid = os.environ.get('SUDO_GID', None) self.real_user = os.environ.get('SUDO_USER', None) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index e76259cdef..6a759f1bbb 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -6,9 +6,13 @@ __docformat__ = 'restructuredtext en' ''' Browsing book collection by tags. ''' -from PyQt4.Qt import QStandardItemModel, Qt, QTreeView, QStandardItem, \ - QFont, SIGNAL, QSize, QIcon, QPoint, QPixmap -from calibre.gui2 import config + +from itertools import izip + +from PyQt4.Qt import Qt, QTreeView, \ + QFont, SIGNAL, QSize, QIcon, QPoint, \ + QAbstractItemModel, QVariant, QModelIndex +from calibre.gui2 import config, NONE class TagsView(QTreeView): @@ -19,7 +23,7 @@ class TagsView(QTreeView): self.setIconSize(QSize(30, 30)) def set_database(self, db, match_all, popularity): - self._model = TagsModel(db) + self._model = TagsModel(db, parent=self) self.popularity = popularity self.match_all = match_all self.setModel(self._model) @@ -47,56 +51,87 @@ class TagsView(QTreeView): if ci.isValid(): self.scrollTo(ci, QTreeView.PositionAtTop) -class CategoryItem(QStandardItem): +class TagTreeItem(object): - def __init__(self, category, display_text, tags, icon, font, icon_map): - self.category = category - self.tags = tags - QStandardItem.__init__(self, icon, display_text) - self.setFont(font) - self.setSelectable(False) - self.setSizeHint(QSize(100, 40)) - self.setEditable(False) - for tag in tags: - self.appendRow(TagItem(tag, icon_map)) + CATEGORY = 0 + TAG = 1 + ROOT = 2 -class TagItem(QStandardItem): + def __init__(self, data=None, tag=None, category_icon=None, icon_map=None, parent=None): + self.parent = parent + self.children = [] + if self.parent is not None: + self.parent.append(self) + if data is None: + self.type = self.ROOT + else: + self.type = self.TAG if category_icon is None else self.CATEGORY + if self.type == self.CATEGORY: + self.name, self.icon = map(QVariant, (data, category_icon)) + self.py_name = data + self.bold_font = QFont() + self.bold_font.setBold(True) + self.bold_font = QVariant(self.bold_font) + elif self.type == self.TAG: + self.tag, self.icon_map = data, list(map(QVariant, icon_map)) - def __init__(self, tag, icon_map): - self.icon_map = icon_map - self.tag = tag - QStandardItem.__init__(self, tag.as_string()) - self.set_icon() - self.setEditable(False) - self.setSelectable(False) + def row(self): + if self.parent is not None: + return self.parent.children.index(self) + return 0 + + def append(self, child): + child.parent = self + self.children.append(child) + + def data(self, role): + if self.type == self.TAG: + return self.tag_data(role) + if self.type == self.CATEGORY: + return self.category_data(role) + return NONE + + def category_data(self, role): + if role == Qt.DisplayRole: + return self.name + if role == Qt.DecorationRole: + return self.icon + if role == Qt.FontRole: + return self.bold_font + return NONE + + def tag_data(self, role): + if role == Qt.DisplayRole: + return QVariant('[%d] %s'%(self.tag.count, self.tag.name)) + if role == Qt.DecorationRole: + return self.icon_map[self.tag.state] + return NONE def toggle(self): - self.tag.state = (self.tag.state + 1)%3 - self.set_icon() - - def set_icon(self): - self.setIcon(self.icon_map[self.tag.state]) - - -class TagsModel(QStandardItemModel): + if self.type == self.TAG: + self.tag.state = (self.tag.state + 1)%3 +class TagsModel(QAbstractItemModel): categories = [_('Authors'), _('Series'), _('Formats'), _('Publishers'), _('News'), _('Tags')] row_map = ['author', 'series', 'format', 'publisher', 'news', 'tag'] - def __init__(self, db): + def __init__(self, db, parent=None): + QAbstractItemModel.__init__(self, parent) self.cmap = tuple(map(QIcon, [I('user_profile.svg'), I('series.svg'), I('book.svg'), I('publisher.png'), I('news.svg'), I('tags.svg')])) - p = QPixmap(30, 30) - p.fill(Qt.transparent) - self.icon_map = [QIcon(p), QIcon(I('plus.svg')), + self.icon_map = [QIcon(), QIcon(I('plus.svg')), QIcon(I('minus.svg'))] - QStandardItemModel.__init__(self) self.db = db self.ignore_next_search = 0 - self._data = {} - self.bold_font = QFont() - self.bold_font.setBold(True) + self.root_item = TagTreeItem() + data = self.db.get_categories(config['sort_by_popularity']) + for i, r in enumerate(self.row_map): + c = TagTreeItem(parent=self.root_item, + data=self.categories[i], category_icon=self.cmap[i]) + for tag in data[r]: + t = TagTreeItem(parent=c, data=tag, icon_map=self.icon_map) + self.refresh() self.db.add_listener(self.database_changed) @@ -104,72 +139,98 @@ class TagsModel(QStandardItemModel): self.refresh() def refresh(self): - old_data = self._data - self._data = self.db.get_categories(config['sort_by_popularity']) - for key in old_data.keys(): - for tag in old_data[key]: - try: - index = self._data[key].index(tag) - if index > -1: - self._data[key][index].state = tag.state - except: - continue - self.clear() - root = self.invisibleRootItem() - for r, category in enumerate(self.row_map): - tags = self._data.get(category, []) - root.appendRow(CategoryItem(category, self.categories[r], - self._data[category], self.cmap[r], self.bold_font, self.icon_map)) - #self.reset() + data = self.db.get_categories(config['sort_by_popularity']) + for i, r in enumerate(self.row_map): + category = self.root_item.children[i] + names = [t.tag.name for t in category.children] + states = [t.tag.state for t in category.children] + state_map = dict(izip(names, states)) + category_index = self.index(i, 0, QModelIndex()) + if len(category.children) > 0: + self.beginRemoveRows(category_index, 0, + len(category.children)-1) + category.children = [] + self.endRemoveRows() + if len(data[r]) > 0: + self.beginInsertRows(category_index, 0, len(data[r])-1) + for tag in data[r]: + tag.state = state_map.get(tag.name, 0) + t = TagTreeItem(parent=category, data=tag, icon_map=self.icon_map) + self.endInsertRows() + + def columnCount(self, parent): + return 1 + + def data(self, index, role): + if not index.isValid(): + return NONE + item = index.internalPointer() + return item.data(role) + + def index(self, row, column, parent): + if not self.hasIndex(row, column, parent): + return QModelIndex() + + if not parent.isValid(): + parent_item = self.root_item + else: + parent_item = parent.internalPointer() + + child_item = parent_item.children[row] + ans = self.createIndex(row, column, child_item) + return ans + + def parent(self, index): + if not index.isValid(): + return QModelIndex() + + child_item = index.internalPointer() + parent_item = child_item.parent + + if parent_item is self.root_item or parent_item is None: + return QModelIndex() + + ans = self.createIndex(parent_item.row(), 0, parent_item) + return ans + + def rowCount(self, parent): + if parent.column() > 0: + return 0 + + if not parent.isValid(): + parent_item = self.root_item + else: + parent_item = parent.internalPointer() + + return len(parent_item.children) def reset_all_states(self): - changed_indices = [] - for category in self._data.values(): - Category = self.find_category(category) - for tag in category: + for i in xrange(self.rowCount(QModelIndex())): + category_index = self.index(i, 0, QModelIndex()) + category_item = category_index.internalPointer() + for j in xrange(self.rowCount(category_index)): + tag_index = self.index(j, 0, category_index) + tag_item = tag_index.internalPointer() + tag = tag_item.tag if tag.state != 0: tag.state = 0 - if Category is not None: - Tag = self.find_tag(tag, Category) - if Tag is not None: - changed_indices.append(Tag.index()) - for idx in changed_indices: - if idx.isValid(): - self.emit(SIGNAL('dataChanged(QModelIndex,QModelIndex)'), - idx, idx) + self.emit(SIGNAL('dataChanged(QModelIndex,QModelIndex)'), + tag_index, tag_index) def clear_state(self): - for category in self._data.values(): - for tag in category: - tag.state = 0 self.reset_all_states() - def find_category(self, name): - root = self.invisibleRootItem() - for i in range(root.rowCount()): - child = root.child(i) - if getattr(child, 'category', None) == name: - return child - - def find_tag(self, tag, category): - for i in range(category.rowCount()): - child = category.child(i) - if getattr(child, 'tag', None) == tag: - return child - - 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): - if index.parent().isValid(): - category = self.row_map[index.parent().row()] - tag = self._data[category][index.row()] - self.invisibleRootItem().child(index.parent().row()).child(index.row()).toggle() + if not index.isValid(): return False + item = index.internalPointer() + if item.type == TagTreeItem.TAG: + item.toggle() self.ignore_next_search = 2 self.emit(SIGNAL('dataChanged(QModelIndex,QModelIndex)'), index, index) return True @@ -177,12 +238,14 @@ class TagsModel(QStandardItemModel): def tokens(self): ans = [] - for key in self.row_map: - for tag in self._data[key]: + for i, key in enumerate(self.row_map): + category_item = self.root_item.children[i] + for tag_item in category_item.children: + tag = tag_item.tag category = key if key != 'news' else 'tag' if tag.state > 0: prefix = ' not ' if tag.state == 2 else '' - ans.append('%s%s:"%s"'%(prefix, category, tag)) + ans.append('%s%s:"%s"'%(prefix, category, tag.name)) return ans diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index d7adcd7fee..ef5583fee9 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -365,16 +365,14 @@ class ResultCache(SearchQueryParser): self._map_filtered = [id for id in self._map if id in matches] -class Tag(unicode): +class Tag(object): - def __new__(cls, *args): - obj = super(Tag, cls).__new__(cls, *args) - obj.count = 0 - obj.state = 0 - return obj + def __init__(self, name, id=None, count=0, state=0): + self.name = name + self.id = id + self.count = count + self.state = state - def as_string(self): - return u'[%d] %s'%(self.count, self) class LibraryDatabase2(LibraryDatabase): ''' @@ -987,15 +985,19 @@ class LibraryDatabase2(LibraryDatabase): tags = categories[category] if name != 'data': for tag in tags: - id = self.conn.get('SELECT id FROM %s WHERE %s=?'%(name, field), (tag,), all=False) + id = self.conn.get('SELECT id FROM %s WHERE %s=?'%(name, + field), (tag.name,), all=False) tag.id = id for tag in tags: if tag.id is not None: tag.count = self.conn.get('SELECT COUNT(id) FROM books_%s_link WHERE %s=?'%(name, category), (tag.id,), all=False) else: for tag in tags: - tag.count = self.conn.get('SELECT COUNT(format) FROM data WHERE format=?', (tag,), all=False) - tags.sort(reverse=sort_on_count, cmp=(lambda x,y:cmp(x.count,y.count)) if sort_on_count else cmp) + tag.count = self.conn.get('SELECT COUNT(format) FROM data WHERE format=?', + (tag.name,), all=False) + tags.sort(reverse=sort_on_count, cmp=(lambda + x,y:cmp(x.count,y.count)) if sort_on_count else (lambda + x,y:cmp(x.name, y.name))) for x in (('authors', 'author'), ('tags', 'tag'), ('publishers', 'publisher'), ('series', 'series')): get(*x) @@ -1011,7 +1013,7 @@ class LibraryDatabase2(LibraryDatabase): pass categories['news'] = list(map(Tag, newspapers)) for tag in categories['news']: - tag.count = self.conn.get('SELECT COUNT(id) FROM books_tags_link WHERE tag IN (SELECT DISTINCT id FROM tags WHERE name=?)', (tag,), all=False) + tag.count = self.conn.get('SELECT COUNT(id) FROM books_tags_link WHERE tag IN (SELECT DISTINCT id FROM tags WHERE name=?)', (tag.name,), all=False) return categories From fcceef0dd30d49c51cc32fe88ee9f52a815e229f Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 22:05:28 -0600 Subject: [PATCH 23/42] Fix #3561 (Can't find font filename for font family) --- setup/installer/windows/calibre/calibre.mpi | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/setup/installer/windows/calibre/calibre.mpi b/setup/installer/windows/calibre/calibre.mpi index 2e20c054be..3a7d0d2309 100644 --- a/setup/installer/windows/calibre/calibre.mpi +++ b/setup/installer/windows/calibre/calibre.mpi @@ -235,9 +235,6 @@ File ::8E5D85A4-7608-47A1-CF7C-309060D5FF40 -filemethod {Always overwrite files} File ::FC870EE7-667B-481F-113B-B4504DFCCFA5 -type dir -name bin -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::377C588B-B324-CA09-ED49-4DB5F82A15ED -type dir -name etc -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::55DE4B9F-0881-FF51-E2BA-EC72B5D3425C -type dir -name fonts -parent 377C588B-B324-CA09-ED49-4DB5F82A15ED -File ::A27B68D9-43A6-B994-3091-E829AFBA340D -type dir -name conf.d -parent 55DE4B9F-0881-FF51-E2BA-EC72B5D3425C -File ::974ADD48-88E5-BC7A-1963-928A245F133A -type dir -name conf.avail -parent 55DE4B9F-0881-FF51-E2BA-EC72B5D3425C -File ::5E5273D8-3423-8DC8-83C4-BE000069A803 -name fonts.dtd -parent 55DE4B9F-0881-FF51-E2BA-EC72B5D3425C File ::32D7DBE0-E0B1-5BDD-66C5-2A13D8BC8F90 -name fonts.conf -parent 55DE4B9F-0881-FF51-E2BA-EC72B5D3425C File ::B95D03D4-EA59-F00E-59E1-BA05758879DA -type dir -name imageformats -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::A624029D-AE0F-49A5-4DAC-7720CDCAB271 -name qmng4.dll -parent B95D03D4-EA59-F00E-59E1-BA05758879DA @@ -571,6 +568,7 @@ File ::C4E40030-3EE0-8B05-E6B9-89E81433EE1F -name phonon4.dll -parent 8E5D85A4-7 File ::C9967023-A4C2-856C-1D90-DC710105EBCD -name jpeg62.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::B1560042-C99B-9803-552E-21C15F0DFD85 -type dir -name resources -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::DEDE8BE9-D712-2770-A1EC-7E9164CC6D29 -name libpng12.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 +File ::2A8619DB-B715-CBF8-E711-C6B0C5FD9EF4 -name _elementtree.pyd -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 Component ::F6829AB7-9F66-4CEE-CA0E-21F54C6D3609 -setup Install -active Yes -platforms {AIX-ppc FreeBSD-4-x86 FreeBSD-x86 HPUX-hppa Linux-x86 Solaris-sparc Windows FreeBSD-5-x86 FreeBSD-6-x86 FreeBSD-7-x86 Linux-x86_64 Solaris-x86} -name Main -parent Components SetupType ::D9ADE41C-B744-690C-2CED-CF826BF03D2E -setup Install -active Yes -platforms {AIX-ppc FreeBSD-4-x86 FreeBSD-x86 HPUX-hppa Linux-x86 Solaris-sparc Windows FreeBSD-5-x86 FreeBSD-6-x86 FreeBSD-7-x86 Linux-x86_64 Solaris-x86} -name Typical -parent SetupTypes From ac3e3497a04e35c79688e57006b8e69eed60f38e Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 22:50:16 -0600 Subject: [PATCH 24/42] IGN: Fix #3542 (Fix/enhance non-root develop/install) --- src/calibre/linux.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/calibre/linux.py b/src/calibre/linux.py index 440f6d2ff0..25d3542d42 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -286,9 +286,13 @@ class PostInstall: self.info('Trying to setup udev rules...') try: group_file = os.path.join(self.opts.staging_etc, 'group') + if not os.path.exists(group_file): + group_file = '/etc/group' groups = open(group_file, 'rb').read() group = 'plugdev' if 'plugdev' in groups else 'usb' old_udev = '/etc/udev/rules.d/95-calibre.rules' + if not os.path.exists(old_udev): + old_udev = os.path.join(self.opts.staging_etc, 'udev/rules.d/95-calibre.rules') if os.path.exists(old_udev): os.remove(old_udev) if self.opts.staging_root == '/usr': From e7611bff6dd97bc60fb3ab08d85e7efb99047020 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 23:01:41 -0600 Subject: [PATCH 25/42] Add delete books action to right click menu. Implements #3604 --- src/calibre/gui2/library.py | 4 +++- src/calibre/gui2/main.py | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/library.py b/src/calibre/gui2/library.py index 643c2b3471..cc3fcb3f7d 100644 --- a/src/calibre/gui2/library.py +++ b/src/calibre/gui2/library.py @@ -717,7 +717,7 @@ class BooksView(TableView): self.setItemDelegateForColumn(cm.index('series'), self.series_delegate) def set_context_menu(self, edit_metadata, send_to_device, convert, view, - save, open_folder, book_details, similar_menu=None): + save, open_folder, book_details, delete, similar_menu=None): self.setContextMenuPolicy(Qt.DefaultContextMenu) self.context_menu = QMenu(self) if edit_metadata is not None: @@ -730,6 +730,8 @@ class BooksView(TableView): self.context_menu.addAction(save) if open_folder is not None: self.context_menu.addAction(open_folder) + if delete is not None: + self.context_menu.addAction(delete) if book_details is not None: self.context_menu.addAction(book_details) if similar_menu is not None: diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 7b68667444..a8ad9ef83c 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -390,13 +390,14 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.action_save, self.action_open_containing_folder, self.action_show_book_details, + self.action_del, similar_menu=similar_menu) self.memory_view.set_context_menu(None, None, None, - self.action_view, self.action_save, None, None) + self.action_view, self.action_save, None, None, self.action_del) self.card_a_view.set_context_menu(None, None, None, - self.action_view, self.action_save, None, None) + self.action_view, self.action_save, None, None, self.action_del) self.card_b_view.set_context_menu(None, None, None, - self.action_view, self.action_save, None, None) + self.action_view, self.action_save, None, None, self.action_del) QObject.connect(self.library_view, SIGNAL('files_dropped(PyQt_PyObject)'), self.files_dropped, Qt.QueuedConnection) From e35345d5893e38554cb4c5a453a5a7cb9603fea6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 23:08:16 -0600 Subject: [PATCH 26/42] Fix #3526 (Converting Mobipocket to MS Reader not working) --- src/calibre/ebooks/lit/writer.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/lit/writer.py b/src/calibre/ebooks/lit/writer.py index e0cc691ad1..6dd5068032 100644 --- a/src/calibre/ebooks/lit/writer.py +++ b/src/calibre/ebooks/lit/writer.py @@ -152,7 +152,11 @@ class ReBinary(object): def write(self, *values): for value in values: if isinstance(value, (int, long)): - value = unichr(value) + try: + value = unichr(value) + except OverflowError: + self.logger.warn('Unicode overflow for integer:', value) + value = u'?' self.buf.write(value.encode('utf-8')) def is_block(self, style): From 97eff53503b1953461b08b3775d5a7346541ec6e Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 23:10:59 -0600 Subject: [PATCH 27/42] IGN:Fix #3526 (Converting Mobipocket to MS Reader not working) --- src/calibre/linux.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/linux.py b/src/calibre/linux.py index 25d3542d42..62af807f4c 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -294,7 +294,11 @@ class PostInstall: if not os.path.exists(old_udev): old_udev = os.path.join(self.opts.staging_etc, 'udev/rules.d/95-calibre.rules') if os.path.exists(old_udev): - os.remove(old_udev) + try: + os.remove(old_udev) + except: + self.warn('Old udev rules found, please delete manually:', + old_udev) if self.opts.staging_root == '/usr': base = '/lib' else: From a1a30a50eaf45504c21d740bf642b156534839f1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 23:22:38 -0600 Subject: [PATCH 28/42] Add field to edit Date to the Edit Meta Information dialog --- src/calibre/gui2/dialogs/metadata_single.py | 7 ++++ src/calibre/gui2/dialogs/metadata_single.ui | 42 +++++++++++++++++---- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index a9e9ef825c..c92a098bab 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -280,6 +280,8 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.cpixmap = None self.cover.setAcceptDrops(True) self.pubdate.setMinimumDate(QDate(100,1,1)) + self.date.setMinimumDate(QDate(100,1,1)) + self.connect(self.cover, SIGNAL('cover_changed(PyQt_PyObject)'), self.cover_dropped) QObject.connect(self.cover_button, SIGNAL("clicked(bool)"), \ self.select_cover) @@ -325,6 +327,9 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): pubdate = db.pubdate(self.id, index_is_id=True) self.pubdate.setDate(QDate(pubdate.year, pubdate.month, pubdate.day)) + timestamp = db.timestamp(self.id, index_is_id=True) + self.date.setDate(QDate(timestamp.year, timestamp.month, + timestamp.day)) exts = self.db.formats(row) if exts: @@ -567,6 +572,8 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.db.set_comment(self.id, qstring_to_unicode(self.comments.toPlainText()), notify=False) d = self.pubdate.date() self.db.set_pubdate(self.id, datetime(d.year(), d.month(), d.day())) + d = self.date.date() + self.db.set_timestamp(self.id, datetime(d.year(), d.month(), d.day())) if self.cover_changed and self.cover_data is not None: self.db.set_cover(self.id, self.cover_data) diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui index 0108039217..fc5b238f72 100644 --- a/src/calibre/gui2/dialogs/metadata_single.ui +++ b/src/calibre/gui2/dialogs/metadata_single.ui @@ -44,7 +44,7 @@ <x>0</x> <y>0</y> <width>879</width> - <height>711</height> + <height>710</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_5"> @@ -177,7 +177,7 @@ </property> </widget> </item> - <item row="3" column="1"> + <item row="3" column="1" colspan="2"> <widget class="QSpinBox" name="rating"> <property name="toolTip"> <string>Rating of this book. 0-5 stars</string> @@ -325,7 +325,7 @@ <item row="8" column="1" colspan="2"> <widget class="QLineEdit" name="isbn"/> </item> - <item row="9" column="0"> + <item row="10" column="0"> <widget class="QLabel" name="label_10"> <property name="text"> <string>Publishe&d:</string> @@ -338,14 +338,14 @@ </property> </widget> </item> - <item row="4" column="1"> + <item row="4" column="1" colspan="2"> <widget class="EnComboBox" name="publisher"> <property name="editable"> <bool>true</bool> </property> </widget> </item> - <item row="7" column="1"> + <item row="7" column="1" colspan="2"> <widget class="QDoubleSpinBox" name="series_index"> <property name="enabled"> <bool>false</bool> @@ -358,7 +358,7 @@ </property> </widget> </item> - <item row="9" column="1"> + <item row="10" column="1" colspan="2"> <widget class="QDateEdit" name="pubdate"> <property name="displayFormat"> <string>MMM yyyy</string> @@ -375,6 +375,29 @@ </property> </widget> </item> + <item row="9" column="1" colspan="2"> + <widget class="QDateEdit" name="date"> + <property name="displayFormat"> + <string>MMM yyyy</string> + </property> + <property name="calendarPopup"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="9" column="0"> + <widget class="QLabel" name="label_11"> + <property name="text"> + <string>&Date:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="buddy"> + <cstring>date</cstring> + </property> + </widget> + </item> </layout> </widget> </item> @@ -695,18 +718,21 @@ <tabstop>remove_series_button</tabstop> <tabstop>series_index</tabstop> <tabstop>isbn</tabstop> + <tabstop>date</tabstop> <tabstop>pubdate</tabstop> <tabstop>comments</tabstop> <tabstop>fetch_metadata_button</tabstop> - <tabstop>formats</tabstop> <tabstop>add_format_button</tabstop> <tabstop>remove_format_button</tabstop> <tabstop>cover_path</tabstop> <tabstop>cover_button</tabstop> <tabstop>reset_cover</tabstop> <tabstop>fetch_cover_button</tabstop> - <tabstop>scrollArea</tabstop> + <tabstop>button_set_cover</tabstop> + <tabstop>formats</tabstop> + <tabstop>button_set_metadata</tabstop> <tabstop>button_box</tabstop> + <tabstop>scrollArea</tabstop> </tabstops> <resources> <include location="../../../../resources/images.qrc"/> From f31692c268cb8c02beaacd9dc2ac999d813971a6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 27 Sep 2009 23:43:04 -0600 Subject: [PATCH 29/42] Conversion pipeline: Remove empty <b> and <i> tags. Fixes #3564 (PDF to EPUB formatting problems) --- src/calibre/ebooks/oeb/base.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 5ee829c8f4..5e3d2296ae 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -912,23 +912,27 @@ class Manifest(object): if key == 'lang' or key.endswith('}lang'): body.attrib.pop(key) + def remove_elem(a): + p = a.getparent() + idx = p.index(a) -1 + p.remove(a) + if a.tail: + if idx <= 0: + if p.text is None: + p.text = '' + p.text += a.tail + else: + if p[idx].tail is None: + p[idx].tail = '' + p[idx].tail += a.tail + # Remove hyperlinks with no content as they cause rendering # artifacts in browser based renderers - for a in xpath(data, '//h:a[@href]'): + # Also remove empty <b> and <i> tags + for a in xpath(data, '//h:a[@href]|//h:i|//h:b'): if a.get('id', None) is None and a.get('name', None) is None \ and len(a) == 0 and not a.text: - p = a.getparent() - idx = p.index(a) -1 - p.remove(a) - if a.tail: - if idx <= 0: - if p.text is None: - p.text = '' - p.text += a.tail - else: - if p[idx].tail is None: - p[idx].tail = '' - p[idx].tail += a.tail + remove_elem(a) return data From a5bc1ad2515c6a3892033a6e0dc1cecfaa353554 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 08:17:05 -0600 Subject: [PATCH 30/42] calibre now works with OS X 10.6 **Snow Leopard**. Fixes #3471 (Snow Leopard Compatibility) --- src/calibre/devices/usbms/device.py | 4 ++-- src/calibre/trac/plugins/download.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 0e83069eb4..817167741e 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -564,13 +564,13 @@ class Device(DeviceConfig, DevicePlugin): try: self.open_windows() except DeviceError: - time.sleep(3) + time.sleep(5) self.open_windows() if isosx: try: self.open_osx() except DeviceError: - time.sleep(3) + time.sleep(7) self.open_osx() def eject_windows(self): diff --git a/src/calibre/trac/plugins/download.py b/src/calibre/trac/plugins/download.py index 2962658097..58df7fdb88 100644 --- a/src/calibre/trac/plugins/download.py +++ b/src/calibre/trac/plugins/download.py @@ -186,7 +186,7 @@ else: data = dict(version = version, name='osx', installer_name='OS X universal dmg', title='Download %s for OS X'%(__appname__), - compatibility='%s works on OS X Tiger and Leopard, but not Snow Leopard (It might work on Snow Leopard if run with Rosetta).'%(__appname__,), + compatibility='%s works on OS X Tiger, Leopard, and Snow Leopard.'%(__appname__,), path=MOBILEREAD+file, app=__appname__, note=Markup(\ u''' From 91df0ad326dd08d557b154cc3962ff8e9409a5be Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 08:38:21 -0600 Subject: [PATCH 31/42] Edit Meta information dialog now displays dates in the local timezone, like the main book view. Fixes #3288 (Published Date issue) --- src/calibre/gui2/dialogs/metadata_single.py | 14 +++++++++++--- src/calibre/gui2/dialogs/metadata_single.ui | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index c92a098bab..6f1f111e2a 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -10,7 +10,7 @@ import os import re import time import traceback -from datetime import datetime +from datetime import datetime, timedelta from PyQt4.QtCore import SIGNAL, QObject, QCoreApplication, Qt, QTimer, QThread, QDate from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog @@ -325,9 +325,12 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.comments.setPlainText(comments if comments else '') cover = self.db.cover(row) pubdate = db.pubdate(self.id, index_is_id=True) + self.local_timezone_offset = timedelta(seconds=time.timezone) - timedelta(hours=time.daylight) + pubdate = pubdate - self.local_timezone_offset self.pubdate.setDate(QDate(pubdate.year, pubdate.month, pubdate.day)) timestamp = db.timestamp(self.id, index_is_id=True) + timestamp = timestamp - self.local_timezone_offset self.date.setDate(QDate(timestamp.year, timestamp.month, timestamp.day)) @@ -523,6 +526,7 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): if book.isbn: self.isbn.setText(book.isbn) if book.pubdate: d = book.pubdate + d = d - self.local_timezone_offset self.pubdate.setDate(QDate(d.year, d.month, d.day)) summ = book.comments if summ: @@ -571,9 +575,13 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.db.set_series_index(self.id, self.series_index.value(), notify=False) self.db.set_comment(self.id, qstring_to_unicode(self.comments.toPlainText()), notify=False) d = self.pubdate.date() - self.db.set_pubdate(self.id, datetime(d.year(), d.month(), d.day())) + d = datetime(d.year(), d.month(), d.day()) + d = d + self.local_timezone_offset + self.db.set_pubdate(self.id, d) d = self.date.date() - self.db.set_timestamp(self.id, datetime(d.year(), d.month(), d.day())) + d = datetime(d.year(), d.month(), d.day()) + d = d + self.local_timezone_offset + self.db.set_timestamp(self.id, d) if self.cover_changed and self.cover_data is not None: self.db.set_cover(self.id, self.cover_data) diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui index fc5b238f72..78a4815fd9 100644 --- a/src/calibre/gui2/dialogs/metadata_single.ui +++ b/src/calibre/gui2/dialogs/metadata_single.ui @@ -378,7 +378,7 @@ <item row="9" column="1" colspan="2"> <widget class="QDateEdit" name="date"> <property name="displayFormat"> - <string>MMM yyyy</string> + <string>dd MMM yyyy</string> </property> <property name="calendarPopup"> <bool>true</bool> From 7d41e55dca63f9cf8c624b6a2e102e77d191e8fc Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 08:44:10 -0600 Subject: [PATCH 32/42] Fix #3606 (LRF Reader fails to open file which opens in PRS-500 and 505) --- src/calibre/gui2/lrf_renderer/text.py | 188 +++++++++++++------------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/src/calibre/gui2/lrf_renderer/text.py b/src/calibre/gui2/lrf_renderer/text.py index 4db7d505d7..f094bd64ac 100644 --- a/src/calibre/gui2/lrf_renderer/text.py +++ b/src/calibre/gui2/lrf_renderer/text.py @@ -23,12 +23,12 @@ class PixmapItem(QGraphicsPixmapItem): w, h = p.width(), p.height() p = p.copy(x0, y0, min(w, x1-x0), min(h, y1-y0)) if p.width() != xsize or p.height() != ysize: - p = p.scaled(xsize, ysize, Qt.IgnoreAspectRatio, Qt.SmoothTransformation) + p = p.scaled(xsize, ysize, Qt.IgnoreAspectRatio, Qt.SmoothTransformation) QGraphicsPixmapItem.__init__(self, p) self.height, self.width = ysize, xsize self.setTransformationMode(Qt.SmoothTransformation) self.setShapeMode(QGraphicsPixmapItem.BoundingRectShape) - + def resize(self, width, height): p = self.pixmap() self.setPixmap(p.scaled(width, height, Qt.IgnoreAspectRatio, Qt.SmoothTransformation)) @@ -36,7 +36,7 @@ class PixmapItem(QGraphicsPixmapItem): class Plot(PixmapItem): - + def __init__(self, plot, dpi): img = plot.refobj xsize, ysize = dpi*plot.attrs['xsize']/720., dpi*plot.attrs['ysize']/720. @@ -46,19 +46,19 @@ class Plot(PixmapItem): class FontLoader(object): - + font_map = { 'Swis721 BT Roman' : 'Liberation Sans', 'Dutch801 Rm BT Roman' : 'Liberation Serif', 'Courier10 BT Roman' : 'Liberation Mono', } - + def __init__(self, font_map, dpi): self.face_map = {} self.cache = {} self.dpi = dpi self.face_map = font_map - + def font(self, text_style): device_font = text_style.fontfacename in FONT_MAP try: @@ -68,7 +68,7 @@ class FontLoader(object): face = self.face_map[text_style.fontfacename] except KeyError: # Bad fontfacename field in LRF face = self.font_map['Dutch801 Rm BT Roman'] - + sz = text_style.fontsize wt = text_style.fontweight style = text_style.fontstyle @@ -76,37 +76,37 @@ class FontLoader(object): if font in self.cache: rfont = self.cache[font] else: - italic = font[2] == QFont.StyleItalic + italic = font[2] == QFont.StyleItalic rfont = QFont(font[0], font[3], font[1], italic) rfont.setPixelSize(font[3]) rfont.setBold(wt>=69) self.cache[font] = rfont qfont = rfont if text_style.emplinetype != 'none': - qfont = QFont(rfont) + qfont = QFont(rfont) qfont.setOverline(text_style.emplineposition == 'before') qfont.setUnderline(text_style.emplineposition == 'after') return qfont class Style(object): map = collections.defaultdict(lambda : NULL) - + def __init__(self, style, dpi): self.fdpi = dpi/720. self.update(style.as_dict()) - + def update(self, *args, **kwds): if len(args) > 0: kwds = args[0] for attr in kwds: setattr(self, attr, self.__class__.map[attr](kwds[attr], self.fdpi)) - + def copy(self): return copy.copy(self) - + class TextStyle(Style): - + map = collections.defaultdict(lambda : NULL, fontsize = operator.mul, fontwidth = operator.mul, @@ -121,9 +121,9 @@ class TextStyle(Style): parskip = operator.mul, textlinewidth = operator.mul, charspace = operator.mul, - linecolor = COLOR, + linecolor = COLOR, ) - + def __init__(self, style, font_loader, ruby_tags): self.font_loader = font_loader self.fontstyle = QFont.StyleNormal @@ -131,38 +131,38 @@ class TextStyle(Style): setattr(self, attr, ruby_tags[attr]) Style.__init__(self, style, font_loader.dpi) self.emplinetype = 'none' - self.font = self.font_loader.font(self) - - + self.font = self.font_loader.font(self) + + def update(self, *args, **kwds): Style.update(self, *args, **kwds) self.font = self.font_loader.font(self) - - + + class BlockStyle(Style): map = collections.defaultdict(lambda : NULL, bgcolor = COLOR, framecolor = COLOR, ) - + class ParSkip(object): def __init__(self, parskip): self.height = parskip - + def __str__(self): return 'Parskip: '+str(self.height) class TextBlock(object): - + class HeightExceeded(Exception): pass - + has_content = property(fget=lambda self: self.peek_index < len(self.lines)-1) - XML_ENTITIES = dict(zip(Tag.XML_SPECIAL_CHARS_TO_ENTITIES.values(), Tag.XML_SPECIAL_CHARS_TO_ENTITIES.keys())) + XML_ENTITIES = dict(zip(Tag.XML_SPECIAL_CHARS_TO_ENTITIES.values(), Tag.XML_SPECIAL_CHARS_TO_ENTITIES.keys())) XML_ENTITIES["quot"] = '"' - - def __init__(self, tb, font_loader, respect_max_y, text_width, logger, + + def __init__(self, tb, font_loader, respect_max_y, text_width, logger, opts, ruby_tags, link_activated): self.block_id = tb.id self.bs, self.ts = BlockStyle(tb.style, font_loader.dpi), \ @@ -182,37 +182,37 @@ class TextBlock(object): self.max_y = self.bs.blockheight if (respect_max_y or self.bs.blockrule.lower() in ('vert-fixed', 'block-fixed')) else sys.maxint self.height = 0 self.peek_index = -1 - + try: self.populate(tb.content) self.end_line() except TextBlock.HeightExceeded, err: pass #logger.warning('TextBlock height exceeded, skipping line:\n%s'%(err,)) - + def peek(self): return self.lines[self.peek_index+1] - + def commit(self): self.peek_index += 1 - + def reset(self): self.peek_index = -1 - + def create_link(self, refobj): if self.current_line is None: self.create_line() self.current_line.start_link(refobj, self.link_activated) self.link_activated(refobj, on_creation=True) - + def end_link(self): if self.current_line is not None: self.current_line.end_link() - + def close_valign(self): if self.current_line is not None: self.current_line.valign = None - + def populate(self, tb): self.create_line() open_containers = collections.deque() @@ -221,7 +221,7 @@ class TextBlock(object): if isinstance(i, basestring): self.process_text(i) elif i is None: - if len(open_containers) > 0: + if len(open_containers) > 0: for a, b in open_containers.pop(): if callable(a): a(*b) @@ -229,9 +229,9 @@ class TextBlock(object): setattr(self, a, b) elif i.name == 'P': open_containers.append((('in_para', False),)) - self.in_para = True + self.in_para = True elif i.name == 'CR': - if self.in_para: + if self.in_para: self.end_line() self.create_line() else: @@ -243,10 +243,10 @@ class TextBlock(object): self.first_line = True elif i.name == 'Span': open_containers.append((('current_style', self.current_style.copy()),)) - self.current_style.update(i.attrs) + self.current_style.update(i.attrs) elif i.name == 'CharButton': open_containers.append(((self.end_link, []),)) - self.create_link(i.attrs['refobj']) + self.create_link(i.attrs['refobj']) elif i.name == 'Italic': open_containers.append((('current_style', self.current_style.copy()),)) self.current_style.update(fontstyle=QFont.StyleItalic) @@ -262,8 +262,8 @@ class TextBlock(object): if self.current_line is None: self.create_line() self.current_line.valign = i.name - open_containers.append(((self.close_valign, []),)) - elif i.name == 'Space': + open_containers.append(((self.close_valign, []),)) + elif i.name == 'Space' and self.current_line is not None: self.current_line.add_space(i.attrs['xsize']) elif i.name == 'EmpLine': if i.attrs: @@ -273,7 +273,7 @@ class TextBlock(object): self.logger.warning('Unhandled TextTag %s'%(i.name,)) if not i.self_closing: open_containers.append([]) - + def end_line(self): if self.current_line is not None: self.height += self.current_line.finalize(self.current_style.baselineskip, @@ -281,21 +281,21 @@ class TextBlock(object): self.opts.visual_debug) if self.height > self.max_y+10: raise TextBlock.HeightExceeded(str(self.current_line)) - self.lines.append(self.current_line) + self.lines.append(self.current_line) self.current_line = None - + def create_line(self): line_length = self.line_length line_offset = self.line_offset if self.first_line: line_length -= self.current_style.parindent line_offset += self.current_style.parindent - self.current_line = Line(line_length, line_offset, - self.current_style.linespace, - self.current_style.align, + self.current_line = Line(line_length, line_offset, + self.current_style.linespace, + self.current_style.align, self.opts.hyphenate, self.block_id) self.first_line = False - + def process_text(self, raw): for ent, rep in TextBlock.XML_ENTITIES.items(): raw = raw.replace(u'&%s;'%ent, rep) @@ -306,11 +306,11 @@ class TextBlock(object): raw = raw[pos:] if line_filled: self.end_line() - - + + def __iter__(self): for line in self.lines: yield line - + def __str__(self): s = '' for line in self: @@ -320,7 +320,7 @@ class TextBlock(object): class Link(QGraphicsRectItem): inactive_brush = QBrush(QColor(0xff, 0xff, 0xff, 0xff)) active_brush = QBrush(QColor(0x00, 0x00, 0x00, 0x59)) - + def __init__(self, parent, start, stop, refobj, slot): QGraphicsRectItem.__init__(self, start, 0, stop-start, parent.height, parent) self.refobj = refobj @@ -329,28 +329,28 @@ class Link(QGraphicsRectItem): self.setPen(QPen(Qt.NoPen)) self.setCursor(Qt.PointingHandCursor) self.setAcceptsHoverEvents(True) - + def hoverEnterEvent(self, event): self.brush = self.__class__.active_brush self.parentItem().update() - + def hoverLeaveEvent(self, event): self.brush = self.__class__.inactive_brush self.parentItem().update() - + def mousePressEvent(self, event): self.hoverLeaveEvent(None) self.slot(self.refobj) class Line(QGraphicsItem): whitespace = re.compile(r'\s+') - + def __init__(self, line_length, offset, linespace, align, hyphenate, block_id): QGraphicsItem.__init__(self) - + self.line_length, self.offset, self.line_space = line_length, offset, linespace self.align, self.hyphenate, self.block_id = align, hyphenate, block_id - + self.tokens = collections.deque() self.current_width = 0 self.length_in_space = 0 @@ -358,25 +358,25 @@ class Line(QGraphicsItem): self.links = collections.deque() self.current_link = None self.valign = None - + def start_link(self, refobj, slot): self.current_link = [self.current_width, sys.maxint, refobj, slot] - + def end_link(self): if self.current_link is not None: self.current_link[1] = self.current_width self.links.append(self.current_link) self.current_link = None - + def can_add_plot(self, plot): return self.line_length - self.current_width >= plot.width - + def add_plot(self, plot): self.tokens.append(plot) self.current_width += plot.width self.height = max(self.height, plot.height) self.add_space(6) - + def populate(self, phrase, ts, process_space=True): phrase_pos = 0 processed = False @@ -401,7 +401,7 @@ class Line(QGraphicsItem): self.add_space(space_width) phrase_pos = right continue - + # Word doesn't fit on line if self.hyphenate and len(word) > 3: tokens = hyphenate_word(word) @@ -420,23 +420,23 @@ class Line(QGraphicsItem): return phrase_pos + len(part)-1, True # Failed to add word. return phrase_pos, True - + if not processed: return self.populate(phrase+' ', ts, False) - + return phrase_pos, False - + def commit(self, word, width, height, descent, ts, font): self.tokens.append(Word(word, width, height, ts, font, self.valign)) self.current_width += width self.height = max(self.height, height) self.descent = max(self.descent, descent) - + def add_space(self, min_width): self.tokens.append(min_width) self.current_width += min_width self.length_in_space += min_width - + def justify(self): delta = self.line_length - self.current_width if self.length_in_space > 0: @@ -445,33 +445,33 @@ class Line(QGraphicsItem): if isinstance(self.tokens[i], (int, float)): self.tokens[i] *= frac self.current_width = self.line_length - + def finalize(self, baselineskip, linespace, vdebug): if self.current_link is not None: self.end_link() - + # We justify if line is small and it doesn't have links in it - # If it has links, justification would cause the boundingrect of the link to + # If it has links, justification would cause the boundingrect of the link to # be too small if self.current_width >= 0.85 * self.line_length and len(self.links) == 0: self.justify() - + self.width = float(self.current_width) if self.height == 0: self.height = baselineskip self.height = float(self.height) - + self.vdebug = vdebug - + for link in self.links: Link(self, *link) - - + + return self.height - + def boundingRect(self): return QRectF(0, 0, self.width, self.height) - + def paint(self, painter, option, widget): x, y = 0, 0+self.height-self.descent if self.vdebug: @@ -509,16 +509,16 @@ class Line(QGraphicsItem): painter.drawPixmap(x, 0, tok.pixmap()) x += tok.width painter.restore() - + def words(self): for w in self.tokens: if isinstance(w, Word): yield w - + def search(self, phrase): tokens = phrase.lower().split() if len(tokens) < 1: return None - + words = self.words() matches = [] try: @@ -538,16 +538,16 @@ class Line(QGraphicsItem): return self except StopIteration: return None - - + + def getx(self, textwidth): if self.align == 'head': return self.offset if self.align == 'foot': return textwidth - self.width - if self.align == 'center': + if self.align == 'center': return (textwidth-self.width)/2. - + def __unicode__(self): s = u'' for tok in self.tokens: @@ -555,23 +555,23 @@ class Line(QGraphicsItem): s += ' ' elif isinstance(tok, Word): s += qstring_to_unicode(tok.string) - return s - + return s + def __str__(self): return unicode(self).encode('utf-8') - + class Word(object): - + def __init__(self, string, width, height, ts, font, valign): self.string, self.width, self.height = QString(string), width, height self.font = font self.text_color = ts.textcolor self.highlight = False self.valign = valign - + def main(args=sys.argv): return 0 if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file + sys.exit(main()) From e25eede908ed5a44d64ef897b41111bae1e4e94c Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 16:04:24 -0600 Subject: [PATCH 33/42] Fix #3552 (Conversion from LRF to LIT or RTF loses paragraph indentations) --- src/calibre/ebooks/lrf/input.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/lrf/input.py b/src/calibre/ebooks/lrf/input.py index 9ec1ba0b8e..f511ba7f09 100644 --- a/src/calibre/ebooks/lrf/input.py +++ b/src/calibre/ebooks/lrf/input.py @@ -176,7 +176,7 @@ class TextBlock(etree.XSLTExtension): def process_child(self, child): if child.tag == 'CR': - if self.parent == self.root: + if self.parent == self.root or self.parent.tag == 'p': self.parent = self.root.makeelement('p') self.root.append(self.parent) self.add_text_to = (self.parent, 'text') @@ -365,6 +365,8 @@ class LRFInput(InputFormatPlugin): d = LRFDocument(stream) d.parse() xml = d.to_xml(write_files=True) + if options.verbose > 2: + open('lrs.xml', 'wb').write(xml.encode('utf-8')) parser = etree.XMLParser(recover=True, no_network=True) doc = etree.fromstring(xml, parser=parser) char_button_map = {} From d147f566466eeea72d7229449b3b805e8cf0a084 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 16:27:38 -0600 Subject: [PATCH 34/42] Fix #3417 (Receipt - FTD (Financial Time Deutschland) => empty Receipt) --- setup/installer/windows/calibre/calibre.mpi | 2 +- src/calibre/web/fetch/simple.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/setup/installer/windows/calibre/calibre.mpi b/setup/installer/windows/calibre/calibre.mpi index 3a7d0d2309..860eae62f2 100644 --- a/setup/installer/windows/calibre/calibre.mpi +++ b/setup/installer/windows/calibre/calibre.mpi @@ -409,7 +409,6 @@ File ::C3466B70-23C3-31C9-3B4F-1B3B56E4D013 -name markdown-calibre.exe.local -pa File ::6ED1C675-C4D5-6BFF-7C8A-9AB4BF39D00C -name _hashlib.pyd -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::21F7F333-3063-71E3-85F5-5C88584B15CC -name IM_MOD_RL_tga_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::26741B21-C241-E100-8BB1-8B679BC3E662 -name configure.xml -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 -File ::7D491E89-C6D3-1E6E-F4BD-8E55260FE33E -name libexpat.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::476CB977-5155-D56F-26CA-EB243AEBBA99 -name unrar.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::2E2A9EDA-5386-444E-8479-557386794552 -name IM_MOD_RL_uil_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::D3301E15-1B1A-E2AB-1B04-30A601B3FB44 -name IM_MOD_RL_cut_.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 @@ -569,6 +568,7 @@ File ::C9967023-A4C2-856C-1D90-DC710105EBCD -name jpeg62.dll -parent 8E5D85A4-76 File ::B1560042-C99B-9803-552E-21C15F0DFD85 -type dir -name resources -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::DEDE8BE9-D712-2770-A1EC-7E9164CC6D29 -name libpng12.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 File ::2A8619DB-B715-CBF8-E711-C6B0C5FD9EF4 -name _elementtree.pyd -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 +File ::0924A77D-EDD2-FF33-560A-983053637A47 -name libexpat-1.dll -parent 8E5D85A4-7608-47A1-CF7C-309060D5FF40 Component ::F6829AB7-9F66-4CEE-CA0E-21F54C6D3609 -setup Install -active Yes -platforms {AIX-ppc FreeBSD-4-x86 FreeBSD-x86 HPUX-hppa Linux-x86 Solaris-sparc Windows FreeBSD-5-x86 FreeBSD-6-x86 FreeBSD-7-x86 Linux-x86_64 Solaris-x86} -name Main -parent Components SetupType ::D9ADE41C-B744-690C-2CED-CF826BF03D2E -setup Install -active Yes -platforms {AIX-ppc FreeBSD-4-x86 FreeBSD-x86 HPUX-hppa Linux-x86 Solaris-sparc Windows FreeBSD-5-x86 FreeBSD-6-x86 FreeBSD-7-x86 Linux-x86_64 Solaris-x86} -name Typical -parent SetupTypes diff --git a/src/calibre/web/fetch/simple.py b/src/calibre/web/fetch/simple.py index fdf4e81095..27ac735053 100644 --- a/src/calibre/web/fetch/simple.py +++ b/src/calibre/web/fetch/simple.py @@ -41,10 +41,16 @@ class closing(object): _browser_lock = RLock() +bad_url_counter = 0 def basename(url): - parts = urlparse.urlsplit(url) - path = url2pathname(parts.path) - res = os.path.basename(path) + try: + parts = urlparse.urlsplit(url) + path = url2pathname(parts.path) + res = os.path.basename(path) + except: + global bad_url_counter + bad_url_counter += 1 + return 'bad_url_%d.html'%bad_url_counter if not os.path.splitext(res)[1]: return 'index.html' return res From 60c3a5c5f8fe510effc107bcdb115ac117b22fcf Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 17:02:47 -0600 Subject: [PATCH 35/42] Remove trailing periods from path components when sending books to devices. Fixes #3475 (No books in Collection on Sony PRS-300) --- src/calibre/devices/usbms/device.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 817167741e..97b4b3ec19 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -711,6 +711,14 @@ class Device(DeviceConfig, DevicePlugin): fname = sanitize(fname) extra_components.append(fname) extra_components = [str(x) for x in extra_components] + def remove_trailing_periods(x): + ans = x + while ans.endswith('.'): + ans = ans[:-1] + if not ans: + ans = 'x' + return ans + extra_components = list(map(remove_trailing_periods, extra_components)) components = shorten_components_to(250 - len(path), extra_components) filepath = os.path.join(path, *components) filedir = os.path.dirname(filepath) From 1512f18286528a572f490f67fe2d32e809ff0fd5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 17:09:11 -0600 Subject: [PATCH 36/42] version 0.6.14 --- src/calibre/constants.py | 2 +- src/calibre/translations/nb.po | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index a68cfdb9d3..8d3b310b73 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.6.13' +__version__ = '0.6.14' __author__ = "Kovid Goyal <kovid@kovidgoyal.net>" import re diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index e925529034..ebfe1a19cb 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -648,7 +648,7 @@ msgid "" "of less than 256 may result in blurred text on your device if you are " "creating your comics in EPUB format." msgstr "" -"Antall farger for konvertering til grå-skalering. Standard %standard. " +"Antall farger for konvertering til grå-skalering. Standard %default. " "Verdier på mindre enn 256 kan resultere i uskarp tekst i enheten din dersom " "du oppretter dine tegneserier til EPUB format." @@ -1342,7 +1342,7 @@ msgid "" "conversion of a PDF file. Default is %default which disables this." msgstr "" "Gjennomsnittlig linjelengde for linjebryting dersom HTML filen er fra en " -"tidligere delvis konvertering fra en PDF fil. Standard er %standard som slår " +"tidligere delvis konvertering fra en PDF fil. Standard er %default som slår " "av dette valget." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 From 96db861a22d660ade7428a8f7771a48260791767 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 28 Sep 2009 17:24:33 -0600 Subject: [PATCH 37/42] IGN:Tag release --- src/calibre/translations/calibre.pot | 485 ++++++++++++++------------- 1 file changed, 247 insertions(+), 238 deletions(-) diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 3197338eaa..09c03f9b70 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.6.13\n" -"POT-Creation-Date: 2009-09-25 11:00+MDT\n" -"PO-Revision-Date: 2009-09-25 11:00+MDT\n" +"Project-Id-Version: calibre 0.6.14\n" +"POT-Creation-Date: 2009-09-28 17:09+MDT\n" +"PO-Revision-Date: 2009-09-28 17:09+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -65,7 +65,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:886 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:891 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:951 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:135 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105 @@ -108,23 +108,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:410 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:404 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:874 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211 #: /home/kovid/work/calibre/src/calibre/library/cli.py:277 #: /home/kovid/work/calibre/src/calibre/library/database.py:917 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:654 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:666 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1061 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1098 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1428 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:652 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:664 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1063 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1100 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1430 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1539 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1432 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1541 #: /home/kovid/work/calibre/src/calibre/library/server.py:493 #: /home/kovid/work/calibre/src/calibre/library/server.py:565 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:103 @@ -521,10 +521,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:686 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:434 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:83 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1005 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1009 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:115 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1011 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1334 msgid "News" msgstr "" @@ -948,7 +948,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:122 #: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:111 #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:78 msgid "Table of Contents:" msgstr "" @@ -1238,7 +1238,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:158 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:388 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1066 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1068 msgid "Title" msgstr "" @@ -1246,7 +1246,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:393 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1067 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1069 msgid "Author(s)" msgstr "" @@ -1273,10 +1273,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:370 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:338 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1010 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1070 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1012 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1072 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:115 msgid "Tags" msgstr "" @@ -1284,7 +1284,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:354 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:115 msgid "Series" msgstr "" @@ -1293,7 +1293,7 @@ msgid "Language" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1011 msgid "Timestamp" msgstr "" @@ -1435,7 +1435,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1055 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 msgid "Cover" msgstr "" @@ -1464,70 +1464,70 @@ msgstr "" msgid "All articles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1315 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1316 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1317 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1318 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1315 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1319 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1316 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1320 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1317 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1318 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1319 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1320 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330 msgid "Main Text" msgstr "" @@ -2158,14 +2158,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:500 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:501 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:533 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:343 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:348 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /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:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/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 @@ -2391,7 +2391,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "Book Cover" msgstr "" @@ -2400,28 +2400,28 @@ msgid "Use cover from &source file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "Change &cover image:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Browse for an image to use as the cover of this book." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:352 msgid "&Title: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:353 msgid "Change the title of this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356 msgid "&Author(s): " msgstr "" @@ -2435,24 +2435,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 msgid "&Publisher: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "Ta&gs: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:150 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 msgid "&Series:" msgstr "" @@ -2460,13 +2460,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:151 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:152 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 msgid "List of known series. You can add new series." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "Book " msgstr "" @@ -2581,7 +2581,7 @@ msgid "RB Output" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1321 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 msgid "Choose the format to view" msgstr "" @@ -3074,7 +3074,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1005 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1007 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -3086,7 +3086,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:115 msgid "Formats" msgstr "" @@ -3189,7 +3189,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:788 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:140 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1004 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1005 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 msgid "Error" msgstr "" @@ -3259,7 +3259,7 @@ msgid "Access log:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:645 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 msgid "Failed to start content server" msgstr "" @@ -3739,7 +3739,7 @@ msgid "Edit Meta information" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:351 msgid "Meta information" msgstr "" @@ -3752,24 +3752,24 @@ msgid "Author s&ort: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:138 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:358 msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:140 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Rating of this book. 0-5 stars" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:142 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid " stars" msgstr "" @@ -3779,8 +3779,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:146 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "Open Tag Editor" msgstr "" @@ -3830,114 +3830,122 @@ msgstr "" msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:467 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:476 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:490 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:491 msgid "<b>Could not fetch cover.</b><br/>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:485 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:497 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:498 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:538 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:539 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:592 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:350 msgid "Edit Meta Information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:354 msgid "Swap the author and title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:347 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 msgid "Automatically create the author sort entry based on the current author entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "Remove unused series (Series that have no books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "IS&BN:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Publishe&d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 -msgid "&Comments" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +msgid "dd MMM yyyy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 -msgid "&Fetch metadata from server" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 -msgid "Available Formats" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 -msgid "Add a new format for this book to the database" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 -msgid "Remove the selected formats for this book from the database." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 -msgid "Set the cover for the book from the selected format" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 -msgid "Update metadata from the metadata in the selected format" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +msgid "&Date:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 -msgid "Reset cover to default" +msgid "&Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +msgid "&Fetch metadata from server" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +msgid "Available Formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +msgid "Add a new format for this book to the database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +msgid "Remove the selected formats for this book from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +msgid "Set the cover for the book from the selected format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +msgid "Update metadata from the metadata in the selected format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +msgid "Reset cover to default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 msgid "Download &cover" msgstr "" @@ -4493,12 +4501,12 @@ msgid " - Jobs" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1068 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1070 msgid "Size (MB)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:161 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1069 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1071 msgid "Date" msgstr "" @@ -4517,19 +4525,19 @@ msgstr "" msgid "Book <font face=\"serif\">%s</font> of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:834 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 msgid "Dropping onto a device is not supported. First add the book to the calibre library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1004 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1006 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1058 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1060 msgid "Double click to <b>edit</b> me<br><br>" msgstr "" @@ -4683,7 +4691,7 @@ msgid "Save to disk in a single directory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1423 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1424 msgid "Save only %s format to disk" msgstr "" @@ -4712,42 +4720,42 @@ msgstr "" msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:424 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:426 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:477 msgid "Calibre Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1566 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1567 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:723 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:724 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:725 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:726 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:748 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:759 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:760 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:760 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:761 msgid "" "\n" " <p>The database of books on the reader is corrupted. Try the following:\n" @@ -4758,297 +4766,297 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:880 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:845 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:846 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:847 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:849 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:849 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:850 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:850 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:851 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:852 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:853 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:854 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:888 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:890 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:909 msgid "The selected books will be <b>permanently deleted</b> and the files removed from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:936 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:967 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:967 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1015 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1048 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:968 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1016 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1074 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1186 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 msgid "covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 msgid "metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 msgid "Downloading %s for %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1000 msgid "Failed to download some metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1001 msgid "Failed to download metadata for the following:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1004 msgid "Failed to download metadata:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1014 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1047 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1048 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1072 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1075 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1076 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 msgid "Error while saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1104 msgid "There was an error while saving." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1110 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1111 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 msgid "Could not save some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 msgid "Click the show details button to see which ones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1131 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1132 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1144 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1145 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1185 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1315 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1334 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1316 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1335 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1315 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1365 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1316 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1366 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1334 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1350 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1351 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1351 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1352 msgid "You are attempting to open %d books. Opening too many books at once can be slow and have a negative effect on the responsiveness of your computer. Once started the process cannot be stopped until complete. Do you wish to continue?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1367 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1407 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1408 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1408 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1409 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1451 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1452 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1452 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1453 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1504 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1505 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1505 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1506 msgid "There was a temporary error talking to the device. Please unplug and reconnect the device and or reboot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1528 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1530 msgid "<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1548 msgid "<b>Failed</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1575 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1576 msgid "Invalid library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1576 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1577 msgid "Could not access %s. Using %s as the library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1624 msgid "is the result of the efforts of many volunteers from all over the world. If you find it useful, please consider donating to support its development." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1647 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1648 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1650 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1651 msgid "" " is communicating with the device!<br>\n" " Quitting may cause corruption on the device.<br>\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1654 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1655 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1705 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1706 msgid "will keep running in the system tray. To close it, choose <b>Quit</b> in the context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1724 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1725 msgid "<span style=\"color:red; font-weight:bold\">Latest version: <a href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1732 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1733 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1733 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1734 msgid "%s has been updated to version %s. See the <a href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1751 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1752 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1753 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1754 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1755 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1756 msgid "Log debugging information to console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1757 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1758 msgid "Do not check for updates" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1805 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1806 msgid "If you are sure it is not running" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1807 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1808 msgid "Cannot Start " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1808 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1809 msgid "%s is already running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1812 msgid "may be running in the system tray, in the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1813 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1814 msgid "upper right region of the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1815 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1816 msgid "lower right region of the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1818 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1819 msgid "try rebooting your computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1820 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1832 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1821 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1833 msgid "try deleting the file" msgstr "" @@ -5226,11 +5234,11 @@ msgstr "" msgid "Click to browse books by tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:115 msgid "Authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:115 msgid "Publishers" msgstr "" @@ -6126,27 +6134,27 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1565 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1567 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1594 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1596 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1611 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1613 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1699 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1701 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1736 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1738 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1760 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1762 msgid "Checked id" msgstr "" @@ -6480,6 +6488,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lamujerdemivida.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_laprensa_ni.py:64 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_monitor.py:79 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:95 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:84 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_republika.py:67 msgid "Fetching feed" @@ -6499,50 +6508,50 @@ msgstr "" msgid "Skipping filtered article: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:452 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:458 msgid "" "%prog URL\n" "\n" "Where URL is for example http://google.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:455 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:461 msgid "Base directory into which URL is saved. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:458 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:464 msgid "Timeout in seconds to wait for a response from the server. Default: %default s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:461 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:467 msgid "Maximum number of levels to recurse i.e. depth of links to follow. Default %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:464 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:470 msgid "The maximum number of files to download. This only applies to files from <a href> tags. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:466 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:472 msgid "Minimum interval in seconds between consecutive fetches. Default is %default s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:468 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:474 msgid "The character encoding for the websites you are trying to download. The default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:470 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:476 msgid "Only links that match this regular expression will be followed. This option can be specified multiple times, in which case as long as a link matches any one regexp, it will be followed. By default all links are followed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:472 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:478 msgid "Any link that matches this regular expression will be ignored. This option can be specified multiple times, in which case as long as any regexp matches a link, it will be ignored.By default, no links are ignored. If both --filter-regexp and --match-regexp are specified, then --filter-regexp is applied first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:474 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:480 msgid "Do not download CSS stylesheets." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:475 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:481 msgid "Show detailed output information. Useful for debugging" msgstr "" From 52762051ead8434ad8466803ad204283f6d04a99 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 29 Sep 2009 14:44:00 -0600 Subject: [PATCH 38/42] Fix IndexError when adding books, or conversion completes --- src/calibre/gui2/tag_view.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 6a759f1bbb..4a6545053e 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -176,7 +176,11 @@ class TagsModel(QAbstractItemModel): else: parent_item = parent.internalPointer() - child_item = parent_item.children[row] + try: + child_item = parent_item.children[row] + except IndexError: + return QModelIndex() + ans = self.createIndex(row, column, child_item) return ans From f95cf79346613bda029f6ea84dd68827e707bf7c Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 29 Sep 2009 14:44:29 -0600 Subject: [PATCH 39/42] Fix #3618 (libfontconfig.1.dylib picked up from wrong location) --- setup/installer/osx/freeze.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup/installer/osx/freeze.py b/setup/installer/osx/freeze.py index 8164cd22f8..1c0e766d21 100644 --- a/setup/installer/osx/freeze.py +++ b/setup/installer/osx/freeze.py @@ -253,6 +253,10 @@ os.execv(python, args) dest = os.path.join(frameworks_dir, os.path.basename(x)) popps.append(dest) shutil.copy2(os.path.join('/Volumes/sw', x), dest) + subprocess.check_call(['install_name_tool', '-change', + '/usr/local/lib/libfontconfig.1.dylib', + '@executable_path/../Frameworks/libfontconfig.1.dylib', + os.path.join(frameworks_dir, 'pdftohtml')]) x ='libpng12.0.dylib' shutil.copy2('/usr/local/lib/'+x, frameworks_dir) subprocess.check_call(['install_name_tool', '-id', From 20657414927144daca297cec6b8f7f9447d9df44 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 29 Sep 2009 14:45:14 -0600 Subject: [PATCH 40/42] IGN: Bump poppler dependency to 0.12.0 --- src/calibre/trac/plugins/download.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/trac/plugins/download.py b/src/calibre/trac/plugins/download.py index 58df7fdb88..75ea6a5913 100644 --- a/src/calibre/trac/plugins/download.py +++ b/src/calibre/trac/plugins/download.py @@ -19,7 +19,7 @@ DEPENDENCIES = [ ('python-dateutil', '1.4.1', 'python-dateutil', 'python-dateutil', 'python-dateutil'), ('BeautifulSoup', '3.0.5', 'beautifulsoup', 'python-beautifulsoup', 'python-BeautifulSoup'), ('dnspython', '1.6.0', 'dnspython', 'dnspython', 'dnspython', 'dnspython'), - ('poppler-qt4', '0.10.6', 'poppler-qt4', 'poppler-qt4', 'poppler-qt4', 'poppler-qt4'), + ('poppler', '0.12.0', 'poppler', 'poppler', 'poppler', 'poppler'), ('podofo', '0.7', 'podofo', 'podofo', 'podofo', 'podofo'), ('libwmf', '0.2.8', 'libwmf', 'libwmf', 'libwmf', 'libwmf'), ] From 6e67d1dfba617c7cd273ee000a8ea631f231ff28 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 29 Sep 2009 14:46:05 -0600 Subject: [PATCH 41/42] IGN:Fix pdftohtml crashing on 64-bit windows --- setup/installer/windows/freeze.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 03b0d09096..10bd05000b 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -194,8 +194,8 @@ class BuildEXE(bc): print '\tAdding unrar' shutil.copyfile(LIBUNRAR, os.path.join(PY2EXE_DIR, os.path.basename(LIBUNRAR))) print '\tAdding poppler' - for x in (r'utils\Release\pdftohtml.exe',): - shutil.copyfile(os.path.join(POPPLER, x), + for x in (r'pdftohtml.exe', 'freetype.dll'): + shutil.copyfile(os.path.join(r'C:\cygwin\home\kovid\poppler-old\bin', x), os.path.join(PY2EXE_DIR, os.path.basename(x))) for x in ('jpeg62', 'zlib1', 'libpng12'): shutil.copy2(os.path.join(GNUWIN32, 'bin', x+'.dll'), PY2EXE_DIR) From afd8cf61af3575aae664471500a3f066ad6a9cbe Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 29 Sep 2009 14:52:12 -0600 Subject: [PATCH 42/42] IGN:Improved Salon.com recipe --- src/calibre/web/feeds/recipes/recipe_salon.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/calibre/web/feeds/recipes/recipe_salon.py b/src/calibre/web/feeds/recipes/recipe_salon.py index a13acb8ad3..ed7ec98f10 100644 --- a/src/calibre/web/feeds/recipes/recipe_salon.py +++ b/src/calibre/web/feeds/recipes/recipe_salon.py @@ -8,6 +8,7 @@ __docformat__ = 'restructuredtext en' from calibre.web.feeds.news import BasicNewsRecipe + class Salon_com(BasicNewsRecipe): title = 'Salon.com' __author__ = 'cix3' @@ -23,19 +24,23 @@ class Salon_com(BasicNewsRecipe): remove_tags_before = dict(name='h2') feeds = [ - ('All News & Politics', 'http://feeds.salon.com/salon/news'), + ('News & Politics', 'http://feeds.salon.com/salon/news'), ('War Room', 'http://feeds.salon.com/salon/war_room'), - ('All Arts & Entertainment', 'http://feeds.salon.com/salon/ent'), + ('Arts & Entertainment', 'http://feeds.salon.com/salon/ent'), ('I Like to Watch', 'http://feeds.salon.com/salon/iltw'), + ('Beyond Multiplex', 'http://feeds.salon.com/salon/btm'), ('Book Reviews', 'http://feeds.salon.com/salon/books'), - ('All Life stories', 'http://feeds.salon.com/salon/mwt'), - ('Broadsheet', 'http://feeds.salon.com/salon/broadsheet'), + ('All Life', 'http://feeds.salon.com/salon/mwt'), ('All Opinion', 'http://feeds.salon.com/salon/opinion'), + ('Glenn Greenwald', 'http://feeds.salon.com/salon/greenwald'), + ('Garrison Keillor', 'http://dir.salon.com/topics/garrison_keillor/index.rss'), + ('Joan Walsh', 'http://www.salon.com/rss/walsh.rss'), ('All Sports', 'http://feeds.salon.com/salon/sports'), - ('All Tech & Business', 'http://feeds.salon.com/salon/tech'), - ('Ask the Pilot', 'http://feeds.salon.com/salon/ask_the_pilot'), - ('How the World Works', 'http://feeds.salon.com/salon/htww') + ('Tech & Business', 'http://feeds.salon.com/salon/tech'), + ('How World Works', 'http://feeds.salon.com/salon/htww') ] def print_version(self, url): return url.replace('/index.html', '/print.html') + +