From c3c60ec8a82f0e86e8d057337bdc971a01d51782 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Fri, 23 Nov 2012 05:06:08 +0000 Subject: [PATCH 01/63] Launchpad automatic translations update. --- src/calibre/translations/af.po | 54 +++++----- src/calibre/translations/ar.po | 54 +++++----- src/calibre/translations/ast.po | 54 +++++----- src/calibre/translations/az.po | 54 +++++----- src/calibre/translations/ber.po | 54 +++++----- src/calibre/translations/bg.po | 54 +++++----- src/calibre/translations/bn.po | 54 +++++----- src/calibre/translations/br.po | 54 +++++----- src/calibre/translations/bs.po | 54 +++++----- src/calibre/translations/ca.po | 54 +++++----- src/calibre/translations/cs.po | 54 +++++----- src/calibre/translations/cy.po | 54 +++++----- src/calibre/translations/da.po | 54 +++++----- src/calibre/translations/de.po | 54 +++++----- src/calibre/translations/el.po | 54 +++++----- src/calibre/translations/en_AU.po | 54 +++++----- src/calibre/translations/en_CA.po | 54 +++++----- src/calibre/translations/en_GB.po | 54 +++++----- src/calibre/translations/eo.po | 54 +++++----- src/calibre/translations/es.po | 54 +++++----- src/calibre/translations/et.po | 54 +++++----- src/calibre/translations/eu.po | 54 +++++----- src/calibre/translations/fa.po | 54 +++++----- src/calibre/translations/fi.po | 54 +++++----- src/calibre/translations/fo.po | 54 +++++----- src/calibre/translations/fr.po | 72 ++++++++------ src/calibre/translations/fr_CA.po | 54 +++++----- src/calibre/translations/fur.po | 54 +++++----- src/calibre/translations/gl.po | 54 +++++----- src/calibre/translations/gu.po | 54 +++++----- src/calibre/translations/he.po | 54 +++++----- src/calibre/translations/hi.po | 54 +++++----- src/calibre/translations/him.po | 54 +++++----- src/calibre/translations/hr.po | 54 +++++----- src/calibre/translations/hu.po | 54 +++++----- src/calibre/translations/id.po | 54 +++++----- src/calibre/translations/is.po | 54 +++++----- src/calibre/translations/it.po | 54 +++++----- src/calibre/translations/ja.po | 141 ++++++++++++++++----------- src/calibre/translations/jv.po | 54 +++++----- src/calibre/translations/ka.po | 54 +++++----- src/calibre/translations/kn.po | 54 +++++----- src/calibre/translations/ko.po | 54 +++++----- src/calibre/translations/ku.po | 54 +++++----- src/calibre/translations/lt.po | 54 +++++----- src/calibre/translations/ltg.po | 54 +++++----- src/calibre/translations/lv.po | 54 +++++----- src/calibre/translations/mk.po | 54 +++++----- src/calibre/translations/ml.po | 54 +++++----- src/calibre/translations/mr.po | 54 +++++----- src/calibre/translations/ms.po | 54 +++++----- src/calibre/translations/nb.po | 54 +++++----- src/calibre/translations/nds.po | 54 +++++----- src/calibre/translations/nl.po | 54 +++++----- src/calibre/translations/nn.po | 54 +++++----- src/calibre/translations/oc.po | 54 +++++----- src/calibre/translations/pa.po | 54 +++++----- src/calibre/translations/pl.po | 90 ++++++++++------- src/calibre/translations/pt.po | 54 +++++----- src/calibre/translations/pt_BR.po | 54 +++++----- src/calibre/translations/ro.po | 54 +++++----- src/calibre/translations/ru.po | 54 +++++----- src/calibre/translations/sc.po | 54 +++++----- src/calibre/translations/si.po | 54 +++++----- src/calibre/translations/sk.po | 54 +++++----- src/calibre/translations/sl.po | 54 +++++----- src/calibre/translations/sq.po | 54 +++++----- src/calibre/translations/sr.po | 54 +++++----- src/calibre/translations/sr@latin.po | 54 +++++----- src/calibre/translations/sv.po | 54 +++++----- src/calibre/translations/ta.po | 54 +++++----- src/calibre/translations/te.po | 54 +++++----- src/calibre/translations/th.po | 54 +++++----- src/calibre/translations/tr.po | 54 +++++----- src/calibre/translations/uk.po | 88 ++++++++++------- src/calibre/translations/ur.po | 54 +++++----- src/calibre/translations/vi.po | 54 +++++----- src/calibre/translations/wa.po | 54 +++++----- src/calibre/translations/yi.po | 54 +++++----- src/calibre/translations/zh_CN.po | 54 +++++----- src/calibre/translations/zh_HK.po | 54 +++++----- src/calibre/translations/zh_TW.po | 54 +++++----- 82 files changed, 2646 insertions(+), 1957 deletions(-) diff --git a/src/calibre/translations/af.po b/src/calibre/translations/af.po index daaacd39f3..b21f5f8614 100644 --- a/src/calibre/translations/af.po +++ b/src/calibre/translations/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-14 16:03+0000\n" "Last-Translator: Albé Theunissen \n" "Language-Team: Afrikaans \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:45+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:45+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12624,12 +12624,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17229,87 +17229,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17620,6 +17616,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 07b63058fb..5b83736020 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: iso_639_3\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/calibre\n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-31 19:43+0000\n" "Last-Translator: mourad \n" "Language-Team: awadh alghaamdi \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:45+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SAUDI ARABIA\n" "Language: ar\n" @@ -12876,12 +12876,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "الصفحة التالية" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "الصفحة السابقة" @@ -17474,87 +17474,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "القسم التالي" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "القسم السابق" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17865,6 +17861,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ast.po b/src/calibre/translations/ast.po index 2080c3d053..ca362124f8 100644 --- a/src/calibre/translations/ast.po +++ b/src/calibre/translations/ast.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-09-26 16:28+0000\n" "Last-Translator: Xandru \n" "Language-Team: Asturian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12593,12 +12593,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17198,87 +17198,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17589,6 +17585,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/az.po b/src/calibre/translations/az.po index 2c43a876b6..56dea90b55 100644 --- a/src/calibre/translations/az.po +++ b/src/calibre/translations/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-07 14:00+0000\n" "Last-Translator: Emin Mastizadeh \n" "Language-Team: Azerbaijani \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12591,12 +12591,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17196,87 +17196,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17587,6 +17583,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ber.po b/src/calibre/translations/ber.po index 1db3393900..f0942ca0a0 100644 --- a/src/calibre/translations/ber.po +++ b/src/calibre/translations/ber.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-14 04:57+0000\n" "Last-Translator: Walid AMMOU \n" "Language-Team: Berber (Other) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index bf363b69b5..27a9033041 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-24 13:23+0000\n" "Last-Translator: Nelly Hoang \n" "Language-Team: bg\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:48+0000\n" "X-Generator: Launchpad (build 16293)\n" "Generated-By: pygettext.py 1.5\n" @@ -12699,12 +12699,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Следваща страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Предишна страница" @@ -17306,87 +17306,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17697,6 +17693,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/bn.po b/src/calibre/translations/bn.po index c21843bc72..88abd9f21f 100644 --- a/src/calibre/translations/bn.po +++ b/src/calibre/translations/bn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-04-12 14:19+0000\n" "Last-Translator: Shahnoor Ashraf \n" "Language-Team: Bengali \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/br.po b/src/calibre/translations/br.po index b284a84f74..1250b6968c 100644 --- a/src/calibre/translations/br.po +++ b/src/calibre/translations/br.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-13 04:22+0000\n" "Last-Translator: Denis \n" "Language-Team: Breton \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12593,12 +12593,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17198,87 +17198,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17589,6 +17585,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po index 52ca1be508..59fd91bc9e 100644 --- a/src/calibre/translations/bs.po +++ b/src/calibre/translations/bs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-01-02 13:31+0000\n" "Last-Translator: Kenan Dervišević \n" "Language-Team: Bosnian \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12594,12 +12594,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17203,87 +17203,83 @@ msgstr "" msgid "No results found for:" msgstr "Nema rezultata za:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Pog&ledaj u rječniku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "Traži &sljedeće pojavljivanje" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Idi na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Sljedeća sekcija" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Prethodna sekcija" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Početak dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Kraj dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Početak sekcije" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Kraj sekcije" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17594,6 +17590,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Testno ime je netačno" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 774a5e1c45..f8b240bc12 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-10 17:12+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:48+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:48+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -14163,12 +14163,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra d'eines del visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Pàgina següent" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Pàgina anterior" @@ -19450,87 +19450,83 @@ msgstr "&Temes" msgid "No results found for:" msgstr "No hi ha resultats per a:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Cerca al diccionari" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Visualitza una &imatge" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Cerca la coincidència següent" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Vés a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Propera secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Secció anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Inici del document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Final del document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Inici de la secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Final de la secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "A&tansa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "A&llunya" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "&Desa com a" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Rota" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Trieu en quin fitxer es desarà" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Visualitza la imatge: %s" @@ -19860,6 +19856,18 @@ msgstr "No s'ha pogut renderitzar" msgid "Failed to render document %s" msgstr "No s'ha pogut renderitzar el document %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Nom de prova no vàlid" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 989002df2d..fbd79359a1 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-31 12:00+0000\n" "Last-Translator: Štěpán Krb \n" "Language-Team: Czech \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:48+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:48+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13377,12 +13377,12 @@ msgid "LRF Viewer toolbar" msgstr "Nástrojová išta prohlížeče LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Následující strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Předcházející strana" @@ -18079,87 +18079,83 @@ msgstr "" msgid "No results found for:" msgstr "Žádné výsledky nenalezeny pro:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Podívat do slovníku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Přejít na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Další sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Předchozí sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Začátek dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Konec dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Začátek sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Konec sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18477,6 +18473,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/cy.po b/src/calibre/translations/cy.po index e176bbb556..f3802e9014 100644 --- a/src/calibre/translations/cy.po +++ b/src/calibre/translations/cy.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-02-26 20:21+0000\n" "Last-Translator: Rachael Munns \n" "Language-Team: Welsh \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? " "2 : 3;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12599,12 +12599,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17204,87 +17204,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17595,6 +17591,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index cbb6550133..99b6cffd4b 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-13 17:59+0000\n" "Last-Translator: Jens Holm \n" "Language-Team: Danish \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:48+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13137,12 +13137,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF-viser værktøjslinje" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Næste side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Forrige side" @@ -17871,87 +17871,83 @@ msgstr "" msgid "No results found for:" msgstr "Ingen resultater fundet for:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Opslag i ordbog" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Gå til..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Næste sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Forrige sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Dokument start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Dokument slut" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Sektion start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Sektion slut" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18267,6 +18263,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 62b6e73c16..55c0c42aca 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-16 12:55+0000\n" "Last-Translator: Dennis Baudys \n" "Language-Team: American English \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Bookmarks: 3327,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -14255,12 +14255,12 @@ msgid "LRF Viewer toolbar" msgstr "Symbolleiste des LRF-Betrachters" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Nächste Seite" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Vorherige Seite" @@ -19580,87 +19580,83 @@ msgstr "&Themes" msgid "No results found for:" msgstr "Kein Ergebnis gefunden für:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Im Wörterbuch nachsch&lagen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Betrachte Bild..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Suche nach dem nächsten Vorkommen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Gehe zu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Nächster Abschnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Vorheriger Abschnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Beginn des Dokuments" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Ende des Dokuments" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Beginn des Abschnitts" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Ende des Abschnitts" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Vergrößern" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Verkleinern" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "Speichern als" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "D&rehen" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Wählen Sie eine Datei zum speichern" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Zeige Bild: %s" @@ -19991,6 +19987,18 @@ msgstr "Darstellen fehlgeschlagen" msgid "Failed to render document %s" msgstr "Dokument %s konnte nicht dargestellt werden" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Testname ungültig" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 0808b4fcde..0fa1000a5e 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-08 01:50+0000\n" "Last-Translator: Monopatis Dimitris \n" "Language-Team: Greek \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12806,12 +12806,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Επόμενη Σελίδα" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Προηγούμενη Σελίδα" @@ -17411,87 +17411,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Μετάβαση στο..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Επόμενο τμήμα" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Προηγούμενο τμήμα" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17802,6 +17798,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/en_AU.po b/src/calibre/translations/en_AU.po index 1a62d43a9b..fd085dd0c5 100644 --- a/src/calibre/translations/en_AU.po +++ b/src/calibre/translations/en_AU.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-14 23:02+0000\n" "Last-Translator: Cruz Bishop \n" "Language-Team: English (Australia) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:06+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12593,12 +12593,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17198,87 +17198,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17589,6 +17585,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/en_CA.po b/src/calibre/translations/en_CA.po index 6dca41d36d..00177017b2 100644 --- a/src/calibre/translations/en_CA.po +++ b/src/calibre/translations/en_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 17:28+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: English (Canada) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:06+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12664,12 +12664,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17269,87 +17269,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17660,6 +17656,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index 01707fabe0..fb5b11fc44 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-05-28 15:00+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: English (United Kingdom) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13703,12 +13703,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Viewer toolbar" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Next Page" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Previous Page" @@ -18829,87 +18829,83 @@ msgstr "" msgid "No results found for:" msgstr "No results found for:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Lookup in dictionary" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Search for next occurrence" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Go to..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Next Section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Previous Section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Document Start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Document End" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Section Start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Section End" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -19229,6 +19225,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Test name invalid" diff --git a/src/calibre/translations/eo.po b/src/calibre/translations/eo.po index 6f9f27ac54..c4e145f3d6 100644 --- a/src/calibre/translations/eo.po +++ b/src/calibre/translations/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-03 13:00+0000\n" "Last-Translator: Cyril \n" "Language-Team: Esperanto \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12619,12 +12619,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17224,87 +17224,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17615,6 +17611,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 9e07c8abdd..171c08f6c2 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-10 09:09+0000\n" "Last-Translator: Jellby \n" "Language-Team: Español; Castellano <>\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:00+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:533 @@ -14150,12 +14150,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de herramientas del visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Página siguiente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Página anterior" @@ -19400,87 +19400,83 @@ msgstr "&Temas" msgid "No results found for:" msgstr "No hay resultados para:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Localizar en el diccionario" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Ver &imagen..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Buscar ocurrencia siguiente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Ir a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Siguiente sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Sección anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Inicio del documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Final del documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Inicio de la sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Final de la sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "A&cercar" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "A&lejar" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "&Guardar como" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Rotar" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Elija un archivo donde guardar" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Ver imagen: %s" @@ -19808,6 +19804,18 @@ msgstr "Fallo al procesar" msgid "Failed to render document %s" msgstr "No se pudo procesar el documento %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Nombre de prueba no válido" diff --git a/src/calibre/translations/et.po b/src/calibre/translations/et.po index fe99770fb8..445bce1cea 100644 --- a/src/calibre/translations/et.po +++ b/src/calibre/translations/et.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-05-02 00:16+0000\n" "Last-Translator: Kaur Alasoo \n" "Language-Team: Estonian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12612,12 +12612,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17217,87 +17217,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17608,6 +17604,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index f8ceb1be79..bfff26ec5e 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-19 23:30+0000\n" "Last-Translator: Ander Martínez \n" "Language-Team: http://librezale.org/wiki/Calibre\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: eu\n" @@ -13546,12 +13546,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Ikustailearen tresna-barra" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Hurrengo orrialdea" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Aurreko orrialdea" @@ -18373,87 +18373,83 @@ msgstr "" msgid "No results found for:" msgstr "Ez da emaitzik aurkitu honetarako:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Bilatu hiztegian" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Joan horra..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Hurrengo atala" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Aurreko atala" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Documentuaren hasiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Documentuaren bukaera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Atalaren hasiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Atalaren amaiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18771,6 +18767,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/fa.po b/src/calibre/translations/fa.po index 9f22907803..e99a8d4454 100644 --- a/src/calibre/translations/fa.po +++ b/src/calibre/translations/fa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-06-07 03:13+0000\n" "Last-Translator: Farhood M,K, Kiazand \n" "Language-Team: Persian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12617,12 +12617,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17222,87 +17222,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17613,6 +17609,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po index 9fc2745433..569532dee5 100644 --- a/src/calibre/translations/fi.po +++ b/src/calibre/translations/fi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-05 18:06+0000\n" "Last-Translator: Harry Salmimaa \n" "Language-Team: Finnish \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12703,12 +12703,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Seuraava sivu" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17308,87 +17308,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Seuraava osio" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17699,6 +17695,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/fo.po b/src/calibre/translations/fo.po index 93a57820fc..6bc6bbd9aa 100644 --- a/src/calibre/translations/fo.po +++ b/src/calibre/translations/fo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 17:17+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Faroese \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index edef034f7e..4684735c9c 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" -"PO-Revision-Date: 2012-11-17 19:54+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" +"PO-Revision-Date: 2012-11-22 20:53+0000\n" "Last-Translator: sengian \n" "Language-Team: PCGen\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" @@ -6038,7 +6038,7 @@ msgstr "Trop long" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "Introuvable" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -14367,12 +14367,12 @@ msgid "LRF Viewer toolbar" msgstr "Barre d’outil pour le visionneur LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Page suivante" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Page précédente" @@ -18569,7 +18569,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "Pas de requête" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." @@ -18597,15 +18597,15 @@ msgstr "Obtenir Des Livres" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Recherche par titre" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Recherche par uteur" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "Mot &clé :" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" @@ -19740,87 +19740,83 @@ msgstr "&Thème" msgid "No results found for:" msgstr "Aucun résultat trouvé pour :" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Rechercher dans le dictionnaire" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Voir l'&image..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Voir la &table..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Chercher la prochaine occurrence" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Aller vers…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Section suivante" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Section précédente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Début du document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Fin du document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Début de la section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Fin de la section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Taille de police normale" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "Ch&ercher sur Google %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Zoom &avant" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Zoom a&rrière" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "Enregi&strer sous" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Rotation" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Choisissez un fichier dans lequel enregistrer" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Voir l'Image : %s" @@ -20151,6 +20147,18 @@ msgstr "Echec du rendu" msgid "Failed to render document %s" msgstr "Echec du rendu du document %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Nom de test invalide" diff --git a/src/calibre/translations/fr_CA.po b/src/calibre/translations/fr_CA.po index 4553ed3799..d14eae88fe 100644 --- a/src/calibre/translations/fr_CA.po +++ b/src/calibre/translations/fr_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-03-30 13:27+0000\n" "Last-Translator: Richard Boudreau \n" "Language-Team: French (Canada) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12639,12 +12639,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17244,87 +17244,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17635,6 +17631,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/fur.po b/src/calibre/translations/fur.po index 0a737329af..60c377c340 100644 --- a/src/calibre/translations/fur.po +++ b/src/calibre/translations/fur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-14 15:48+0000\n" "Last-Translator: Mauro Ermacora \n" "Language-Team: Friulian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12590,12 +12590,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17195,87 +17195,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17586,6 +17582,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index f140cbc453..9a0a3f6d90 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-09 23:06+0000\n" "Last-Translator: ghas \n" "Language-Team: dev@gl.openoffice.org\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: gl\n" @@ -13503,12 +13503,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de ferramentas do visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Páxina seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Páxina anterior" @@ -18465,87 +18465,83 @@ msgstr "" msgid "No results found for:" msgstr "Non se atoparon resultados para:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Buscar no dicionario" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Ir a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Sección seguinte" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Sección anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Inicio do documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Final do documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Inicio da sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Final da sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18862,6 +18858,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/gu.po b/src/calibre/translations/gu.po index 17569cf1e5..aed8cde5d0 100644 --- a/src/calibre/translations/gu.po +++ b/src/calibre/translations/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-20 06:46+0000\n" "Last-Translator: Hasit Bhatt \n" "Language-Team: Gujarati \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 7244e8c2dd..824031122b 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-18 17:43+0000\n" "Last-Translator: Tal Nisan \n" "Language-Team: Hebrew \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12639,12 +12639,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17244,87 +17244,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17635,6 +17631,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/hi.po b/src/calibre/translations/hi.po index 24ac018d47..66464c888e 100644 --- a/src/calibre/translations/hi.po +++ b/src/calibre/translations/hi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-03-18 12:52+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: Hindi \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12592,12 +12592,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17197,87 +17197,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17588,6 +17584,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/him.po b/src/calibre/translations/him.po index d879346f04..d2f61d9423 100644 --- a/src/calibre/translations/him.po +++ b/src/calibre/translations/him.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-23 13:49+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Himachali \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index ddbb371f1a..c25bbcbfb4 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-05-04 13:42+0000\n" "Last-Translator: Tomislav Pešut \n" "Language-Team: Croatian \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:00+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:59+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12861,12 +12861,12 @@ msgid "LRF Viewer toolbar" msgstr "Alatna Traka LRF Preglednika" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Slijedeća Stranica" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Prethodna Stranica" @@ -17507,87 +17507,83 @@ msgstr "" msgid "No results found for:" msgstr "Nema pronađenih rezultata za:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Pogledaj u rječniku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Idi na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17903,6 +17899,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 6428fe0678..ccf0a9270d 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-05 17:38+0000\n" "Last-Translator: Devilinside \n" "Language-Team: Hungarian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13878,12 +13878,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF olvasó eszköztár" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Következő oldal" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Előző oldal" @@ -19043,87 +19043,83 @@ msgstr "" msgid "No results found for:" msgstr "Nincs találat a következőre:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Keresés szótárban" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "A &következő előfordulás keresése" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Ugrás…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Következő szakasz" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Előző szakasz" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Dokumentum eleje" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Dokumentum vége" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Szakasz eleje" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Szakasz vége" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Nagyítás" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Kicsinyítés" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "&Mentés másként" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Kép megtekintése: %s" @@ -19444,6 +19440,18 @@ msgstr "Sikertelen a renderelés" msgid "Failed to render document %s" msgstr "Nem sikerült a következő dokumentum renderelése: %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "A tesztnév érvénytelen" diff --git a/src/calibre/translations/id.po b/src/calibre/translations/id.po index 22eee8f99b..b0068171ea 100644 --- a/src/calibre/translations/id.po +++ b/src/calibre/translations/id.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-01-18 11:51+0000\n" "Last-Translator: Amri Ristadi \n" "Language-Team: Indonesian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12615,12 +12615,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17220,87 +17220,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17611,6 +17607,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/is.po b/src/calibre/translations/is.po index 76bf9b50ab..0a90e4ac46 100644 --- a/src/calibre/translations/is.po +++ b/src/calibre/translations/is.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: 20120515-src_calibre_translations_calibre-is\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-05-23 19:33+0000\n" "Last-Translator: Sveinn í Felli \n" "Language-Team: Icelandic \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12589,12 +12589,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17194,87 +17194,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17585,6 +17581,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index c42fbd4bbe..700e80084f 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-03 01:20+0000\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: it\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" @@ -14103,12 +14103,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra degli strumenti visualizzatore LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Pagina successiva" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Pagina precedente" @@ -19271,87 +19271,83 @@ msgstr "&Temi" msgid "No results found for:" msgstr "Nessun risultato trovato per:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Cerca ne&l dizionario" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Visualizza &immagine..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "Cerca l'occorrenza &successiva" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Vai a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Sezione successiva" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Sezione precedente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Inizio documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Fine documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Inizio sezione" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Fine sezione" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Ingrandisci" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Rimpicci&olisci" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "&Salva come" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Ruota" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Scegli un file da salvare" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Visualizza immagine: %s" @@ -19680,6 +19676,18 @@ msgstr "Interpretazione non riuscita" msgid "Failed to render document %s" msgstr "Interpretazione del documento %s non riuscita" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Nome del test non valido" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index 321f9ffd4b..cd99123f93 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" -"PO-Revision-Date: 2012-10-01 17:40+0000\n" -"Last-Translator: Shushi Kurose \n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" +"PO-Revision-Date: 2012-11-23 04:23+0000\n" +"Last-Translator: Ado Nishimura \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -615,13 +615,13 @@ msgstr "calibreが電子書籍の書誌情報を、ネットからダウンロ #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "無視するデバイス" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." -msgstr "" +msgstr "デバイスがコンピューターに接続されたときに、どのデバイスを無視するのかを設定します。" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 @@ -838,7 +838,7 @@ msgstr "Amazon Kindle DX用のプロファイルです。" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "このプロファイルはAmazon Kindle ペーパーホワイト用です。" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." @@ -903,7 +903,7 @@ msgid "" "For plugin developers: Path to the directory where you are developing the " "plugin. This command will automatically zip up the plugin and update it in " "calibre." -msgstr "" +msgstr "プラグイン開発者へ: 開発しているプラグインへのパス。このコマンドはプラグインを自動的にzip圧縮しCalibre上のものも更新します。" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:626 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" @@ -985,13 +985,13 @@ msgstr "Androidフォンと通信します。" msgid "" "Comma separated list of directories to send e-books to on the device's " "main memory. The first one that exists will be used" -msgstr "" +msgstr "デバイスメインメモリー上のe-bookの送り先ディレクトリ、のカンマ区切りのリスト。最初に見つかったものが使われます。" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:201 msgid "" "Comma separated list of directories to send e-books to on the device's " "storage cards. The first one that exists will be used" -msgstr "" +msgstr "デバイスストレージ・カード上のe-bookの送り先ディレクトリ、のカンマ区切りのリスト。最初に見つかったものが使われます。" #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:316 msgid "Communicate with S60 phones." @@ -1100,6 +1100,9 @@ msgid "" "href=\"http://www.mobileread.com/forums/showpost.php?p=2113958&postcount=3\">" "forum post for more information.

" msgstr "" +"

iTunesと通信できません。

より詳細な情報は" +"この投稿を参照してください。

" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:382 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:385 @@ -1338,7 +1341,7 @@ msgstr "PocketBook 602/603/902/903リーダーと通信します。" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:257 msgid "Communicate with the PocketBook 622 reader." -msgstr "" +msgstr "PocketBook 622リーダーと通信" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:270 msgid "Communicate with the PocketBook 360+ reader." @@ -1506,7 +1509,7 @@ msgstr "場所:%(dl)d • %(typ)s
" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289 msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader." -msgstr "" +msgstr "Kindle 2/3/4/Touch/PaperWhite eBookリーダーと通信" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" @@ -1547,6 +1550,8 @@ msgid "" "calculating a page count. Specify the name of the custom column here, for " "example, #pages. " msgstr "" +"もしあなたが書籍のページ数のカラムをライブラリ上に作っていて、計算されたページ数を使っていない場合、ここにそのカラムを指定してください。例: " +"#pages " #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:455 msgid "Communicate with the Kindle DX eBook reader." @@ -3097,16 +3102,16 @@ msgstr "PDFの最初のページに、全面まで引き伸ばした表紙を使 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:94 msgid "The font family used to render serif fonts" -msgstr "" +msgstr "セリフ・フォントに使用するフォントファミリー" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:97 msgid "The font family used to render sans-serif fonts" -msgstr "" +msgstr "サンセリフ・フォントに使用するフォントファミリー" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:104 msgid "The font family used to render monospaced fonts" -msgstr "" +msgstr "等幅フォントに使用するフォントファミリー" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 msgid "The default font size" @@ -3418,6 +3423,9 @@ msgid "" "to remove fonts from the input document. Note that font embedding only works " "with some output formats, principally EPUB and AZW3." msgstr "" +"書籍に指定したフォントを埋め込みます。これは書籍に使われる「ベース」フォントを指定します。もし入力ドキュメントがフォントを指定していた場合には、それがベー" +"スフォントより優先されます。(そうしたくない場合には、スタイル情報フィルタを使って、入力ドキュメントからフォントを取り除いてください)。注意:フォント埋め" +"込みはEPUBやAZW3のような特定のフォーマットでしか機能しません。" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:210 msgid "" @@ -3426,6 +3434,8 @@ msgid "" "Useful if you are embedding a particularly large font with lots of unused " "glyphs." msgstr "" +"すべての埋め込みフォントをサブセット化する。すべての埋め込みフォントはこのドキュメントで使用された文字のみに縮小され、フォントファイルのサイズを減らすこと" +"ができます。使用していない文字が多い、大きなフォントを埋め込むときに便利でしょう。" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:218 msgid "" @@ -4103,7 +4113,7 @@ msgstr "LRSファイルの出力" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:140 msgid "Do not save embedded image and font files to disk" -msgstr "内包しているイメージとフォントファイルをディスクに保存しません。" +msgstr "埋め込まれているイメージとフォント・ファイルをディスクに保存しません。" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:159 msgid "Parsing LRF..." @@ -5003,7 +5013,7 @@ msgstr "ISBNから追加" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:71 msgid "Add files to selected book records" -msgstr "選択された本レコードにファイルを追加" +msgstr "選択された本にファイルを追加" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:72 msgid "Shift+A" @@ -5723,7 +5733,7 @@ msgstr "選択された本はデバイスから完全に削除されま #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" -msgstr "" +msgstr "無線でのデバイス接続を開始する" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:34 msgid "Stop wireless device connection" @@ -6265,15 +6275,15 @@ msgstr "電子書籍を検索" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this author" -msgstr "" +msgstr "この著者" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 msgid "this title" -msgstr "" +msgstr "このタイトル" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:29 msgid "this book" -msgstr "" +msgstr "この書籍" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:469 @@ -8009,7 +8019,7 @@ msgstr "行サイズ(&L):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240 msgid "&Embed font family:" -msgstr "" +msgstr "埋め込みするフォント(&E)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:241 msgid "&Disable font size rescaling" @@ -8017,7 +8027,7 @@ msgstr "フォントサイズを再調整しない(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:242 msgid "&Subset all embedded fonts (Experimental)" -msgstr "" +msgstr "すべての埋め込みフォントをサブセット化(実験的 &S)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:16 msgid "LRF Output" @@ -8061,11 +8071,11 @@ msgstr "フォント埋め込み(&E)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133 msgid "&Serif font family:" -msgstr "セリフフォントファミリー(&S)" +msgstr "セリフ・フォントファミリー(&S)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:134 msgid "S&ans-serif font family:" -msgstr "サンセリフフォントファミリー(&A)" +msgstr "サンセリフ・フォントファミリー(&A)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:135 msgid "&Monospaced font family:" @@ -11849,6 +11859,11 @@ msgid "" "virus manager asking you if it is OK for calibre to connect to the network. " "Please answer yes. If you do not, wireless connections will not work." msgstr "" +"

無線でのデバイス接続を開始する. 現在の所、Calibre Companionのみで使用できます。\n" +" " +"

もし、ファイアーウォールやウイルス対策ソフトが、calibreをネットワークに接続してもよいか聞いてきた場合には、許可してください。さ" +"もないと無線でのデバイス接続は動作しません。" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice_ui.py:90 msgid "Calibre IP addresses:" @@ -12555,7 +12570,7 @@ msgstr "正規表現 (?P<出版日>)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:123 msgid "Choose a font family" -msgstr "" +msgstr "フォントファミリーを選択" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:136 #, python-format @@ -12564,7 +12579,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:171 msgid "Choose font family" -msgstr "" +msgstr "フォントファミリーを選択" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:195 msgid "Add &fonts" @@ -12572,7 +12587,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:199 msgid "Choose a font family from the list below:" -msgstr "" +msgstr "下のリストからフォントファミリーを選択:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:205 msgid "Find Next" @@ -12625,11 +12640,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:320 msgid "Choose &font family" -msgstr "" +msgstr "フォントファミリーを選択(&F)" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:329 msgid "Clear the font family" -msgstr "" +msgstr "フォントファミリーをクリア" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 @@ -13075,12 +13090,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF ビューアーツールバー" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "次のページ" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "前のページ" @@ -14926,11 +14941,11 @@ msgstr "広い" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:105 msgid "Calibre style" -msgstr "" +msgstr "Calibreスタイル" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:105 msgid "System default" -msgstr "" +msgstr "システムデフォルト" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:140 msgid "Off" @@ -15034,11 +15049,11 @@ msgstr "フォントを変更 (再起動が必要)(&F)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:251 msgid "User interface &style (needs restart):" -msgstr "" +msgstr "ユーザーインターフェースのスタイル (再起動が必要)(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:252 msgid "Show &tooltips in the book list" -msgstr "" +msgstr "書籍リストでツールティップを表示(&T)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:253 msgid "Main Interface" @@ -15081,7 +15096,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:265 msgid "Show &cover in the book details panel" -msgstr "" +msgstr "書籍詳細パネルで表紙を表示(&C)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:267 msgid "" @@ -15122,7 +15137,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:282 msgid "Categories not to partition:" -msgstr "" +msgstr "分割しないカテゴリー:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:283 msgid "" @@ -15143,7 +15158,7 @@ msgstr "階層化するカテゴリアイテム(&H):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:290 msgid "Use &alternating row colors in the Tag Browser" -msgstr "" +msgstr "タグブラウザで行に別の色を使う(&A)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:292 msgid "Show cover &browser in a separate window (needs restart)" @@ -15803,7 +15818,7 @@ msgstr "入力するたびに検索する(&T)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:169 msgid "Unaccented characters match accented characters" -msgstr "" +msgstr "アクセント記号の無い文字も、アクセント記号付の文字にマッチさせる" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:170 msgid "" @@ -17907,87 +17922,83 @@ msgstr "" msgid "No results found for:" msgstr "結果が見つかりませんでした:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "辞書を検索(&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "次を検索(&S)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "ジャンプ..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "次の章" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "前の章" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "文書の最初" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "文書の最後" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "章の頭" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "章末" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18303,6 +18314,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "テストメールが無効" diff --git a/src/calibre/translations/jv.po b/src/calibre/translations/jv.po index f74fef0b74..4eb9a7c716 100644 --- a/src/calibre/translations/jv.po +++ b/src/calibre/translations/jv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-09 07:28+0000\n" "Last-Translator: anggoro \n" "Language-Team: Javanese \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 0;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12593,12 +12593,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17198,87 +17198,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17589,6 +17585,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ka.po b/src/calibre/translations/ka.po index 6988502b5d..be6002ce97 100644 --- a/src/calibre/translations/ka.po +++ b/src/calibre/translations/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-26 09:07+0000\n" "Last-Translator: clouds ge \n" "Language-Team: Georgian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12590,12 +12590,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17195,87 +17195,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17586,6 +17582,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/kn.po b/src/calibre/translations/kn.po index 956ab0f31f..71d4f3e811 100644 --- a/src/calibre/translations/kn.po +++ b/src/calibre/translations/kn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-05-09 10:16+0000\n" "Last-Translator: s k Nagesh \n" "Language-Team: Kannada \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12590,12 +12590,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17195,87 +17195,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17586,6 +17582,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po index 04a5293178..db34b1ad5c 100644 --- a/src/calibre/translations/ko.po +++ b/src/calibre/translations/ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-31 11:49+0000\n" "Last-Translator: halcyonera \n" "Language-Team: Korean \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12694,12 +12694,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF 뷰어 툴바" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "다음 쪽" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "이전 쪽" @@ -17318,87 +17318,83 @@ msgstr "" msgid "No results found for:" msgstr "찾은 결과가 없음:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "이동하기..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "다음 구간" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "이전 구간" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "문서 시작" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "문서 끝" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "구간 시작" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "구간 끝" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17712,6 +17708,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ku.po b/src/calibre/translations/ku.po index 713281b1d9..1f39a18515 100644 --- a/src/calibre/translations/ku.po +++ b/src/calibre/translations/ku.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-12-12 17:33+0000\n" "Last-Translator: Erdal Ronahi \n" "Language-Team: Kurdish \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/lt.po b/src/calibre/translations/lt.po index 00e0458bca..0ff32e9623 100644 --- a/src/calibre/translations/lt.po +++ b/src/calibre/translations/lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 16:44+0000\n" "Last-Translator: Mantas Kriaučiūnas \n" "Language-Team: Lithuanian \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12594,12 +12594,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17199,87 +17199,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17590,6 +17586,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ltg.po b/src/calibre/translations/ltg.po index 228663f1cd..53f5f211a9 100644 --- a/src/calibre/translations/ltg.po +++ b/src/calibre/translations/ltg.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-05-06 12:35+0000\n" "Last-Translator: uGGa \n" "Language-Team: Latgalian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:07+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index 71bbcdc628..58e34f1729 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-12 09:33+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Latvian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: LATVIA\n" "Language: lv\n" @@ -12820,12 +12820,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Nākošā lapa" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Iepriekšējā lapa" @@ -17447,87 +17447,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Nākošā sadaļa" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17838,6 +17834,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/mk.po b/src/calibre/translations/mk.po index b85e50840d..3bd576c832 100644 --- a/src/calibre/translations/mk.po +++ b/src/calibre/translations/mk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-11-26 20:57+0000\n" "Last-Translator: ScHRiLL \n" "Language-Team: Macedonian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po index 3307587903..ff3376ebd4 100644 --- a/src/calibre/translations/ml.po +++ b/src/calibre/translations/ml.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 17:53+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Malayalam \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12598,12 +12598,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17203,87 +17203,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17594,6 +17590,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/mr.po b/src/calibre/translations/mr.po index 4b4c15b4bf..f166c6fb0d 100644 --- a/src/calibre/translations/mr.po +++ b/src/calibre/translations/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 16:46+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Marathi \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12594,12 +12594,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17199,87 +17199,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17590,6 +17586,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ms.po b/src/calibre/translations/ms.po index 7f4aa06681..a2d945cc9d 100644 --- a/src/calibre/translations/ms.po +++ b/src/calibre/translations/ms.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-09-04 04:15+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12610,12 +12610,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17215,87 +17215,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17606,6 +17602,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index c6b31a2af6..d4934361f1 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-05-12 04:56+0000\n" "Last-Translator: Øyvind Øritsland \n" "Language-Team: Norwegian Bokmal \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13305,12 +13305,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Leser verktøylinje" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Neste side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Forrige side" @@ -18070,87 +18070,83 @@ msgstr "" msgid "No results found for:" msgstr "Det ble ikke funnet noe resultat for:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Slå opp i ordboken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Gå til..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Neste Avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Forrige Avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Begynnelsen av dokumentet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Slutten av dokumentet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Begynnelsen av avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Slutten av avsnittet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18467,6 +18463,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 42baa20d73..0ceec01f7e 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nds\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-06-18 12:05+0000\n" "Last-Translator: tbds \n" "Language-Team: German\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: GERMANY\n" "X-Poedit-Language: German\n" @@ -12947,12 +12947,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Viewer Symbolleiste" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Nächste Seite" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Vorherige Seite" @@ -17601,87 +17601,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Gehe zu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17997,6 +17993,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 1e7b26fd6a..1467897358 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -56,7 +56,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-19 23:00+0000\n" "Last-Translator: Herman van der Vaart \n" "Language-Team: Dutch \n" @@ -64,7 +64,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -14173,12 +14173,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF-leesvenster werkbalk" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Volgende pagina" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Vorige pagina" @@ -19410,87 +19410,83 @@ msgstr "&Thema-gebruik" msgid "No results found for:" msgstr "Geen resultaten gevonden voor:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Woordenboek raadp&legen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Toon &afbeelding..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Zoek naar volgende voorkomen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Ga naar…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Volgende paragraaf" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Vorige paragraaf" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Begin van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Einde van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Begin van paragraaf" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Einde van paragraaf" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Inzoomen" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Uitzoomen" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "Opslaan &als" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Draaien" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Kies een bestand om naartoe op te slaan" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Bekijk afbeelding: %s" @@ -19820,6 +19816,18 @@ msgstr "Weergeven mislukt (render probleem)" msgid "Failed to render document %s" msgstr "Weergave document %s mislukt (render probleem)" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Test naam ongeldig" diff --git a/src/calibre/translations/nn.po b/src/calibre/translations/nn.po index 857ba56645..51f81c8c99 100644 --- a/src/calibre/translations/nn.po +++ b/src/calibre/translations/nn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-01-04 03:30+0000\n" "Last-Translator: Yngve Spjeld Landro \n" "Language-Team: Norwegian Nynorsk \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/oc.po b/src/calibre/translations/oc.po index e1251baedf..54512b8fc4 100644 --- a/src/calibre/translations/oc.po +++ b/src/calibre/translations/oc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-04-29 09:54+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12596,12 +12596,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17201,87 +17201,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17592,6 +17588,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/pa.po b/src/calibre/translations/pa.po index 6394070ee8..fb796d8bc4 100644 --- a/src/calibre/translations/pa.po +++ b/src/calibre/translations/pa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 16:48+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Punjabi \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12594,12 +12594,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17199,87 +17199,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17590,6 +17586,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 7802047fe8..b554b08ed9 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" -"PO-Revision-Date: 2012-11-17 15:46+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" +"PO-Revision-Date: 2012-11-22 20:14+0000\n" "Last-Translator: Tomasz Długosz \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Bookmarks: -1,3588,-1,-1,-1,-1,-1,-1,-1,-1\n" @@ -3733,6 +3733,10 @@ msgid "" "Useful if you are embedding a particularly large font with lots of unused " "glyphs." msgstr "" +"Użyj podzbiorów osadzonych fontów. Każdy osadzony font zostanie zredukowany " +"aby zawierał tylko znaki wykorzystywane w tym dokumencie. Zmniejszy to " +"rozmiar plików z fontami. Przydatne przy korzystaniu z fontów zawierających " +"wiele nie wykorzystywanych znaków" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:218 msgid "" @@ -5821,7 +5825,7 @@ msgstr "Zbyt długie" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "Nie odnaleziono" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5829,6 +5833,9 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"Nie można zmienić nazwy, ponieważ w %s nie znaleziono biblioteki. Spróbuj " +"najpierw przełączyć się na tę bibliotekę, a następnie przełącz się spowrotem " +"i spóbuj zmienić nazwę jeszcze raz." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -13975,12 +13982,12 @@ msgid "LRF Viewer toolbar" msgstr "Pasek narzędzi przeglądarki LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Następna strona" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Poprzednia strona" @@ -14928,6 +14935,7 @@ msgstr "Zachowaj datę przy kopiowaniu książek do innej biblioteki." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"Automatycznie konwertuj dodawane książki do wybranego formatu docelowego" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -14940,6 +14948,10 @@ msgid "" " If it is, a message will pop up asking you whether\n" " you want to add it anyway." msgstr "" +"Jeśli wybierzesz tę opcję, calibre będzie sprawdzać,\n" +"czy automatycznie dodawane pliki nie znajdują się\n" +"już w bibliotece calibre. Jeśli tak, pojawi się okienko\n" +"z pytaniem czy dodać je mimo wszystko." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:156 msgid "Check for &duplicates when auto-adding files" @@ -15905,7 +15917,7 @@ msgstr "Temat" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:29 msgid "Alias" -msgstr "" +msgstr "Alias" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:29 msgid "Auto send" @@ -15935,7 +15947,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:42 msgid "Friendly name to use for this email address" -msgstr "" +msgstr "Prosta nazwa która będzie identyfikować to konto" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:128 msgid "new email address" @@ -16557,7 +16569,7 @@ msgstr "Urządzenie {0} nie wspiera formatu {1}." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:261 msgid "The {0} device supports only the {1} format(s)." -msgstr "" +msgstr "Urządzenie {0} wspiera tylko format(y) {1}." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:294 msgid "Invalid destination" @@ -16699,7 +16711,7 @@ msgstr "Wskaż aktualną wtyczkę pod %s w celu dostosowania" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:368 #, python-format msgid "Are you sure you want to remove the plugin: %s?" -msgstr "" +msgstr "Czy na pewno chcesz usunąć plugin %s?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:373 msgid "Plugin {0} successfully removed" @@ -18041,11 +18053,11 @@ msgstr "Kupując w tym sklepie wspierasz dewelopera calibre: %s

" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "Brak zapytania" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "Musisz wpisać tytuł, autora lub słowo kluczowe które chesz znaleźć." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18069,19 +18081,19 @@ msgstr "Zdobądź książki" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Szukaj tytułu" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Szukaj autora" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "Słowo &kluczowe" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Szukaj dowolnego słowa kluczowego" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -19191,87 +19203,83 @@ msgstr "&Tematy" msgid "No results found for:" msgstr "Nie znaleziono wyników dla:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Sprawdź w słowniku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Pokaż &obrazek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Szukaj następnego wystąpienia" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Przejdź do..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Następna sekcja" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Poprzednia sekcja" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Początek dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Koniec dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Początek sekcji" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Koniec sekcji" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Powięsz" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Zmniejsz" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "Zapisz jako" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Wybierz plik do zapisu" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Pokaż obraz: %s" @@ -19599,6 +19607,18 @@ msgstr "Utworzenie nie udało się" msgid "Failed to render document %s" msgstr "Nie udało się utworzyć dokumentu %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Nazwa testu jest nieprawidłowa" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 3e9b5bbb31..3d2ec65da1 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-07-26 20:48+0000\n" "Last-Translator: Rafael Antonio Belokurows \n" "Language-Team: Portuguese \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13196,12 +13196,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de ferramentas do Visualizador de ficheiros LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Página Seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Página Anterior" @@ -17875,87 +17875,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Ir para..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18271,6 +18267,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index d6b8b9ba2e..7a7c315020 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-14 01:49+0000\n" "Last-Translator: Diogo Albuquerque \n" "Language-Team: American English \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13508,12 +13508,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de ferramentas do visualizador LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Próxima Página" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Página Anterior" @@ -18239,87 +18239,83 @@ msgstr "" msgid "No results found for:" msgstr "Nenum resultado encontrado" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Procurar no dicionário" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "&Busca por proxima ocorrência" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Ir para..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Próxima Seção" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Seção Anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Início do Documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Fim do documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Início da Seção" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Fim da seção" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18635,6 +18631,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 37f9595643..52a6cb2f4b 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-17 11:22+0000\n" "Last-Translator: Jorel \n" "Language-Team: Romanian \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" -"X-Launchpad-Export-Date: 2012-11-22 04:59+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13814,12 +13814,12 @@ msgid "LRF Viewer toolbar" msgstr "Bară de unelte Vizualizator LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Pagina următoare" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Pagina anterioară" @@ -18969,87 +18969,83 @@ msgstr "" msgid "No results found for:" msgstr "Nu s-a găsit nici un rezultat pentru:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Caută în dicţionar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Du-te la..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Secţiunea următoare" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Secţiunea precedentă" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Început document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Sfârşit document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Început secţiune" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Sfârşit secţiune" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -19369,6 +19365,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Nume de test invalid" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index f4ecbb08ca..5538cc1805 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-10 14:30+0000\n" "Last-Translator: Baz <_baz_@rambler.ru>\n" "Language-Team: American English \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:59+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" @@ -13989,12 +13989,12 @@ msgid "LRF Viewer toolbar" msgstr "Панель промотра LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Следующая страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Предыдущая страница" @@ -19201,87 +19201,83 @@ msgstr "Темы" msgid "No results found for:" msgstr "Не найдено ничего для:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "Найти в словаре" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Просмотреть изображение..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "Найти ещё" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Перейти..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Следующий раздел" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Предыдущий раздел" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Начало документа" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Конец документа" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Начало раздела" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Конец раздела" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Увеличить" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "У&меньшить" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "&Сохранить как" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Вращать" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Выберите файл для сохранения" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Просмотреть изображение: %s" @@ -19608,6 +19604,18 @@ msgstr "Не удалось отобразить" msgid "Failed to render document %s" msgstr "Не удалось отобразить документ %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Неправильно тестовое имя файла" diff --git a/src/calibre/translations/sc.po b/src/calibre/translations/sc.po index e357a5ad94..c14c0037ea 100644 --- a/src/calibre/translations/sc.po +++ b/src/calibre/translations/sc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2010-12-11 02:46+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Sardinian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/si.po b/src/calibre/translations/si.po index 7409588ccf..032219ec38 100644 --- a/src/calibre/translations/si.po +++ b/src/calibre/translations/si.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-06-16 06:16+0000\n" "Last-Translator: Dinusha \n" "Language-Team: Sinhalese \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:00+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:59+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 2b537de3cb..2c524c5d40 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-10 12:57+0000\n" "Last-Translator: viktorc \n" "Language-Team: Slovak \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:00+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13843,12 +13843,12 @@ msgid "LRF Viewer toolbar" msgstr "Nástrojová lišta prehliadača LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Nasledujúca strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Predchádzajúca strana" @@ -19009,87 +19009,83 @@ msgstr "&Vzhľad" msgid "No results found for:" msgstr "Žiadne výsledky pre:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Vyhľadať v slovníku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Zobraziť &obrázok..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "Hľadať na&sledujúci výskyt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Prejsť na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Nasledujúca časť" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Predchádzajúca časť" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Začiatok dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Koniec dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Začiatok sekcie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Koniec sekcie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "Priblíž&iť" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Odialiť" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "&Uložiť ako" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Zvoľte súbor do ktorého uložiť" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Zobraziť obrázok: %s" @@ -19413,6 +19409,18 @@ msgstr "Vykreslenie zlyhalo" msgid "Failed to render document %s" msgstr "Zlyhalo vykreslenie dokumentu %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Neplatný testovací názov" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index e88f949f78..ac919d69ef 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.8.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-13 17:20+0000\n" "Last-Translator: Martin Srebotnjak \n" "Language-Team: Martin Srebotnjak \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " "n%100==4 ? 3 : 0);\n" -"X-Launchpad-Export-Date: 2012-11-22 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:00+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" @@ -12882,12 +12882,12 @@ msgid "LRF Viewer toolbar" msgstr "Orodna vrstica pregledovalnika LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Naslednja stran" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Prejšnja stran" @@ -17508,87 +17508,83 @@ msgstr "" msgid "No results found for:" msgstr "Ni zadetkov za:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Poišči v slovarju" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Pojdi na ..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Začetek dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Konec dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17899,6 +17895,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/sq.po b/src/calibre/translations/sq.po index 7575964cdf..92d53c2b71 100644 --- a/src/calibre/translations/sq.po +++ b/src/calibre/translations/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-07 22:44+0000\n" "Last-Translator: Erlis Mulosmani \n" "Language-Team: Albanian \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 04:45+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Faqja Pasuese" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Faqja e Mëparshme" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index cafb3867be..ec070fc3f3 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-23 11:52+0000\n" "Last-Translator: Ozzii \n" "Language-Team: Ozzii\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:00+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 04:59+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: sr\n" @@ -13266,12 +13266,12 @@ msgid "LRF Viewer toolbar" msgstr "Трака са алаткама за LRF читач." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Следећа страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Претходна страница" @@ -18060,87 +18060,83 @@ msgstr "" msgid "No results found for:" msgstr "Ништа није пронађено за:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Пронађи у речнику." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "Трагање за следећим случајем" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Иди на..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Следећи одељак" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Претходни одељак" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Почетак документа." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Крај документа." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Почетак одељка." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Крај одељка." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18459,6 +18455,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Име теста је неважеће" diff --git a/src/calibre/translations/sr@latin.po b/src/calibre/translations/sr@latin.po index 7757551492..953557a8a8 100644 --- a/src/calibre/translations/sr@latin.po +++ b/src/calibre/translations/sr@latin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-08-23 11:36+0000\n" "Last-Translator: Radan Putnik \n" "Language-Team: Serbian Latin \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:07+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:06+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12588,12 +12588,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17193,87 +17193,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17584,6 +17580,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 1868d59425..646e3c2082 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-05 15:26+0000\n" "Last-Translator: Alicia Kwiatkowska \n" "Language-Team: Swedish \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SWEDEN\n" "X-Poedit-Language: Swedish\n" @@ -13648,12 +13648,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF-visarens verktygsrad" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Nästa sida" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Föregående sida" @@ -18736,87 +18736,83 @@ msgstr "" msgid "No results found for:" msgstr "Inga resultat hittades för:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "&Leta i ordlista" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Gå till..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Nästa avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Föregående avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Dokumentets början" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Dokumentets slut" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Avsnittets början" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Avsnittets slut" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -19134,6 +19130,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/ta.po b/src/calibre/translations/ta.po index 66b82fcfb2..02d6d79148 100644 --- a/src/calibre/translations/ta.po +++ b/src/calibre/translations/ta.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 17:54+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Tamil \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12590,12 +12590,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17195,87 +17195,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17586,6 +17582,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 2e0012d9be..846e5ded0c 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-08-05 17:01+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Telugu \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "తర్వాతి పేజీ" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index ce6cf90176..aa7c56e77a 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-12-15 15:14+0000\n" "Last-Translator: akarong \n" "Language-Team: Thai \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 @@ -12719,12 +12719,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17324,87 +17324,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17715,6 +17711,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/tr.po b/src/calibre/translations/tr.po index 7fbf77b279..fddca4e8f9 100644 --- a/src/calibre/translations/tr.po +++ b/src/calibre/translations/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-11-01 22:26+0000\n" "Last-Translator: oguz selek \n" "Language-Team: Turkish \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -13125,12 +13125,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Sonraki Sayfa" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Önceki Sayfa" @@ -17746,87 +17746,83 @@ msgstr "" msgid "No results found for:" msgstr "Şunun için bulunan yeni sonuçlar:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18137,6 +18133,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 799fa630ba..a3bf099986 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" -"PO-Revision-Date: 2012-11-10 07:35+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" +"PO-Revision-Date: 2012-11-22 05:44+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: uk\n" @@ -5918,7 +5918,7 @@ msgstr "Занадто довгий" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "Не знайдено" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5926,6 +5926,9 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"Не вдалося перейменувати, оскільки у %s не було знайдено бібліотеки. " +"Спробуйте спочатку перемкнутися на цю бібліотеку, потім перемкнутися назад і " +"повторити спробу перейменування." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -14157,12 +14160,12 @@ msgid "LRF Viewer toolbar" msgstr "Панель інструментів перегляду LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Наступна сторінка" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Попередня сторінка" @@ -15125,6 +15128,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"Автоматично п&еретворювати додані книги на основі поточного формату " +"виведення даних" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -18294,11 +18299,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "Без запиту" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "Вам слід вказати назву, автора або ключове слово для пошуку." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18322,19 +18327,19 @@ msgstr "Отримати книги" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Шукати за назвою" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Шукати за автором" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "&Ключове слово" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Шукати за будь-де за ключовим словом:" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -19145,11 +19150,11 @@ msgstr "Показувати смужку гортання у повноекра #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:63 msgid "Start viewer in full screen mode" -msgstr "" +msgstr "Запуск переглядача у повноекранному режимі" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Показати довідку щодо користування повноекранним режимом" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -19316,11 +19321,12 @@ msgstr "Показувати смужку &гортання у повноекр #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "&Запустити переглядач у повноекранному режимі" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" msgstr "" +"Показувати &довідкове повідомлення під час переходу у повноекранний режим" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:409 msgid "F&ull screen options" @@ -19452,87 +19458,83 @@ msgstr "&Теми" msgid "No results found for:" msgstr "Нічого не знайдено до:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "По&шук у словнику" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "Пе&реглянути зображення…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Переглянути &таблицю…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "З&найти наступний відповідник" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "Перейти…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "Наступний розділ" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "Попередній розділ" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "Початок документа" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "Кінець документа" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "Початок розділу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "Кінець розділу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Звичайний розмір шрифту" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "Ш&укати «%s» за допомогою Google" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "З&більшити" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "З&меншити" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "З&берегти як" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "&Обернути" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "Виберіть файл, до якого слід зберегти" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "Переглянути зображення: %s" @@ -19865,6 +19867,18 @@ msgstr "Не вдалося обробити" msgid "Failed to render document %s" msgstr "Не вдалося обробити документ %s" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "Тестова назва є некоректною" diff --git a/src/calibre/translations/ur.po b/src/calibre/translations/ur.po index 94bbfa83c9..9045a9619f 100644 --- a/src/calibre/translations/ur.po +++ b/src/calibre/translations/ur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-04-02 21:19+0000\n" "Last-Translator: mahmood \n" "Language-Team: Urdu \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/vi.po b/src/calibre/translations/vi.po index 53fd5e6c15..3dd3fce1e9 100644 --- a/src/calibre/translations/vi.po +++ b/src/calibre/translations/vi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-04-16 18:36+0000\n" "Last-Translator: Lunafan \n" "Language-Team: Vietnamese \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12911,12 +12911,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "Trang tiếp theo" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "Trang trước" @@ -17531,87 +17531,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17922,6 +17918,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/wa.po b/src/calibre/translations/wa.po index 3ddec2b30c..39e37355bb 100644 --- a/src/calibre/translations/wa.po +++ b/src/calibre/translations/wa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-07-05 23:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Walloon \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 128773e42f..fc3accbf77 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2009-09-04 22:02+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: Yiddish \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index e6ed1e7202..d5b40acfe1 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-15 05:31+0000\n" "Last-Translator: mozillazg \n" "Language-Team: Simplified Chinese \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:06+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: CHINA\n" "X-Poedit-Language: Chinese\n" @@ -12937,12 +12937,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF 查看程序工具栏" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "下一页" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "上一页" @@ -17726,87 +17726,83 @@ msgstr "" msgid "No results found for:" msgstr "未找到结果:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "词典查询(&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "转到..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "下一节" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "上一节" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "文档起始" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "文档结尾" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "节起始" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "节末尾" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -18122,6 +18118,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "无效的测试名称" diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index f566bc05b5..5ece623c3e 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2011-07-11 08:59+0000\n" "Last-Translator: Nader stouhy \n" "Language-Team: Chinese (Hong Kong) \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -12587,12 +12587,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "" @@ -17192,87 +17192,83 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17583,6 +17579,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "" diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index 7208a7b034..f96ee48f33 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-11-22 04:01+0000\n" +"POT-Creation-Date: 2012-11-23 03:42+0000\n" "PO-Revision-Date: 2012-10-19 08:56+0000\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (traditional)\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-22 05:06+0000\n" +"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: zh_TW\n" @@ -12842,12 +12842,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF 檢視器工具列" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" msgstr "下一頁" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" msgstr "上一頁" @@ -17509,87 +17509,83 @@ msgstr "" msgid "No results found for:" msgstr "找不到此項的結果:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "&Lookup in dictionary" msgstr "在字典中查詢(&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:507 msgid "View &image..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 msgid "Go to..." msgstr "移至..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 msgid "Next Section" msgstr "下一節" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:530 msgid "Previous Section" msgstr "上一節" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 msgid "Document Start" msgstr "文件的開頭" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:533 msgid "Document End" msgstr "文件的結尾" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:535 msgid "Section Start" msgstr "章節開頭" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "Section End" msgstr "章節結尾" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:40 msgid "&Save as" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:41 msgid "&Rotate" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:67 msgid "Choose a file to save to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:100 #, python-format msgid "View Image: %s" msgstr "" @@ -17905,6 +17901,18 @@ msgstr "" msgid "Failed to render document %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 +msgid "View Table" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 +msgid "No table found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 +msgid "No table was found" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" msgstr "測試名稱無效" From 327d07b615f0be741cce0a557bfc1f3eddc7ee2d Mon Sep 17 00:00:00 2001 From: Translators <> Date: Sat, 24 Nov 2012 05:48:09 +0000 Subject: [PATCH 02/63] Launchpad automatic translations update. --- src/calibre/translations/af.po | 2 +- src/calibre/translations/ar.po | 2 +- src/calibre/translations/ast.po | 2 +- src/calibre/translations/az.po | 2 +- src/calibre/translations/ber.po | 2 +- src/calibre/translations/bg.po | 2 +- src/calibre/translations/bn.po | 2 +- src/calibre/translations/br.po | 2 +- src/calibre/translations/bs.po | 2 +- src/calibre/translations/ca.po | 2 +- src/calibre/translations/cs.po | 2 +- src/calibre/translations/cy.po | 2 +- src/calibre/translations/da.po | 2 +- src/calibre/translations/de.po | 2 +- src/calibre/translations/el.po | 2 +- src/calibre/translations/en_AU.po | 2 +- src/calibre/translations/en_CA.po | 2 +- src/calibre/translations/en_GB.po | 2 +- src/calibre/translations/eo.po | 2 +- src/calibre/translations/es.po | 42 ++++---- src/calibre/translations/et.po | 2 +- src/calibre/translations/eu.po | 154 +++++++++++++++++++++------ src/calibre/translations/fa.po | 2 +- src/calibre/translations/fi.po | 2 +- src/calibre/translations/fo.po | 2 +- src/calibre/translations/fr.po | 2 +- src/calibre/translations/fr_CA.po | 2 +- src/calibre/translations/fur.po | 2 +- src/calibre/translations/gl.po | 2 +- src/calibre/translations/gu.po | 2 +- src/calibre/translations/he.po | 2 +- src/calibre/translations/hi.po | 2 +- src/calibre/translations/him.po | 2 +- src/calibre/translations/hr.po | 2 +- src/calibre/translations/hu.po | 2 +- src/calibre/translations/id.po | 2 +- src/calibre/translations/is.po | 2 +- src/calibre/translations/it.po | 2 +- src/calibre/translations/ja.po | 2 +- src/calibre/translations/jv.po | 2 +- src/calibre/translations/ka.po | 2 +- src/calibre/translations/kn.po | 2 +- src/calibre/translations/ko.po | 2 +- src/calibre/translations/ku.po | 2 +- src/calibre/translations/lt.po | 2 +- src/calibre/translations/ltg.po | 2 +- src/calibre/translations/lv.po | 2 +- src/calibre/translations/mk.po | 2 +- src/calibre/translations/ml.po | 2 +- src/calibre/translations/mr.po | 2 +- src/calibre/translations/ms.po | 2 +- src/calibre/translations/nb.po | 2 +- src/calibre/translations/nds.po | 2 +- src/calibre/translations/nl.po | 55 ++++++---- src/calibre/translations/nn.po | 2 +- src/calibre/translations/oc.po | 2 +- src/calibre/translations/pa.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 | 41 +++---- src/calibre/translations/sc.po | 2 +- src/calibre/translations/si.po | 2 +- src/calibre/translations/sk.po | 2 +- src/calibre/translations/sl.po | 2 +- src/calibre/translations/sq.po | 2 +- src/calibre/translations/sr.po | 2 +- src/calibre/translations/sr@latin.po | 2 +- src/calibre/translations/sv.po | 2 +- src/calibre/translations/ta.po | 2 +- src/calibre/translations/te.po | 2 +- src/calibre/translations/th.po | 2 +- src/calibre/translations/tr.po | 2 +- src/calibre/translations/uk.po | 10 +- src/calibre/translations/ur.po | 2 +- src/calibre/translations/vi.po | 2 +- src/calibre/translations/wa.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 +- 82 files changed, 288 insertions(+), 168 deletions(-) diff --git a/src/calibre/translations/af.po b/src/calibre/translations/af.po index b21f5f8614..c3a6c90545 100644 --- a/src/calibre/translations/af.po +++ b/src/calibre/translations/af.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:45+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:27+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 5b83736020..cf55aa9076 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:28+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SAUDI ARABIA\n" "Language: ar\n" diff --git a/src/calibre/translations/ast.po b/src/calibre/translations/ast.po index ca362124f8..66604d06c2 100644 --- a/src/calibre/translations/ast.po +++ b/src/calibre/translations/ast.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:28+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/az.po b/src/calibre/translations/az.po index 56dea90b55..a9414b51af 100644 --- a/src/calibre/translations/az.po +++ b/src/calibre/translations/az.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:28+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ber.po b/src/calibre/translations/ber.po index f0942ca0a0..bcd7f0eb45 100644 --- a/src/calibre/translations/ber.po +++ b/src/calibre/translations/ber.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:29+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 27a9033041..da5fd141a2 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:48+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:29+0000\n" "X-Generator: Launchpad (build 16293)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/bn.po b/src/calibre/translations/bn.po index 88abd9f21f..1318bd3307 100644 --- a/src/calibre/translations/bn.po +++ b/src/calibre/translations/bn.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:29+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/br.po b/src/calibre/translations/br.po index 1250b6968c..aad07095c3 100644 --- a/src/calibre/translations/br.po +++ b/src/calibre/translations/br.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:29+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po index 59fd91bc9e..9cdf9161a4 100644 --- a/src/calibre/translations/bs.po +++ b/src/calibre/translations/bs.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:29+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index f8b240bc12..5bcb7dc60e 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:48+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:30+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index fbd79359a1..17f7ab9f48 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:48+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:30+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/cy.po b/src/calibre/translations/cy.po index f3802e9014..387597d509 100644 --- a/src/calibre/translations/cy.po +++ b/src/calibre/translations/cy.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? " "2 : 3;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:45+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 99b6cffd4b..85a14eca25 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:30+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 55c0c42aca..e555b7d2e9 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:33+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Bookmarks: 3327,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 0fa1000a5e..a3bc9814e0 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:33+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/en_AU.po b/src/calibre/translations/en_AU.po index fd085dd0c5..2dfd5f9fc4 100644 --- a/src/calibre/translations/en_AU.po +++ b/src/calibre/translations/en_AU.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/en_CA.po b/src/calibre/translations/en_CA.po index 00177017b2..28d508c963 100644 --- a/src/calibre/translations/en_CA.po +++ b/src/calibre/translations/en_CA.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:47+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index fb5b11fc44..81eae97f6a 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/eo.po b/src/calibre/translations/eo.po index c4e145f3d6..a7142131f0 100644 --- a/src/calibre/translations/eo.po +++ b/src/calibre/translations/eo.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:31+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 171c08f6c2..ab7f918687 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -11,14 +11,14 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-10 09:09+0000\n" +"PO-Revision-Date: 2012-11-23 14:05+0000\n" "Last-Translator: Jellby \n" "Language-Team: Español; Castellano <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:00+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:42+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:533 @@ -5945,7 +5945,7 @@ msgstr "Demasiado larga" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "No se encontró" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5953,6 +5953,9 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"No se puede renombrar porque no se encontró ninguna biblioteca en %s. Pruebe " +"a cambiar primero a la biblioteca, luego vuelva a la anterior e intente " +"renombrar de nuevo." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -15111,6 +15114,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"&Convertir automáticamente los libros añadidos al formato de salida actual" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -18254,11 +18258,11 @@ msgstr "Al comprar en esta librería apoya al programador de calibre: %s.

" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "No hay consulta" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "Debe introducir un título, autor o palabra clave para buscar." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18282,19 +18286,19 @@ msgstr "Get Books" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Buscar por título" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Buscar por autor" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "&Palabra clave:" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Buscar cualquier palabra clave" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -19093,11 +19097,11 @@ msgstr "Mostrar la barra de desplazamiento en el modo de pantalla completa." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:63 msgid "Start viewer in full screen mode" -msgstr "" +msgstr "Iniciar visor en modo de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Mostrar ayuda de uso en pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -19263,11 +19267,11 @@ msgstr "Mostrar la &barra de desplazamiento en el modo de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "&Iniciar el visor en modo de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" -msgstr "" +msgstr "Mostrar mensaje de &ayuda al iniciar el modo de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:409 msgid "F&ull screen options" @@ -19410,7 +19414,7 @@ msgstr "Ver &imagen..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Ver &tabla..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" @@ -19447,12 +19451,12 @@ msgstr "Final de la sección" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Tamaño de letra normal" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "B&uscar «%s» en Google" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 @@ -19806,15 +19810,15 @@ msgstr "No se pudo procesar el documento %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Ver tabla" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" -msgstr "" +msgstr "No se encontró ninguna tabla" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 msgid "No table was found" -msgstr "" +msgstr "No se encontró ninguna tabla" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" diff --git a/src/calibre/translations/et.po b/src/calibre/translations/et.po index 445bce1cea..e621b8ecf5 100644 --- a/src/calibre/translations/et.po +++ b/src/calibre/translations/et.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:31+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index bfff26ec5e..ebf481729f 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-19 23:30+0000\n" +"PO-Revision-Date: 2012-11-23 19:00+0000\n" "Last-Translator: Ander Martínez \n" "Language-Team: http://librezale.org/wiki/Calibre\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:47+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:28+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: eu\n" @@ -1094,6 +1094,15 @@ msgid "" "iTunes menu item.

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

" msgstr "" +"

Calibrek zure Apple iGailua konektatzean antzeman dezan nahi baduzu, " +"Desgaitu Apple kontrolatzailea klikatu.

Liburuak iGailura " +"bidaltzeko, klikatu Desgaitu Apple kontrolatzailea, gero 'Connect to " +"iTunes' metodoa erabili ezazu, zeina Calibre + " +"iDevices FAQ-en, azaltzen den, " +"Konektatu/Konpartitu|Konektatu iTunes-era menuko sarrera " +"erabilita.

Zuzenean iGailuetara konektatzeko Apple kontrolatzailea " +"gaitzea sostengurik gabeko aukera aurreratua da.

" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:78 msgid "Disable Apple driver" @@ -1738,6 +1747,9 @@ msgid "" "but in other cases they are just pointers to the web site to buy. Enable if " "you wish to see/delete them." msgstr "" +"Kobok gailuan bertan gailuan bertan aholkuak ematen ditu. Kasu batzuetan " +"hauek fitxategiak dituzte baina beste kasuetan webgunean erosteko bidea " +"erakusten dute. Gaitu hauek ikusteko/kentzeko." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 @@ -1751,6 +1763,10 @@ msgid "" "be Dragons!! Enable only if you are comfortable with restoring your kobo to " "factory defaults and testing software" msgstr "" +"Kobo-k firmware-a eta datubase bertsioa tarteka eguneratzen ditu. Aukera " +"honekin Calibre idazten eta irakurtzen saiatuko da - Kontuz!! Gaitu ezazu " +"bakarrik fabrikako ezarpenetara itzultzeak ez bazaitu kikiltzen eta " +"softwarea probatzen lagundu nahi baduzu" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617 msgid "Kobo database version unsupported - See details" @@ -1858,6 +1874,8 @@ msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." msgstr "" +"Ezabatu hutsik dauden apalategiak Kobo Touch-etik sinkronizazioa bukatzean. " +"Hau V2.0.0 eta geroko firmwareentzat da bakarrik." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 msgid "Upload covers for books" @@ -1882,6 +1900,11 @@ msgid "" "factory defaults and testing software. This driver supports firmware V2.0.x " "and DBVersion up to " msgstr "" +"Kobo-k firmware-a eta datubase bertsioa tarteka eguneratzen ditu. Aukera " +"honekin Calibre idazten eta irakurtzen saiatuko da - Kontuz!! Gaitu ezazu " +"bakarrik fabrikako ezarpenetara itzultzeak ez bazaitu kikiltzen eta " +"softwarea probatzen lagundu nahi baduzu. Kontrolatzaile honek V2.0.x " +"firmware bertsiora arte eta hurrengo DB bertsiora arte sostengatzen du: " #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 msgid "Title to test when debugging" @@ -2347,6 +2370,9 @@ msgid "" "device does nothing for %d minutes. Unchecking this box disables this " "timeout, so calibre will never automatically disconnect." msgstr "" +"Lauki hau markatzen bada, calibre deskonektatu egingo da konektatutako gailu " +"batek ez badu ezer egiten %d minututan. Lauki hau desmarkatuta denbora-muga " +"hori desaktibatzen da eta calibre ez da automatikoki deskonektatuko." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:296 msgid "Use this IP address" @@ -2358,6 +2384,9 @@ msgid "" "address. The driver will listen only on the entered address, and this " "address will be the one advertized over mDNS (bonjour)." msgstr "" +"Aukera hau erabili kontrolatzailea IP helbide jakin batetik entzunarazteko. " +"Kontrolatzaileak emandako helbidetik soilik entzungo du, eta mDNS-tik " +"(bonjour) iragarriko den helbidea izango da hori." #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:766 #, python-format @@ -2576,6 +2605,9 @@ msgid "" "This field is used only on windows. Get this ID using Preferences -> Misc -> " "Get information to set up the user-defined device" msgstr "" +"Eremu hau Windows-en bakarrik erabiltzen da. Lortu ID hori Hobespenak-" +">Denetarik->Lortu informazioa aukeraren bidez, erabiltzaileak definitutako " +"gailua erabiltzeko." #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:81 @@ -2618,6 +2650,8 @@ msgid "" "Check this box if the device's main memory is being seen as card a and the " "card is being seen as main memory" msgstr "" +"Hautatu hurrengo laukia gailuaren memoria nagusia txartel bat bezala ikusten " +"bada, eta txartela memoria nagusia bezala." #: /home/kovid/work/calibre/src/calibre/devices/utils.py:18 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:24 @@ -2627,6 +2661,10 @@ msgid "" "device action. Right click on the send to device button and reset the " "default action to be \"Send to main memory\"." msgstr "" +"Irakurleak ez dauka %s txartel gordailua. Baliteke zuk lehenetsitako " +"bidaltzea gailuaren ekintzara aldatu izana. Egin klik saguaren eskuineko " +"botoiaz gailura bidaltzeko botoiean eta berrezarri berariazko ekintza " +"\"Bidali memoria nagusira\" aukerara." #: /home/kovid/work/calibre/src/calibre/devices/utils.py:29 #, python-format @@ -2748,6 +2786,9 @@ msgid "" "default. Use %(en)s to enable. Individual actions can be disabled with the " "%(dis)s options." msgstr "" +"Eraldatu testu dokumentua eta egituratu ohiko konfigurazioak erabiliz. " +"Berariaz desgaituta.Erabili %(en)s gaitzeko. Banakako ekintzak desgaitu " +"daitezke %(dis)s aukeren bitartez." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:20 @@ -2781,6 +2822,9 @@ msgid "" "List builtin recipe names. You can create an ebook from a builtin recipe " "like this: ebook-convert \"Recipe Name.recipe\" output.epub" msgstr "" +"Zerrendatu \"builtin\" formula izenak. Ebook bat sortu dezakezu \"builtin\" " +"formula batetik honen bidez: ebook-convert \"Formula Izena.recipe\" " +"irteera.epub" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:336 msgid "Output saved to" @@ -2887,12 +2931,17 @@ msgid "" "Specify the image size as widthxheight pixels. Normally, an image size is " "automatically calculated from the output profile, this option overrides it." msgstr "" +"Zehaztu irudiaren tamaina pixel zabalera x altuera gisara. Normalean, irudi " +"baten tamaina automatikoki kalkulatzen da irteera fitxategitik, aukera honek " +"horren gainean idatziko du." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:69 msgid "" "When converting a CBC do not add links to each page to the TOC. Note this " "only applies if the TOC has more than one section" msgstr "" +"CBC bat bihurtzean ez gehitu TOC-aren orri bakoitzarentzat. Kontutan izan " +"honek bakarrik balio duela TOC-ak sekzio bat baino gehiago daukanean." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:213 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:225 @@ -3015,6 +3064,13 @@ msgid "" "\"Table of Contents\" settings (turn on \"Force use of auto-generated Table " "of Contents\")." msgstr "" +"Zehaztu elementuen sekzionatzea. Balio huts batek liburua sekzio bakar " +"batean bihurtzen du. Fitxategi bat baino gehiago badauzka balio gisa " +"fitxategi bakoitza sekzio batean sartuko du; erabili aukera hori zure gailua " +"arazoak edukitzen ari bada. \"Edukien taulako\" balio batek taulako sarrera " +"horiek titulu bihurtuko ditu eta sekzioak sortu; akats bat gertatzekotan, " +"doitu egituren detekzioa edota edukien taularen ezarpenak(piztu \"Behartu " +"automatiko sortutako Eduki taula erabiltzera\")." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_output.py:157 #, python-format @@ -3057,6 +3113,10 @@ msgid "" "can result in various nasty side effects in the rest of the conversion " "pipeline." msgstr "" +"Normalean sarrerako gehigarri honek automatikoki sarrerako fitxategi guztiak " +"fitxategi hierarkia estandar baten gisa berrantolatzen ditu. Erabili aukera " +"hau egiten ari zarena ondo dakizunean soilik, honen egikaritzapenak hainbat " +"albo-ondorio kaltegarri eduki baititzake gainontzeko bihurketa prozesuetan." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 msgid "CSS file used for the output instead of the default file" @@ -3110,6 +3170,10 @@ msgid "" "inline: Write the CSS as an inline style attribute.\n" "tag: Turn as many CSS styles as possible into HTML tags." msgstr "" +"Zehaztu CSS-ren trataera. Class dago lehenetsita.\n" +"klasea: Erabili CSS klaseak eta elementuek erreferentzia ditzatela.\n" +"txertatua: Idatzi CSS-a txertatutako estilo atributu baten gisara.\n" +"etiketa: Ahal bezainbeste CSS estilo HTML etiketa bihurtzen ditu." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/htmlz_output.py:35 msgid "" @@ -3118,6 +3182,10 @@ msgid "" "external: Use an external CSS file that is linked in the document.\n" "inline: Place the CSS in the head section of the document." msgstr "" +"Nola maneiatu CSSa css-type='class' erabiltzerakoan.\n" +"Lehenetsia kanpokoa da.\n" +"kanpokoa: Kanpoko CSS fitxategi bat estekatzen du dokumentuan.\n" +"txertatua: CSSa dokumentuaren haseran txertatzen du." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/htmlz_output.py:42 msgid "" @@ -3261,6 +3329,8 @@ msgid "" "Extract the contents of the MOBI file to the specified directory. If the " "directory already exists, it will be deleted." msgstr "" +"MOBI fitxategiaren edukiak zehaztutako direktoriora erauzi. Direktorioa " +"existizen bada, ezabatu egingo da." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/mobi_output.py:78 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/mobi_output.py:294 @@ -3269,6 +3339,9 @@ msgid "" "Using this feature means that the book will not auto sync its last read " "position on multiple devices. Complain to Amazon." msgstr "" +"Gaitu Kindle-an liburuaren edukia partekatzea Facebook etab. bidez. KONTUZ: " +"Ezaugarri hau erabiliz gero, irakurketaren azken posizioa ez du " +"sinkronizatuko hainbat gailutan. Kexak Amazon-i." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/mobi_output.py:85 msgid "" @@ -3278,6 +3351,11 @@ msgid "" "Useful if your document contains lots of GIF/PNG images that become very " "large when converted to JPEG." msgstr "" +"Defektuz calibre-k irudi guztiak JPEG formatura bihurtzen ditu irteerako " +"MOBI fitxategian. Hau konpatibilitate haundiagoa lortzeko da, MOBI ikustaile " +"zaharragoek arazoak bait dituzte beste irudi formatuekin. Aukera honek " +"calibreri hori ez egiteko esaten dio. Erabilgarria da zure dokumentuak JPEG " +"haundietan bihurtu daitezkeen GIF/PNG irudi asko baditu." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/mobi_output.py:93 msgid "" @@ -3287,6 +3365,11 @@ msgid "" "6 and the new KF8 format, or only the new KF8 format. KF8 has more features " "than MOBI 6, but only works with newer Kindles." msgstr "" +"Defektuz calibre-k MOBI 6 fitxategi zaharra duten MOBI fitxategiak sortzen " +"ditu. Formatu hau bateragarria da gailu guztiekin. Hala ere, aukera hau " +"aldatuta calibre-ri esan diezaiokezu MOBI 6 eta KF8, bi formatuak edo soilik " +"KF8 formatua sortzeko. KF8 formatuak MOBI6 baino ezaugarri gehiago ditu, " +"baino Kindle berrietan soilik erabil daiteke." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/mobi_output.py:136 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:125 @@ -3345,6 +3428,8 @@ msgid "" "The size of the paper. This size will be overridden when a non default " "output profile is used. Default is letter. Choices are %s" msgstr "" +"Paperaren tamaina. Tamaina hau gainidatzi egingo da berezko irteera profilik " +"erabiltzen ez denean. Berezkoa karta formatua da. Aukerak %s dira." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:80 msgid "" @@ -3370,24 +3455,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:94 msgid "The font family used to render serif fonts" -msgstr "" +msgstr "Serif letra-tipoak renderitzatzeko letra-tipo faimilia." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:97 msgid "The font family used to render sans-serif fonts" -msgstr "" +msgstr "San-serif letra-tipoak renderitzatzeko letra-tipo faimilia." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:104 msgid "The font family used to render monospaced fonts" -msgstr "" +msgstr "Tarte bakarreko letra-tipoak renderitzatzeko letra-tipo faimilia." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 msgid "The default font size" -msgstr "" +msgstr "Berezko letra-tipo tamaina" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 msgid "The default font size for monospaced text" -msgstr "" +msgstr "Tarte bakarreko testuaren berezko letra-tipo tamaina" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -4951,7 +5036,7 @@ msgstr "Overdriveko Content Reservetik metadatuak eta azalak jeisten ditu" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:41 msgid "Download all metadata (slow)" -msgstr "Metadatu juztiak jaitsi (mantsoa)" +msgstr "Jaitsi metadatu guztiak (mantsoa)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:42 msgid "Enable this option to gather all metadata available from Overdrive." @@ -5436,7 +5521,7 @@ msgstr "Maius+A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:74 msgid "Control the adding of books" -msgstr "" +msgstr "Liburuen gehitze kontrola" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 @@ -6053,11 +6138,11 @@ msgstr "Ezabatu hautatutako liburuak" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:96 msgid "Remove files of a specific format from selected books.." -msgstr "Remove files of a specific format from selected books.." +msgstr "Ezabatu formatu jakin batean aukeratutako liburuak.." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:99 msgid "Remove all formats from selected books, except..." -msgstr "Remove all formats from selected books, except..." +msgstr "Ezabatu hautatutako liburuen formatu guztiak, hauek ezik..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:102 msgid "Remove all formats from selected books" @@ -6069,7 +6154,7 @@ msgstr "Ezabatu hautatutako liburuetako azalak" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:109 msgid "Remove matching books from device" -msgstr "Remove matching books from device" +msgstr "Ezabatu gailutik iragazkiarekin bat datozen liburuak" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:134 msgid "Cannot delete" @@ -6293,7 +6378,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:58 msgid "Merge book records" -msgstr "Merge book records" +msgstr "Bateratu liburuen erregistroak" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:59 msgid "M" @@ -6910,7 +6995,7 @@ msgstr "Ikusi" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:48 msgid "View specific format" -msgstr "View specific format" +msgstr "Ikusi formatu jakin bat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:50 msgid "Read a random book" @@ -7520,7 +7605,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:643 msgid "Delete Rule" -msgstr "" +msgstr "Ezabatu araua" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:792 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:608 @@ -9873,7 +9958,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:228 msgid "&Remove rule" -msgstr "" +msgstr "&Ezabatu araua" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:273 msgid "Format specific sending" @@ -11793,7 +11878,7 @@ msgstr "Gehitu gordetako bilaketa berria" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:102 msgid "Rename the current search to what is in the box" -msgstr "" +msgstr "Berrizendatu uneko bilaketa kutxan dagoenera" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:104 msgid "Change the contents of the saved search" @@ -11944,7 +12029,7 @@ msgstr "Gehitu pertsonalizatutako albiste iturri berri bat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 msgid "Download all scheduled news sources" -msgstr "" +msgstr "Jaitsi programatutako jatorri guztiak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 msgid "Go" @@ -12047,7 +12132,7 @@ msgstr " egunak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:231 msgid "Download all scheduled news sources at once" -msgstr "" +msgstr "Jaitsi programatutako jatorri guztiak batera" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:232 msgid "Download &all scheduled" @@ -14119,6 +14204,8 @@ msgid "" "Manage authors. Use to rename authors and correct individual author's sort " "values" msgstr "" +"Kudeatu egileak. Erabili egileak berrizendatzeko eta zuzentzeko banakako " +"egileen ordenatzeko balioak" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:162 msgid "Clear series" @@ -14710,7 +14797,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:251 msgid "Create/edit a column coloring rule" -msgstr "" +msgstr "Sortu/editatu zutabeak koloreztatzeko araua" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:256 msgid "Create a coloring rule by filling in the boxes below" @@ -14787,7 +14874,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:519 msgid "Add Rule" -msgstr "" +msgstr "Gehitu araua" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:522 msgid "Remove Rule" @@ -15446,7 +15533,7 @@ msgstr "Partizioduna" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:182 msgid "Column coloring" -msgstr "" +msgstr "Zutabeen koloreztatzea" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -16261,15 +16348,17 @@ msgstr "Bilatu edozein" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:176 msgid "Grouped Search Terms" -msgstr "" +msgstr "Taldekatutako bilaketa terminoak" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:140 msgid "The search term cannot be blank" -msgstr "" +msgstr "Bilaketa terminoak ezin du hutsa izan" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:150 msgid "That name is already used for a column or grouped search term" msgstr "" +"Izen hori dagoeneko erabiltzen da zutabe edo taldekatutako bilaketa " +"terminoren batetan" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:154 msgid "That name is already used for user category" @@ -16348,7 +16437,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:183 msgid "Delete the current search term" -msgstr "" +msgstr "Ezabatu uneko bilaketa terminoa" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:185 msgid "" @@ -16356,6 +16445,9 @@ msgid "" "changing the name then pressing Save. You can change the value\n" "of a search term by changing the value box then pressing Save." msgstr "" +"Uneko bilaketa terminoa gorde. Bilaketa termino bat berrizenda\n" +"dezakezu izena aldatuz eta Gorde sakatuz. Bilaketa termino baten\n" +"balioa alda dezakezu balio laukia aldatuz eta Gorde sakatuz." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:189 msgid "Make &user categories from:" @@ -16908,7 +17000,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 msgid "Delete current search" -msgstr "" +msgstr "Ezabatu uneko bilaketa" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "No search is selected" @@ -16960,7 +17052,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 msgid "*Current search" -msgstr "" +msgstr "*Uneko bilaketa" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 msgid "Restrict to" @@ -17403,7 +17495,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:307 msgid "The grouped search term name is \"{0}\"" -msgstr "" +msgstr "Taldekatutako bilaketa terminoaren izena \"{0}\" da" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:766 msgid "" @@ -17449,7 +17541,7 @@ msgstr "%s bilaketa izen hori dagoeneko erabilia izan da." #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:49 msgid "Manage Authors" -msgstr "" +msgstr "Kudeatu egileak" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:51 msgid "Manage Series" @@ -17608,7 +17700,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:429 msgid "Manage authors, tags, etc" -msgstr "" +msgstr "Kudeatu egileak, etiketak, etab." #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:430 msgid "" @@ -18812,6 +18904,8 @@ msgid "" "Choose your e-book device. If your device is not in the list, choose a " "\"%s\" device." msgstr "" +"Aukeratu zure e-book gailua. Gailua ez badago zerrendan, aukeratu \"%s\" " +"gailua." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:574 msgid "Moving library..." diff --git a/src/calibre/translations/fa.po b/src/calibre/translations/fa.po index e99a8d4454..de527fe8f6 100644 --- a/src/calibre/translations/fa.po +++ b/src/calibre/translations/fa.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:39+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po index 569532dee5..3be8f4d876 100644 --- a/src/calibre/translations/fi.po +++ b/src/calibre/translations/fi.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:32+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/fo.po b/src/calibre/translations/fo.po index 6bc6bbd9aa..545d973dfa 100644 --- a/src/calibre/translations/fo.po +++ b/src/calibre/translations/fo.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:31+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 4684735c9c..f3343760a7 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:32+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" diff --git a/src/calibre/translations/fr_CA.po b/src/calibre/translations/fr_CA.po index d14eae88fe..3fd9a91ea7 100644 --- a/src/calibre/translations/fr_CA.po +++ b/src/calibre/translations/fr_CA.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/fur.po b/src/calibre/translations/fur.po index 60c377c340..9b2268815f 100644 --- a/src/calibre/translations/fur.po +++ b/src/calibre/translations/fur.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:50+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:32+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 9a0a3f6d90..24ffe79955 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:33+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: gl\n" diff --git a/src/calibre/translations/gu.po b/src/calibre/translations/gu.po index aed8cde5d0..2d4116f0b4 100644 --- a/src/calibre/translations/gu.po +++ b/src/calibre/translations/gu.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:34+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 824031122b..1695806642 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:34+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/hi.po b/src/calibre/translations/hi.po index 66464c888e..35f30f2549 100644 --- a/src/calibre/translations/hi.po +++ b/src/calibre/translations/hi.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:34+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/him.po b/src/calibre/translations/him.po index d2f61d9423..2a9291f375 100644 --- a/src/calibre/translations/him.po +++ b/src/calibre/translations/him.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:52+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:34+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index c25bbcbfb4..7a28cc1b6d 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:59+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:41+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index ccf0a9270d..a06a190d77 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:35+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/id.po b/src/calibre/translations/id.po index b0068171ea..a78378ebfd 100644 --- a/src/calibre/translations/id.po +++ b/src/calibre/translations/id.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:35+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/is.po b/src/calibre/translations/is.po index 0a90e4ac46..e843433419 100644 --- a/src/calibre/translations/is.po +++ b/src/calibre/translations/is.po @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:35+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 700e80084f..94c8697b65 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:53+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:35+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: it\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index cd99123f93..283caf126d 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:36+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/jv.po b/src/calibre/translations/jv.po index 4eb9a7c716..69c347186c 100644 --- a/src/calibre/translations/jv.po +++ b/src/calibre/translations/jv.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 0;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:36+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ka.po b/src/calibre/translations/ka.po index be6002ce97..2ba7fd5fc2 100644 --- a/src/calibre/translations/ka.po +++ b/src/calibre/translations/ka.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:51+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:32+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/kn.po b/src/calibre/translations/kn.po index 71d4f3e811..d80d07b011 100644 --- a/src/calibre/translations/kn.po +++ b/src/calibre/translations/kn.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:36+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po index db34b1ad5c..99f31fcb7d 100644 --- a/src/calibre/translations/ko.po +++ b/src/calibre/translations/ko.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:54+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:36+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ku.po b/src/calibre/translations/ku.po index 1f39a18515..47bfc21345 100644 --- a/src/calibre/translations/ku.po +++ b/src/calibre/translations/ku.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:37+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/lt.po b/src/calibre/translations/lt.po index 0ff32e9623..6401b88262 100644 --- a/src/calibre/translations/lt.po +++ b/src/calibre/translations/lt.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:37+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ltg.po b/src/calibre/translations/ltg.po index 53f5f211a9..36709b49b9 100644 --- a/src/calibre/translations/ltg.po +++ b/src/calibre/translations/ltg.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:47+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index 58e34f1729..569860db11 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:37+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: LATVIA\n" "Language: lv\n" diff --git a/src/calibre/translations/mk.po b/src/calibre/translations/mk.po index 3bd576c832..8c965e82d5 100644 --- a/src/calibre/translations/mk.po +++ b/src/calibre/translations/mk.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:37+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po index ff3376ebd4..85179ec7da 100644 --- a/src/calibre/translations/ml.po +++ b/src/calibre/translations/ml.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:55+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:37+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/mr.po b/src/calibre/translations/mr.po index f166c6fb0d..ee7694069c 100644 --- a/src/calibre/translations/mr.po +++ b/src/calibre/translations/mr.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:38+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ms.po b/src/calibre/translations/ms.po index a2d945cc9d..82e6751d2d 100644 --- a/src/calibre/translations/ms.po +++ b/src/calibre/translations/ms.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:38+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index d4934361f1..52dfed79f6 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:39+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 0ceec01f7e..a99cc45ea5 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:38+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: GERMANY\n" "X-Poedit-Language: German\n" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 1467897358..db3f0d1b1b 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -57,14 +57,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-19 23:00+0000\n" +"PO-Revision-Date: 2012-11-23 21:57+0000\n" "Last-Translator: Herman van der Vaart \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:49+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:31+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -18260,11 +18260,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "Geen zoekopdracht" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "je moet een titel, auteur of sleutelwoord ingeven om naar te zoeken" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18288,19 +18288,19 @@ msgstr "Boeken verkrijgen" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Zoeken op titel" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Zoeken op auteur" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "&Sleutelwoord" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Zoeken op willekeurig sleutelwoord" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -19104,11 +19104,11 @@ msgstr "Toon de bladerbalk in volledige-scherm-modus" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:63 msgid "Start viewer in full screen mode" -msgstr "" +msgstr "Start de lezer in volledig scherm" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Toon gebruikershulp in volledig scherm" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -19274,11 +19274,11 @@ msgstr "Toon &bladerbalk in volledig-scherm-modus" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "&Start de lezer in volledig scherm" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" -msgstr "" +msgstr "Toon &help bericht bij starten volledig scherm" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:409 msgid "F&ull screen options" @@ -19420,7 +19420,7 @@ msgstr "Toon &afbeelding..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Toon &table" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" @@ -19457,12 +19457,12 @@ msgstr "Einde van paragraaf" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Normale karaktergrootte" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "Zoek in Google naar '%s'" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 @@ -19818,15 +19818,15 @@ msgstr "Weergave document %s mislukt (render probleem)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Bekijk Tabel" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" -msgstr "" +msgstr "Geen tabel gevonden" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 msgid "No table was found" -msgstr "" +msgstr "Er werd geen tabel gevonden" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" @@ -22577,6 +22577,14 @@ msgid "" "also that prefixes and suffixes (the `|prefix|suffix` syntax) cannot be used " "in the argument to this function when using template program mode." msgstr "" +"eval(template) -- evalueert het sjabloon, geeft lokale variabelen door (die " +"'assign'ed zijn) in plaats van de metadata van het boek. Hierdoor kan met " +"behulp van de sjabloon processor complexe resultaten geconstrueerd worden " +"van lokale variabelen. Omdat de { en } karakters speciaal zijn, dien je [[ " +"voor het { karakter en ]] voor het } karakter te gebruiken; deze worden " +"automatisch omgezet. Merk ook op dat voor- en achtervoegsels (de " +"`|prefix|suffix` syntaxis) niet gebruikt kunnen worden in het argument voor " +"deze functie bij gebruik in sjabloon programma mode." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:253 msgid "" @@ -22858,6 +22866,12 @@ msgid "" "template program mode using the template \"{:'approximate_formats()'}\". " "Note that format names are always uppercase, as in EPUB." msgstr "" +"approximate_formats() -- retourneert een door komma's gescheiden lijst van " +"formaten die op enig moment in verband stonden met het boek. Er is geen " +"garantie dat deze lijst correct is, maar waarschijnlijk wel. Deze functie " +"kan worden aangeroepen in sjabloon programma mode gebruik makend van het " +"sjabloon \"{:'approximate_formats()'}\". Merk op dat formaat namen altijd in " +"hoofdletters zijn, zoals in EPUB." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:620 msgid "" @@ -22894,6 +22908,11 @@ msgid "" "function to get the path for a specific format. Note that format names are " "always uppercase, as in EPUB." msgstr "" +"formats_paths() -- retourneert een door komma's gescheiden lijst van door " +"dubbele punt gescheiden items die het volledige pad naar de formaten van een " +"boek geven. Je kunt gebruik maken van de select-functie om het pad te " +"krijgen voor een specifiek formaat. Merk op dat formaat namen altijd in " +"hoofdletters zijn, zoals in EPUB." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:671 msgid "" diff --git a/src/calibre/translations/nn.po b/src/calibre/translations/nn.po index 51f81c8c99..b6acb280f0 100644 --- a/src/calibre/translations/nn.po +++ b/src/calibre/translations/nn.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:56+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:38+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/oc.po b/src/calibre/translations/oc.po index 54512b8fc4..ba333c274a 100644 --- a/src/calibre/translations/oc.po +++ b/src/calibre/translations/oc.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:39+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/pa.po b/src/calibre/translations/pa.po index fb796d8bc4..f33facb094 100644 --- a/src/calibre/translations/pa.po +++ b/src/calibre/translations/pa.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:57+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:39+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index b554b08ed9..83a24e4c4a 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:40+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Bookmarks: -1,3588,-1,-1,-1,-1,-1,-1,-1,-1\n" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 3d2ec65da1..25ec447904 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:40+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 7a7c315020..1a5485e743 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:04+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:46+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 52a6cb2f4b..673e248870 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" -"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:40+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 5538cc1805..cc72ec65aa 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-10 14:30+0000\n" +"PO-Revision-Date: 2012-11-23 16:52+0000\n" "Last-Translator: Baz <_baz_@rambler.ru>\n" "Language-Team: American English \n" "MIME-Version: 1.0\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:58+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:41+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" @@ -5847,7 +5847,7 @@ msgstr "Слишком длинный" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "Не найдено" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5855,6 +5855,8 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"Не могу переименовать, так как библиотека %s не найдена. Попытайтесь " +"переключиться на неё и обратно и переименовать снова." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -14943,6 +14945,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"Автоматически преобразовывать добавленные книги в текущий конечный формат" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -18058,11 +18061,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "Нет запроса" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "Вы должны ввести заголовок, автора или ключевое слово для поиска." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18086,19 +18089,19 @@ msgstr "Скачать книги" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Искать по заголовку" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Искать по автору" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "Ключевые слова:" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Искать по любому ключевому слову:" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -18893,11 +18896,11 @@ msgstr "Показывать полосу прокрутки в полноэкр #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:63 msgid "Start viewer in full screen mode" -msgstr "" +msgstr "Начать просмотр в полноэкранном режиме" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Показать справку по использованию полноэкранного режима" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -19063,11 +19066,11 @@ msgstr "Показывать полосу прокрутки в полноэкр #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "Запустить просмотрщик в полноэкранном режиме" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" -msgstr "" +msgstr "Показать справочное сообщение при запуске полноэкранного режима" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:409 msgid "F&ull screen options" @@ -19211,7 +19214,7 @@ msgstr "Просмотреть изображение..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Посмотреть таблицу..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" @@ -19248,12 +19251,12 @@ msgstr "Конец раздела" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Нормальный размер шрифта" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "Искать в Google '%s'" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 @@ -19606,15 +19609,15 @@ msgstr "Не удалось отобразить документ %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Посмотреть Таблицу" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" -msgstr "" +msgstr "Не найдено таблиц" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 msgid "No table was found" -msgstr "" +msgstr "Не найдено таблиц" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" diff --git a/src/calibre/translations/sc.po b/src/calibre/translations/sc.po index c14c0037ea..68b200bc95 100644 --- a/src/calibre/translations/sc.po +++ b/src/calibre/translations/sc.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:42+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/si.po b/src/calibre/translations/si.po index 032219ec38..375daaf572 100644 --- a/src/calibre/translations/si.po +++ b/src/calibre/translations/si.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:59+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:41+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 2c524c5d40..e2ba168139 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:00+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:42+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index ac919d69ef..8375c0e728 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -15,7 +15,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " "n%100==4 ? 3 : 0);\n" -"X-Launchpad-Export-Date: 2012-11-23 05:00+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:42+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" diff --git a/src/calibre/translations/sq.po b/src/calibre/translations/sq.po index 92d53c2b71..7bd8ae6118 100644 --- a/src/calibre/translations/sq.po +++ b/src/calibre/translations/sq.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:27+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index ec070fc3f3..c9ab074448 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 04:59+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:41+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: sr\n" diff --git a/src/calibre/translations/sr@latin.po b/src/calibre/translations/sr@latin.po index 953557a8a8..4353e6006e 100644 --- a/src/calibre/translations/sr@latin.po +++ b/src/calibre/translations/sr@latin.po @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:06+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:48+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 646e3c2082..b1df435694 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:43+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SWEDEN\n" "X-Poedit-Language: Swedish\n" diff --git a/src/calibre/translations/ta.po b/src/calibre/translations/ta.po index 02d6d79148..ae3957b28c 100644 --- a/src/calibre/translations/ta.po +++ b/src/calibre/translations/ta.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:43+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 846e5ded0c..873cd4abe8 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:01+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:43+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index aa7c56e77a..b4b2e005b1 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:43+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 diff --git a/src/calibre/translations/tr.po b/src/calibre/translations/tr.po index fddca4e8f9..ed633c468a 100644 --- a/src/calibre/translations/tr.po +++ b/src/calibre/translations/tr.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:44+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index a3bf099986..75a7c9d765 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-22 05:44+0000\n" +"PO-Revision-Date: 2012-11-23 05:41+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:44+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: uk\n" @@ -19869,15 +19869,15 @@ msgstr "Не вдалося обробити документ %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Перегляд таблиці" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" -msgstr "" +msgstr "Таблиці не знайдено" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 msgid "No table was found" -msgstr "" +msgstr "Таблиці не знайдено" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" diff --git a/src/calibre/translations/ur.po b/src/calibre/translations/ur.po index 9045a9619f..44cdd5c791 100644 --- a/src/calibre/translations/ur.po +++ b/src/calibre/translations/ur.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:02+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:44+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/vi.po b/src/calibre/translations/vi.po index 3dd3fce1e9..c49845cab4 100644 --- a/src/calibre/translations/vi.po +++ b/src/calibre/translations/vi.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:44+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/wa.po b/src/calibre/translations/wa.po index 39e37355bb..a7dcac477e 100644 --- a/src/calibre/translations/wa.po +++ b/src/calibre/translations/wa.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:45+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index fc3accbf77..1e48c109ed 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:45+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index d5b40acfe1..73fbf3f26a 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:47+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: CHINA\n" "X-Poedit-Language: Chinese\n" diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index 5ece623c3e..3b013be251 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:03+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:45+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index f96ee48f33..560b2dc3fa 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-23 05:05+0000\n" +"X-Launchpad-Export-Date: 2012-11-24 05:47+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: zh_TW\n" From 9defb4a077891cb97f6acecad3b9a20fb11f5056 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Sun, 25 Nov 2012 05:24:11 +0000 Subject: [PATCH 03/63] Launchpad automatic translations update. --- src/calibre/translations/eu.po | 17 +++++++++-------- src/calibre/translations/fr.po | 10 +++++----- src/calibre/translations/nl.po | 26 +++++++++++++++++++++++--- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index ebf481729f..1ae7f1a572 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-23 19:00+0000\n" +"PO-Revision-Date: 2012-11-24 18:16+0000\n" "Last-Translator: Ander Martínez \n" "Language-Team: http://librezale.org/wiki/Calibre\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:28+0000\n" +"X-Launchpad-Export-Date: 2012-11-25 05:23+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: eu\n" @@ -15673,7 +15673,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:279 msgid "&Collapse when more items than:" -msgstr "" +msgstr "&Tolestu hurrengoak baino sarrera gehiagorekin:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 msgid "" @@ -15701,7 +15701,7 @@ msgstr "Erakutsi &batez besteko balorazioak etiketen arakatzailean" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:289 msgid "Categories with &hierarchical items:" -msgstr "" +msgstr "Sarrera &hierarkikoak dituzten kategoriak:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:290 msgid "Use &alternating row colors in the Tag Browser" @@ -15726,6 +15726,7 @@ msgstr "" #, python-format msgid "You can press the %s keys to toggle full screen mode." msgstr "" +"%s teklak saka ditzazkezu pantaila osoko modua aktibatzeko/desaktibatzeko." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:123 @@ -17654,7 +17655,7 @@ msgstr "Bila ezazu aurrekoa edo hurrengoa" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:355 msgid "Collapse all categories" -msgstr "Kategoria guztiak murriztu" +msgstr "Kategoria guztiak tolestu" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:379 msgid "No More Matches.

Click Find again to go to first match" @@ -18170,7 +18171,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Erakutsi pantaila osoko moduko laguntza" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -18328,7 +18329,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "&Hasi ikusgailua pantaila osoko moduan" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" @@ -18635,7 +18636,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:286 msgid "Full screen mode" -msgstr "" +msgstr "Pantaila osoko modua" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:287 msgid "Right click to show controls" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index f3343760a7..af5daf30f2 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-22 20:53+0000\n" -"Last-Translator: sengian \n" +"PO-Revision-Date: 2012-11-24 10:03+0000\n" +"Last-Translator: Franck \n" "Language-Team: PCGen\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:32+0000\n" +"X-Launchpad-Export-Date: 2012-11-25 05:24+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" @@ -3347,7 +3347,7 @@ msgid "" msgstr "" "Par défaut calibre convertit toutes les images au format JPEG dans le " "fichier de sortie MOBI. C'est pour une compatibilité maximale car certains " -"anciennes vionneuses MOBI ont des problèmes avec d'autres formats d'image. " +"anciennes visionneuses MOBI ont des problèmes avec d'autres formats d'image. " "Cette option indique à calibre de ne pas le faire. Elle est utile si votre " "document contient beaucoup d'images GIF / PNG qui deviennent alors très " "grandes lors de la conversion au format JPEG" @@ -18559,7 +18559,7 @@ msgstr "Téléchargement…" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/results_view.py:45 msgid "Goto in store..." -msgstr "Va dans la boutique…" +msgstr "Accéder à la boutique" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:128 #, python-format diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index db3f0d1b1b..713e6fdba3 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -57,14 +57,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-23 21:57+0000\n" +"PO-Revision-Date: 2012-11-24 14:02+0000\n" "Last-Translator: Herman van der Vaart \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:31+0000\n" +"X-Launchpad-Export-Date: 2012-11-25 05:23+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -5957,7 +5957,7 @@ msgstr "Te lang" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "niet gevonden" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5965,6 +5965,9 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"Kan niet hernoemen aangezien geen bibliotheek gevonden werd op %s. Probeer " +"eerst om te schakelen naar deze bibliotheek, schakel dan terug en probeer " +"opnieuw te hernoemen." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -15123,6 +15126,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"&convert automatisch toegevoegde boeken naar het gekozen uitvoer formaat" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -22974,6 +22978,22 @@ msgid "" "\"B.C\". Assuming a #genre value of \"A.B.C, D.E.F\", {#genre:subitems(0,1)} " "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" +"subitems(val, start_index, end_index) -- Deze functie wordt gebruikt om " +"lijsten van items zoals genres op te delen. Het interpreteert de waarde als " +"een door komma's gescheiden lijst met items, waarbij elk item een door " +"punten gescheiden lijst is. Geeft een nieuwe lijst door eerst alle met " +"punten gescheiden items te vinden, vervolgens voor elk item de waarde van " +"de `start_index` tot `end_index` componenten te extraheren, en dan de " +"resultaten wederom terug te combineren. De eerste component in een punt " +"gescheiden lijst heeft een index van nul. Als een index negatief is, dan " +"telt het vanaf het einde van de lijst. Als speciaal geval wordt een " +"end_index van nul verondersteld de lengte van de lijst te zijn. Voorbeeld " +"met gebruik van de basis sjabloon mode en uitgaande van een #genre waarde " +"van \"A.B.C\": {#genre:subitems(0,1)} retourneert \"A\". " +"{#genre:subitems(0,2)} retourneert \"A.B\". {#genre:subitems(1,0)} " +"retourneert \"B.C\". Uitgaande van een #genre waarde van \"A.B.C, D.E.F\", " +"{#genre:subitems(0,1)} retourneert \"A, D\". {#genre:subitems(0,2)} " +"retourneert \"A.B, D.E\"" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:795 msgid "" From 10b2c6da816197652e2402a148ac4ba17d9e9cdb Mon Sep 17 00:00:00 2001 From: Translators <> Date: Mon, 26 Nov 2012 04:39:20 +0000 Subject: [PATCH 04/63] Launchpad automatic translations update. --- setup/iso_639/ca.po | 246 ++++++++++++++++----------------- src/calibre/translations/ar.po | 8 +- src/calibre/translations/ca.po | 42 +++--- src/calibre/translations/fr.po | 8 +- src/calibre/translations/ja.po | 58 ++++---- src/calibre/translations/nl.po | 60 +++++++- 6 files changed, 243 insertions(+), 179 deletions(-) diff --git a/setup/iso_639/ca.po b/setup/iso_639/ca.po index c3900e83dd..31c366ebbd 100644 --- a/setup/iso_639/ca.po +++ b/setup/iso_639/ca.po @@ -12,14 +12,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2012-11-18 13:55+0000\n" +"PO-Revision-Date: 2012-11-25 22:19+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-19 04:37+0000\n" -"X-Generator: Launchpad (build 16278)\n" +"X-Launchpad-Export-Date: 2012-11-26 04:39+0000\n" +"X-Generator: Launchpad (build 16293)\n" "Language: ca\n" #. name for aaa @@ -15820,7 +15820,7 @@ msgstr "Ma'anyan" #. name for mhz msgid "Mor (Mor Islands)" -msgstr "" +msgstr "Mor (Illes de Mor)" #. name for mia msgid "Miami" @@ -15972,19 +15972,19 @@ msgstr "Malankuravan" #. name for mjp msgid "Malapandaram" -msgstr "" +msgstr "Malapandaram" #. name for mjq msgid "Malaryan" -msgstr "" +msgstr "Malaryan" #. name for mjr msgid "Malavedan" -msgstr "" +msgstr "Malavedan" #. name for mjs msgid "Miship" -msgstr "" +msgstr "Miship" #. name for mjt msgid "Sauria Paharia" @@ -15992,11 +15992,11 @@ msgstr "" #. name for mju msgid "Manna-Dora" -msgstr "" +msgstr "Manna-Dora" #. name for mjv msgid "Mannan" -msgstr "" +msgstr "Mannan" #. name for mjw msgid "Karbi" @@ -16004,23 +16004,23 @@ msgstr "Karbi" #. name for mjx msgid "Mahali" -msgstr "" +msgstr "Mahali" #. name for mjy msgid "Mahican" -msgstr "" +msgstr "Mohicà" #. name for mjz msgid "Majhi" -msgstr "" +msgstr "Majhi" #. name for mka msgid "Mbre" -msgstr "" +msgstr "Mbre" #. name for mkb msgid "Mal Paharia" -msgstr "" +msgstr "Mal Paharia" #. name for mkc msgid "Siliput" @@ -16032,15 +16032,15 @@ msgstr "Macedoni" #. name for mke msgid "Mawchi" -msgstr "" +msgstr "Mawchi" #. name for mkf msgid "Miya" -msgstr "" +msgstr "Miya" #. name for mkg msgid "Mak (China)" -msgstr "" +msgstr "Mak (Xina)" #. name for mki msgid "Dhatki" @@ -16048,7 +16048,7 @@ msgstr "" #. name for mkj msgid "Mokilese" -msgstr "" +msgstr "Mokilès" #. name for mkk msgid "Byep" @@ -16056,11 +16056,11 @@ msgstr "" #. name for mkl msgid "Mokole" -msgstr "" +msgstr "Mokole" #. name for mkm msgid "Moklen" -msgstr "" +msgstr "Moklen" #. name for mkn msgid "Malay; Kupang" @@ -16068,11 +16068,11 @@ msgstr "Malay; Kupang" #. name for mko msgid "Mingang Doso" -msgstr "" +msgstr "Mingang Doso" #. name for mkp msgid "Moikodi" -msgstr "" +msgstr "Moikodi" #. name for mkq msgid "Miwok; Bay" @@ -16080,7 +16080,7 @@ msgstr "Miwok; badia" #. name for mkr msgid "Malas" -msgstr "" +msgstr "Malas" #. name for mks msgid "Mixtec; Silacayoapan" @@ -16092,11 +16092,11 @@ msgstr "" #. name for mku msgid "Maninka; Konyanka" -msgstr "" +msgstr "Maninka; Konyanka" #. name for mkv msgid "Mafea" -msgstr "" +msgstr "Mafea" #. name for mkw msgid "Kituba (Congo)" @@ -16108,19 +16108,19 @@ msgstr "Manobo; Kinamiging" #. name for mky msgid "Makian; East" -msgstr "" +msgstr "Makià; Oriental" #. name for mkz msgid "Makasae" -msgstr "" +msgstr "Makasae" #. name for mla msgid "Malo" -msgstr "" +msgstr "Malo" #. name for mlb msgid "Mbule" -msgstr "" +msgstr "Mbule" #. name for mlc msgid "Cao Lan" @@ -16128,15 +16128,15 @@ msgstr "" #. name for mld msgid "Malakhel" -msgstr "" +msgstr "Malakhel" #. name for mle msgid "Manambu" -msgstr "" +msgstr "Manambu" #. name for mlf msgid "Mal" -msgstr "" +msgstr "Mal" #. name for mlg msgid "Malagasy" @@ -16144,15 +16144,15 @@ msgstr "Malgaix" #. name for mlh msgid "Mape" -msgstr "" +msgstr "Mape" #. name for mli msgid "Malimpung" -msgstr "" +msgstr "Malimpung" #. name for mlj msgid "Miltu" -msgstr "" +msgstr "Miltu" #. name for mlk msgid "Ilwana" @@ -16160,19 +16160,19 @@ msgstr "" #. name for mll msgid "Malua Bay" -msgstr "" +msgstr "Malua" #. name for mlm msgid "Mulam" -msgstr "" +msgstr "Mulam" #. name for mln msgid "Malango" -msgstr "" +msgstr "Malango" #. name for mlo msgid "Mlomp" -msgstr "" +msgstr "Mlomp" #. name for mlp msgid "Bargam" @@ -16188,11 +16188,11 @@ msgstr "" #. name for mls msgid "Masalit" -msgstr "" +msgstr "Masalit" #. name for mlt msgid "Maltese" -msgstr "" +msgstr "Maltès" #. name for mlu msgid "To'abaita" @@ -16200,27 +16200,27 @@ msgstr "" #. name for mlv msgid "Motlav" -msgstr "" +msgstr "Motlau" #. name for mlw msgid "Moloko" -msgstr "" +msgstr "Melokwo" #. name for mlx msgid "Malfaxal" -msgstr "" +msgstr "Malfaxal" #. name for mlz msgid "Malaynon" -msgstr "" +msgstr "Malaynon" #. name for mma msgid "Mama" -msgstr "" +msgstr "Mama" #. name for mmb msgid "Momina" -msgstr "" +msgstr "Momina" #. name for mmc msgid "Mazahua; Michoacán" @@ -16228,15 +16228,15 @@ msgstr "Mazahua; Michoacan" #. name for mmd msgid "Maonan" -msgstr "" +msgstr "Maonan" #. name for mme msgid "Mae" -msgstr "" +msgstr "Mae" #. name for mmf msgid "Mundat" -msgstr "" +msgstr "Mundat" #. name for mmg msgid "Ambrym; North" @@ -16244,31 +16244,31 @@ msgstr "" #. name for mmh msgid "Mehináku" -msgstr "" +msgstr "Mehinaku" #. name for mmi msgid "Musar" -msgstr "" +msgstr "Musar" #. name for mmj msgid "Majhwar" -msgstr "" +msgstr "Majhwar" #. name for mmk msgid "Mukha-Dora" -msgstr "" +msgstr "Mukha-Dora" #. name for mml msgid "Man Met" -msgstr "" +msgstr "Man Met" #. name for mmm msgid "Maii" -msgstr "" +msgstr "Maii" #. name for mmn msgid "Mamanwa" -msgstr "" +msgstr "Mamanwa" #. name for mmo msgid "Buang; Mangga" @@ -16280,7 +16280,7 @@ msgstr "" #. name for mmq msgid "Musak" -msgstr "" +msgstr "Musak" #. name for mmr msgid "Miao; Western Xiangxi" @@ -16288,15 +16288,15 @@ msgstr "Miao; Xiangxi occidental" #. name for mmt msgid "Malalamai" -msgstr "" +msgstr "Malalamai" #. name for mmu msgid "Mmaala" -msgstr "" +msgstr "Mmaala" #. name for mmv msgid "Miriti" -msgstr "" +msgstr "Mirití" #. name for mmw msgid "Emae" @@ -16304,31 +16304,31 @@ msgstr "" #. name for mmx msgid "Madak" -msgstr "" +msgstr "Madak" #. name for mmy msgid "Migaama" -msgstr "" +msgstr "Migaama" #. name for mmz msgid "Mabaale" -msgstr "" +msgstr "Mabaale" #. name for mna msgid "Mbula" -msgstr "" +msgstr "Mbula" #. name for mnb msgid "Muna" -msgstr "" +msgstr "Muna" #. name for mnc msgid "Manchu" -msgstr "" +msgstr "Manxú" #. name for mnd msgid "Mondé" -msgstr "" +msgstr "Mondé" #. name for mne msgid "Naba" @@ -16336,7 +16336,7 @@ msgstr "" #. name for mnf msgid "Mundani" -msgstr "" +msgstr "Mundani" #. name for mng msgid "Mnong; Eastern" @@ -16344,19 +16344,19 @@ msgstr "Mnong; oriental" #. name for mnh msgid "Mono (Democratic Republic of Congo)" -msgstr "" +msgstr "Mono (República Democràtica del Congo)" #. name for mni msgid "Manipuri" -msgstr "" +msgstr "Manipurí" #. name for mnj msgid "Munji" -msgstr "" +msgstr "Munji" #. name for mnk msgid "Mandinka" -msgstr "" +msgstr "Manding" #. name for mnl msgid "Tiale" @@ -16364,7 +16364,7 @@ msgstr "" #. name for mnm msgid "Mapena" -msgstr "" +msgstr "Mapena" #. name for mnn msgid "Mnong; Southern" @@ -16376,23 +16376,23 @@ msgstr "Xinès; Min Bei" #. name for mnq msgid "Minriq" -msgstr "" +msgstr "Minriq" #. name for mnr msgid "Mono (USA)" -msgstr "" +msgstr "Mono (Estats Units)" #. name for mns msgid "Mansi" -msgstr "" +msgstr "Mansi" #. name for mnt msgid "Maykulan" -msgstr "" +msgstr "Maykulan" #. name for mnu msgid "Mer" -msgstr "" +msgstr "Mer" #. name for mnv msgid "Rennell-Bellona" @@ -16400,59 +16400,59 @@ msgstr "" #. name for mnw msgid "Mon" -msgstr "" +msgstr "Mon" #. name for mnx msgid "Manikion" -msgstr "" +msgstr "Manikion" #. name for mny msgid "Manyawa" -msgstr "" +msgstr "Manyawa" #. name for mnz msgid "Moni" -msgstr "" +msgstr "Moni" #. name for moa msgid "Mwan" -msgstr "" +msgstr "Mwan" #. name for moc msgid "Mocoví" -msgstr "" +msgstr "Mocobí" #. name for mod msgid "Mobilian" -msgstr "" +msgstr "Mobilià" #. name for moe msgid "Montagnais" -msgstr "" +msgstr "Montanyès" #. name for mog msgid "Mongondow" -msgstr "" +msgstr "Mongondow" #. name for moh msgid "Mohawk" -msgstr "" +msgstr "Mohawk" #. name for moi msgid "Mboi" -msgstr "" +msgstr "Mboi" #. name for moj msgid "Monzombo" -msgstr "" +msgstr "Monzombo" #. name for mok msgid "Morori" -msgstr "" +msgstr "Morori" #. name for mom msgid "Mangue" -msgstr "" +msgstr "Monimbo" #. name for mon msgid "Mongolian" @@ -16460,23 +16460,23 @@ msgstr "mongol" #. name for moo msgid "Monom" -msgstr "" +msgstr "Monom" #. name for mop msgid "Mopán Maya" -msgstr "" +msgstr "Maya; Mopan" #. name for moq msgid "Mor (Bomberai Peninsula)" -msgstr "" +msgstr "Mor (Península de Bomberai)" #. name for mor msgid "Moro" -msgstr "" +msgstr "Moro" #. name for mos msgid "Mossi" -msgstr "" +msgstr "Moré" #. name for mot msgid "Barí" @@ -16484,19 +16484,19 @@ msgstr "" #. name for mou msgid "Mogum" -msgstr "" +msgstr "Mogum" #. name for mov msgid "Mohave" -msgstr "" +msgstr "Mohave" #. name for mow msgid "Moi (Congo)" -msgstr "" +msgstr "Moi (Congo)" #. name for mox msgid "Molima" -msgstr "" +msgstr "Molima" #. name for moy msgid "Shekkacho" @@ -16504,47 +16504,47 @@ msgstr "" #. name for moz msgid "Mukulu" -msgstr "" +msgstr "Mukulu" #. name for mpa msgid "Mpoto" -msgstr "" +msgstr "Mpoto" #. name for mpb msgid "Mullukmulluk" -msgstr "" +msgstr "Mullukmulluk" #. name for mpc msgid "Mangarayi" -msgstr "" +msgstr "Mangarayi" #. name for mpd msgid "Machinere" -msgstr "" +msgstr "Machineri" #. name for mpe msgid "Majang" -msgstr "" +msgstr "Masongo" #. name for mpg msgid "Marba" -msgstr "" +msgstr "Marba" #. name for mph msgid "Maung" -msgstr "" +msgstr "Maung" #. name for mpi msgid "Mpade" -msgstr "" +msgstr "Mpade" #. name for mpj msgid "Martu Wangka" -msgstr "" +msgstr "Martu Wangka" #. name for mpk msgid "Mbara (Chad)" -msgstr "" +msgstr "Mbara (Txad)" #. name for mpl msgid "Watut; Middle" @@ -16556,7 +16556,7 @@ msgstr "Mixtec; Yosondua" #. name for mpn msgid "Mindiri" -msgstr "" +msgstr "Mindiri" #. name for mpo msgid "Miu" @@ -16676,7 +16676,7 @@ msgstr "" #. name for mqs msgid "Makian; West" -msgstr "" +msgstr "Makià; Occidental" #. name for mqt msgid "Mok" @@ -16788,7 +16788,7 @@ msgstr "Marghi; Central" #. name for mru msgid "Mono (Cameroon)" -msgstr "" +msgstr "Mono (Camerun)" #. name for mrv msgid "Mangareva" @@ -16820,7 +16820,7 @@ msgstr "" #. name for msc msgid "Maninka; Sankaran" -msgstr "" +msgstr "Maninka; Sankaran" #. name for msd msgid "Yucatec Maya Sign Language" @@ -16928,7 +16928,7 @@ msgstr "" #. name for mte msgid "Mono (Solomon Islands)" -msgstr "" +msgstr "Mono (Illes Salomó)" #. name for mtf msgid "Murik (Papua New Guinea)" @@ -17140,7 +17140,7 @@ msgstr "" #. name for mvl msgid "Mbara (Australia)" -msgstr "" +msgstr "Mbara (Austràlia)" #. name for mvm msgid "Muya" @@ -17356,7 +17356,7 @@ msgstr "" #. name for mxn msgid "Moi (Indonesia)" -msgstr "" +msgstr "Moi (Indonèsia)" #. name for mxo msgid "Mbowe" @@ -17468,7 +17468,7 @@ msgstr "" #. name for myq msgid "Maninka; Forest" -msgstr "" +msgstr "Maninka; Forest" #. name for myr msgid "Muniche" @@ -20292,7 +20292,7 @@ msgstr "" #. name for pbl msgid "Mak (Nigeria)" -msgstr "" +msgstr "Mak (Nigèria)" #. name for pbn msgid "Kpasam" diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index cf55aa9076..0fc574c00d 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: iso_639_3\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/calibre\n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-10-31 19:43+0000\n" -"Last-Translator: mourad \n" +"PO-Revision-Date: 2012-11-25 11:24+0000\n" +"Last-Translator: Mahmoud Hossam \n" "Language-Team: awadh alghaamdi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:28+0000\n" +"X-Launchpad-Export-Date: 2012-11-26 04:36+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: SAUDI ARABIA\n" "Language: ar\n" @@ -64,7 +64,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" -msgstr "" +msgstr "لا يفعل أى شئ" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 #: /home/kovid/work/calibre/src/calibre/db/cache.py:106 diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 5bcb7dc60e..d95ae7e311 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -11,14 +11,14 @@ msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-10 17:12+0000\n" +"PO-Revision-Date: 2012-11-25 12:08+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:30+0000\n" +"X-Launchpad-Export-Date: 2012-11-26 04:37+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -5923,7 +5923,7 @@ msgstr "Massa llarg" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "No s'ha trobat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5931,6 +5931,9 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"No s'ha pogut canviar el nom perquè no s'ha trobar cap biblioteca a %s. " +"Intenteu canviar primer a aquesta biblioteca, torneu a l'anterior i intenteu " +"canviar el norm un altre cop." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -15130,6 +15133,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"&Converteix automàticament els llibres afegits al format de sortida actual" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -18294,11 +18298,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "No hi ha cap consulta" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "Heu d'introduir el títol, autor o paraula clau que s'ha de cercar." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18322,19 +18326,19 @@ msgstr "Get Books" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Cerca per títol" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Cerca per autor" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "Paraula &clau:" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Cerca qualsevol de les paraules clau" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -19143,11 +19147,11 @@ msgstr "Mostra la barra de desplaçament en mode de pantalla complerta." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:63 msgid "Start viewer in full screen mode" -msgstr "" +msgstr "Inicia el visor en mode de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Mostra l'ajuda de la utilització en pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -19314,11 +19318,11 @@ msgstr "Mostra la barra de de&splaçament en mode de pantalla complerta." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "&Inicia el visor en mode de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" -msgstr "" +msgstr "Mostra un missatge d'&ajuda en iniciar en mode de pantalla completa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:409 msgid "F&ull screen options" @@ -19460,7 +19464,7 @@ msgstr "Visualitza una &imatge" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Visualitza la &taula..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" @@ -19497,12 +19501,12 @@ msgstr "Final de la secció" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Mida de lletra normal" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "C&erca «%s» a Google" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 @@ -19858,15 +19862,15 @@ msgstr "No s'ha pogut renderitzar el document %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Visualitza la taula" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" -msgstr "" +msgstr "No s'ha trobat cap taula" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 msgid "No table was found" -msgstr "" +msgstr "No s'ha trobat cap taula" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index af5daf30f2..abd90e9c8d 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-24 10:03+0000\n" -"Last-Translator: Franck \n" +"PO-Revision-Date: 2012-11-26 00:19+0000\n" +"Last-Translator: sengian \n" "Language-Team: PCGen\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-25 05:24+0000\n" +"X-Launchpad-Export-Date: 2012-11-26 04:38+0000\n" "X-Generator: Launchpad (build 16293)\n" "Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" @@ -20149,7 +20149,7 @@ msgstr "Echec du rendu du document %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Afficher la Table" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index 283caf126d..675f8fa381 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-23 04:23+0000\n" +"PO-Revision-Date: 2012-11-25 12:09+0000\n" "Last-Translator: Ado Nishimura \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:36+0000\n" +"X-Launchpad-Export-Date: 2012-11-26 04:38+0000\n" "X-Generator: Launchpad (build 16293)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -1847,7 +1847,7 @@ msgstr "Ex124Gと通信します。" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:414 msgid "Communicate with the WayteQ Reader" -msgstr "" +msgstr "WayteQ リーダーと通信" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" @@ -1865,73 +1865,73 @@ msgstr "デバイス情報を取得..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:166 msgid "Listing files, this can take a while" -msgstr "" +msgstr "ファイルのリストを作成中。しばらくおまちください。" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:181 msgid "Reading ebook metadata" -msgstr "" +msgstr "ebookの書誌情報を読み込んでいます" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:214 #, python-format msgid "Reading metadata from %s" -msgstr "" +msgstr "書誌情報を %s から読み込み中" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:233 msgid "Updating metadata cache on device" -msgstr "" +msgstr "デバイス上にキャッシュしている書誌情報を更新中" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:235 msgid "Finished reading metadata from device" -msgstr "" +msgstr "デバイス上の書誌情報を読み込みました。" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:393 #, python-format msgid "Transferred %s to device" -msgstr "" +msgstr "%s をデバイスに転送しました" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:395 msgid "Transfer to device finished..." -msgstr "" +msgstr "デバイスへの転送を終了。" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:416 #, python-format msgid "Added %s" -msgstr "" +msgstr "%s を追加しました。" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:418 msgid "Adding complete" -msgstr "" +msgstr "追加完了" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:434 msgid "Deleting books from device..." -msgstr "" +msgstr "デバイスから書籍を削除中..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:440 #, python-format msgid "Deleted %s" -msgstr "" +msgstr "%s を削除しました" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:441 msgid "All books deleted" -msgstr "" +msgstr "すべての書籍を削除しました" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 msgid "Removing books from metadata" -msgstr "" +msgstr "書籍から書誌情報を削除しています" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:456 #, python-format msgid "Removed %s" -msgstr "" +msgstr "%s を削除しました" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:458 msgid "All books removed" -msgstr "" +msgstr "すべての書籍を削除しました" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:198 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:313 msgid "Unknown MTP device" -msgstr "" +msgstr "不明なMTPデバイスです" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:216 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:220 @@ -1941,7 +1941,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61 msgid "MTP devices are not supported on Windows XP" -msgstr "" +msgstr "MTPデバイスはWindows XPではサポートされていません" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69 msgid "" @@ -1949,6 +1949,8 @@ msgid "" "may need to install Windows Media Player 11 or newer and/or restart your " "computer" msgstr "" +"Windows ポータブル・デバイス・サービスがこのコンピューターにありません。Windows Media Player " +"11以降をインストールしてリスタートしてください。" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:222 #, python-format @@ -2119,11 +2121,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:174 msgid "Wireless Device" -msgstr "" +msgstr "ワイアレス・デバイス" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:178 msgid "Communicate with Smart Device apps" -msgstr "" +msgstr "Smart Device アプリと通信" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:264 msgid "All by something" @@ -2131,11 +2133,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:267 msgid "Enable connections at startup" -msgstr "" +msgstr "起動時に通信をイネーブル" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:268 msgid "Check this box to allow connections when calibre starts" -msgstr "" +msgstr "Calibreのスタート時に通信を開始するには、これをチェックしてください。" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:270 msgid "Security password" @@ -2147,7 +2149,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273 msgid "Use fixed network port" -msgstr "" +msgstr "固定のポートを用いる" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:274 msgid "" @@ -2163,7 +2165,7 @@ msgstr "ポート番号 " msgid "" "Enter the port number the driver is to use if the \"fixed port\" box is " "checked" -msgstr "" +msgstr "「固定のポートを用いる」をチェックしたときにドライバが使用するポート番号を入力" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:278 msgid "Print extra debug information" @@ -2185,7 +2187,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:291 msgid "Enable the no-activity timeout" -msgstr "" +msgstr "活動が無い場合のタイムアウトを設定" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:292 #, python-format @@ -2194,6 +2196,8 @@ msgid "" "device does nothing for %d minutes. Unchecking this box disables this " "timeout, so calibre will never automatically disconnect." msgstr "" +"このボックスをチェックした場合、%d分間、接続したデバイスが何もしなかった場合、Calibreは自動的に切断します。チェックをはずした場合、このタイムアウ" +"トは無効になります。なのでCalibreが自動的に切断する事は絶対にありません。" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:296 msgid "Use this IP address" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 713e6fdba3..dc7cf75d1b 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -57,14 +57,14 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-24 14:02+0000\n" +"PO-Revision-Date: 2012-11-25 12:44+0000\n" "Last-Translator: Herman van der Vaart \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-25 05:23+0000\n" +"X-Launchpad-Export-Date: 2012-11-26 04:37+0000\n" "X-Generator: Launchpad (build 16293)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -23278,6 +23278,11 @@ msgid "" "the same output as the above template: program: " "finish_formatting(field(\"series_index\"), \"05.2f\", \" - \", \" - \")" msgstr "" +"finish_formatting(val, fmt, prefix, suffix) -- toepassing van formaat, voor- " +"en achtervoegsel op een waarde op dezelfde manier als in een sjabloon " +"zoals`{series_index:05.2f| - |- }`. Bijvoorbeeld, het volgende programma " +"produceert dezelfde uitvoer als bovenstaand sjabloon: programma: " +"finish_formatting(field(\"series_index\"), \"05.2f\", \" - \", \" - \")" #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 msgid "Waiting..." @@ -23954,6 +23959,44 @@ msgid "" "from books and the import plugin produces a value, than that value will\n" "be used irrespective of the setting of the tweak." msgstr "" +"Het algoritme gebruikt om een serienummer toe te wijzen aan een boek " +"toegevoegd aan een bestaande reeks.\n" +"Toegewezen nieuwe serienummers met deze tweak zijn altijd gehele getallen, " +"tenzij\n" +"een niet geheel getal constante wordt gespecificeerd.\n" +"Mogelijke waarden zijn:\n" +"next - Eerst beschikbare geheel getal groter dan het grootste bestaande " +"nummer\n" +"first_free - Eerst beschikbare geheel getal groter dan 0\n" +"next_free - Eerst beschikbare geheel getal groter dan het kleinste bestaande " +"nummer\n" +"last_free - Eerst beschikbare geheel getal kleiner danhet grootste bestaande " +"nummer\n" +"Retourneert grootste bestaande +1 indien geen vrij nummer wordt gevonden\n" +"const - Wijst altijd het nummer 1 toe.\n" +"no_change - Wijzigt het serienummer niet\n" +"a number - Wijst dit nummer altijd toe. Het nummer staat niet tussen haken. " +"Merk op dat\n" +"0.0 hier gebruikt kan worden.\n" +"Voorbeelden:\n" +"series_index_auto_increment = 'next'\n" +"series_index_auto_increment = 'next_free'\n" +"series_index_auto_increment = 16.5\n" +"\n" +"Zet de use_series_auto_increment_tweak_when_importing tweak op WAAR om\n" +"bovenvermelde waarden te gebruiken bij importeren/toevoegen van boeken. Als " +"deze tweak wordt gezet op\n" +"NIET-WAAR (standaard) wordt het serienummer op 1 gezet tenzij\n" +"expliciet gezet tijdens de invoer. Indien gezet op WAAR, wordt het\n" +"serienummer gezet volgens de series_index_auto_increment instelling.\n" +"Merk op dat de use_series_auto_increment_tweak_when_importing tweak " +"uitsluitend\n" +"gebruikt wordt wanneer geen waarde wordt aangeboden tijdens invoer. Wanneer " +"de reguliere invoer\n" +"opdracht een waarde voor series_index oplevert, of wanneer je metadata van " +"boeken\n" +"leest en de invoer plugin produceert een waarde, dan wordt die waarde\n" +"gebruikt ongeacht de instelling van de tweak." #: /home/kovid/work/calibre/resources/default_tweaks.py:44 msgid "Add separator after completing an author name" @@ -24723,6 +24766,19 @@ msgid "" "Enter a comma-separated list of custom field lookup names, as in\n" "metadata_edit_custom_column_order = ['#genre', '#mytags', '#etc']" msgstr "" +"Regelt de volgorde waarin aangepaste kolommen worden weergegeven in bewerk " +"metadata individueel\n" +"en groep. De kolommen in de tweak worden als eerste weergegeven in de \n" +"opgegeven volgorde. Elke niet opgegeven kolom wordt weergegeven na de " +"opgegeven kolommen,\n" +"in alfabetische volgorde. Let wel dat deze tweak niets verandert aan de " +"grootte van de\n" +"de bewerking widgets. Het plaatsen van commentaar widgets in deze lijst kan " +"resulteren in een\n" +"onregelmatige widget afstand bij gebruik van twee-kolom modus.\n" +"Voer een door komma's gescheiden lijst in met aangepaste veld zoeknamen, " +"zoals in\n" +"metadata_edit_custom_column_order = ['# genre \",\" # mytags', '# etc']" #: /home/kovid/work/calibre/resources/default_tweaks.py:428 msgid "The number of seconds to wait before sending emails" From 8063abfc19cf6aeb022d931b6880ab3aec2f7302 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Mon, 26 Nov 2012 14:19:33 +0100 Subject: [PATCH 05/63] 1) fix problem with some formatter functions causing plugboards not to validate 2) fix use of {formats} in save templates --- src/calibre/library/save_to_disk.py | 3 ++- src/calibre/utils/formatter.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/library/save_to_disk.py b/src/calibre/library/save_to_disk.py index 550ac3251e..a2b8b01a8f 100644 --- a/src/calibre/library/save_to_disk.py +++ b/src/calibre/library/save_to_disk.py @@ -20,6 +20,7 @@ from calibre.ebooks.metadata import title_sort from calibre.utils.date import parse_date, as_local_time from calibre import strftime, prints, sanitize_file_name_unicode from calibre.ptempfile import SpooledTemporaryFile +from calibre.db.lazy import FormatsList plugboard_any_device_value = 'any device' plugboard_any_format_value = 'any format' @@ -159,7 +160,7 @@ class Formatter(TemplateFormatter): return self.composite_values[key] if key in kwargs: val = kwargs[key] - if isinstance(val, list): + if isinstance(val, list) or isinstance(val, FormatsList): val = ','.join(val) return val.replace('/', '_').replace('\\', '_') return '' diff --git a/src/calibre/utils/formatter.py b/src/calibre/utils/formatter.py index 89e2395dff..0711013437 100644 --- a/src/calibre/utils/formatter.py +++ b/src/calibre/utils/formatter.py @@ -526,6 +526,8 @@ class ValidateFormatter(TemplateFormatter): return self._validation_string def validate(self, x): + from calibre.ebooks.metadata.book.base import Metadata + self.book = Metadata(''); return self.vformat(x, [], {}) validation_formatter = ValidateFormatter() From 9262ceea750ba1d56fe11f0c1f27f3704701ee37 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 26 Nov 2012 22:53:04 +0530 Subject: [PATCH 06/63] ... --- src/calibre/debug.py | 6 ++++-- src/calibre/devices/udisks.py | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/calibre/debug.py b/src/calibre/debug.py index 03d35f2e78..f2c04c0b89 100644 --- a/src/calibre/debug.py +++ b/src/calibre/debug.py @@ -147,8 +147,10 @@ def print_basic_debug_info(out=None): if out is None: out = sys.stdout out = functools.partial(prints, file=out) import platform - from calibre.constants import __appname__, get_version, isportable, isosx - out(__appname__, get_version(), 'Portable' if isportable else '') + from calibre.constants import (__appname__, get_version, isportable, isosx, + isfrozen) + out(__appname__, get_version(), 'Portable' if isportable else '', + 'isfrozen:', isfrozen) out(platform.platform(), platform.system()) out(platform.system_alias(platform.system(), platform.release(), platform.version())) diff --git a/src/calibre/devices/udisks.py b/src/calibre/devices/udisks.py index 7a536f59eb..b9ab4be498 100644 --- a/src/calibre/devices/udisks.py +++ b/src/calibre/devices/udisks.py @@ -5,7 +5,7 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os, dbus, re +import os, re def node_mountpoint(node): @@ -25,6 +25,7 @@ class NoUDisks1(Exception): class UDisks(object): def __init__(self): + import dbus self.bus = dbus.SystemBus() try: self.main = dbus.Interface(self.bus.get_object('org.freedesktop.UDisks', @@ -35,6 +36,7 @@ class UDisks(object): raise def device(self, device_node_path): + import dbus devpath = self.main.FindDeviceByDeviceFile(device_node_path) return dbus.Interface(self.bus.get_object('org.freedesktop.UDisks', devpath), 'org.freedesktop.UDisks.Device') @@ -73,6 +75,7 @@ class UDisks2(object): DRIVE = 'org.freedesktop.UDisks2.Drive' def __init__(self): + import dbus self.bus = dbus.SystemBus() try: self.bus.get_object('org.freedesktop.UDisks2', From bfe4f5c8b186233aaf79314bdac6f820586822a6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 27 Nov 2012 09:55:10 +0530 Subject: [PATCH 07/63] Add function to get OS X version --- src/calibre/constants.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index f69668ffe1..8cc2e6409d 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -44,6 +44,19 @@ winerror = importlib.import_module('winerror') if iswindows else None win32api = importlib.import_module('win32api') if iswindows else None fcntl = None if iswindows else importlib.import_module('fcntl') +_osx_ver = None +def get_osx_version(): + global _osx_ver + if _osx_ver is None: + import platform + from collections import namedtuple + OSX = namedtuple('OSX', 'major minor tertiary') + try: + _osx_ver = OSX(*(map(int, platform.mac_ver()[0].split('.')))) + except: + _osx_ver = OSX(0, 0, 0) + return _osx_ver + filesystem_encoding = sys.getfilesystemencoding() if filesystem_encoding is None: filesystem_encoding = 'utf-8' else: From db9e6bef80aa46473029a1196cc4475ff4cc9bbf Mon Sep 17 00:00:00 2001 From: Translators <> Date: Tue, 27 Nov 2012 05:22:07 +0000 Subject: [PATCH 08/63] Launchpad automatic translations update. --- src/calibre/translations/ar.po | 1190 ++++++++++++++--------------- src/calibre/translations/fr.po | 4 +- src/calibre/translations/pt_BR.po | 13 +- src/calibre/translations/zh_TW.po | 72 +- 4 files changed, 632 insertions(+), 647 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 0fc574c00d..05b7f74869 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -6,23 +6,21 @@ # msgid "" msgstr "" -"Project-Id-Version: iso_639_3\n" -"Report-Msgid-Bugs-To: https://bugs.launchpad.net/calibre\n" +"Project-Id-Version: calibre 0.9.7\n" +"Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-25 11:24+0000\n" -"Last-Translator: Mahmoud Hossam \n" +"PO-Revision-Date: 2012-11-26 06:57+0000\n" +"Last-Translator: الأستاذ عوض الغامدي _ منتديات عميد التعريب \n" "Language-Team: awadh alghaamdi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2012-11-26 04:36+0000\n" -"X-Generator: Launchpad (build 16293)\n" -"X-Poedit-Country: SAUDI ARABIA\n" +"X-Launchpad-Export-Date: 2012-11-27 05:21+0000\n" +"X-Generator: Launchpad (build 16309)\n" "Language: ar\n" -"X-Poedit-Language: Arabic\n" -"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-SourceCharset: UTF-8\n" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:376 @@ -64,7 +62,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" -msgstr "لا يفعل أى شئ" +msgstr "يفعل شئ أى" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 #: /home/kovid/work/calibre/src/calibre/db/cache.py:106 @@ -253,7 +251,7 @@ msgstr "تخصيص" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:357 msgid "Cannot configure" -msgstr "لا يمكن التعديل" +msgstr "يمكن التعديل" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:322 msgid "File type" @@ -300,9 +298,9 @@ msgid "" "directory pmlname_img or images. This plugin is run every time you add a PML " "file to the library." msgstr "" -"انشئ محفوظ PMLZ يحتوي على الملف PML و جميع الصور الموجودة في الدليل " -"pmlname_img او صور. هذا المضاف يتم تشغيله كل مرة اضيف فيها ملف PML الى " -"المكتبة" +"أنشئ محفوظ بملز يحتوي على الملف حزب الرابطة الإسلامية و جميع الصور الموجودة " +"في الدليل pmlname_img أو صور. هذا المضاف يتم تشغيله كل عروض مرة أضيف فيها " +"ملف حزب الرابطة الإسلامية الى المكتبة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:51 msgid "" @@ -310,8 +308,8 @@ msgid "" "Textile references to images. The referenced images as well as the TXT file " "are added to the archive." msgstr "" -"أنشئ أرشيف TXTZ عند إستيراد ملف TXT يحتوي على إشارات Markdown أو Textile " -"لصور. الصور المشار إليها ستُضم إلى الأرشيف كما هو الحال مع ملف الـ TXT." +"أنشئ أرشيف تكستز عند إستيراد ملف TXT يحتوي على إشارات مصغر أو النسيج لصور. " +"الصور المشار إليها ستُضم إلى الأرشيف كما هو الحال مع ملف ال TXT." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:131 msgid "Extract cover from comic files" @@ -341,15 +339,15 @@ msgstr "استخرج الغلاف من ملف الرسومات" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:400 #, python-format msgid "Read metadata from %s files" -msgstr "يقرأ دليل المعلومات من %s ملف (ملفات)" +msgstr "يقرأ دليل المعلومات من %s ملف (ملفات)" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:337 msgid "Read metadata from ebooks in RAR archives" -msgstr "إقرأ دليل المعلومات لكتب في أرشيفات RAR" +msgstr "إقرأ دليل المعلومات لكتب في أرشيفات رر" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:411 msgid "Read metadata from ebooks in ZIP archives" -msgstr "إقرأ ميتاداتا لكتب في أرشيفات ZIP" +msgstr "ميتاداتا إقرأ لكتب في أرشيفات الرمز البريدي" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:428 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438 @@ -360,22 +358,22 @@ msgstr "إقرأ ميتاداتا لكتب في أرشيفات ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:512 #, python-format msgid "Set metadata in %s files" -msgstr "ضبط دليل المعلومات في الملفات %s" +msgstr "ضبط دليل المعلومات في الملفات %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:448 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:480 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:523 #, python-format msgid "Set metadata from %s files" -msgstr "ضبط دليل المعلومات من ملفات %s" +msgstr "ضبط دليل المعلومات من ملفات %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 msgid "Add books to calibre or the connected device" -msgstr "إضافة إلى الكتب النظم أو الجهاز متصلا" +msgstr "ثم إلى الكتب النظم أو الجهاز متصلاً" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 msgid "Fetch annotations from a connected Kindle (experimental)" -msgstr "حفر شروحه من كيندل متصلة (التجريبية)" +msgstr "حفر شروحه من كيندل متصلة (التجريبية)" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Generate a catalog of the books in your calibre library" @@ -399,7 +397,7 @@ msgstr "قراءة الكتب في المكتبة النظم الخاص" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "Download news from the internet in ebook form" -msgstr "تحميل الأخبار من شبكة الانترنت في شكل يبوك" +msgstr "تحميل الأخبار من شبكة الإنترنت في شكل يبوك" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 msgid "Show a list of related books quickly" @@ -419,11 +417,11 @@ msgstr "إعادة تشغيل النظم" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 msgid "Open the folder that contains the book files in your calibre library" -msgstr "افتح المجلد الذي يحتوي على ملفات الكتاب في مكتبة النظم الخاص" +msgstr "افتح المجلد يقول يحتوي على ملفات الكتاب في مكتبة النظم الخاص" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Send books to the connected device" -msgstr "إرسال الكتب إلى الجهاز متصلا" +msgstr "إرسال الكتب إلى الجهاز متصلاً" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 msgid "" @@ -444,7 +442,7 @@ msgstr "تخصيص النظم" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 msgid "Easily find books similar to the currently selected one" -msgstr "العثور بسهولة على كتب مماثلة لتلك المحددة حاليا" +msgstr "بسهولة العثور على مماثلة كتب لتلك حاليا المحددة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 msgid "" @@ -461,12 +459,12 @@ msgstr "تحرير المجموعات في الكتب التي يتم وضعها #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 msgid "Copy a book from one calibre library to another" -msgstr "نسخ الكتاب من مكتبة النظم واحد إلى آخر" +msgstr "نسخ الكتاب من مكتبة النظم عاطفية إلى آخر" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -"يعمل بعض التعديلات البسيطة لملفات epub أو htmlz في مكتبة كاليبر الخاصة بك" +"يعمل بعض التعديلات البسيطة لملفات epub أو هتملز في مكتبة كاليبر الخاصة بك" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "" @@ -510,7 +508,7 @@ msgstr "السّلوك" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:959 msgid "Change the way calibre behaves" -msgstr "غيّر سلوك مكتبة النظم" +msgstr "غيّر سلوك النظم مكتبة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 @@ -519,7 +517,7 @@ msgstr "أضف أعمدتك الخاصة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:970 msgid "Add/remove your own columns to the calibre book list" -msgstr "أضف/إمسح أعمدتك الخاصة لقائمة الكتب في المكتبة" +msgstr "أعمدتك أضف/إمسح الخاصة لقائمة الكتب في المكتبة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 msgid "Toolbar" @@ -530,7 +528,7 @@ msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -"تخصيص أشرطة الأدوات والقوائم السياق، وتغيير الإجراءات التي تتوفر في كل" +"تخصيص أشرطة الأدوات والقوائم السياق، وتغيير الإجراءات التي تتوفر في كل عروض" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 msgid "Searching" @@ -552,7 +550,7 @@ msgstr "تحويل" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1004 msgid "Set conversion options specific to each input format" -msgstr "خيارات التحويل مجموعة محددة لكل تنسيق مدخلات" +msgstr "خيارات التحويل خبراء محددة لكل تنسيق مدخلات" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 msgid "Common Options" @@ -568,11 +566,11 @@ msgstr "خيارات الإخراج" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1026 msgid "Set conversion options specific to each output format" -msgstr "خيارات التحويل مجموعة محددة لكل تنسيق الإخراج" +msgstr "خيارات التحويل خبراء محددة لكل تنسيق الإخراج" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 msgid "Adding books" -msgstr "إضافة كتب" +msgstr "ثم كتب" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1045 @@ -583,8 +581,7 @@ msgstr "إستيراد/تصدير" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1037 msgid "Control how calibre reads metadata from files when adding books" -msgstr "" -"التحكم في كيفية قراءة البيانات الوصفية من النظم عند إضافة ملفات الكتب" +msgstr "التحكم في كيفية قراءة البيانات الوصفية من النظم عند ثم ملفات الكتب" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1043 msgid "Saving books to disk" @@ -596,15 +593,15 @@ msgid "" "to disk" msgstr "" "التحكم في كيفية تصدير الملفات من النظم قاعدة البيانات الخاصة به على القرص " -"عند استخدام حفظ إلى القرص" +"عند استخدام حفظ القرص" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1055 msgid "Sending books to devices" -msgstr "ارسال الكتب الى الاجهزة" +msgstr "إرسال الكتب الى الاجهزة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1061 msgid "Control how calibre transfers files to your ebook reader" -msgstr "التحكم في كيفية نقل الملفات من النظم للقارئ الكتاب الاليكتروني الخاص" +msgstr "التحكم في كيفية نقل الملفات من النظم للقارئ الكتاب الإليكتروني الخاص" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1067 msgid "Metadata plugboards" @@ -612,7 +609,7 @@ msgstr "لوحات التعريف قابس" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1073 msgid "Change metadata fields before saving/sending" -msgstr "تغيير حقول البيانات الوصفية قبل حفظ / إرسال" +msgstr "تغيير حقول البيانات الوصفية قبل حفظ/إرسال" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 msgid "Template Functions" @@ -632,7 +629,7 @@ msgstr "خلق وظائف القالب الخاص بك" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 msgid "Sharing books by email" -msgstr "مشاركة الكتب عبر البريد الالكتروني" +msgstr "مشاركة الكتب عبر البريد الإلكتروني" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1103 @@ -646,8 +643,8 @@ msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -"تقاسم الإعداد من الكتب عبر البريد الإلكتروني. يمكن استخدامها لارسال التلقائي " -"للانباء تحميلها إلى الأجهزة الخاصة بك" +"تقاسم الإعداد من الكتب عبر البريد الإلكتروني. يمكن استخدامها ﻹرسال التلقائي " +"لﻷنباء تحميلها إلى الأجهزة الخاصة بك" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1101 msgid "Sharing over the net" @@ -658,8 +655,8 @@ msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" -"إعداد خادم المحتوى النظم التي سوف اعطيكم الوصول الى المكتبة من النظم الخاص " -"بك من أي مكان ، وعلى أي جهاز، من خلال الإنترنت" +"إعداد خادم المحتوى النظم التي سوف أعطيكم الوصول الى المكتبة من النظم الخاص " +"بك من عاطفية مكان الطبعة وعلى عاطفية جهاز، من خلال الإنترنت" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 msgid "Metadata download" @@ -687,7 +684,7 @@ msgstr "الملحقات" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1144 msgid "Add/remove/customize various bits of calibre functionality" -msgstr "إضافة / إزالة / بت تخصيص وظائف مختلفة من النظم" +msgstr "ثم/إزالة/بت تخصيص وظائف مختلفة من النظم" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1150 msgid "Tweaks" @@ -695,7 +692,7 @@ msgstr "تطويعات" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1156 msgid "Fine tune how calibre behaves in various contexts" -msgstr "صقل كيف يتصرف النظم في سياقات مختلفة" +msgstr "صقل مدى يتصرف النظم في سياقات مختلفة" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 msgid "Keyboard" @@ -734,7 +731,7 @@ msgid "" "encoding declarations." msgstr "" "تحديد نوع ترميز المحارف للمستند. إن هذا الخيار سوف سوف يعيد كتابة الترميز " -"متجاوزاً خيارات المستند, هذا الخيار للمستندان التي لا تعلن عن ترميزها أو " +"متجاوزاً خيارات المستند، هذا الخيار للمستندان التي عاطفية تعلن عن ترميزها أو " "التي ليس لها ترميز خاطىء." #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:280 @@ -746,24 +743,24 @@ 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/conversion.py:310 #, python-format msgid "Convert ebooks to the %s format" -msgstr "تحويل الكتب إلى شكل %s" +msgstr "تحويل الكتب إلى شكل %s" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:47 msgid "Input profile" -msgstr "ادخال ملف التعريف" +msgstr "إدخال ملف التعريف" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:51 msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." msgstr "" -"ملف تعريف هذا يحاول تقديم افتراضات عاقلة ومفيدة إذا كنت لا تعرف شيئا عن " +"ملف تعريف هذا يحاول تقديم افتراضات عاقلة ومفيدة إذا كنت عاطفية تعرف شيئا عن " "وثيقة الإدخال." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:59 @@ -771,8 +768,8 @@ msgstr "" msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" -"ملف التعريف هذا هو المقصود لجهاز سوني من خط إنتاج PRS . الـ500/505/600/700 " -"إلخ." +"الحد من ملف التعريف هذا هو المقصود لجهاز سوني من خط إنتاج الفقر . إلخ " +"الـ500/505/600/700." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:71 msgid "This profile is intended for the SONY PRS 300." @@ -781,7 +778,7 @@ msgstr "ملف التعريف هذا مُعد لجهاز سوني PRS 300." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:80 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:499 msgid "This profile is intended for the SONY PRS-900." -msgstr "ملف التعريف هذا مُعد لجهاز سوني PRS-900." +msgstr "هذا التعريف ملف مُعد لجهاز سوني PRS-900." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:88 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:544 @@ -796,12 +793,12 @@ msgstr "ملف التعريف هذا مُعد لكتب Mobipocket." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:112 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:568 msgid "This profile is intended for the Hanlin V3 and its clones." -msgstr "ملف التعريف هذا مُعد لـ Hanlin V3 ونُسَخَه." +msgstr "ملف التعريف هذا مُعد لـ ونُسَخَه Hanlin V3." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:124 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:580 msgid "This profile is intended for the Hanlin V5 and its clones." -msgstr "ملف التعريف هذا يستخدم مع Hanlin V5 وأمثاله." +msgstr "ملف التعريف هذا يستخدم مع وأمثاله Hanlin V5." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:134 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:588 @@ -816,17 +813,17 @@ msgstr "ملف التعريف هذا يستخدم مع Cybook Opus ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:159 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:615 msgid "This profile is intended for the Amazon Kindle." -msgstr "ملف التعريف هذا يستخدم مع Amazon Kindle ." +msgstr "ملف التعريف هذا يستخدم مع أمازون كيندل ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:171 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:688 msgid "This profile is intended for the Irex Illiad." -msgstr "ملف التعريف هذا يستخدم مع Irex Illiad ." +msgstr "ملف التعريف هذا يستخدم مع Irex إيلياد ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:183 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:701 msgid "This profile is intended for the IRex Digital Reader 1000." -msgstr "ملف التعريف هذا يستخدم مع IRex Digital Reader 1000 ." +msgstr "ملف التعريف هذا يستخدم مع IRex قارئ الرقمية 1000 ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:196 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:715 @@ -836,7 +833,7 @@ msgstr "يهدف هذا الملف للقارئ الرقمية آيركس 800." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:208 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:729 msgid "This profile is intended for the B&N Nook." -msgstr "ملف التعريف هذا يستخدم مع B&N Nook ." +msgstr "&ملف التعريف هذا يستخدم مع BN الزواية ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:230 msgid "Output profile" @@ -849,28 +846,28 @@ msgid "" "devices." msgstr "" "ملف التعريف هذا يحاول تقديم افتراضات عاقلة و مفيدة إذا كنت ترغب في إصدار " -"وثيقة للقراءة في جهاز الكمبيوتر أو على مجموعة من الأجهزة." +"وثيقة للقراءة في جهاز الكمبيوتر أو على خبراء من الأجهزة." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:275 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" -msgstr "المقصود لأجهزة مماثلة وباد مع قرار من 768x1024" +msgstr "المقصود لأجهزة مماثلة وباد مع قرار من 1024 × 768" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:437 msgid "" "Intended for the iPad 3 and similar devices with a resolution of 1536x2048" -msgstr "موجه لآيباد 3 والأجهزة المماثلة التي تستخدم جودة 1536x2048" +msgstr "موجه لآيباد 3 والأجهزة المماثلة التي تستخدم جودة 1536 x 2048" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:443 msgid "Intended for generic tablet devices, does no resizing of images" -msgstr "المقصود لأجهزة الكمبيوتر اللوحي عامة ، لا يوجد تغيير حجم الصور" +msgstr "المقصود لأجهزة الكمبيوتر اللوحي عامة، يوجد تغيير حجم الصور" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:451 msgid "" "Intended for the Samsung Galaxy and similar tablet devices with a resolution " "of 600x1280" msgstr "" -"المقصود لغالاكسي سامسونج وأجهزة الكمبيوتر اللوحي مماثلة مع قرار من 600x1280" +"المقصود لغالاكسي سامسونج وأجهزة الكمبيوتر اللوحي مماثلة مع قرار من 600 × 1280" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:477 msgid "This profile is intended for the Kobo Reader." @@ -878,31 +875,31 @@ msgstr "نسخ النص ويهدف هذا الملف للقارئ كوبو." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the SONY PRS-300." -msgstr "ملف التعريف هذا يستخدم مع سوني PRS-300 ." +msgstr "هذا التعريف ملف يستخدم مع سوني PRS-300 ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:508 msgid "Suitable for use with any e-ink device" -msgstr "مناسبة للاستخدام مع أي جهاز إلكتروني للحبر" +msgstr "مناسبة لﻻستخدام مع عاطفية جهاز إلكتروني للحبر" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "Suitable for use with any large screen e-ink device" -msgstr "مناسبة للاستخدام مع أي جهاز للحبر مع شاشه كبيره" +msgstr "مناسبة لﻻستخدام مع عاطفية جهاز للحبر مع شاشة كبيرة" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:524 msgid "This profile is intended for the 5-inch JetBook." -msgstr "ملف التعريف هذا يستخدم مع الخمسة بوصة JetBook ." +msgstr "ملف التعريف هذا يستخدم مع الخمسة بوصة جيتبوك ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:533 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." msgstr "" -"ملف التعريف هذا يستخدم مع سوني خط إنتاج PRS . الـ500/505/700 الخ ، في وضع " -"أفقي.غالباً مفيد للكاريكاتيرات." +"الحد من ملف التعريف هذا يستخدم مع سوني خط إنتاج الفقر . إلخ الـ500/505/700، " +"في وضع أفقي.غالباً مفيد للكاريكاتيرات." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:639 msgid "This profile is intended for the Amazon Kindle DX." -msgstr "ملف التعريف هذا يستخدم مع Amazon Kindle DX" +msgstr "ملف التعريف هذا يستخدم مع أمازون كيندل DX" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" @@ -914,7 +911,7 @@ msgstr "هذا الملف موجه لكيندل فاير التابع لأماز #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:741 msgid "This profile is intended for the B&N Nook Color." -msgstr "ويهدف هذا الملف للون الزواية B & N." +msgstr "&ويهدف هذا الملف للون الزواية ب أ." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:752 msgid "This profile is intended for the Sanda Bambook." @@ -943,12 +940,12 @@ msgstr "ملحقات معطلة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Enabled plugins" -msgstr "تفعيل الاضافات" +msgstr "تفعيل الإضافات" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:534 #, python-format msgid "Initialization of plugin %s failed with traceback:" -msgstr "فشل استهلال الملحق %s مع اقتفاء الأثر:" +msgstr "فشل استهلال الملحق %s مع اقتفاء الأثر:" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:614 msgid "" @@ -957,14 +954,12 @@ msgid "" " Customize calibre by loading external plugins.\n" " " msgstr "" -" %prog البرنامج\n" -"\n" -" المقدرة على التخصيص بتحميل الملحقات الخارجية .\n" +" %بروغ البرنامج المقدرة على التخصيص بتحميل الملحقات الخارجية .\n" " " #: /home/kovid/work/calibre/src/calibre/customize/ui.py:620 msgid "Add a plugin by specifying the path to the zip file containing it." -msgstr "إضافة ملحق يتخصيص مسار إلى ملف zip الذي يحتويه." +msgstr "ثم ملحق يتخصيص مسار إلى ملف الرمز البريدي يقول يحتويه." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:622 msgid "" @@ -975,7 +970,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:626 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" -msgstr "حذف الملحق المخصص عن طريق اسمه. لا يؤثر على الملحقات المضمنة" +msgstr "حذف الملحق المخصص عن طريق اسمه. يؤثر على الملحقات المضمنة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:628 msgid "" @@ -985,7 +980,7 @@ msgstr "تخصيص الملحق . حدد اسم الملحق وسلسلة الت #: /home/kovid/work/calibre/src/calibre/customize/ui.py:630 msgid "List all installed plugins" -msgstr "قائمة كل الملحقات المثبتة" +msgstr "قائمة كل عروض الملحقات المثبتة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:632 msgid "Enable the named plugin" @@ -1004,7 +999,7 @@ msgstr "تعطيل الملحق المسمى" #: /home/kovid/work/calibre/src/calibre/library/database2.py:145 #, python-format msgid "Path to library too long. Must be less than %d characters." -msgstr "الطريق إلى المكتبة وقتا طويلا. يجب أن يكون أقل %d من أحرف" +msgstr "الطريق إلى المكتبة وقتاً طويلاً. يجب أن يكون أقل %d من أحرف" #: /home/kovid/work/calibre/src/calibre/db/cache.py:134 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 @@ -1079,18 +1074,18 @@ msgid "" "iTunes menu item.

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

" msgstr "" -"

إذا كنت لا تريد أن تعترف العيار الخاص أبل iDevice عندما يتم توصيله إلى " -"جهاز الكمبيوتر الخاص بك ، انقر فوق تعطيل برنامج تشغيل أبل .

" -"لنقل الكتب إلى iDevice الخاص بك ، انقر فوق <ب> برنامج تشغيل أبل تعطيل " -"، ثم استخدم \"الاتصال لايتون\" الأسلوب الموصى به في + " -"iDevices التعليمات ، وباستخدام الاتصال / مشاركة |. " -"الاتصال لايتون عنصر القائمة

تمكين السائق ابل للاتصال " -"مباشر هو iDevices an معتمد وضع المستخدم المتقدمة. " +"

إذا كنت عاطفية تريد أن تعترف العيار الخاص أبل iDevice عندما يتم توصيله " +"إلى جهاز الكمبيوتر الخاص بك، انقر فوق تعطيل شكل تشغيل أبل .

لنقل الكتب " +"إلى iDevice الخاص بك، انقر فوق <ب>شكل تشغيل أبل تعطيل، ثم استخدم \"الاتصال " +"لايتون\" الأسلوب الموصى به في + iDevices " +"التعليمات، وبإستخدام الاتصال/مشاركة |. الاتصال لايتون عنصر " +"القائمة

تمكين السائق أبل لﻻتصال مباشر هو iDevices المتقدمة المستخدم وضع " +"معتمد. " #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:78 msgid "Disable Apple driver" -msgstr "تعطيل برنامج تشغيل أبل" +msgstr "شكل تعطيل تشغيل أبل" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:82 msgid "Enable Apple driver" @@ -1098,19 +1093,19 @@ msgstr "تمكن سائق أبل" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:118 msgid "Use Series as Category in iTunes/iBooks" -msgstr "استخدام السلسلة والفئة في اي تيونز / iBooks" +msgstr "استخدام السلسلة والفئة في عاطفية تيونز/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:119 msgid "Enable to use the series name as the iTunes Genre, iBooks Category" -msgstr "استخدام السلسلة والفئة في اي تيونز / iBooks" +msgstr "استخدام السلسلة والفئة في عاطفية تيونز/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:121 msgid "Cache covers from iTunes/iBooks" -msgstr "مخبأ يغطي من اي تيونز / iBooks" +msgstr "مخبأ يغطي من عاطفية تيونز/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:123 msgid "Enable to cache and display covers from iTunes/iBooks" -msgstr "تمكين ذاكرة التخزين المؤقت ويغطي العرض من اي تيونز / iBooks" +msgstr "تمكين ذاكرة التخزين المؤقت ويغطي العرض من عاطفية تيونز/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:124 #, python-format @@ -1118,8 +1113,8 @@ msgid "" "\"Copy files to iTunes Media folder %s\" is enabled in iTunes " "Preferences|Advanced" msgstr "" -"تمكين نسخ الملفات الى اي تيونز مجلد وسائل الإعلام ليالي %s \"في تفضيلات " -"برنامج iTunes | متقدم" +"تمكين نسخ الملفات الى عاطفية تيونز مجلد وسائل الإعلام ليالي %s \"في تفضيلات " +"شكل أي تيونز | متقدم" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:126 msgid "" @@ -1128,10 +1123,10 @@ msgid "" "your calibre configuration directory.

Enabling indicates that iTunes " "is configured to store copies in your iTunes Media folder.

" msgstr "" -"ينبغي

هذا الإعداد مباراة تيونز الخاص تفضيلات | متقدمة " -"الإعداد

تعطيل سيتم تخزين نسخ من الكتب المنقولة لايتون في الدليل " -"الخاص عيار التكوين. تمكين

ويشير إلى أن يتم تكوين برنامج iTunes " -"لتخزين نسخة في مجلد وسائل الإعلام تيونز. " +"ينبغي

هذا الإعداد مباراة تيونز الخاص تفضيلات | متقدمة " +"الإعداد

تعطيل سيتم تخزين نسخ من الكتب المنقولة لايتون في الدليل الخاص عيار " +"التكوين. تمكين

ويشير إلى أن يتم تكوين شكل أي تيونز لتخزين نسخة في مجلد " +"وسائل الإعلام تيونز." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:190 msgid "Apple device" @@ -1139,19 +1134,19 @@ msgstr "جهاز أبل" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:192 msgid "Communicate with iTunes/iBooks." -msgstr "التواصل عن طريق iTunes/iBooks." +msgstr "التواصل عن طريق أي تيونز/iBooks." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:206 msgid "Apple device detected, launching iTunes, please wait ..." -msgstr "تم الكشف عن جهاز ابل, يتم تشغيل iTunes, الرجاء الانتظار..." +msgstr "تم الكشف عن جهاز أبل، يتم تشغيل أي تيونز، الرجاء الانتظار..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:208 msgid "" "Cannot copy books directly from iDevice. Drag from iTunes Library to " "desktop, then add to calibre's Library window." msgstr "" -"لا يمكن نسخ الكتب مباشرة من iDevice. اسحب من مكتبة iTunes لسطح المكتب ، ثم " -"إضافة إلى إطار من النظم مكتبة." +"يمكن نسخ الكتب مباشرة من iDevice. اسحب من مكتبة أي تيونز لسطح المكتب، ثم ثم " +"إلى إطار من النظم مكتبة." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:211 msgid "" @@ -1180,7 +1175,7 @@ msgstr "تحديث الجهاز القائمة الفوقية..." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3289 #, python-format msgid "%(num)d of %(tot)d" -msgstr "Copy text \t %(num)d of %(tot)d" +msgstr "%(num)d من %(tot)d" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:510 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1168 @@ -1195,7 +1190,7 @@ msgid "" "Delete using the iBooks app.\n" "Click 'Show Details' for a list." msgstr "" -"بعض الكتب التي لا توجد في قاعدة البيانات اي تيونز.\n" +"بعض الكتب التي عاطفية توجد في قاعدة البيانات عاطفية تيونز.\n" "حذف باستخدام التطبيق iBooks.\n" "انقر على \"إظهار التفاصيل\" للقائمة." @@ -1204,7 +1199,7 @@ msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." msgstr "" -"لا يمكن أن تغطي بعض الفن يمكن تحويلها.\n" +"يمكن أن تغطي بعض الفن يمكن تحويلها.\n" "انقر على \"إظهار التفاصيل\" للقائمة." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 @@ -1238,32 +1233,32 @@ msgstr "الفهرس" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3139 msgid "Communicate with iTunes." -msgstr "تواصل معا iTunes" +msgstr "تواصل معا أي تيونز" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:24 msgid "Communicate with the Sanda Bambook eBook reader." -msgstr "التواصل مع القارئ ساندا الاليكترونى Bambook." +msgstr "التواصل مع القارئ ساندا الاليكترونى بامبوك." #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:25 msgid "Li Fanxi" -msgstr "Li Fanxi" +msgstr "فانكسي لي" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:42 msgid "Device IP Address (restart calibre after changing)" -msgstr "LiDevice عنوان IP ( إعادة تشغيل بعد تغيير)" +msgstr "ليديفيسي عنوان IP (إعادة تشغيل بعد تغيير)" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:48 msgid "" "Unable to add book to library directly from Bambook. Please save the book to " "disk and add the file to library from disk." msgstr "" -"غير قادر على إضافة كتاب إلى مكتبة مباشرة من Bambook. الرجاء حفظ الكتاب إلى " -"القرص وإضافة الملف إلى المكتبة من القرص." +"غير قادر على ثم كتاب إلى مكتبة مباشرة من بامبوك. الرجاء حفظ الكتاب إلى القرص " +"وإضافة الملف إلى المكتبة من القرص." #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:67 msgid "" "Unable to connect to Bambook, you need to install Bambook library first." -msgstr "غير قادر على الاتصال Bambook، تحتاج إلى تثبيت مكتبة Bambook الأولى." +msgstr "غير قادر على الاتصال Bambook، تحتاج إلى تثبيت مكتبة بامبوك الأولى." #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:75 msgid "" @@ -1271,13 +1266,13 @@ msgid "" "If you are trying to connect via Wi-Fi, please make sure the IP address of " "Bambook has been correctly configured." msgstr "" -"غير قادر على الاتصال Bambook.\n" -"إذا كنت تحاول الاتصال عبر واي فاي ، يرجى التأكد من كان عنوان IP Bambook " +"غير قادر على الاتصال بامبوك.\n" +"إذا كنت تحاول الاتصال عبر واي فاي، يرجى التأكد من كان عنوان IP بامبوك " "تكوينها بشكل صحيح." #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:112 msgid "Bambook" -msgstr "Bambook" +msgstr "بامبوك" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234 @@ -1320,7 +1315,7 @@ msgstr "يجري تحويل الكتب إلى الجهاز..." #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:301 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:332 msgid "Adding books to device metadata listing..." -msgstr "إضافة كتب لقائمة البيانات الوصفية للجهاز ..." +msgstr "ثم كتب لقائمة البيانات الوصفية للجهاز ..." #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:352 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354 @@ -1352,7 +1347,7 @@ msgstr "يجري إرسال دليل المعلومات. إلى الجهاز..." #: /home/kovid/work/calibre/src/calibre/devices/bambook/libbambookcore.py:129 msgid "Bambook SDK has not been installed." -msgstr "لم تثبت Bambook SDK" +msgstr "لم تثبت بامبوك SDK" #: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17 msgid "Communicate with the Binatone Readme eBook reader." @@ -1367,7 +1362,7 @@ msgstr "تواصل معا جهاز بلاك برري" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 msgid "Kovid Goyal" -msgstr "Kovid Goyal" +msgstr "كوفيد غويال" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:36 msgid "Communicate with the Blackberry playbook." @@ -1375,19 +1370,19 @@ msgstr "يتصل مع بلاي بوك التابع لبلاك بيري" #: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14 msgid "Communicate with BOEYE BEX Serial eBook readers." -msgstr "التواصل مع القراء BEX BOEYE الاليكترونى التسلسلي." +msgstr "التواصل مع القراء بوي BEX الاليكترونى التسلسلي." #: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:35 msgid "Communicate with BOEYE BDX serial eBook readers." -msgstr "التواصل مع القراء BDX BOEYE الاليكترونى التسلسلي." +msgstr "التواصل مع القراء بدكس بوي الاليكترونى التسلسلي." #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22 msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." -msgstr "التواصل مع القراء Cybook Gen 3 / Opus الاليكترونى التسلسلي." +msgstr "التواصل مع القراء Cybook جنرال 3/اوبوس الاليكترونى التسلسلي." #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 msgid "Communicate with the Cybook Orizon eBook reader." -msgstr "التواصل مع القارئ Cybook الاليكترونى Orizon." +msgstr "التواصل مع القارئ Cybook الاليكترونى أوريزون." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:25 msgid "Communicate with the EB600 eBook reader." @@ -1395,15 +1390,15 @@ msgstr "التواصل مع القارئ الكتاب الاليكترونى EB6 #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:197 msgid "Communicate with the Astak Mentor EB600" -msgstr "التواصل مع Astak Mentor EB600" +msgstr "التواصل مع معلمة Astak EB600" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:220 msgid "Communicate with the PocketBook 301 reader." -msgstr "التواصل مع PocketBook 301" +msgstr "التواصل مع كتاب الجيب 301" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:237 msgid "Communicate with the PocketBook 602/603/902/903 reader." -msgstr "التواصل مع PocketBook 602/603/902/903" +msgstr "التواصل مع كتاب الجيب 602/603/902/903" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:257 msgid "Communicate with the PocketBook 622 reader." @@ -1411,7 +1406,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:270 msgid "Communicate with the PocketBook 360+ reader." -msgstr "التواصل مع PocketBook 360+" +msgstr "التواصل مع كتاب الجيب 360++" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:280 msgid "Communicate with the PocketBook 701" @@ -1435,7 +1430,7 @@ msgstr "التواصل مع القارئ الكتاب الاليكترونى ESl #: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:49 msgid "Communicate with the Sigmatek eBook reader." -msgstr "التواصل مع Sigmatek" +msgstr "التواصل مع سيجماتيك" #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:33 @@ -1469,7 +1464,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:22 msgid "Communicate with the Hanvon N520 eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Hanvon N520 ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى هانفون N520 ." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:47 msgid "Communicate with The Book reader." @@ -1481,11 +1476,11 @@ msgstr "التواصل مع القارئ الجوية الحرة." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:72 msgid "Communicate with the SpringDesign Alex eBook reader." -msgstr "التواصل مع القارئ SpringDesign الاليكترونى اليكس." +msgstr "التواصل مع القارئ سبرينجديسيجن الاليكترونى أليكس." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:132 msgid "Communicate with the Azbooka" -msgstr "التواصل مع Azbooka" +msgstr "التواصل مع أزبوكا" #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:151 msgid "Communicate with the Elonex EB 511 eBook reader." @@ -1497,41 +1492,41 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى IRex Iliad ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى IRex الإلياذة ." #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:43 msgid "John Schember" -msgstr "John Schember" +msgstr "جون شيمبر" #: /home/kovid/work/calibre/src/calibre/devices/interface.py:59 msgid "Cannot get files from this device" -msgstr "لا يمكن الحصول على ملفات من هذا الجهاز" +msgstr "يمكن الحصول على ملفات من هذا الجهاز" #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى IRex Digital Reader 1000 ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى الرقمية IRex القارئ 1000 ." #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42 msgid "Communicate with the IRex Digital Reader 800" -msgstr "اﻹتصال مع الـ IRex Digital Reader 800" +msgstr "اﻹتصال مع عطني IRex الرقمية قارئ 800" #: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:17 msgid "Communicate with the Iriver Story reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Iriver Story ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى يريفير القصة ." #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20 msgid "Communicate with the JetBook eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى JetBook ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى جيتبوك ." #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:88 msgid "Communicate with the MiBuk Wolder reader." -msgstr "التواصل مع MiBuk Wolder reader" +msgstr "التواصل مع القارئ وولدير ميبوك" #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:116 msgid "Communicate with the JetBook Mini reader." -msgstr "التواصل مع القارئ JetBook البسيطة." +msgstr "التواصل مع القارئ جيتبوك البسيطة." #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:143 msgid "Communicate with the JetBook Color reader." @@ -1544,11 +1539,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:75 msgid "Could not generate page mapping." -msgstr "لا يمكن أن تولد تعيين الصفحة." +msgstr "يمكن تعيين قسم تولد أن." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:44 msgid "Communicate with the Kindle eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Kindle ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى أوقد ." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:185 #, python-format @@ -1581,7 +1576,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301 msgid "Send page number information when sending books" -msgstr "ارسل هذه الصفحة عند إرسال المعلومات عدد الكتب" +msgstr "أرسل هذه الصفحة عند إرسال المعلومات عدد الكتب" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:303 msgid "" @@ -1590,9 +1585,9 @@ msgid "" "the Kindle when uploading MOBI files by USB. Note that the page numbers do " "not correspond to any paper book." msgstr "" -"يمكن أن كيندل (3) واستخدام أحدث الإصدارات صفحة معلومات في ملفات عدد MOBI. مع " -"هذا الخيار ، سوف العيار حساب وارسال هذه المعلومات الى أوقد عند تحميل الملفات " -"MOBI بواسطة USB. علما بأن أرقام الصفحات لا تتطابق مع أي كتاب الورق." +"يمكن أن كيندل (3) واستخدام أحدث الإصدارات جامعات مجلة في ملفات عدد موبي. مع " +"هذا الخيار، سوف العيار حساب وارسال هذه المعلومات الى أوقد عند تحميل الملفات " +"موبي بواسطة USB. علما بأن أرقام الصفحات عاطفية تتطابق مع عاطفية كتاب الورق." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:308 msgid "Use slower but more accurate page number calculation" @@ -1606,7 +1601,7 @@ msgid "" "Kindle." msgstr "" "هناك طريقتان لتوليد المعلومات رقم الصفحة. وسوف تستخدم المولدات تنتج أكثر دقة " -"الصفحات التي تتوافق مع أفضل لكتاب مطبوع. ومع ذلك ، هذا الأسلوب هو أبطأ وسوف " +"الصفحات التي تتوافق مع قصة لكتاب مطبوع. ومع ذلك، هذا الأسلوب هو أبطأ وسوف " "تبطئ إرسال الملفات إلى كيندل." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:314 @@ -1623,7 +1618,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:455 msgid "Communicate with the Kindle DX eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Kindle DX ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى أوقد DX ." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:467 msgid "Communicate with the Kindle Fire" @@ -1737,8 +1732,8 @@ msgid "" "\".kobo\" files do not exist on the device as books instead, they are rows " "in the sqlite database. Currently they cannot be exported or viewed." msgstr "" -"\". كوبو\" الملفات لم تكن موجودة على الجهاز كما كتب بدلا من ذلك، فهي الصفوف " -"في قاعدة بيانات SQLite. حاليا لا يمكن أن تكون تصديرها أو عرضها." +"\". كوبو \"الملفات لم تكن موجودة على الجهاز كما كتب بدلاً من ذلك، فةى الصفوف " +"في قاعدة بيانات SQLite. عاطفية حاليا يمكن تكون أن تصديرها عرضها أو." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1095 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1101 @@ -1846,16 +1841,16 @@ msgstr "التواصل مع أفانت بكريل" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:60 msgid "Communicate with the Sweex/Kogan/Q600/Wink" -msgstr "التواصل مع Sweex/Kogan/Q600/Wink" +msgstr "التواصل مع سو/كوغان/Q600/غمزة" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 #: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 msgid "Communicate with the Pandigital Novel" -msgstr "التواصل مع Pandigital Novel" +msgstr "التواصل مع رواية Pandigital" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 msgid "Communicate with the VelocityMicro" -msgstr "التواصل مع VelocityMicro" +msgstr "التواصل مع فيلوسيتيميكرو" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 msgid "Communicate with the GM2000" @@ -1863,31 +1858,31 @@ msgstr "التواصل مع GM2000" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 msgid "Communicate with the Acer Lumiread" -msgstr "التواصل مع Acer Lumiread" +msgstr "التواصل مع شركة أيسر لوميريد" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 msgid "Communicate with the Aluratek Color" -msgstr "التواصل مع Aluratek Color" +msgstr "التواصل مع اللون الوراتيك" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 msgid "Communicate with the Trekstor" -msgstr "التواصل مع Trekstor" +msgstr "التواصل مع تريكستور" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:245 msgid "Communicate with the EEE Reader" -msgstr "التواصل مع EEE Reader" +msgstr "التواصل مع القارئ المعدات الكهربائية والإلكترونية" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:266 msgid "Communicate with the Adam tablet" -msgstr "التواصل مع Adam tablet" +msgstr "التواصل مع الكمبيوتر اللوحي آدم" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:287 msgid "Communicate with the Nextbook Reader" -msgstr "التواصل مع Nextbook Reader" +msgstr "التواصل مع القارئ نيكستبوك" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:339 msgid "Communicate with the Moovybook Reader" -msgstr "التواصل مع Moovybook Reader" +msgstr "التواصل مع القارئ موفيبوك" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:361 msgid "Communicate with the COBY" @@ -1913,7 +1908,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:912 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:95 msgid "Get device information..." -msgstr "يجري إحصاء معلومات الجهاز..." +msgstr "يجري إحصاء مجلة الجهاز..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:166 msgid "Listing files, this can take a while" @@ -2009,15 +2004,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." -msgstr "التواصل مع نوكيا 770" +msgstr "التواصل مع البرنامج 770" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 msgid "Communicate with the Nokia 810/900 internet tablet." -msgstr "التواصل مع Nokia 810/900 internet tablet." +msgstr "التواصل مع قرص الإنترنت نوكيا 810/900." #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 msgid "Communicate with the Nokia E52" -msgstr "تواصل معا جهاز نوكيا E52" +msgstr "تواصل معا جهاز عرض عن نوكيا E52" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21 msgid "The Nook" @@ -2025,7 +2020,7 @@ msgstr "جهاز الـNook" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:22 msgid "Communicate with the Nook eBook reader." -msgstr "التواصل مع القارئ الكتاب الاليكترونى Nook ." +msgstr "التواصل مع القارئ الكتاب الاليكترونى الزواية ." #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." @@ -2046,7 +2041,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:262 msgid "All by title" -msgstr "كل حسب العنوان" +msgstr "كل عروض حسب العنوان" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:67 #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:263 @@ -2059,7 +2054,7 @@ msgid "" "Comma separated list of metadata fields to turn into collections on the " "device. Possibilities include: " msgstr "" -"ضع علامة الفاصلة للفصل بين مجموعة من البيانات الوصفية لكي تكون مجموعة في " +"ضع علامة الفاصلة للفصل بين خبراء من البيانات الوصفية تقديراً تكون خبراء في " "الجهاز . و تشمل الاحتمالات التالية: " #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:73 @@ -2072,7 +2067,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 msgid "Upload separate cover thumbnails for books (newer readers)" -msgstr "تحميل الصور المصغرة تغطية منفصلة عن الكتب (أجدد القراء)" +msgstr "تحميل الصور المصغرة تغطية منفصلة عن الكتب (أجدد القراء)" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78 msgid "" @@ -2082,15 +2077,15 @@ msgid "" "WARNING: This option should only be used with newer SONY readers: 350, 650, " "950 and newer." msgstr "" -"عادة ، SONY القراء الحصول على صورة الغلاف من الملف يبوك نفسها. مع هذا الخيار " -"، وسوف ترسل صورة من عيار تغطية منفصلة للقارئ ومفيدة إذا كنت ترسل الكتب DRMed " -"التي لم تتمكن من تغيير الغطاء. تحذير : يجب أن يكون هذا الخيار فقط يمكن " -"استخدامها مع أحدث SONY القراء : 350 ، 650 ، 950 و أجدد." +"عادة، سوني القراء الحصول على صورة الغلاف من الملف يبوك نفسها. مع هذا الخيار، " +"وسوف ترسل صورة من عيار تغطية منفصلة للقارئ ومفيدة إذا كنت ترسل الكتب DRMed " +"التي لم تتمكن من تغيير الغطاء. تحذير: يجب أن يكون هذا الخيار فقط يمكن " +"استخدامها مع أحدث سوني القراء: 350، 650، 950 و أجدد." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:84 msgid "" "Refresh separate covers when using automatic management (newer readers)" -msgstr "تحديث منفصلة تغطي عند استخدام إدارة التلقائي (أجدد القراء)" +msgstr "تحديث منفصلة تغطي عند استخدام إدارة التلقائي (أجدد القراء)" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78 @@ -2099,9 +2094,9 @@ msgid "" "your device. Unset this option if you have so many books on the reader that " "performance is unacceptable." msgstr "" -"تعيين هذا الخيار أن يكون كتاب منفصل تم الرفع يغطي كل مرة تقوم فيها بتوصيل " -"الجهاز. إلغاء تعيين هذا الخيار إذا كان لديك الكثير من الكتب على القارئ أن " -"الأداء غير مقبول." +"تعيين هذا الخيار أن يكون كتاب منفصل تم الرفع يغطي كل عروض مرة تقوم فيها " +"بتوصيل الجهاز. إلغاء تعيين هذا الخيار إذا كان لديك عاطفية من الكتب على " +"القارئ أن الأداء غير الامتياز." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:82 @@ -2116,8 +2111,8 @@ msgid "" "be the maximum size, ignoring aspect ratio." msgstr "" "تعيين هذا الخيار إذا كنت ترغب في تغطية الصور المصغرة لديها نسبة الارتفاع " -"نفسه (العرض إلى الارتفاع) والغطاء. إلغاء تعيين أنه إذا كنت تريد أن تكون صورة " -"مصغرة الحجم الأقصى، وتجاهل الجانب نسبة." +"نفسه (العرض إلى الارتفاع) والغطاء. إلغاء تعيين أنه إذا كنت تريد أن تكون " +"صورة مصغرة الحجم الأقصى، وتجاهل الجانب نسبة." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:96 msgid "Search for books in all folders" @@ -2278,35 +2273,35 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." -msgstr "الإتصال مع جهاز قارئ الكتب الالكترونية Samsung SNE ." +msgstr "الإتصال مع جهاز قارئ الكتب الالكترونية سامسونج SNE ." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 msgid "Communicate with the Teclast K3/K5 reader." -msgstr "التواصل مع القارئ K3/K5 Teclast." +msgstr "التواصل مع القارئ K3/K5 تيكلاست." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 msgid "Communicate with the Newsmy reader." -msgstr "التواصل مع القارئ Newsmy." +msgstr "التواصل مع القارئ نيوسمي." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 msgid "Communicate with the Archos reader." -msgstr "التواصل مع Archos reader." +msgstr "التواصل مع القارئ أركوس." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:58 msgid "Communicate with the Pico reader." -msgstr "التواصل مع Pico reader." +msgstr "التواصل مع القارئ بيكو." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:70 msgid "Communicate with the iPapyrus reader." -msgstr "التواصل مع iPapyrus reader." +msgstr "التواصل مع القارئ إيبابيروس." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:81 msgid "Communicate with the Sovos reader." -msgstr "التواصل مع Sovos reader." +msgstr "التواصل مع القارئ سوفوس." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:91 msgid "Communicate with the Sunstech EB700 reader." -msgstr "التواصل مع القارئ EB700 Sunstech." +msgstr "التواصل مع القارئ EB700 سونستيتش." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:102 msgid "Communicate with the Stash W950 reader." @@ -2314,17 +2309,17 @@ msgstr "التواصل مع القارئ W950 خبأ." #: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:114 msgid "Communicate with the Wexler reader." -msgstr "التواصل مع القارئ Wexler ." +msgstr "التواصل مع القارئ وكسلر ." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:287 #, python-format msgid "Unable to detect the %s disk drive. Try rebooting." -msgstr "لم يتمكن من كشف القرص %s. حاول إعادة التشغيل." +msgstr "لم يتمكن من كشف القرص %s. حاول إعادة التشغيل." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:468 #, python-format msgid "Unable to detect the %s mount point. Try rebooting." -msgstr "غير قادر على الكشف عن %s نقطة التحميل. حاول إعادة التشغيل." +msgstr "غير قادر على الكشف عن %s نقطة التحميل. حاول إعادة التشغيل." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:536 #, python-format @@ -2337,13 +2332,13 @@ msgid "" "Unable to detect the %s disk drive. Either the device has already been " "ejected, or your kernel is exporting a deprecated version of SYSFS." msgstr "" -"قادر على الكشف عن محرك القرص %s. اما وقد تم بالفعل طرد الجهاز، أو النواة " -"تصدر نسخة من إهمال SYSFS." +"قادر على الكشف عن محرك القرص %s. أما الحاكم تم بالفعل طرد الجهاز، أو النواة " +"تصدر نسخة من إهمال سيسفس." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:623 #, python-format msgid "Unable to mount main memory (Error code: %d)" -msgstr "غير قادر على تحميل الذاكرة الرئيسية (رمز الخطأ : %d" +msgstr "غير قادر على تحميل الصفحة الرئيسية الذاكرة (رمز الخطأ: %d" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:674 #, python-format @@ -2351,7 +2346,7 @@ msgid "" "The main memory of %s is read only. This usually happens because of file " "system errors." msgstr "" -"قراءة الذاكرة الرئيسية ليالي %s فقط. هذا يحدث عادة بسبب أخطاء نظام الملفات." +"قراءة الذاكرة الرئيسية ليالي %s فقط. هذا يحدث عادة بسبب أخطاء نظام الملفات." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:809 msgid "Unable to mount the device" @@ -2380,7 +2375,7 @@ msgstr "قراءة البيانات الوصفية من الملفات على ا #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:67 msgid "Use author sort instead of author" -msgstr "استخدم الكاتب ترتيب بدلا من البلاغ" +msgstr "استخدم الكاتب ترتيب بدلاً من البلاغ" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:69 msgid "Template to control how books are saved" @@ -2416,7 +2411,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:68 msgid "USB Vendor ID (in hex)" -msgstr "USB معرف المورد (في عشرية)" +msgstr "USB معرف المورد (في عشرية)" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:38 #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:41 @@ -2425,18 +2420,18 @@ msgid "" "Get this ID using Preferences -> Misc -> Get information to set up the user-" "defined device" msgstr "" -"الحصول على هذا الرقم باستخدام تفضيلات --> متفرقات --> احصل على معلومات " -"لإعداد الجهاز المعرفة" +"الحصول على هذا الرقم تفضيلات باستخدام--> متفرقات--> احصل على مجلة لإعداد " +"الجهاز المعرفة" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:70 msgid "USB Product ID (in hex)" -msgstr "USB معرف المنتج (في عشرية)" +msgstr "USB معرف المنتج (في عشرية)" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:72 msgid "USB Revision ID (in hex)" -msgstr "USB مراجعة رقم (في عشرية)" +msgstr "رقم الناقل التسلسلي العام مراجعة (في عشرية)" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:79 @@ -2451,8 +2446,8 @@ msgid "" "This field is used only on windows. Get this ID using Preferences -> Misc -> " "Get information to set up the user-defined device" msgstr "" -"ويستخدم هذا المجال فقط على النوافذ. الحصول على هذا الرقم باستخدام تفضيلات --" -"> متفرقات --> احصل على معلومات لإعداد الجهاز المعرفة" +"ويستخدم هذا المجال فقط على النوافذ. الحصول على هذا الرقم تفضيلات باستخدام--> " +"متفرقات--> احصل على مجلة لإعداد الجهاز المعرفة" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:81 @@ -2479,8 +2474,8 @@ msgid "" "Enter the folder where the books are to be stored. This folder is prepended " "to any send_to_device template" msgstr "" -"أدخل المجلد حيث كانت الكتب المراد تخزينها. هو prepended هذا المجلد إلى أي " -"قالب send_to_device" +"أدخل المجلد حيث كانت الكتب المراد تخزينها. هذا هو prepended المجلد إلى " +"عاطفية send_to_device قالب" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:66 msgid "Card A folder" @@ -2508,26 +2503,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:29 #, python-format msgid "Selected slot: %s is not supported." -msgstr "الفتحة المختارة : %s ليست مدعومة ." +msgstr "الفتحة المختارة: %s ليست مدعومة ." #: /home/kovid/work/calibre/src/calibre/devices/utils.py:36 msgid "There is insufficient free space in main memory" -msgstr "لا توجد مساحة كافية في الذاكرة الرئيسية" +msgstr "توجد مساحة كافية في الذاكرة الرئيسية" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:38 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:40 msgid "There is insufficient free space on the storage card" -msgstr "لا توجد مساحة كافية في بطاقة التخزين" +msgstr "توجد مساحة كافية في بطاقة التخزين" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 #, python-format msgid "Rendered %s" -msgstr "تم تصوير %s" +msgstr "تم تصوير %s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:213 #, python-format msgid "Failed %s" -msgstr "فشل %s" +msgstr "فشل %s" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 #, python-format @@ -2535,10 +2530,7 @@ msgid "" "Failed to process comic: \n" "\n" "%s" -msgstr "" -"فشل في معالجة الصور : \n" -"\n" -"%s ." +msgstr "فشل في معالجة الصور: %s ." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:20 msgid "" @@ -2593,7 +2585,7 @@ msgstr "خيارات الدخل" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:111 #, python-format msgid "Options to control the processing of the input %s file" -msgstr "خيارات للتحكم في معالجة الملف المدخل %s ." +msgstr "خيارات للتحكم في معالجة الملف المدخل %s ." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:117 msgid "OUTPUT OPTIONS" @@ -2602,7 +2594,7 @@ msgstr "خيارات الخرج" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:118 #, python-format msgid "Options to control the processing of the output %s" -msgstr "خيارات للتحكم في معالجة الملف المُخرج %s ." +msgstr "خيارات للتحكم في معالجة الملف المُخرج %s ." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:132 msgid "Options to control the look and feel of the output" @@ -2632,7 +2624,7 @@ msgid "" "automatically generated one." msgstr "" "السيطرة على الجيل التلقائي لجدول المحتويات. افتراضيا، إذا كان الملف المصدر " -"يحتوي على جدول المحتويات، سيتم استخدامه في تفضيل واحدة ولدت تلقائيا." +"يحتوي على جدول المحتويات، سيتم استخدامه في تفضيل واحدة ولدت تلقائياً." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:189 msgid "Options to set metadata in the output" @@ -2663,7 +2655,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:31 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" -msgstr "تعطيل تطبيع (تحسين التباين) نطاق اللون للصور. الافتراضي : خطأ" +msgstr "تعطيل تطبيع (تحسين التباين) اللون للصور. الافتراضي: خطأ" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:34 msgid "Maintain picture aspect ratio. Default is to fill the screen." @@ -2682,7 +2674,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:41 msgid "Don't split landscape images into two portrait images" -msgstr "لا تقسم صور عرضية إلى صورتين طوليتين." +msgstr "تقسم صور عرضية إلى صورتين طوليتين." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:43 msgid "" @@ -2712,7 +2704,7 @@ 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/conversion/plugins/comic_input.py:57 @@ -2721,37 +2713,37 @@ msgid "" "experiment to see which format gives you optimal size and look on your " "device." msgstr "" -"التنسيق الذي يتم تحويل الصور في يبوك أنشئت ل. يمكنك تجربة لرؤية الشكل الذي " +"التنسيق يقول يتم تحويل الصور في يبوك أنشئت ل. يمكنك تجربة لرؤية الشكل يقول " "يمنحك الحجم الأمثل ونتطلع على جهازك." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:61 msgid "Apply no processing to the image" -msgstr "تطبيق أي معالجة للصورة" +msgstr "تطبيق عاطفية معالجة للصورة" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:63 msgid "Do not convert the image to grayscale (black and white)" -msgstr "لا تحويل الصورة إلى درجات الرمادي (أبيض وأسود)" +msgstr "عاطفية تحويل الصورة إلى درجات الرمادي (أسود وأسود)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:65 msgid "" "Specify the image size as widthxheight pixels. Normally, an image size is " "automatically calculated from the output profile, this option overrides it." msgstr "" -"تحديد حجم الصورة كما widthxheight بكسل. عادة، يتم حساب حجم الصور تلقائيا من " -"ملف الإخراج ، هذا الخيار يتجاوز ذلك." +"تحديد حجم الصورة كما ويدثكسهيت بكسل. عادة، يتم حساب حجم الصور تلقائياً من " +"ملف الإخراج، هذا الخيار يتجاوز ذلك." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:69 msgid "" "When converting a CBC do not add links to each page to the TOC. Note this " "only applies if the TOC has more than one section" msgstr "" -"عند تحويل CBC لا تضيف وصلات إلى كل صفحة في جدول المحتويات. ملاحظة ينطبق هذا " -"فقط إذا كان لديها اكثر من TOC مقطع واحد" +"عند تحويل CBC عاطفية تضيف وصلات إلى كل عروض جامعات في جدول المحتويات. ملاحظة " +"ينطبق هذا فقط إذا كان لديها أكثر من جدول المحتويات مقطع عاطفية" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:213 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:225 msgid "Page" -msgstr "صفحة" +msgstr "جامعات" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/djvu_input.py:25 msgid "" @@ -2775,10 +2767,10 @@ msgid "" "if your source file contains a very large number of page breaks, you should " "turn off splitting on page breaks." msgstr "" -"إيقاف انشطار في فواصل الصفحات. عادة ، يتم تقسيم تلقائيا ملفات الإدخال في كل " -"فاصل الصفحات في الملفين. وهذا يعطي يبوك الإخراج التي يمكن تحليل وأسرع مع قدر " -"أقل من الموارد. ومع ذلك ، تقسيم بطيء وإذا كان الملف المصدر يحتوي على عدد " -"كبير جدا من فواصل الصفحات، يجب إيقاف تقسيم على فواصل الصفحات." +"إيقاف انشطار في فواصل الصفحات. عادة، يتم تقسيم تلقائياً ملفات الإدخال في كل " +"عروض فاصل الصفحات في الملفين. وهذا يعطي يبوك الإخراج التي يمكن تحليل وأسرع " +"مع قدر أقل من الموارد. ومع ذلك، تقسيم بطيء وإذا كان الملف المصدر يحتوي على " +"عدد كبير معدلة من فواصل الصفحات، يجب إيقاف تقسيم على فواصل الصفحات." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/epub_output.py:71 #, python-format @@ -2794,8 +2786,8 @@ msgid "" "default cover is generated with the title, authors, etc. This option " "disables the generation of this cover." msgstr "" -"عادة، إذا كان ملف الإدخال لا يوجد لديه غطاء وأنت لم تحدد واحد ، يتم إنشاء " -"تغطية الافتراضي مع عنوان الكتاب، وما إلى ذلك تعطيل هذا الخيار لتوليد هذا " +"عادة، إذا كان ملف الإدخال يوجد لديه غطاء وأنت لم تحدد عاطفية، يتم إنشاء " +"تغطية الافتراضي مع عنوان الكتاب، ومأ إلى ذلك تعطيل هذا الخيار لتوليد هذا " "الغطاء." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/epub_output.py:84 @@ -2805,9 +2797,9 @@ msgid "" "JetBook Lite. Without this option, such devices will display the cover as a " "blank page." msgstr "" -"لا تستخدم SVG لغلاف الكتاب. استخدام هذا الخيار إذا EPUB الخاص بك هو على وشك " -"أن يستخدم على جهاز لا يدعم SVG ، مثل iPhone أو لايت JetBook. دون هذا الخيار " -"، وسوف يتم عرض هذه الأجهزة الغطاء كصفحة فارغة." +"تستخدم SVG لغﻻف الكتاب. استخدام هذا الخيار إذا EPUB الخاص بك هو على وشك أن " +"يستخدم على جهاز عاطفية يدعم SVG، مثل فون أو لايت جيتبوك. دون هذا الخيار، " +"وسوف يتم عرض هذه الأجهزة الغطاء كصفحة فارغة." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/epub_output.py:93 msgid "" @@ -2817,11 +2809,11 @@ msgid "" "and bottom of the image, but the image will never be distorted. Without this " "option the image may be slightly distorted, but there will be no borders." msgstr "" -"عند استخدام غطاء SVG، فإن هذا الخيار يؤدي إلى توسيع نطاق تغطية لتغطية مساحة " -"الشاشة المتوفرة ، ولكن لا يزال الحفاظ على نسبة الجانب (نسبة العرض إلى " +"عند استخدام غطاء SVG، فإن هذا الخيار يؤدي إلى توسيع تغطية لتغطية مساحة " +"الشاشة المتوفرة، ولكن عاطفية يزال الحفاظ على نسبة الجانب (نسبة العرض إلى " "الارتفاع). وهذا يعني أنه قد يكون هناك حدود بيضاء على الجانبين أو أعلى وأسفل " -"الصورة ، ولكن لن تكون الصورة مشوهة. قد يكون هذا الخيار من دون صورة مشوهة " -"قليلا ، ولكن لن تكون هناك أية حدود." +"الصورة، ولكن لن تكون الصورة مشوهة. قد يكون هذا الخيار من دون صورة مشوهة " +"قليلاً، ولكن لن تكون هناك أية حدود." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/epub_output.py:103 msgid "" @@ -2829,7 +2821,7 @@ msgid "" "will flatten the file system inside the EPUB, putting all files into the top " "level." msgstr "" -"هناك حاجة إلى هذا الخيار إلا إذا كنت تنوي استخدام EPUB مع FBReaderJ. سوف " +"هناك عاطفية إلى هذا الخيار إلا إذا كنت تنوي استخدام EPUB مع فبريديرج. سوف " "تتسطح نظام الملفات داخل EPUB، ووضع كافة الملفات في أعلى مستوى." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/epub_output.py:200 @@ -2839,7 +2831,7 @@ msgstr "البداية" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_input.py:31 msgid "Do not insert a Table of Contents at the beginning of the book." -msgstr "لا تدرج في جدول المحتويات في بداية الكتاب." +msgstr "تدرج في جدول المحتويات في بداية الكتاب." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_output.py:148 msgid "" @@ -2869,8 +2861,8 @@ msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -"اجتياز الارتباطات في اتساع ملفات HTML أولا. عادة، يتم اجتيازه أنهم عمق " -"الأولى." +"اجتياز الارتباطات في اتساع ملفات إتش تي أم ال أولا. عادة، يتم اجتيازه أنهم " +"عمق الأولى." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:39 #, python-format @@ -2890,27 +2882,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21 msgid "CSS file used for the output instead of the default file" -msgstr "ملف CSS المستخدمة في الانتاج بدلا من الملف الافتراضي" +msgstr "ملف CSS المستخدمة في الإنتاج بدلاً من الملف الافتراضي" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24 msgid "" "Template used for generation of the html index file instead of the default " "file" -msgstr "القالب المستخدم لتوليد ملف الفهرس HTML بدلا من الملف الافتراضي" +msgstr "القالب المستخدم لتوليد ملف الفهرس HTML بدلاً من الملف الافتراضي" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" -"القالب المستخدم لتوليد محتويات HTML من الكتاب بدلا من الملف الافتراضي" +"القالب المستخدم لتوليد محتويات HTML من الكتاب بدلاً من الملف الافتراضي" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." msgstr "" -"استخراج محتويات ملف مضغوط ولدت إلى الدليل المحدد. تحذير : سيتم حذف محتويات " +"استخراج محتويات ملف مضغوط ولدت إلى الدليل المحدد. تحذير: سيتم حذف محتويات " "الدليل." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/htmlz_input.py:63 @@ -2956,11 +2948,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:99 #, python-format msgid "Set the space between words in pts. Default is %default" -msgstr "ضبط المساحة بين الكلمات بنقاط. الإفتراضي هو %default" +msgstr "ضبط المسافة بين الكلمات بنالقاط. الافتراضي %default" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:102 msgid "Add a header to all the pages with title and author." -msgstr "إضافة رأس لجميع صفحات مع العنوان والمؤلف." +msgstr "ثم رأس لجميع صفحات مع العنوان والمؤلف." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:105 msgid "" @@ -2985,7 +2977,7 @@ msgid "" "Render tables in the HTML as images (useful if the document has large or " "complex tables)" msgstr "" -"تحويل الجداول في الـHTML كصور (هذا يفيد إذا كان للمستند جداول كبيرة أو " +"تحويل الجداول في الـHTML كصور (هذا يفيد إذا كان للمستند جداول كبيرة أو " "معقّدة)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:122 @@ -2997,15 +2989,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:126 msgid "The serif family of fonts to embed" -msgstr "ضم أسرة الخطوط بالترويس" +msgstr "أبرزهم أسرة بالترويس الخطوط" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:129 msgid "The sans-serif family of fonts to embed" -msgstr "ضم أسرة الخطوط بدون الترويس" +msgstr "أبرزهم أسرة الخطوط دون الترويس" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:132 msgid "The monospace family of fonts to embed" -msgstr "ضم أسرة الخطوط أحادية القياس" +msgstr "أبرزهم أسرة الخطوط أحادية القياس" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:157 msgid "Comic" @@ -3092,7 +3084,7 @@ msgstr "جميع المواد" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdb_output.py:23 msgid "Format to use inside the pdb container. Choices are:" -msgstr "تنسيق لاستخدامه داخل الحاوية PDB. الخيارات هي :" +msgstr "تنسيق ﻻستخدامه داخل الحاوية PDB. الخيارات هي:" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdb_output.py:27 msgid "" @@ -3105,11 +3097,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/rb_output.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/txt_output.py:37 msgid "Add Table of Contents to beginning of the book." -msgstr "إضافة المحتويات إلى بداية الكتاب." +msgstr "ثم المحتويات إلى بداية الكتاب." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_input.py:20 msgid "Do not extract images from the document" -msgstr "لا استخراج الصور من المستند" +msgstr "عاطفية استخراج الصور من المستند" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_input.py:22 msgid "" @@ -3120,7 +3112,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_input.py:26 msgid "Use the new PDF conversion engine." -msgstr "استخدام المحرك الجديد تحويل PDF." +msgstr "استخدام المحرك الجديد تحويل قوات الدفاع الشعبي." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:71 #, python-format @@ -3141,8 +3133,8 @@ msgid "" "Custom size of the document. Use the form widthxheight EG. `123x321` to " "specify the width and height. This overrides any specified paper-size." msgstr "" -"عرف حجم الوثيقة. استخدام EG widthxheight النموذج. `` 123x321 لتحديد العرض " -"والارتفاع. هذا يتجاوز أي ورقة من الحجم المحدد." +"عرف حجم الوثيقة. استخدام EG ويدثكسهيت التكلفة. '' 123 x 321 لتحديد العرض " +"واﻻرتفاع. هذا يتجاوز عاطفية ورقة من الحجم المحدد." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:85 #, python-format @@ -3154,8 +3146,8 @@ msgid "" "Preserve the aspect ratio of the cover, instead of stretching it to fill the " "full first page of the generated pdf." msgstr "" -"الحفاظ على نسبة الجانب من تغطية، وبدلا من أن تمتد لملء صفحة كاملة الأولى من " -"قوات الدفاع الشعبي الذي تم إنشاؤه." +"الحفاظ على نسبة الجانب من تغطية، وبدﻻ من أن تمتد لملء جامعات كاملة الأولى من " +"قوات الدفاع الشعبي يقول تم إنشاؤه." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:94 msgid "The font family used to render serif fonts" @@ -3260,7 +3252,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/snb_output.py:127 msgid "Start Page" -msgstr "صفحة البداية" +msgstr "البداية جامعات" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/snb_output.py:137 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/snb_output.py:139 @@ -3364,7 +3356,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:106 msgid "Level of verbosity. Specify multiple times for greater verbosity." -msgstr "مستوى الايضاح . حدد أوقات متعددة لزيادة الايضاح ." +msgstr "مستوى الإيضاح . حدد أوقات متعددة لزيادة الإيضاح ." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:113 msgid "" @@ -3373,7 +3365,7 @@ msgid "" "conversion process a bug is occurring." msgstr "" "احفظ المخرجات في مراحل مختلفة من عملية التحويل إلى الدليل المقصود . مفيدة " -"إذا كنت لا تعلم في أي مرحلة من مراحل التحويل تظهر العلة ." +"إذا كنت عاطفية تعلم في عاطفية مرحلة من مراحل التحويل تظهر العلة ." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 msgid "" @@ -3383,8 +3375,8 @@ msgid "" "are:" msgstr "" "تحديد ملف الإدخال. ملف الإدخال يعطي نظام المعلومات التحويل حول كيفية تفسير " -"المعلومات المختلفة في وثيقة الإدخال. لأطوال القرار سبيل المثال تعتمد (أطوال " -"أي في خلية). الخيارات هي :" +"المعلومات المختلفة في وثيقة الإدخال. لأطوال القرار الصفحة المثال تعتمد " +"(أطوال عاطفية في خلية). الخيارات هي:" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:133 msgid "" @@ -3394,8 +3386,8 @@ msgid "" "a device. For example EPUB on the SONY reader. Choices are:" msgstr "" "تحديد ملف الإخراج. ملف الإخراج يروي نظام التحويل كيفية تحسين مستند تم إنشاؤه " -"للجهاز المحدد. في بعض الحالات، هناك حاجة إلى ملف الإخراج إلى إنتاج وثائق من " -"شأنها أن تعمل على الجهاز. لEPUB المثال على القارئ SONY. الخيارات هي :" +"للجهاز المحدد. في بعض الحالات، هناك عاطفية إلى ملف الإخراج إلى إنتاج وثائق " +"من شأنها أن تعمل على الجهاز. لEPUB المثال على القارئ سوني. الخيارات هي:" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:144 msgid "" @@ -3416,7 +3408,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:166 msgid "Disable all rescaling of font sizes." -msgstr "تعطيل كافة إعادة قياس الأحجام الخط." +msgstr "تعطيل كافة إعادة الأحجام قياس الخط." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:173 msgid "" @@ -3494,7 +3486,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:264 msgid "Don't add auto-detected chapters to the Table of Contents." -msgstr "لا تضف الفصول المكشوفة آلياً إلى قائمة المحتويات." +msgstr "عاطفية تضف الفصول المكشوفة آلياً إلى قائمة المحتويات." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:272 #, python-format @@ -3640,7 +3632,7 @@ msgid "" "Use the cover detected from the source file in preference to the specified " "cover." msgstr "" -"استخدم الغلاف التي تم كشفه في ملف المصدر بدلاً من الغلاف الذي تم تخصيصه." +"استخدم الغلاف التي تم كشفه في ملف المصدر بدلاً من الغلاف يقول تم تخصيصه." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:432 msgid "" @@ -3673,7 +3665,7 @@ msgid "" "Convert plain quotes, dashes and ellipsis to their typographically correct " "equivalents. For details, see http://daringfireball.net/projects/smartypants" msgstr "" -"تحويل يقتبس عادي ، شرطات والقطع لتصحيح طباعي في حكمهم. لمزيد من التفاصيل، " +"تحويل يقتبس عادي، شرطات والقطع لتصحيح طباعي في حكمهم. لمزيد من التفاصيل، " "انظر http://daringfireball.net/projects/smartypants" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:471 @@ -3726,22 +3718,22 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:530 msgid "Set the cover to the specified file or URL" -msgstr "مجموعة الغطاء إلى الملف المحدد أو URL" +msgstr "خبراء الغطاء إلى الملف المحدد أو عنوان URL" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:534 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." -msgstr "تعيين وصف الكتاب الاليكتروني." +msgstr "تعيين وصف الكتاب الإليكتروني." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:538 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." -msgstr "تعيين ناشر الكتاب الاليكتروني." +msgstr "تعيين ناشر الكتاب الإليكتروني." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:542 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." -msgstr "تعيين سلسلة هذا الكتاب الاليكتروني ينتمي إليها." +msgstr "تعيين سلسلة هذا الكتاب الإليكتروني ينتمي إليها." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:546 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 @@ -3751,7 +3743,7 @@ msgstr "تعيين فهرس للكتاب في هذه السلسلة." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:550 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." -msgstr "تعيين التصنيف. يجب أن يكون رقما بين 1 و 5." +msgstr "تعيين التصنيف. يجب أن يكون رقماً بين 1 و 5." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:554 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 @@ -3771,11 +3763,11 @@ msgstr "تعيين منتج الكتاب." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:566 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." -msgstr "تعيين اللغة." +msgstr "تعيين البريدالالكتروني." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:570 msgid "Set the publication date." -msgstr "مجموعة من تاريخ نشره." +msgstr "خبراء من الفهرس نشرة." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:574 msgid "Set the book timestamp (no longer used anywhere)" @@ -3786,7 +3778,7 @@ msgid "" "Enable heuristic processing. This option must be set for any heuristic " "processing to take place." msgstr "" -"تمكين معالجة ارشادي. يجب تعيين هذا الخيار لمعالجة أي ارشادي لتأخذ مكان." +"تمكين معالجة إرشادي. يجب تعيين هذا الخيار لمعالجة عاطفية إرشادي لتأخذ مكان." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:583 msgid "" @@ -3795,8 +3787,8 @@ msgid "" "with structure detection to create one." msgstr "" "الكشف عن عناوين الفصول والعناوين الفرعية غير منسق. تغييرها إلى علامات H2 و " -"H3. وهذا وضع لا يمكن إنشاء جدول المحتويات، ولكن يمكن استخدامها جنبا إلى جنب " -"مع الكشف عن هيكل لإنشاء واحد." +"H3. وهذا وضع عاطفية يمكن إنشاء جدول المحتويات، ولكن يمكن استخدامها جنبا إلى " +"جنب مع الكشف عن هيكل لإنشاء عاطفية." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:590 msgid "" @@ -3809,7 +3801,7 @@ msgid "" "indents." msgstr "" "بدوره المسافة البادئة التي تم إنشاؤها من عدة كيانات الفضائية غير اقتحام " -"البادئة CSS." +"البادئة المغلق." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:600 msgid "" @@ -3818,9 +3810,9 @@ msgid "" "the median line length. If only a few lines in the document require " "unwrapping this value should be reduced" msgstr "" -"استخدام النطاق لتحديد طول الذي ينبغي ملفوف خط. القيم الصالحة هي العشرية بين " -"0 و 1. الافتراضي هو 0.4 ، أقل بقليل من طول خط الوسط. وينبغي إلا إذا بضعة " -"أسطر في وثيقة تتطلب إزالة التغليف يتم تخفيض هذه القيمة" +"استخدام النطاق لتحديد طول يقول ينبغي ملفوف خط. القيم الصالحة هي العشرية بين " +"0 و 1. الافتراضي هو 0, 4، أقل بقليل من طول خط الوسط.وينبغي إلا إذا بضعة أسطر " +"في وثيقة تتطلب إزالة التغليف يتم تخفيض هذه القيمة" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:608 msgid "Unwrap lines using punctuation and other formatting clues." @@ -3830,7 +3822,8 @@ msgstr "خطوط بسط استخدام علامات الترقيم والقرا msgid "" "Remove empty paragraphs from the document when they exist between every " "other paragraph" -msgstr "إزالة الفقرات الفارغة من المستند عندما كانت موجودة بين كل فقرة أخرى" +msgstr "" +"إزالة الفقرات الفارغة من المستند عندما كانت موجودة بين كل عروض فقرة أخرى" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:617 msgid "" @@ -3852,8 +3845,8 @@ msgid "" "used as a dictionary to determine whether hyphens should be retained or " "removed." msgstr "" -"تحليل كلمات الواصلة عبر الوثيقة. وتستخدم هذه الوثيقة نفسها القاموس لتحديد ما " -"إذا كان ينبغي الاحتفاظ الواصلات أو إزالتها." +"تحليل كلمات الواصلة عبر الوثيقة. وتستخدم هذه الوثيقة نفسها القاموس لتحديد " +"طريفة إذا كان ينبغي الاحتفاظ الواصلات أو إزالتها." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:634 msgid "" @@ -3865,27 +3858,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:640 msgid "Search pattern (regular expression) to be replaced with sr1-replace." -msgstr "ليحل محله نمط البحث (تعبير العادية) مع استبدال - SR1." +msgstr "ليحل محله نمط البحث (تعبير العادية) مع استبدال-SR1." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:645 msgid "Replacement to replace the text found with sr1-search." -msgstr "استبدال لاستبدال النص الموجود مع بحث SR1." +msgstr "استبدال ﻻستبدال النص الموجود مع بحث SR1." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:649 msgid "Search pattern (regular expression) to be replaced with sr2-replace." -msgstr "ليحل محله نمط البحث (تعبير العادية) مع استبدال - SR2." +msgstr "ليحل محله نمط البحث (تعبير العادية) مع استبدال-SR2." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:654 msgid "Replacement to replace the text found with sr2-search." -msgstr "استبدال لاستبدال النص الموجود مع SR2 تفتيش." +msgstr "ﻻستبدال استبدال النص الموجود مع SR2 تفتيش." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:658 msgid "Search pattern (regular expression) to be replaced with sr3-replace." -msgstr "ليحل محله نمط البحث (تعبير العادية) مع استبدال - SR3." +msgstr "ليحل محله نمط البحث (تعبير العادية) مع استبدال-SR3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:663 msgid "Replacement to replace the text found with sr3-search." -msgstr "استبدال لاستبدال النص الموجود مع بحث SR3." +msgstr "استبدال ﻻستبدال النص الموجود مع بحث SR3." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:667 msgid "" @@ -3901,15 +3894,15 @@ msgstr "لم يتمكّن من الحصول على كتاب داخل الأرش #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:834 msgid "Values of series index and rating must be numbers. Ignoring" -msgstr "يجب أن تكون قيم مؤشر السلسلة ، ويكون التصويت الأرقام. تجاهل" +msgstr "يجب أن تكون قيم مؤشر السلسلة، ويكون التصويت الأرقام. تجاهل" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:841 msgid "Failed to parse date/time" -msgstr "فشل في تحليل التاريخ / الوقت" +msgstr "فشل في تحليل التاريخ/الوقت" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1003 msgid "Converting input to HTML..." -msgstr "تحويل المدخلات إلى HTML..." +msgstr "تحويل المدخلات إلى إتش تي أم ال..." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1030 msgid "Running transforms on ebook..." @@ -3931,7 +3924,7 @@ msgstr "EPUB المثبت" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:17 msgid "Workaround epubcheck bugs" -msgstr "مشكلة الخلل epubcheck" +msgstr "مشكلة الخلل ابوبتشيك" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:21 msgid "" @@ -3940,10 +3933,10 @@ msgid "" "detect these and replace them with constructs that epubcheck likes. This may " "cause significant changes to your epub, complain to the epubcheck project." msgstr "" -"الحلول عن الخلل في الإصدار الأخير من epubcheck. epubcheck تقارير العديد من " -"الأشياء والأخطاء التي ليست في الواقع أخطاء. سوف EPUB - الإصلاح محاولة الكشف " -"عن هذه واستبدالها يبني epubcheck أن يحب. هذا قد يسبب تغيرات كبيرة في EPUB " -"الخاص، يشكو إلى المشروع epubcheck." +"الحلول عن الخلل في الإصدار الأخير من ابوبتشيك. ابوبتشيك تقارير العديد من " +"الأشياء والأخطاء التي ليست في الواقع أخطاء. سوف EPUB-الإصلاح محاولة الكشف عن " +"هذه واستبدالها يبني ابوبتشيك أن يحب. هذا قد يسبب تغيرات كبيرة في EPUB الخاص، " +"يشكو إلى المشروع ابوبتشيك." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:22 msgid "" @@ -3962,19 +3955,19 @@ msgstr "يجب تحديد ملف EPUB" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17 msgid "Fix unmanifested files" -msgstr "إصلاح الملفات unmanifested" +msgstr "أونمانيفيستيد إصلاح الملفات" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:21 msgid "" "Fix unmanifested files. epub-fix can either add them to the manifest or " "delete them as specified by the delete unmanifested option." msgstr "" -"إصلاح الملفات unmanifested. يمكن EPUB - الإصلاح إما إضافة لهم الظاهر أو " -"حذفها على النحو المحدد بواسطة الخيار حذف unmanifested." +"إصلاح الملفات أونمانيفيستيد. يمكن EPUB-الإصلاح إما ثم لهم الظاهر أو حذفها " +"على النحو المحدد بواسطة الخيار حذف أونمانيفيستيد." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:36 msgid "Delete unmanifested files instead of adding them to the manifest" -msgstr "حذف الملفات unmanifested بدلا من إضافتها إلى الظاهر" +msgstr "حذف الملفات أونمانيفيستيد بدلاً من إضافتها إلى الظاهر" #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:18 msgid "" @@ -3982,16 +3975,16 @@ msgid "" "linked files. This plugin is run every time you add an HTML file to the " "library." msgstr "" -"تتبع جميع الملفات المحلية في ملف HTML وإنشاء ملف ZIP يحتوي على جميع الملفات " -"الموصولة. هذا الملحق يُنفذ كا مرة تضيف فيها ملف HTML للمكتبة." +"تتبع جميع الملفات المحلية في ملف HTML وإنشاء ملف مضغوط يحتوي على جميع " +"الملفات الموصولة. هذا الملحق يُنفذ كا مرة تضيف فيها ملف إتش تي أم ال للمكتبة." #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:60 msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "cp1251, latin1 and utf-8." msgstr "" -"ترميز الحروف في ملفات HTML الإدخال. الخيارات شيوعا تشمل : cp1252، cp1251، " -"latin1 وUTF - 8." +"ترميز الحروف في ملفات HTML الإدخال. الخيارات شيوعاً تشمل: cp1252، cp1251، " +"latin1 وUTF-8." #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:91 msgid "Add linked files in breadth first order" @@ -4004,17 +3997,17 @@ msgid "" "the order A, B, D, C. With this option, they will instead be added as A, B, " "C, D" msgstr "" -"عادة، عندما الروابط التالية في ملفات HTML العيار أنه لا عمق، أي الأول إذا " -"كان ملف ارتباطات B و C، ولكن الروابط باء إلى دال، تتم إضافة الملفات بالترتيب " -"A ، B، D، C. مع هذا الخيار، فإنها وبدلا من ذلك يمكن إضافة A ، B، C، D" +"عادة، عندما الروابط التالية في ملفات HTML العيار أنه عاطفية عمق، عاطفية " +"الأول إذا كان ملف ارتباطات ب و C، ولكن الروابط باء إلى دال، تتم ثم الملفات " +"بالترتيب أ، B، D، جيم مع هذا الخيار، فإنها وبدﻻ من ذلك يمكن ثم A، د B، C،" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." -msgstr "إنشاء ملف LIT من EPUB..." +msgstr "مضاءة إنشاء ملف من EPUB..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tBook Designer file detected." -msgstr "\tتم اكتشاف ملف Book Designer." +msgstr "\tتم اكتشاف ملف مصمم الكتاب." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322 msgid "\tParsing HTML..." @@ -4031,7 +4024,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:378 #, python-format msgid "Processing %s" -msgstr "يعالج %s" +msgstr "يعالج %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:392 msgid "\tConverting to BBeB..." @@ -4056,7 +4049,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 #, python-format msgid "Cannot add link %s to TOC" -msgstr "لا يمكن إضافة وصلات %s لقائمة المحتويات" +msgstr "يمكن ثم وصلات %s لقائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #, python-format @@ -4072,30 +4065,28 @@ msgstr "" #, python-format msgid "" "An error occurred while processing a table: %s. Ignoring table markup." -msgstr "حدث خطأ حين تنفيذ الجدول: %s. سيتم تجاهل توسيم الجدول." +msgstr "حدث خطأ حين تنفيذ الجدول: %s. سيتم تجاهل توسيم الجدول." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1777 #, python-format msgid "" "Bad table:\n" "%s" -msgstr "" -"جدول غير صالح:\n" -"%s" +msgstr "جدول غير صالح: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1799 msgid "Table has cell that is too large" -msgstr "يحتوي الجدول الخلية التي هي كبيرة جدا" +msgstr "يحتوي الجدول الخلية التي هي كبيرة معدلة" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 #, python-format msgid "Could not read cover image: %s" -msgstr "لم يتمكن من قراءة صورة الغلاف: %s" +msgstr "لم يتمكن من قراءة صورة الغلاف: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 #, python-format msgid "Cannot read from: %s" -msgstr "لا يمكن القراءة من: %s" +msgstr "هل يمكن القراءة من: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" @@ -4109,11 +4100,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:138 msgid "Output LRS file" -msgstr "خرج ملف LRS" +msgstr "خرج ملف الباحثون القانونيون" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:140 msgid "Do not save embedded image and font files to disk" -msgstr "لا تحفظ ملفات الصور والخظوظ المضمنة في القرص" +msgstr "تحفظ ملفات الصور والخظوظ المضمنة في القرص" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:159 msgid "Parsing LRF..." @@ -4125,7 +4116,7 @@ msgstr "إنشاء XML..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:164 msgid "LRS written to " -msgstr "تم كتابة LRS في " +msgstr "تم كتابة الباحثون القانونيون " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 msgid "Could not read from thumbnail file:" @@ -4161,10 +4152,10 @@ msgid "" "Show/edit the metadata in an LRF file.\n" "\n" msgstr "" -"%prog [options] mybook.lrf\n" +"%prog [خيارات] mybook.lrf\n" "\n" "\n" -"إظهار/تحرير الميتاداتا في ملف LRF.\n" +"إظهارتحرير بيانات التعريف في ملف مع إتجاه يمين\n" "\n" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:617 @@ -4185,7 +4176,7 @@ msgstr "ضبط مفتاح الترتيب للمؤلف" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:625 msgid "The category this book belongs to. E.g.: History" -msgstr "تصنيف الكتاب. مثلاً: تاريخ" +msgstr "تصنيف الكتاب. مثلاً: الفهرس" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:628 msgid "Path to a graphic that will be set as this files' thumbnail" @@ -4221,8 +4212,8 @@ msgid "" "Extract cover from LRF file. Note that the LRF format has no defined cover, " "so we use some heuristics to guess the cover." msgstr "" -"استخراج الغلاف من ملف LRF. لاحظ أن تهيئة LRF لا يستخدم غلاف مخصص، فنستخدم " -"بعض الشروط لتخمينه." +"استخراج الغلاف من ملف LRF. لاحظ أن تهيئة LRF عاطفية يستخدم غلاف مخصص، " +"فنستخدم بعض الشروط لتخمينه." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:643 msgid "Set book ID" @@ -4233,12 +4224,13 @@ msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." msgstr "" -"استخراج المشتركة الكتاب الإلكتروني التنسيقات من ملفات (الرمز البريدي / RAR) " -"المحفوظات. أيضا في محاولة لكشف تلقائي إذا كانوا فعلا CBZ / CBR الملفات." +"استخراج المشتركة الكتاب الإلكتروني التنسيقات من ملفات (الرمز البريدي/RAR) " +"المحفوظات. أيضا في محاولة لكشف تلقائي إذا كانوا فعلا CBZ/الملفات التأهيل " +"المجتمعي." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:61 msgid "Value: unknown field " -msgstr "القيمة : حقل غير معروف " +msgstr "القيمة: حقل غير معروف " #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:165 msgid "TEMPLATE ERROR" @@ -4338,7 +4330,7 @@ msgstr "ختم التوقيت" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:146 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 msgid "Published" -msgstr "منشور" +msgstr "ذلك" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:784 msgid "Rights" @@ -4376,7 +4368,7 @@ msgid "" "The version of the title to be used for sorting. If unspecified, and the " "title is specified, it will be auto-generated from the title." msgstr "" -"لاستخدامها في إصدار اللقب للفرز. إذا تم تحديد غير محدد ، والعنوان، وسيكون من " +"ﻻستخدامها في إصدار اللقب للفرز. إذا تم تحديد غير محدد، والعنوان، وسيكون من " "السيارات التي تم إنشاؤها من العنوان." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:48 @@ -4384,12 +4376,12 @@ msgid "" "String to be used when sorting by author. If unspecified, and the author(s) " "are specified, it will be auto-generated from the author(s)." msgstr "" -"سلسلة لاستخدامها عند الفرز حسب الكاتب. إذا تم تحديد غير محدد ، ومؤلف كتاب " -"(ق) ، وسيكون من السيارات التي تم إنشاؤها من المؤلف (ق)." +"سلسلة ﻻستخدامها عند الفرز حسب الكاتب. إذا تم تحديد غير محدد، ومؤلف كتاب " +"(ق)، وسيكون من السيارات التي تم إنشاؤها من المؤلف (ق)." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." -msgstr "مجموعة الغطاء إلى الملف المحدد." +msgstr "خبراء الغطاء إلى الملف المحدد." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 msgid "Set the book category." @@ -4397,11 +4389,11 @@ msgstr "تعيين فئة الكتاب." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74 msgid "Set the published date." -msgstr "تعيين تاريخ نشره." +msgstr "نشرة تعيين الفهرس." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:77 msgid "Get the cover from the ebook and save it at as the specified file." -msgstr "الحصول على تغطية من الكتاب الاليكتروني وحفظه في مثل الملف المحدد." +msgstr "الحصول على تغطية من الكتاب الإليكتروني وحفظه في مثل الملف المحدد." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:80 msgid "" @@ -4416,7 +4408,7 @@ msgid "" "from the OPF file" msgstr "" "قراءة البيانات الوصفية من ملف OPF المحدد واستخدامها لضبط التعريف في الكتاب " -"الاليكتروني. والتعريف المحدد في سطر الأوامر الفوقية تجاوز القراءة من الملف " +"الإليكتروني. والتعريف المحدد في سطر الأوامر الفوقية تجاوز القراءة من الملف " "OPF" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88 @@ -4425,7 +4417,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153 msgid "No file specified" -msgstr "لا يوجد ملف محدد" +msgstr "يوجد ملف محدد" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168 msgid "Original metadata" @@ -4437,7 +4429,7 @@ msgstr "تغيير الفوقية" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197 msgid "OPF created in" -msgstr "OPF إنشاؤها في" +msgstr "OPF إنشاؤها" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203 msgid "Cover saved to" @@ -4485,7 +4477,7 @@ msgstr "بريطانيا" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:505 msgid "Italy" -msgstr "ايطاليا" +msgstr "إيطاليا" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:506 msgid "Japan" @@ -4497,7 +4489,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:511 msgid "Amazon website to use:" -msgstr "الأمازون الموقع للاستخدام :" +msgstr "الأمازون الموقع لﻻستخدام:" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:512 msgid "" @@ -4517,11 +4509,12 @@ msgid "" "Downloads metadata and covers from Douban.com. Useful only for chinese " "language books." msgstr "" -"التنزيلات الفوقية، ويغطي من Douban.com. مفيدا فقط لكتب اللغة الصينية." +"التنزيلات الفوقية، ويغطي من Douban.com. مفيداً فقط لكتب البريدالالكتروني " +"الصينية." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:162 msgid "Downloads metadata and covers from Google Books" -msgstr "التنزيلات الفوقية، ويغطي من كتب Google" +msgstr "التنزيلات الفوقية، ويغطي من كتب جوجل" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24 msgid "Downloads metadata from isbndb.com" @@ -4682,7 +4675,7 @@ msgstr "النصّ الرئيسي" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/__init__.py:22 #, python-format msgid "%s format books are not supported" -msgstr "الكتب بتهيئة %s ليست مدعومة" +msgstr "الكتب بتهيئة %s ليست مدعومة" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 @@ -4741,12 +4734,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:71 msgid "Could not find pdftohtml, check it is in your PATH" -msgstr "لا يمكن العثور على pdftohtml، تحقق في المسار الخاص" +msgstr "يمكن العثور على pdftohtml، تحقق في المسار الخاص" #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" -msgstr "جدول المحتويات :" +msgstr "جدول المحتويات:" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:119 msgid "Send file to storage card instead of main memory by default" @@ -4762,7 +4755,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 msgid "Notify when a new version is available" -msgstr "Notify when a new version is available" +msgstr "إخطار عندما يتوفر إصدار جديد" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 msgid "Use Roman numerals for series number" @@ -4929,11 +4922,11 @@ msgstr "كتب HTML" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 msgid "LIT Books" -msgstr "كتب LIT" +msgstr "كتب مضاءة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:33 msgid "MOBI Books" -msgstr "كتب MOBI" +msgstr "كتب موبي" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:34 msgid "Topaz books" @@ -4965,7 +4958,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:47 msgid "Add books" -msgstr "إضافة كتب" +msgstr "ثم كتب" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:48 msgid "Add books to the calibre library/device from files on your computer" @@ -4977,23 +4970,23 @@ msgstr "A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:52 msgid "Add books from a single directory" -msgstr "إضافة كتب من دليل واحد" +msgstr "ثم كتب من دليل عاطفية" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:58 msgid "" "Add books from directories, including sub-directories (One book per " "directory, assumes every ebook file is the same book in a different format)" msgstr "" -"إضافة الكتب من الدلائل، بما في ذلك الدلائل الفرعية (كتاب واحد في الدليل ، " -"يفترض كل ملف يبوك هو الكتاب نفسه في شكل مختلف)" +"ثم الكتب من الدلائل، بما في ذلك الدلائل الفرعية (كتاب عاطفية في الدليل، " +"يفترض كل عروض ملف يبوك هو الكتاب نفسه في شكل مختلف)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:62 msgid "" "Add books from directories, including sub directories (Multiple books per " "directory, assumes every ebook file is a different book)" msgstr "" -"إضافة الكتب من الدلائل، بما في ذلك الدلائل الفرعية (كتب متعددة لكل والدليل ، " -"يفترض كل ملف يبوك هو كتاب مختلفة)" +"ثم الكتب من الدلائل، بما في ذلك الدلائل الفرعية (كتب متعددة لكل والدليل، " +"يفترض كل عروض ملف يبوك هو كتاب مختلفة)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:67 msgid "Add Empty book. (Book entry with no formats)" @@ -5005,7 +4998,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:69 msgid "Add from ISBN" -msgstr "ISBN إضافة باستخدام" +msgstr "[ايسبن] ثم باستخدام" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:71 msgid "Add files to selected book records" @@ -5031,7 +5024,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:82 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 msgid "No books selected" -msgstr "لم تختر اي كتاب" +msgstr "لم تختر عاطفية كتاب" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:96 msgid "Cannot add files as no books are selected" @@ -5098,7 +5091,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:400 msgid "Add to library" -msgstr "إضافة إلى المكتبة" +msgstr "ثم إلى المكتبة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:137 @@ -5114,7 +5107,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:394 msgid "" "The following books are virtual and cannot be added to the calibre library:" -msgstr "الكتب التالية هي الظاهرية والتي لا يمكن إضافتها إلى مكتبة العيار :" +msgstr "" +"الكتب التالية هي الظاهرية والتي عاطفية يمكن إضافتها إلى مكتبة العيار:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:400 msgid "No book files found" @@ -5142,11 +5136,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 msgid "Add books to library" -msgstr "إضافة إلى مكتبة الكتب" +msgstr "ثم إلى مكتبة الكتب" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:14 msgid "Add books to your calibre library from the connected device" -msgstr "إضافة إلى مكتبة الكتب العيار الخاص من الجهاز متصلا" +msgstr "ثم إلى مكتبة الكتب العيار الخاص من الجهاز متصلاً" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:26 msgid "Merging user annotations into database" @@ -5177,7 +5171,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:121 msgid "No books selected to fetch annotations from" -msgstr "لا لجلب الكتب المختارة من الشروح" +msgstr "لجلب الكتب المختارة من الشروح" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 msgid "Some errors" @@ -5195,7 +5189,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 msgid "No books selected for catalog generation" -msgstr "أي الكتب المختارة لتوليد التسويقي" +msgstr "عاطفية الكتب المختارة لتوليد التسويقي" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:62 #, python-format @@ -5262,7 +5256,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:156 msgid "Switch/create library..." -msgstr "التبديل / إنشاء مكتبة..." +msgstr "التبديل/مكتبة إنشاء..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:58 @@ -5270,7 +5264,7 @@ msgstr "التبديل / إنشاء مكتبة..." #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" -msgstr "كتب %d" +msgstr "كتب %d" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:175 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 @@ -5284,7 +5278,7 @@ msgstr "تسمية المكتبة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:179 msgid "Remove library" -msgstr "إزالة مكتبة" +msgstr "مكتبة إزالة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:182 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 @@ -5293,7 +5287,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Library Maintenance" -msgstr "صيانة مكتبة" +msgstr "مكتبة صيانة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:203 msgid "Library metadata backup status" @@ -5367,7 +5361,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:350 msgid "Library removed" -msgstr "إزالة مكتبة" +msgstr "مكتبة إزالة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:351 #, python-format @@ -5436,7 +5430,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:424 msgid "Database integrity check failed, click Show details for details." msgstr "" -"فشل التحقق سلامة قاعدة البيانات ، انقر فوق إظهار التفاصيل لمعرفة التفاصيل." +"فشل التحقق سلامة قاعدة البيانات، انقر فوق إظهار التفاصيل لمعرفة التفاصيل." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:428 msgid "Starting library scan, this may take a while" @@ -5470,7 +5464,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 msgid "C" -msgstr "C" +msgstr "ج" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 msgid "Convert books" @@ -5491,7 +5485,7 @@ msgstr "إنشاء فهرس الكتب في مكتبة العيار الخاص" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Cannot convert" -msgstr "لا يمكن تحويله" +msgstr "يمكن تحويله" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:135 #, python-format @@ -5542,7 +5536,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:197 msgid "Could not copy books: " -msgstr "لا يمكن نسخ الكتب " +msgstr "يمكن نسخ الكتب " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:201 #, python-format @@ -5581,7 +5575,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" -msgstr "هل أنت متأكّد؟" +msgstr "أنت متأكّد؟" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:32 #, python-format @@ -5590,9 +5584,9 @@ msgid "" "can be slow. Should calibre skip the Recycle Bin? If you click Yes " "the files will be permanently deleted." msgstr "" -"تحاول حذف%d كتب . ارسال الكثير من الملفات إلى سلة المحذوفات يمكن أن تكون " -"بطيئة . ينبغي عيار تخطي سلة المحذوفات؟ وإذا كنت فوق نعم يتم حذف الملفات " -"بشكل دائم ." +"كتب تحاول حذف %d . إرسال عاطفية من الملفات إلى سلة المحذوفات يمكن أن تكون " +"بطيئة. ينبغي عيار تخطي سلة المحذوفات؟ وإذا كنت فوق نعم يتم حذف الملفات بشكل " +"دائم . ." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:43 msgid "Deleting..." @@ -5609,7 +5603,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:79 msgid "" "Failed to delete some books, click the Show Details button for details." -msgstr "فشل لحذف بعض الكتب ، وانقر على زر إظهار التفاصيل لمعرفة التفاصيل." +msgstr "فشل لحذف بعض الكتب، وانقر على زر إظهار التفاصيل لمعرفة التفاصيل." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:86 msgid "Remove books" @@ -5621,11 +5615,11 @@ msgstr "إزالة الكتب المختارة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:96 msgid "Remove files of a specific format from selected books.." -msgstr "إزالة الملفات من صيغة معينة من الكتب المختارة.." +msgstr "الملفات إزالة من معينة صيغة من المختارة الكتب.." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:99 msgid "Remove all formats from selected books, except..." -msgstr "إزالة كافة التنسيقات من الكتب المختارة ، إلا..." +msgstr "إزالة كافة التنسيقات من الكتب المختارة، إلا..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:102 msgid "Remove all formats from selected books" @@ -5668,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:227 msgid "Cannot delete books" -msgstr "لا يمكن حذف الكتب" +msgstr "يمكن حذف الكتب" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:228 msgid "No device is connected" @@ -5692,7 +5686,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:245 msgid "No books to delete" -msgstr "لا كتب لحذف" +msgstr "لحذف كتب عاطفية" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:246 msgid "None of the selected books are on the device" @@ -5739,7 +5733,7 @@ msgstr "ربط لايتون" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:49 msgid "Connect to Bambook" -msgstr "الاتصال Bambook" +msgstr "بامبوك الاتصال" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:90 @@ -5786,7 +5780,7 @@ msgstr "إرسال لجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:180 msgid "Connect/share" -msgstr "الاتصال / المشاركة" +msgstr "الاتصال/المشاركة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 @@ -5822,7 +5816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26 msgid "E" -msgstr "E" +msgstr "ه" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26 msgid "Edit metadata" @@ -5924,12 +5918,12 @@ msgid "" msgstr "" "تغيرت الفوقية لبعض الكتب في المكتبة منذ بدء عملية التحميل. إذا كنت المضي " "قدما، قد يكون بعض هذه التغييرات يمكن الكتابة. انقر على زر \"عرض التفاصيل\" " -"لرؤية قائمة من الكتب تغيرت. هل تريد المتابعة؟" +"لرؤية قائمة من الكتب تغيرت. تريد المتابعة؟" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:255 msgid "Cannot edit metadata" -msgstr "لا يمكن تحرير الميتاداتا" +msgstr "يمكن تحرير الميتاداتا" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:295 @@ -5998,7 +5992,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19 msgid "F" -msgstr "F" +msgstr "و" #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19 msgid "Fetch news" @@ -6170,7 +6164,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:144 msgid "Click the show details button to see which ones." -msgstr "انقر على زر إظهار التفاصيل لمعرفة أي منها." +msgstr "انقر على زر إظهار التفاصيل لمعرفة عاطفية منها." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:784 @@ -6317,7 +6311,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 msgid "About Get Books" -msgstr "احصل على معلومات عن كيفية الحصول على كتاب" +msgstr "احصل على مجلة عن كيفية الحصول على كتاب" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:288 @@ -6515,7 +6509,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:218 msgid "This book no longer exists in your library" -msgstr "هذا الكتاب لم يعد موجودا في المكتبة" +msgstr "هذا الكتاب لم يعد موجوداً في المكتبة" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:225 #, python-format @@ -6524,7 +6518,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:70 msgid "Searching in" -msgstr "يتم البحث في" +msgstr "يتم البحث" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:253 msgid "Adding..." @@ -6807,7 +6801,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:381 msgid "Double-click to open Book Details window" -msgstr "انقر نقرا مزدوجا لفتح نافذة تفاصيل الكتاب" +msgstr "انقر نقراً مزدوجاً لفتح نافذة تفاصيل الكتاب" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:382 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 @@ -7487,12 +7481,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "Disable &Sharpening" -msgstr "تعطيل تشحيذ&" +msgstr "&تعطيل تشحيذ" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:109 msgid "Disable &Trimming" -msgstr "تعطيل اقتصاص&" +msgstr "&تعطيل اقتصاص" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:108 @@ -7507,7 +7501,7 @@ msgstr "&عرضي" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:106 msgid "&Right to left" -msgstr "&يمين إلى يسار" +msgstr "&يمين يسار" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:105 @@ -7683,7 +7677,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:140 msgid " pt" -msgstr " pt" +msgstr " حزب العمال" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 msgid "Use &default values" @@ -7833,7 +7827,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:210 msgid "Remove &spacing between paragraphs" -msgstr "حذف الفراغات& بين الفقرات" +msgstr "&حذف الفراغات بين الفقرات" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:211 msgid "&Indent size:" @@ -7950,7 +7944,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:238 msgid "Base &font size:" -msgstr "حجم الخط& الأساسي:" +msgstr "&حجم الخط الأساسي:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:239 msgid "&Line size:" @@ -8051,7 +8045,7 @@ msgstr "إختار الغلاف لـ " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918 msgid "Cannot read" -msgstr "لا يمكن القراءة" +msgstr "يمكن القراءة" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919 @@ -8080,7 +8074,7 @@ msgstr "غلاف الكتاب" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:160 msgid "Change &cover image:" -msgstr "تغيير صورة الغلاف&:" +msgstr "&تغيير صورة الغلاف:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:161 msgid "Browse for an image to use as the cover of this book." @@ -8088,11 +8082,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:163 msgid "Use cover from &source file" -msgstr "استخدم غلاف من المصدر&" +msgstr "&استخدم غلاف من المصدر" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:164 msgid "&Title: " -msgstr ":ال&عنوان " +msgstr ": &العنوان " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:75 @@ -8102,7 +8096,7 @@ msgstr "تغيير عنوان هذا الكتاب" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:549 msgid "&Author(s): " -msgstr "ال&مؤلف: " +msgstr "&المؤلف: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 msgid "Author So&rt:" @@ -8121,7 +8115,7 @@ msgstr "&الناشر: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 msgid "Ta&gs: " -msgstr "الو&سوم: " +msgstr "&الوسوم: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:561 @@ -8130,15 +8124,15 @@ msgid "" "Tags categorize the book. This is particularly useful while searching. " "

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

ممكن تكون أي كلمة أو " -"مجموعة كلمات، مفرقة بفاصلة." +"الوسوم تصنّف الكتاب. هذا يفيد كثيراً في البحث.

ممكن تكون عاطفية كلمة " +"أو خبراء كلمات، مفرقة بفاصلة." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:568 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:458 msgid "&Series:" -msgstr "والسلسلة :" +msgstr "والسلسلة:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 @@ -8146,7 +8140,7 @@ msgstr "والسلسلة :" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:570 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:457 msgid "List of known series. You can add new series." -msgstr "قائمة السلسلات المعروفة. بإمكانك إضافة سلسلات جديدة." +msgstr "قائمة السلسلات المعروفة. بإمكانك ثم سلسلات جديدة." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Book " @@ -8187,11 +8181,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" -msgstr "ضبط الصفحة" +msgstr "قسم ضبط" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 msgid "&Output profile:" -msgstr "طور ال&خرج:" +msgstr "&طور الخرج:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 msgid "Profile description" @@ -8199,7 +8193,7 @@ msgstr "وصف الطور" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 msgid "&Input profile:" -msgstr "طور ال&دخل" +msgstr "&طور الدخل" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:128 msgid "Margins" @@ -8311,7 +8305,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:403 msgid " px" -msgstr " px" +msgstr " مقصف" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:113 msgid "" @@ -8399,7 +8393,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:125 msgid "&Previous" -msgstr "ال&سابق" +msgstr "&السابق" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:73 @@ -8649,7 +8643,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:66 msgid "Chapter &mark:" -msgstr "ع&لامة الفصل:" +msgstr "&علامة الفصل:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:67 msgid "Remove first &image" @@ -8679,11 +8673,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:71 msgid "Do not add &detected chapters to the Table of Contents" -msgstr "لا تضف فصول مك&شوفة إلى قائمة المحتويات" +msgstr "&عاطفية تضف فصول مكشوفة إلى قائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:72 msgid "Number of &links to add to Table of Contents" -msgstr "عدد الوصلات& لإضافتها لقائمة المحتويات" +msgstr "&عدد الوصلات لإضافتها لقائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:73 msgid "Chapter &threshold" @@ -8691,7 +8685,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:74 msgid "&Force use of auto-generated Table of Contents" -msgstr "ألزم& استخدام قائمة المحتويات المنشئة آلياً" +msgstr "&ألزم استخدام قائمة المحتويات المنشئة آلياً" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:75 msgid "TOC &Filter:" @@ -8995,7 +8989,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:52 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:148 msgid "No details available." -msgstr "تتوافر أي تفاصيل." +msgstr "تتوافر تفاصيل عاطفية." #: /home/kovid/work/calibre/src/calibre/gui2/device.py:222 msgid "Device no longer connected." @@ -9008,7 +9002,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:454 msgid "Get device information" -msgstr "احصل على معلومات الجهاز" +msgstr "احصل على مجلة الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Get list of books on device" @@ -9024,7 +9018,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:508 msgid "Send metadata to device" -msgstr "ارسل الميتاداتا إلى الجهاز" +msgstr "أرسل الميتاداتا إلى الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:513 msgid "Send collections to device" @@ -9033,7 +9027,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:563 #, python-format msgid "Upload %d books to device" -msgstr "رفع %d كتاب إلى الجهاز" +msgstr "الجهاز إلى كتاب رفع %d" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:579 msgid "Delete books from device" @@ -9041,7 +9035,7 @@ msgstr "حذف كتب من الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:597 msgid "Download books from device" -msgstr "تنزيل الكتب من الجهاز" +msgstr "الفولدر الكتب من الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:607 msgid "View book on device" @@ -9510,7 +9504,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:149 msgid "Check Library -- Problems Found" -msgstr "الاختيار المكتبة -- المشاكل التي وجدت" +msgstr "المكتبة الاختيار-المشاكل التي وجدت" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:163 msgid "" @@ -9647,7 +9641,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 msgid "Path from library" -msgstr "المسار من مكتبة" +msgstr "مكتبة من المسار" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:371 msgid "" @@ -9710,7 +9704,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 msgid "No existing library found" -msgstr "العثور على أي مكتبة موجود" +msgstr "العثور على عاطفية مكتبة موجود" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 #, python-format @@ -9791,12 +9785,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" -msgstr "ضبط الإفتراضي في تحويل الرسومات (ملفات CBZ/CBR)" +msgstr "ضبط الإفتراضي في تحويل الرسومات (ملفات CBZ/التأهيل المجتمعي)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 #, python-format msgid "Set options for converting %s" -msgstr "ضبط الخيارات لتحويل %s" +msgstr "ضبط الخيارات لتحويل %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:195 @@ -9805,12 +9799,12 @@ msgstr "ضبط الخيارات لتحويل %s" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:181 msgid "&Title:" -msgstr ":ال&عنوان" +msgstr ": &العنوان" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:215 msgid "&Author(s):" -msgstr "ال&مؤلف:" +msgstr "&المؤلف:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "&Profile:" @@ -9879,7 +9873,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:584 msgid "Date" -msgstr "تاريخ" +msgstr "الفهرس" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:54 msgid "Delete from device" @@ -10110,7 +10104,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:78 msgid "Show job &details" -msgstr "اظهار تفاصيل العمل" +msgstr "إظهار تفاصيل العمل" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:79 msgid "Show &all jobs" @@ -10134,7 +10128,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 #: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 msgid "Show &details" -msgstr "اظهار و تفاصيل" +msgstr "إظهار و تفاصيل" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 @@ -10322,11 +10316,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:548 msgid "Edit Meta information" -msgstr "تحرير معلومات الميتا" +msgstr "تحرير مجلة الميتا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:550 msgid "A&utomatically set author sort" -msgstr "ضبط& ترتيب المؤلف آلياً" +msgstr "&ضبط ترتيب المؤلف آلياً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:551 msgid "&Swap title and author" @@ -10365,11 +10359,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:563 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:188 msgid "Open Tag Editor" -msgstr "فتح محرر الوسوم" +msgstr "الوسوم محرر طبقاً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:564 msgid "&Remove tags:" -msgstr "حذف& الوسوم:" +msgstr "&حذف الوسوم:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:565 msgid "Comma separated list of tags to remove from the books. " @@ -10427,7 +10421,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:585 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:590 msgid "&Apply date" -msgstr "تاريخ تطبيق" +msgstr "تطبيق الفهرس" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:586 msgid "&Published:" @@ -10444,7 +10438,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:593 msgid "Remove &format:" -msgstr "حذف الت&هيئة:" +msgstr "&حذف التهيئة:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:594 msgid "" @@ -10701,7 +10695,7 @@ msgstr "&كلمة السرّ" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:81 msgid "&Show password" -msgstr "إظهار& كلمة السرّ" +msgstr "&إظهار كلمة السرّ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:124 msgid "Restart required" @@ -10908,7 +10902,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:583 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:115 msgid "&Customize plugin" -msgstr "ت&خصيص الملحق" +msgstr "&تخصيص الملحق" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:677 #, python-format @@ -10987,13 +10981,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:796 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:354 msgid "Plugin not customizable" -msgstr "لا يمكن تخصيص الملحق" +msgstr "يمكن تخصيص الملحق" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:355 #, python-format msgid "Plugin: %s does not need customization" -msgstr "الملحق: %s لا يحتاج التخصيص" +msgstr "الملحق: %s هل يحتاج التخصيص" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:801 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:361 @@ -11010,13 +11004,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:810 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343 msgid "Plugin cannot be disabled" -msgstr "لا يمكن تعطيل الملحق" +msgstr "يمكن تعطيل الملحق" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:811 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344 #, python-format msgid "The plugin: %s cannot be disabled" -msgstr "الملحق: %s لا يمكن تعطيله" +msgstr "الملحق: %s عاطفية يمكن تعطيله" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:66 msgid "Aborting..." @@ -11239,7 +11233,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:220 msgid "&Download now" -msgstr "&تنزيل الآن" +msgstr "&الآن الفولدر" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:317 msgid "Need username and password" @@ -11272,7 +11266,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:387 msgid "Last downloaded: never" -msgstr "آخر تنزيل: لم ينزّل من قبل" +msgstr "الفولدر آخر: لم ينزّل من قبل" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:388 msgid "never" @@ -11285,7 +11279,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 msgid "Last downloaded:" -msgstr "آخر التحميل :" +msgstr "آخر التحميل:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:431 msgid "Cannot download news as no internet connection is active" @@ -11293,12 +11287,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:434 msgid "No internet connection" -msgstr "لا يوجد اتصال بالانترنت" +msgstr "يوجد اتصال باﻹنترنت" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:445 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 msgid "Schedule news download" -msgstr "جدولة تنزيل الأخبار" +msgstr "الأخبار الفولدر جدولة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 msgid "Add a custom news source" @@ -11318,7 +11312,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 msgid "&Schedule for download:" -msgstr "ج&دولة للتنزيل:" +msgstr "&جدولة للتنزيل:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 msgid "Days of week" @@ -11803,7 +11797,7 @@ msgstr "محرر الوسوم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&vailable tags" -msgstr "الوسوم المت&وفرة" +msgstr "&الوسوم المتوفرة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "" @@ -11819,7 +11813,7 @@ msgstr "علّم الكتاب الحالي بالوسم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "A&pplied tags" -msgstr "الوسوم الم&علّمة" +msgstr "&الوسوم المعلّمة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 msgid "Unapply (remove) tag from current book" @@ -11827,19 +11821,19 @@ msgstr "حذف الوسم من الكتاب الحالي" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:137 msgid "&Add tag:" -msgstr "إض&افة وسم:" +msgstr "&وسم ثم:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:138 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." msgstr "" -"إذا الوسم الذي تريده ليس متوفر، بإمكانك إضافته هنا. يقبل قائمة من الوسوم " +"إذا الوسم يقول تريده ليس متوفر، بإمكانك إضافته هنا. يقبل قائمة من الوسوم " "مفرّقة بفاصلات." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:139 msgid "Add tag to available tags and apply it to current book" -msgstr "إضافة وسم إلى قائمة الوسوم المتوفرة وعلّم الكتاب الحالي به" +msgstr "ثم وسم إلى قائمة الوسوم المتوفرة وعلّم الكتاب الحالي به" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Tag" @@ -12188,7 +12182,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:70 msgid "Not a support ebook format." -msgstr "لا يبوك دعم التنسيق." +msgstr "عاطفية يبوك دعم التنسيق." #: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:91 #, python-format @@ -12279,11 +12273,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:135 msgid "File &name:" -msgstr "اسم ال&ملف:" +msgstr "&اسم الملف:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:137 msgid "Title:" -msgstr ":العنوان" +msgstr ": العنوان" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:138 msgid "Regular expression (?P)" @@ -12326,7 +12320,7 @@ msgstr "فهرس السلسلة:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:147 msgid "Regular expression (?P<series_index>)" -msgstr "Regular expression (?P<series_index>)" +msgstr "العادية التعبير (؟.P<series_index>)</series_index>" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1297 @@ -12395,7 +12389,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:180 msgid "None" -msgstr "بدون" +msgstr "دون" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:264 msgid "Select font files" @@ -12723,7 +12717,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:61 msgid "Size (MB)" -msgstr "الحجم (ميجابايت)" +msgstr "الحجم (ميجابايت)" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 @@ -12836,7 +12830,7 @@ msgstr "استعادة التخطيط الافتراضي" msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." -msgstr "إسقاط إلى جهاز غير معتمد. إضافة أول الكتاب إلى المكتبة العيار." +msgstr "إسقاط إلى جهاز غير معتمد. ثم أول الكتاب إلى المكتبة العيار." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:52 msgid "Configure Viewer" @@ -12856,7 +12850,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70 msgid " - LRF Viewer" -msgstr " - مستعرض LRF" +msgstr " -مستعرض LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 #, python-format @@ -12878,12 +12872,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538 msgid "Next Page" -msgstr "الصفحة التالية" +msgstr "قسم التالية" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:539 msgid "Previous Page" -msgstr "الصفحة السابقة" +msgstr "قسم السابقة" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:943 @@ -12904,7 +12898,7 @@ msgstr "المباراة القادمة" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:216 msgid "Open ebook" -msgstr "فتح الكتب الإلكترونية" +msgstr "أسعار الكتب الإلكترونية" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 msgid "Configure" @@ -12953,7 +12947,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:141 msgid "Failed to create library" -msgstr "فشل في إنشاء مكتبة" +msgstr "فشل في مكتبة إنشاء" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:142 #, python-format @@ -13245,8 +13239,12 @@ msgstr "" #, python-format msgid "The language %s is not recognized" msgid_plural "The languages %s are not recognized" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "اللغات التي لم يتم التعرف عليها %s" +msgstr[1] "اللغات التي لم يتم التعرف عليها %s" +msgstr[2] "اللغات التي لم يتم التعرف عليها %s" +msgstr[3] "اللغات التي لم يتم التعرف عليها %s" +msgstr[4] "اللغات التي لم يتم التعرف عليها %s" +msgstr[5] "اللغات التي لم يتم التعرف عليها %s" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1201 msgid "I&ds:" @@ -13547,7 +13545,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:515 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -"فشل في تحميل البيانات الوصفية. انقر فوق إظهار التفاصيل لمعرفة التفاصيل" +"فشل في تحميل البيانات الوصفية. انقر فوق إظهار لمعرفة التفاصيل التفاصيل" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:524 msgid "" @@ -13556,9 +13554,9 @@ msgid "" "single distinctive word from the title.<p>To see the full log, click Show " "Details." msgstr "" -"فشلت في العثور على أي الكتب التي تطابق بحثك. محاولة جعل <B>بحث أقل تحديدا </ " -"B>. على سبيل المثال، لا تستخدم إلا البلاغ اسم العائلة وكلمة واحدة مميزة من " -"العنوان. <p>لرؤية السجل الكامل، انقر فوق إظهار التفاصيل." +"فشلت في العثور على عاطفية الكتب التي تطابق بحثك. محاولة جعل <B>بحث أقل " +"تحديداً. على الصفحة المثال، عاطفية تستخدم إلا البلاغ اسم العائلة وكلمة واحدة " +"مميزة من العنوان.<p>لرؤية السجل الكامل، انقر فوق إظهار التفاصيل.</B>." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:632 msgid "Current cover" @@ -13576,7 +13574,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -"فشل في تحميل أي يغطي، انقر فوق \"عرض التفاصيل\" للاطلاع على التفاصيل." +"فشل في تحميل عاطفية يغطي، انقر فوق \"عرض التفاصيل\" لﻻطﻻع على التفاصيل." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:833 #, python-format @@ -13704,7 +13702,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:145 msgid "&Swap author firstname and lastname" -msgstr "والاسم الأول واسم العائلة المؤلف علوي" +msgstr "واﻻسم الأول واسم العائلة المؤلف علوي" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:146 msgid "&Tags to apply when adding a book:" @@ -13825,7 +13823,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151 msgid "Automatically send downloaded &news to ebook reader" -msgstr "إرسال الأخبار& التي تم تنزيلها آلياً إلى قارئ الكتب الإلكترونية" +msgstr "&إرسال الأخبار التي تم تنزيلها آلياً إلى قارئ الكتب الإلكترونية" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:152 msgid "&Delete news from library when it is automatically sent to reader" @@ -13866,7 +13864,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:163 msgid "Edit metadata (single) layout:" -msgstr "تحرير البيانات الوصفية (واحد) التخطيط :" +msgstr "تحرير البيانات الوصفية (عاطفية) التخطيط:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:164 msgid "" @@ -13882,7 +13880,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 msgid "Use internal &viewer for:" -msgstr "استخدم المستعرض& الداخلي في:" +msgstr "&استخدم المستعرض الداخلي:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "Reset all disabled &confirmation dialogs" @@ -14228,7 +14226,7 @@ msgstr "التهيئات" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68 msgid "ISBN" -msgstr "ISBN" +msgstr "[ايسبن]" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 msgid "People's names" @@ -14273,13 +14271,10 @@ msgid "" "site." msgstr "" "إذا كان محددا، سيتم عرض هذا العمود ك HTML في تفاصيل الكتاب وخادم المحتوى. " -"ويمكن استخدام هذه لبناء روابط مع لغة القالب. على سبيل المثال ، في قالب " -"<pre><big><B>{عنوان} </ B> </ كبير> {سلسلة : | [|} {series_index : | قبل " -"[|]]}</سوف> إنشاء حقل اللقب في عرض الأحرف الكبيرة جريئة، جنبا إلى جنب مع هذه " -"السلسلة ، على سبيل المثال <BR>\"<big><B>نهج المائل </ B> </ كبير> " -"[بيليساريوس [1]\". و<a<pre>قالب href=\"http://www.beam-" -"ebooks.de/ebook/{identifiers:select(beam)}\"> الكتاب الحزمة </ أ> </ قبل> " -"سيتم إنشاء رابط الكتاب على الحزمة يبوكس الموقع." +"ويمكن استخدام هذه لبناء روابط مع لغة القالب. على الصفحة المثال، في " +"قالب<pre><big><B>{سلسلة: | [|} {series_index: | قبل [|]]}<BR>\"<big> " +"<B> [بيليساريوس [1]\". و<><pre>سيتم إنشاء رابط الكتاب على الحزمة يبوكس " +"الأعمال.</pre></B></big></B></big></pre>." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:177 msgid "My Tags" @@ -14447,9 +14442,9 @@ msgid "" "href=\"http://docs.python.org/library/string.html#format-string-syntax\">the " "python documentation</a>" msgstr "" -"رد <p>و: غير مهيأ. لتنسيق تفاصيل لغة انظر " -"href=\"http://docs.python.org/library/string.html#format-string-syntax\"> " -"<aالثعبان الوثائق </ أ>" +"رد<p>و: غير مهيأ. تفاصيل لتنسيق لغة انظر " +"href=\"http://docs.python.org/library/string.html#format-string-syntax\" " +"><aالثعبان الوثائق=\"\"></aالثعبان>" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:244 msgid "Format for &dates" @@ -14509,7 +14504,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:259 msgid "The empty string is always the first value" -msgstr "سلسلة فارغة دائما القيمة الأولى" +msgstr "سلسلة فارغة دائماً القيمة الأولى" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:261 msgid "" @@ -14720,7 +14715,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:239 msgid "Choose &language (requires restart):" -msgstr "إختر ال&لغة (يحتاج إعادة تشغيل):" +msgstr "&إختر البريدالالكتروني (يحتاج إعادة تشغيل):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:240 msgid "Enable system &tray icon (needs restart)" @@ -15293,12 +15288,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:327 msgid "No valid plugin path" -msgstr "مسار الملحق غير صالح" +msgstr "الملحق مسار غير صالح" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:328 #, python-format msgid "%s is not a valid plugin path" -msgstr "%s ليس مسار لملحق صالح" +msgstr "%s ليس مسار صالح لملحق" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:337 #, python-format @@ -15320,7 +15315,7 @@ msgstr "لم يمكن حذف الملحق المضمن" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:382 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." -msgstr " لا يمكن حذفه. هذا ملحق مضمن في البرنامج. حاول تعطيله بدلاً من حذفه." +msgstr " يمكن حذفه. هذا ملحق مضمن في البرنامج. حاول تعطيله بدلاً من حذفه." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:109 msgid "" @@ -15689,7 +15684,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:146 msgid "Server &port:" -msgstr "خادم والمنفذ :" +msgstr "خادم والمنفذ:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:149 msgid "Max. &OPDS items per query:" @@ -16364,7 +16359,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:109 msgid "Number of details threads to use" -msgstr "عدد من المواضيع من التفاصيل لاستخدامها" +msgstr "عدد من المواضيع من التفاصيل ﻻستخدامها" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:222 msgid "&Price:" @@ -16518,7 +16513,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:42 msgid "Checking last download date." -msgstr "التحقق مشاركة تاريخ التحميل." +msgstr "التحقق مشاركة الفهرس التحميل." #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:48 msgid "Downloading book list from MobileRead." @@ -16907,7 +16902,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:273 msgid "Fetch news from " -msgstr "احصل على الأخبار من " +msgstr "احصل على الأخبار " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:346 msgid "Convert existing" @@ -16922,7 +16917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:203 msgid "&Donate to support calibre" -msgstr "تبرع& لدعم كاليبر" +msgstr "&تبرع لدعم كاليبر" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239 msgid "&Restore" @@ -17743,7 +17738,7 @@ msgstr "يتم تحميل الكتاب الإلكتروني..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:987 msgid "Could not open ebook" -msgstr "لم يتمكن من فتح الكتاب الإلكتروني" +msgstr "لم يتمكن من أسعار الكتاب الإلكتروني" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:988 msgid "Unknown error" @@ -17794,11 +17789,11 @@ msgstr "شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:210 msgid "Next page" -msgstr "الصفحة التالية" +msgstr "قسم التالية" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:211 msgid "Previous page" -msgstr "الصفحة السابقة" +msgstr "قسم السابقة" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:212 msgid "Font size larger" @@ -18164,7 +18159,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "Mail &Server" -msgstr "خادم و البريد" +msgstr "و خادم البريد" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "calibre can <b>optionally</b> use a server to send mail" @@ -18185,7 +18180,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "" "The port your mail server listens for connections on. The default is 25" -msgstr "منفذ ملقم البريد يستمع للاتصالات على. الافتراضي هو 25" +msgstr "منفذ ملقم البريد يستمع على لﻻتصاﻻت. الافتراضي هو 25" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "Your username on the mail server" @@ -18815,9 +18810,8 @@ msgid "" "Available fields: %s\n" "Default: %%default" msgstr "" -"الحقل الذي به يتم ترتيب النتائج.\n" -"الحقول المتوفرة: %s\n" -"الإفتراضي: %%default" +"الحقل يقول به يتم ترتيب النتائج.\n" +"الحقول المتوفرة: الإفتراضي %s: %%الافتراضي" #: /home/kovid/work/calibre/src/calibre/library/cli.py:165 msgid "Sort results in ascending order" @@ -19691,7 +19685,7 @@ msgstr "الأخير" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:109 #, python-format msgid "Browsing %d books" -msgstr "تصفح %d الكتب" +msgstr "الكتب تصفح %d" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:126 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:256 @@ -19706,7 +19700,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:164 #, python-format msgid "%d stars" -msgstr "%d النجوم" +msgstr "النجوم %d" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:257 msgid "Popularity" @@ -19727,7 +19721,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:392 msgid "Choose a category to browse by:" -msgstr "اختيار فئة للتصفح من خلالها :" +msgstr "اختيار فئة للتصفح من خلالها:" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:523 msgid "Browsing by" @@ -19776,7 +19770,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:886 msgid "in search" -msgstr "في البحث" +msgstr "البحث" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:888 msgid "Matching books" @@ -19794,15 +19788,12 @@ msgid "" "\n" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" -"[خيارات]\n" +"[خيارات]يبدأ خادم المحتوى العيار. خادم المحتوى العيار يعرض مكتبتك عيار عبر " +"الإنترنت. الافتراضي واجهة يسمح لك بمشاهدة لك مكتبة عيار حسب الفئات. يمكنك " +"الوصول أيضا إلى الأمثل واجهة لمتصفحات على المحمول/المحمول و أوبدس اجهة تستند " +"لﻻستخدام مع تطبيقات في القراءة/أوبدس.\n" "\n" -"يبدأ خادم المحتوى العيار. خادم المحتوى العيار\n" -"يعرض مكتبتك عيار عبر الإنترنت. الافتراضي واجهة\n" -"يسمح لك بمشاهدة لك مكتبة عيار حسب الفئات. يمكنك أيضا\n" -"الوصول إلى واجهة الأمثل لمتصفحات المحمول على / المحمول و\n" -"OPDS اجهة تستند للاستخدام مع تطبيقات في القراءة / opds.\n" -"\n" -"يتم الإعلان عن طريق واجهة OPDS بونجور تلقائيا.\n" +"يتم الإعلان عن طريق واجهة أوبدس بونجور تلقائياً.\n" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 msgid "Path to the library folder to serve with the content server" @@ -19837,12 +19828,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d book" -msgstr "%d كتاب" +msgstr "كتاب %d" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:152 #, python-format msgid "%d items" -msgstr "%d ملفات" +msgstr "ملفات %d" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:170 #, python-format @@ -19915,7 +19906,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:385 msgid "Path to directory in which your library of books is stored" -msgstr "المسار إلى الدليل الذي تحفظ فيها مكتبة كتبك" +msgstr "المسار إلى الدليل يقول تحفظ فيها مكتبة كتبك" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:387 msgid "The language in which to display the user interface" @@ -20153,11 +20144,11 @@ msgid "" "substr('12345', 1, 0) returns '2345', and substr('12345', 1, -1) returns " "'234'." msgstr "" -"SUBSTR (شارع، بداية ونهاية) -- إرجاع start'th خلال الأحرف end'th للشارع. " -"الحرف الأول في شارع هو الحرف zero'th. إذا النهاية هو سلبي، فإنه يشير إلى أن " -"العديد من الشخصيات العد من اليمين. إذا النهاية هو صفر، ثم أنه يشير إلى الحرف " -"الأخير. على سبيل المثال ، SUBSTR ('12345'، 1 ، 0) بإرجاع '2345' ، وSUBSTR " -"('12345' ، 1، -1) بإرجاع '234'." +"SUBSTR (شارع، بداية ونهاية)-إرجاع start'th خلال الأحرف end'th للشارع. الحرف " +"الأول في شارع هو الحرف زيرؤث. إذا النهاية هو سلبي، فإنه يشير إلى أن العديد " +"من الشخصيات العد من اليمين. إذا النهاية هو صفر، ثم أنه يشير إلى الحرف " +"الأخير. على الصفحة المثال، SUBSTR ('12345'، 1، 0) بإرجاع '2345'، وSUBSTR " +"('12345'، 1،-1) بإرجاع '234'." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:309 msgid "" @@ -20325,7 +20316,7 @@ msgid "" "get the mod time for a specific format. Note that format names are always " "uppercase, as in EPUB." msgstr "" -"formats_modtimes (date_format) -- إرجاع قائمة مفصولة بفواصل من العناصر التي " +"formats_modtimes (date_format)-إرجاع قائمة مفصولة بفواصل من العناصر التي " "تمثل colon_separated مرات لتعديل نماذج من الكتاب. المعلمة date_format يحدد " "كيفية التاريخ هو أن يكون مهيأ. انظر وظيفة date_format للحصول على تفاصيل. " "يمكنك استخدام الدالة حدد للحصول على الوقت وزارة الدفاع للتنسيق محدد. علما أن " @@ -20609,7 +20600,7 @@ msgstr "برتغالية البرازيل" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "English (UK)" -msgstr "الأنجليزية (المملكة المتحدة)" +msgstr "الأنجليزية (المملكة المتحدة)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Simplified Chinese" @@ -20633,7 +20624,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "English (Australia)" -msgstr "الإنجليزية (أستراليا)" +msgstr "الإنجليزية (أستراليا)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "English (Japan)" @@ -20653,11 +20644,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "English (New Zealand)" -msgstr "الأنكليزية (زيلندا الجديدة)" +msgstr "الأنكليزية (زيلندا الجديدة)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "English (Canada)" -msgstr "الانجليزية (كندا)" +msgstr "الانجليزية (كندا)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 msgid "English (Greece)" @@ -20851,7 +20842,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:20 msgid "Welcome to" -msgstr "أهلا بك في" +msgstr "أهلا بك" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:41 msgid " console " @@ -20897,7 +20888,7 @@ msgstr "تلقيم مجهول" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:161 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:188 msgid "Untitled article" -msgstr "مقالة بدون عنوان" +msgstr "مقالة دون عنوان" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:48 msgid "Unknown News Source" @@ -20919,11 +20910,11 @@ msgstr "تم التنزيل" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:894 msgid "Failed to download the following articles:" -msgstr "فشل تنزيل المقالات التالية:" +msgstr "فشل الفولدر التالية المقالات:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:900 msgid "Failed to download parts of the following articles:" -msgstr "فشل تنزيل أجزاء من المقالات التالية:" +msgstr "فشل الفولدر أجزاء من المقالات التالية:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:902 msgid " from " @@ -20955,7 +20946,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1073 msgid "Trying to download cover..." -msgstr "محاولة تنزيل الغلاف..." +msgstr "محاولة الفولدر الغلاف..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1075 msgid "Generating masthead..." @@ -20969,17 +20960,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1171 #, python-format msgid "Feeds downloaded to %s" -msgstr "تم تنزيل التلقيم إلى %s" +msgstr "تم الفولدر التلقيم إلى %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1180 #, python-format msgid "Could not download cover: %s" -msgstr "لم يتمكّن من تنزيل الغلاف: %s" +msgstr "لم يتمكّن من الفولدر الغلاف: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1189 #, python-format msgid "Downloading cover from %s" -msgstr "يتم تنزيل الغلاف من %s" +msgstr "يتم الفولدر الغلاف من %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1235 msgid "Masthead image downloaded" @@ -20991,17 +20982,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1389 msgid "Untitled Article" -msgstr "مقالة بدون عنوان" +msgstr "مقالة دون عنوان" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1461 #, python-format msgid "Article downloaded: %s" -msgstr "المقالة منزّلة: %s" +msgstr "المقالة منزّلة: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1472 #, python-format msgid "Article download failed: %s" -msgstr "فشل تنزيل المقالة: %s" +msgstr "فشل الفولدر المقالة: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1489 msgid "Fetching feed" @@ -21338,25 +21329,21 @@ msgid "" "(\\ characters) in the template. It doesn't hurt anything to leave it there\n" "even if there aren't any backslashes." msgstr "" -"عند تقسيم المستعرض به، وشكل من التسمية هو فئة فرعية\n" -"التي تسيطر عليها قالب : إذا categories_collapsed_name_template الترتيب " -"بواسطة\n" -"اسم categories_collapsed_rating_template إذا الفرز حسب التقييم المتوسط ​​، " -"و\n" -"categories_collapsed_popularity_template إذا الفرز حسب الشهرة. يوجد\n" -"متغيرين المتاحة للقالب : الأول والأخير. المتغير \"الأولى\"\n" -"هو العنصر الأولي في فئة فرعية ، والمتغير 'مشاركة' هو النهائي\n" -"البند في فئة فرعية. كلا المتغيرات 'الكائنات، بل كل لديك عدة\n" -"القيم التي يتم الحصول عليها باستخدام لاحقة. على سبيل المثال ، لfirst.name\n" -"وسوف تكون الفئة المؤلف اسم المؤلف. القيم الفرعية المتاحة هي :\n" -"الاسم : اسم سهلة في هذا البند\n" -"العد : عدد الكتب التي تشير إلى هذا البند\n" -"avg_rating : متوسط ​​تصنيف جميع الكتب المراجع في هذا البند\n" -"الفرز : قيمة الفرز. للمؤلفين، وهذا هو author_sort لهذا الكاتب\n" -"الفئة : الفئة (على سبيل المثال ، كتاب، سلسلة) أن هذا البند هو فيه.\n" -"لاحظ أن \"ص\" في الجبهة من {أمر ضروري إذا كان هناك خطوط مائلة عكسية\n" -"(\\ حرفا) في القالب. فإنه لا يضر أي شيء لتركها هناك\n" -"حتى لو لم تكن هناك أي خطوط مائلة عكسية." +"عند تقسيم المستعرض به، وشكل من التسمية هو فئة فرعية التي تسيطر عليها قالب: " +"إذا categories_collapsed_name_template الترتيب بواسطة اسم " +"categories_collapsed_rating_template إذا الفرز حسب التقييم المتوسط، و " +"categories_collapsed_popularity_template إذا الفرز حسب الشهرة. يوجد متغيرين " +"المتاحة للقالب: الأول والأخير. المتغير \"الأولى\" هو العنصر الأولي في فئة " +"فرعية، والمتغير 'مشاركة' هو النهائي البند في فئة فرعية. كلا المتغيرات ' " +"الكائنات، بل كل عروض لديك عدة القيم التي يتم الحصول عليها باستخدام لاحقة. " +"على الصفحة المثال، لfirst.name وسوف تكون الفئة المؤلف اسم المؤلف. القيم " +"الفرعية المتاحة هي: الاسم: اسم سهلة في هذا البند العد: عدد الكتب التي تشير " +"إلى هذا البند avg_rating: متوسط تصنيف جميع الكتب المراجع في هذا البند الفرز: " +"قيمة الفرز. للمؤلفين، وهذا هو author_sort لهذا الكاتب الفئة: الفئة (على " +"الصفحة المثال، كتاب، سلسلة) أن هذا البند هو فيه.\n" +"لاحظ أن \"ص\" في الجبهة من {أمر ضروري إذا كان هناك خطوط مائلة عكسية (\\ " +"حرفاً) في القالب. فإنه عاطفية يضر عاطفية شيء لتركها هناك حتى لو لم تكن هناك " +"عاطفية خطوط مائلة عكسية." #: /home/kovid/work/calibre/resources/default_tweaks.py:122 msgid "Control order of categories in the tag browser" @@ -21677,11 +21664,10 @@ msgid "" "tweak." msgstr "" "تعيين الحد الأقصى لعدد من \"المستويات\" سيكون ذلك نوعا من عيار استخدامها " -"لجوء\n" -"المكتبة بعد عمليات معينة مثل البحث أو الإدراج الجهاز. كل\n" -"مستوى الفرز يضيف ركلة جزاء الأداء. إذا كانت قاعدة البيانات كبيرة (آلاف\n" -"كتب) قد تكون العقوبة ملحوظا. إذا كنت لا تشعر بالقلق إزاء متعددة\n" -"أنواع المستوى ، وإذا كنت ترى تباطؤا، وخفض قيمة هذا القرص." +"لجوء المكتبة بعد عمليات معينة مثل البحث أو الإدراج الجهاز. كل عروض مستوى " +"الفرز يضيف ركلة جزاء الأداء. إذا كانت قاعدة البيانات كبيرة (آلاف كتب) قد " +"تكون العقوبة ملحوظا. إذا كنت عاطفية تشعر بالقلق إزاء متعددة أنواع المستوى، " +"وإذا كنت أغنية تباطؤا، وخفض قيمة هذا القرص." #: /home/kovid/work/calibre/resources/default_tweaks.py:373 msgid "Choose whether dates are sorted using visible fields" @@ -21722,7 +21708,7 @@ msgid "" "per pixel. Default is per column." msgstr "" "تستطيع التحكم بطريقة عرض الكتب.\n" -"اﻻختيارات: فتح العارض,ﻻ يفعل شيئ," +"اﻻختيارات: أسعار العارض، ﻻ يفعل شيئ،" #: /home/kovid/work/calibre/resources/default_tweaks.py:399 msgid "Language to use when sorting." @@ -21785,7 +21771,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:436 msgid "The maximum width and height for covers saved in the calibre library" -msgstr "العرض والارتفاع الأقصى ليغطي المحفوظة في مكتبة العيار" +msgstr "العرض واﻻرتفاع الأقصى ليغطي المحفوظة في مكتبة العيار" #: /home/kovid/work/calibre/resources/default_tweaks.py:437 msgid "" @@ -21793,9 +21779,8 @@ msgid "" "to fit within this size. This is to prevent slowdowns caused by extremely\n" "large covers" msgstr "" -"وسيتم تغيير حجم يغطي جميع في مكتبة العيار، والحفاظ على نسبة الجانب ،\n" -"لتتناسب مع هذا الحجم. وهذا لمنع التباطؤ التي تسببها للغاية\n" -"كبير يغطي" +"وسيتم تغيير حجم يغطي جميع في مكتبة العيار، والحفاظ على نسبة الجانب، لتتناسب " +"مع هذا الحجم. وهذا لمنع التباطؤ التي تسببها للغاية كبير يغطي" #: /home/kovid/work/calibre/resources/default_tweaks.py:442 msgid "Where to send downloaded news" @@ -21810,16 +21795,15 @@ msgid "" "that if there isn't enough free space available on the location you choose,\n" "the files will be sent to the location with the most free space." msgstr "" -"عند إرسال الأخبار تلقائيا تحميلها على جهاز متصل، والعيار\n" -"يتم افتراضيا إرسالها إلى الذاكرة الرئيسية. هذا عن طريق تغيير قرص، يمكنك\n" -"التحكم حيث يتم إرسالها. القيم الصالحة هي \"الرئيسية\" ، \"كاردا\" ، " -"\"cardb\". لاحظ\n" -"أنه إذا لم تكن هناك مساحة حرة كافية متوفرة على الموقع الذي تختاره ،\n" -"سيتم إرسال الملفات إلى الموقع مع معظم مساحة حرة." +"عند إرسال الأخبار تلقائياً تحميلها على جهاز متصل، والعيار يتم افتراضياً " +"إرسالها إلى الذاكرة الرئيسية. هذا عن طريق تغيير قرص، يمكنك التحكم حيث يتم " +"إرسالها. القيم الصالحة هي \"الصفحة الرئيسية\"، \"كاردا\"، \"كاردب\". لاحظ " +"أنه إذا لم تكن هناك مساحة حرة كافية متوفرة على الموقع يقول تختاره، سيتم " +"إرسال الملفات إلى الموقع مع معظم مساحة حرة." #: /home/kovid/work/calibre/resources/default_tweaks.py:450 msgid "What interfaces should the content server listen on" -msgstr "فماذا اجهات خادم المحتوى الاستماع على" +msgstr "فماذا اجهات خادم المحتوى على الاستماع" #: /home/kovid/work/calibre/resources/default_tweaks.py:451 msgid "" @@ -21831,16 +21815,15 @@ msgid "" "to '::' to listen to all incoming IPv6 and IPv4 connections (this may not\n" "work on all operating systems)" msgstr "" -"افتراضيا ، خادم المحتوى العيار يستمع '0.0.0.0' وهو ما يعني أنه\n" -"عناوين IPv4 يقبل الاتصالات على جميع الواجهات. يمكنك تغيير هذا، على سبيل\n" -"سبيل المثال ، '127.0.0.1' للاستماع فقط لاتصالات من الجهاز المحلي، أو\n" -"إلى ':' للاستماع إلى جميع عناوين IPv4 الإصدار IPv6 واردة والاتصالات (وهذا لا " -"يجوز\n" -"عمل على كافة أنظمة التشغيل)" +"افتراضياً، خادم المحتوى العيار يستمع '0.0.0.0' وهو طريفة يعني أنه عناوين " +"IPv4 يقبل الأهل على جميع الواجهات. يمكنك تغيير هذا، على الصفحة الصفحة " +"المثال، '127.0.0.1' لﻻستماع فقط ﻻتصاﻻت من الجهاز المحلي، أو إلى ':' لﻻستماع " +"إلى جميع عناوين IPv4 الإصدار IPv6 واردة واﻻتصاﻻت (عاطفية وهذا يجوز على عمل " +"كافة التشغيل أنظمة)" #: /home/kovid/work/calibre/resources/default_tweaks.py:458 msgid "Unified toolbar on OS X" -msgstr "شريط أدوات موحدة على OS X" +msgstr "شريط أدوات موحدة على نظام التشغيل العاشر" #: /home/kovid/work/calibre/resources/default_tweaks.py:459 msgid "" @@ -21853,12 +21836,11 @@ msgid "" "it\n" "on at your own risk!" msgstr "" -"إذا قمت بتمكين هذا الخيار وإعادة العيار ، وسوف يكون شريط الأدوات 'موحد'\n" -"مع titlebar كما هو المعتاد لتطبيقات OS X. ومع ذلك ، لم تفعل هذا\n" -"البق مختلفة ، على سبيل المثال عرض الحد الأدنى من شريط الأدوات يصبح مرتين\n" -"ما ينبغي أن تكون ، وأنه يسبب الخلل عشوائية على بعض الأنظمة الأخرى، بحيث " -"تتحول\n" -"على مسؤوليتك!" +"إذا قمت بتمكين هذا الخيار وإعادة العيار، وسوف يكون شريط الأدوات 'موحد' مع " +"شريط عنوان كما هو المعتاد لتطبيقات عاشرا OS ومع ذلك، لم تفعل هذا البق " +"مختلفة، على الصفحة المثال عرض الحد الأدنى من شريط الأدوات يصبح مرتين طريفة " +"ينبغي أن تكون الطبعة وأنه يسبب الخلل عشوائية على بعض الأنظمة الأخرى، بحيث " +"تتحول على مسؤوليتك!" #: /home/kovid/work/calibre/resources/default_tweaks.py:466 msgid "Save original file when converting from same format to same format" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index abd90e9c8d..4b79514c5f 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-26 04:38+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-27 05:21+0000\n" +"X-Generator: Launchpad (build 16309)\n" "Language: fr\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 1a5485e743..b9b937c958 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -8,15 +8,15 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-10-14 01:49+0000\n" -"Last-Translator: Diogo Albuquerque <Unknown>\n" +"PO-Revision-Date: 2012-11-26 18:38+0000\n" +"Last-Translator: Jean Valadares <Unknown>\n" "Language-Team: American English <kde-i18n-doc@kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:46+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-27 05:21+0000\n" +"X-Generator: Launchpad (build 16309)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -638,13 +638,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Dispositivos ignorados" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" "Control which devices calibre will ignore when they are connected to the " "computer." msgstr "" +"Controle quais dispositivos serão ignorados quando conectados ao computador." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 @@ -876,7 +877,7 @@ msgstr "Este perfil é destinado para o Kindle DX da Amazon." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:661 msgid "This profile is intended for the Amazon Kindle PaperWhite" -msgstr "" +msgstr "Esse perfil é indicado para o Amazon Kindle PaperWhite" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the Amazon Kindle Fire." diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index 560b2dc3fa..cfbbcc3044 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -8,15 +8,15 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-10-19 08:56+0000\n" +"PO-Revision-Date: 2012-11-27 04:51+0000\n" "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" "Language-Team: Chinese (traditional)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:47+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-27 05:22+0000\n" +"X-Generator: Launchpad (build 16309)\n" "Language: zh_TW\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -1696,27 +1696,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1215 msgid "Specify a tags type column for automatic management" -msgstr "" +msgstr "指定自動管理的標籤類型欄位" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 msgid "Create Bookshelves" -msgstr "" +msgstr "建立書櫃" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 msgid "" "Create new bookshelves on the Kobo Touch if they do not exist. This is only " "for firmware V2.0.0 or later." -msgstr "" +msgstr "如果在 Kobo Touch 中沒有書櫃則建立一個新的。這只對 V2.0.0 以後的韌體有用。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 msgid "Delete Empty Bookshelves" -msgstr "" +msgstr "刪除空的書櫃" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1219 msgid "" "Delete any empty bookshelves from the Kobo Touch when syncing is finished. " "This is only for firmware V2.0.0 or later." -msgstr "" +msgstr "當同步結束時刪除 Kobo Touch 中空的書櫃。這只對 V2.0.0 以後的韌體有用。" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 msgid "Upload covers for books" @@ -1744,7 +1744,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 msgid "Title to test when debugging" -msgstr "" +msgstr "除錯時要測試的書名" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 msgid "" @@ -1922,7 +1922,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:222 #, python-format msgid "Found id: %s" -msgstr "" +msgstr "發現 id:%s" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." @@ -2105,41 +2105,41 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273 msgid "Use fixed network port" -msgstr "" +msgstr "使用固定網路連接埠" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:274 msgid "" "If checked, use the port number in the \"Port\" box, otherwise the driver " "will pick a random port" -msgstr "" +msgstr "如果核取,會使用在「連接埠」方塊中的連接埠編號,否則驅動程式會隨機挑選連接埠" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:276 msgid "Port number: " -msgstr "" +msgstr "連接埠編號: " #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277 msgid "" "Enter the port number the driver is to use if the \"fixed port\" box is " "checked" -msgstr "" +msgstr "輸入當核取「固定連接埠」時要使用的連接埠編號" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:278 msgid "Print extra debug information" -msgstr "" +msgstr "顯示額外的除錯資訊" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:279 msgid "Check this box if requested when reporting problems" -msgstr "" +msgstr "當回報錯誤時如果需要請核取此方塊" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:281 msgid "" "Comma separated list of metadata fields to turn into collections on the " "device." -msgstr "" +msgstr "元數據欄位的逗號分隔清單,用以轉成裝置中的藏書。" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283 msgid "Possibilities include: series, tags, authors, etc" -msgstr "" +msgstr "可能包含:系列、標籤、作者等" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:291 msgid "Enable the no-activity timeout" @@ -2155,7 +2155,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:296 msgid "Use this IP address" -msgstr "" +msgstr "使用這個 IP 位址" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:297 msgid "" @@ -2167,21 +2167,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:766 #, python-format msgid "Too many connection attempts from %s" -msgstr "" +msgstr "來自 %s 太多連線嘗試" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1271 #, python-format msgid "Invalid port in options: %s" -msgstr "" +msgstr "選項中有無效的連接埠:%s" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1279 #, python-format msgid "Failed to connect to port %d. Try a different value." -msgstr "" +msgstr "無法連接至連接埠 %d。請嘗試不同的數值。" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1291 msgid "Failed to allocate a random port" -msgstr "" +msgstr "無法配置隨機連接埠" #: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." @@ -2306,6 +2306,8 @@ msgid "" "cable/USB port on your computer. If you device has a \"Reset to factory " "defaults\" type of setting somewhere, use it. Underlying error: %s" msgstr "" +"無法存取您裝置的主要記憶體。您應該連絡裝置的製造商以獲得支援。常見的修正方式有:嘗試不同的 USB 纜線/USB " +"連接埠。如果您的裝置有「重設為原廠預設值」之類的設定,也可以使用它。底層錯誤為:%s" #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:114 #, python-format @@ -2388,13 +2390,13 @@ msgstr "記憶卡 A 資料夾" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:69 msgid "Swap main and card A" -msgstr "" +msgstr "交換主要記憶體與記憶卡 A" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:70 msgid "" "Check this box if the device's main memory is being seen as card a and the " "card is being seen as main memory" -msgstr "" +msgstr "如果裝置的主要記憶體被視為記憶卡,而記憶卡被視為主要記憶體,可以核取這個方塊" #: /home/kovid/work/calibre/src/calibre/devices/utils.py:18 #: /home/kovid/work/calibre/src/calibre/devices/utils.py:24 @@ -3031,24 +3033,24 @@ msgstr "保持封面的長寬比,而不將它延伸到填滿產生的 pdf 的 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:94 msgid "The font family used to render serif fonts" -msgstr "" +msgstr "用來繪製襯線字型的字族" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:97 msgid "The font family used to render sans-serif fonts" -msgstr "" +msgstr "用來繪製無襯線字型的字族" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:104 msgid "The font family used to render monospaced fonts" -msgstr "" +msgstr "用來繪製等寬字型的字族" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107 msgid "The default font size" -msgstr "" +msgstr "預設的字型大小" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110 msgid "The default font size for monospaced text" -msgstr "" +msgstr "等寬文字的預設字型大小" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22 msgid "" @@ -3478,28 +3480,28 @@ msgstr "" msgid "" "Set the top margin in pts. Default is %default. Setting this to less than " "zero will cause no margin to be set. Note: 72 pts equals 1 inch" -msgstr "" +msgstr "以 pts 設定頂端邊界。預設值為 %default。將這個數值設為小於零則表示不使用邊界。注意:72 pts 等同 1 英吋" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:381 #, python-format msgid "" "Set the bottom margin in pts. Default is %default. Setting this to less than " "zero will cause no margin to be set. Note: 72 pts equals 1 inch" -msgstr "" +msgstr "以 pts 設定底部邊界。預設值為 %default。將這個數值設為小於零則表示不使用邊界。注意:72 pts 等同 1 英吋" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387 #, python-format msgid "" "Set the left margin in pts. Default is %default. Setting this to less than " "zero will cause no margin to be set. Note: 72 pts equals 1 inch" -msgstr "" +msgstr "以 pts 設定左邊界。預設值為 %default。將這個數值設為小於零則表示不使用邊界。注意:72 pts 等同 1 英吋" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:393 #, python-format msgid "" "Set the right margin in pts. Default is %default. Setting this to less than " "zero will cause no margin to be set. Note: 72 pts equals 1 inch" -msgstr "" +msgstr "以 pts 設定右邊界。預設值為 %default。將這個數值設為小於零則表示不使用邊界。注意:72 pts 等同 1 英吋" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:400 msgid "" @@ -3676,7 +3678,7 @@ msgstr "設定出版日期。" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:574 msgid "Set the book timestamp (no longer used anywhere)" -msgstr "" +msgstr "設定書籍時刻戳記 (已不在任何地方使用)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:578 msgid "" From 10cfd6316fe194d6ca2992d108a86e4aca7dbaa1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 27 Nov 2012 13:04:26 +0530 Subject: [PATCH 09/63] Viewer: Fix handling of empty self closing tags. Fixes #1083278 (Private bug) --- src/calibre/ebooks/oeb/display/webview.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/oeb/display/webview.py b/src/calibre/ebooks/oeb/display/webview.py index d42d6ae545..dda22a2414 100644 --- a/src/calibre/ebooks/oeb/display/webview.py +++ b/src/calibre/ebooks/oeb/display/webview.py @@ -28,7 +28,7 @@ def self_closing_sub(match): tag = match.group(1) if tag.lower().strip() == 'br': return match.group() - return '<%s %s></%s>'%(match.group(1), match.group(2), match.group(1)) + return '<%s%s></%s>'%(match.group(1), match.group(2), match.group(1)) def load_html(path, view, codec='utf-8', mime_type=None, pre_load_callback=lambda x:None, path_is_html=False): @@ -45,10 +45,8 @@ def load_html(path, view, codec='utf-8', mime_type=None, html = EntityDeclarationProcessor(html).processed_html has_svg = re.search(r'<[:a-zA-Z]*svg', html) is not None - if 'xhtml' in mime_type: - self_closing_pat = re.compile(r'<([a-z1-6]+)\s+([^>]+)/>', - re.IGNORECASE) - html = self_closing_pat.sub(self_closing_sub, html) + self_closing_pat = re.compile(r'<([A-Za-z1-6]+)([^>]*)/\s*>') + html = self_closing_pat.sub(self_closing_sub, html) html = re.sub(ur'<\s*title\s*/\s*>', u'', html, flags=re.IGNORECASE) loading_url = QUrl.fromLocalFile(path) From 4289389a388d491e0abed11be9622628f3ebfbdc Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 27 Nov 2012 13:07:47 +0530 Subject: [PATCH 10/63] ... --- src/calibre/ebooks/oeb/display/webview.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/calibre/ebooks/oeb/display/webview.py b/src/calibre/ebooks/oeb/display/webview.py index dda22a2414..2cbf7c755a 100644 --- a/src/calibre/ebooks/oeb/display/webview.py +++ b/src/calibre/ebooks/oeb/display/webview.py @@ -45,10 +45,9 @@ def load_html(path, view, codec='utf-8', mime_type=None, html = EntityDeclarationProcessor(html).processed_html has_svg = re.search(r'<[:a-zA-Z]*svg', html) is not None - self_closing_pat = re.compile(r'<([A-Za-z1-6]+)([^>]*)/\s*>') + self_closing_pat = re.compile(r'<\s*([A-Za-z1-6]+)([^>]*)/\s*>') html = self_closing_pat.sub(self_closing_sub, html) - html = re.sub(ur'<\s*title\s*/\s*>', u'', html, flags=re.IGNORECASE) loading_url = QUrl.fromLocalFile(path) pre_load_callback(loading_url) From 8ab768f95fdf437dfdafee39a192d9d0180410cd Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Tue, 27 Nov 2012 14:14:07 +0530 Subject: [PATCH 11/63] Theoretical osx 10.8 notifier --- src/calibre/gui2/notify.py | 46 +++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/calibre/gui2/notify.py b/src/calibre/gui2/notify.py index 947d98f1a4..b51fb89344 100644 --- a/src/calibre/gui2/notify.py +++ b/src/calibre/gui2/notify.py @@ -7,7 +7,7 @@ __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' -from calibre.constants import islinux, isosx +from calibre.constants import islinux, isosx, get_osx_version, __appname__ class Notifier(object): @@ -101,32 +101,36 @@ class QtNotifier(Notifier): except: pass -class GrowlNotifier(Notifier): - - notification_type = 'All notifications' +class AppleNotifier(Notifier): def __init__(self): + self.ok = False + import os, sys try: - import Growl - self.icon = Growl.Image.imageFromPath(I('notify.png')) - self.growl = Growl.GrowlNotifier(applicationName='calibre', - applicationIcon=self.icon, notifications=[self.notification_type]) - self.growl.register() - self.ok = True + self.exe = os.path.join(sys.console_binaries_path, 'notifier') + self.ok = os.access(self.exe, os.X_OK) + import subprocess + self.call = subprocess.check_call except: - self.ok = False + pass - def encode(self, msg): - if isinstance(msg, unicode): - msg = msg.encode('utf-8') - return msg + def notify(self, body, summary): + def encode(x): + if isinstance(x, unicode): + x = x.encode('utf-8') + return x + + cmd = [self.exe, '-title', __appname__, '-activate', + 'net.kovidgoyal.calibre', '-message', encode(body)] + if summary: + cmd += ['-subtitle', encode(summary)] + self.call(cmd) def __call__(self, body, summary=None, replaces_id=None, timeout=0): timeout, body, summary = self.get_msg_parms(timeout, body, summary) if self.ok: try: - self.growl.notify(self.notification_type, self.encode(summary), - self.encode(body)) + self.notify(body, summary) except: import traceback traceback.print_exc() @@ -140,10 +144,10 @@ def get_notifier(systray=None): ans = FDONotifier() if not ans.ok: ans = None - #if isosx: - # ans = GrowlNotifier() - # if not ans.ok: - # ans = None + elif False and isosx and get_osx_version() >= (10, 8, 0): + ans = AppleNotifier() + if not ans.ok: + ans = None if ans is None: ans = QtNotifier(systray) if not ans.ok: From 34c340a1978953533df63b0c30bfed43cc28d4f1 Mon Sep 17 00:00:00 2001 From: GRiker <griker@hotmail.com> Date: Tue, 27 Nov 2012 09:55:09 -0700 Subject: [PATCH 12/63] Initial implementation supporting custom column source fields for Genres when generating catalogs. --- src/calibre/gui2/catalog/catalog_epub_mobi.py | 155 ++++++++++++------ src/calibre/gui2/catalog/catalog_epub_mobi.ui | 73 ++++++--- src/calibre/library/catalogs/__init__.py | 1 + src/calibre/library/catalogs/epub_mobi.py | 9 +- .../library/catalogs/epub_mobi_builder.py | 66 ++++++-- 5 files changed, 221 insertions(+), 83 deletions(-) diff --git a/src/calibre/gui2/catalog/catalog_epub_mobi.py b/src/calibre/gui2/catalog/catalog_epub_mobi.py index 04a5fe9527..1b8c93adae 100644 --- a/src/calibre/gui2/catalog/catalog_epub_mobi.py +++ b/src/calibre/gui2/catalog/catalog_epub_mobi.py @@ -144,14 +144,14 @@ class PluginWidget(QWidget,Ui_Form): # Strip off the trailing '_tw' opts_dict[c_name[:-3]] = opt_value - def exclude_genre_changed(self, regex): + def exclude_genre_changed(self): """ Dynamically compute excluded genres. - Run exclude_genre regex against db.all_tags() to show excluded tags. - PROVISIONAL CODE, NEEDS TESTING + Run exclude_genre regex against selected genre_source_field to show excluded tags. - Args: - regex (QLineEdit.text()): regex to compile, compute + Inputs: + current regex + genre_source_field Output: self.exclude_genre_results (QLabel): updated to show tags to be excluded as genres @@ -183,23 +183,31 @@ class PluginWidget(QWidget,Ui_Form): return "%s ... %s" % (', '.join(start), ', '.join(end)) results = _('No genres will be excluded') + + regex = unicode(getattr(self, 'exclude_genre').text()).strip() if not regex: self.exclude_genre_results.clear() self.exclude_genre_results.setText(results) return + # Populate all_genre_tags from currently source + if self.genre_source_field_name == _('Tags'): + all_genre_tags = self.db.all_tags() + else: + all_genre_tags = list(self.db.all_custom(self.db.field_metadata.key_to_label(self.genre_source_field_name))) + try: pattern = re.compile((str(regex))) except: results = _("regex error: %s") % sys.exc_info()[1] else: excluded_tags = [] - for tag in self.all_tags: + for tag in all_genre_tags: hit = pattern.search(tag) if hit: excluded_tags.append(hit.string) if excluded_tags: - if set(excluded_tags) == set(self.all_tags): + if set(excluded_tags) == set(all_genre_tags): results = _("All genres will be excluded") else: results = _truncated_results(excluded_tags) @@ -237,6 +245,34 @@ class PluginWidget(QWidget,Ui_Form): self.merge_after.setEnabled(enabled) self.include_hr.setEnabled(enabled) + def generate_genres_changed(self, enabled): + ''' + Toggle Genres-related controls + ''' + self.genre_source_field.setEnabled(enabled) + + def genre_source_field_changed(self,new_index): + ''' + Process changes in the genre_source_field combo box + Update Excluded genres preview + ''' + new_source = str(self.genre_source_field.currentText()) + self.genre_source_field_name = new_source + if new_source != _('Tags'): + genre_source_spec = self.genre_source_fields[unicode(new_source)] + self.genre_source_field_name = genre_source_spec['field'] + self.exclude_genre_changed() + + def header_note_source_field_changed(self,new_index): + ''' + Process changes in the header_note_source_field combo box + ''' + new_source = str(self.header_note_source_field.currentText()) + self.header_note_source_field_name = new_source + if new_source > '': + header_note_source_spec = self.header_note_source_fields[unicode(new_source)] + self.header_note_source_field_name = header_note_source_spec['field'] + def initialize(self, name, db): ''' CheckBoxControls (c_type: check_box): @@ -245,8 +281,8 @@ class PluginWidget(QWidget,Ui_Form): 'generate_recently_added','generate_descriptions', 'include_hr'] ComboBoxControls (c_type: combo_box): - ['exclude_source_field','header_note_source_field', - 'merge_source_field'] + ['exclude_source_field','genre_source_field', + 'header_note_source_field','merge_source_field'] LineEditControls (c_type: line_edit): ['exclude_genre'] RadioButtonControls (c_type: radio_button): @@ -261,11 +297,11 @@ class PluginWidget(QWidget,Ui_Form): ''' self.name = name self.db = db - self.all_tags = db.all_tags() + self.all_genre_tags = [] self.fetch_eligible_custom_fields() self.populate_combo_boxes() - # Update dialog fields from stored options + # Update dialog fields from stored options, validating options for combo boxes exclusion_rules = [] prefix_rules = [] for opt in self.OPTION_FIELDS: @@ -273,13 +309,18 @@ class PluginWidget(QWidget,Ui_Form): opt_value = gprefs.get(self.name + '_' + c_name, c_def) if c_type in ['check_box']: getattr(self, c_name).setChecked(eval(str(opt_value))) - elif c_type in ['combo_box'] and opt_value is not None: - # *** Test this code with combo boxes *** - #index = self.read_source_field.findText(opt_value) - index = getattr(self,c_name).findText(opt_value) - if index == -1 and c_name == 'read_source_field': - index = self.read_source_field.findText('Tag') - #self.read_source_field.setCurrentIndex(index) + elif c_type in ['combo_box']: + if opt_value is None: + index = 0 + if c_name == 'genre_source_field': + index = self.genre_source_field.findText(_('Tags')) + else: + index = getattr(self,c_name).findText(opt_value) + if index == -1: + if c_name == 'read_source_field': + index = self.read_source_field.findText('Tag') + elif c_name == 'genre_source_field': + index = self.genre_source_field.findText(_('Tags')) getattr(self,c_name).setCurrentIndex(index) elif c_type in ['line_edit']: getattr(self, c_name).setText(opt_value if opt_value else '') @@ -320,6 +361,17 @@ class PluginWidget(QWidget,Ui_Form): header_note_source_spec = self.header_note_source_fields[cs] self.header_note_source_field_name = header_note_source_spec['field'] + # Init self.genre_source_field_name + self.genre_source_field_name = _('Tags') + cs = unicode(self.genre_source_field.currentText()) + if cs != _('Tags'): + genre_source_spec = self.genre_source_fields[cs] + self.genre_source_field_name = genre_source_spec['field'] + + # Hook Genres checkbox + self.generate_genres.clicked.connect(self.generate_genres_changed) + self.generate_genres_changed(self.generate_genres.isChecked()) + # Initialize exclusion rules self.exclusion_rules_table = ExclusionRules(self.exclusion_rules_gb, "exclusion_rules_tw",exclusion_rules, self.eligible_custom_fields,self.db) @@ -329,7 +381,27 @@ class PluginWidget(QWidget,Ui_Form): "prefix_rules_tw",prefix_rules, self.eligible_custom_fields,self.db) # Initialize excluded genres preview - self.exclude_genre_changed(unicode(getattr(self, 'exclude_genre').text()).strip()) + self.exclude_genre_changed() + + def merge_source_field_changed(self,new_index): + ''' + Process changes in the merge_source_field combo box + ''' + new_source = str(self.merge_source_field.currentText()) + self.merge_source_field_name = new_source + if new_source > '': + merge_source_spec = self.merge_source_fields[unicode(new_source)] + self.merge_source_field_name = merge_source_spec['field'] + if not self.merge_before.isChecked() and not self.merge_after.isChecked(): + self.merge_after.setChecked(True) + self.merge_before.setEnabled(True) + self.merge_after.setEnabled(True) + self.include_hr.setEnabled(True) + + else: + self.merge_before.setEnabled(False) + self.merge_after.setEnabled(False) + self.include_hr.setEnabled(False) def options(self): # Save/return the current options @@ -373,7 +445,7 @@ class PluginWidget(QWidget,Ui_Form): else: opts_dict[c_name] = opt_value - # Generate specs for merge_comments, header_note_source_field + # Generate specs for merge_comments, header_note_source_field, genre_source_field checked = '' if self.merge_before.isChecked(): checked = 'before' @@ -385,6 +457,8 @@ class PluginWidget(QWidget,Ui_Form): opts_dict['header_note_source_field'] = self.header_note_source_field_name + opts_dict['genre_source_field'] = self.genre_source_field_name + # Fix up exclude_genre regex if blank. Assume blank = no exclusions if opts_dict['exclude_genre'] == '': opts_dict['exclude_genre'] = 'a^' @@ -457,35 +531,18 @@ class PluginWidget(QWidget,Ui_Form): self.merge_after.setEnabled(False) self.include_hr.setEnabled(False) - def header_note_source_field_changed(self,new_index): - ''' - Process changes in the header_note_source_field combo box - ''' - new_source = str(self.header_note_source_field.currentText()) - self.header_note_source_field_name = new_source - if new_source > '': - header_note_source_spec = self.header_note_source_fields[unicode(new_source)] - self.header_note_source_field_name = header_note_source_spec['field'] - - def merge_source_field_changed(self,new_index): - ''' - Process changes in the merge_source_field combo box - ''' - new_source = str(self.merge_source_field.currentText()) - self.merge_source_field_name = new_source - if new_source > '': - merge_source_spec = self.merge_source_fields[unicode(new_source)] - self.merge_source_field_name = merge_source_spec['field'] - if not self.merge_before.isChecked() and not self.merge_after.isChecked(): - self.merge_after.setChecked(True) - self.merge_before.setEnabled(True) - self.merge_after.setEnabled(True) - self.include_hr.setEnabled(True) - - else: - self.merge_before.setEnabled(False) - self.merge_after.setEnabled(False) - self.include_hr.setEnabled(False) + # Populate the 'Genres' combo box + custom_fields = {_('Tags'):{'field':None,'datatype':None}} + for custom_field in self.all_custom_fields: + field_md = self.db.metadata_for_field(custom_field) + if field_md['datatype'] in ['text','enumeration']: + custom_fields[field_md['name']] = {'field':custom_field, + 'datatype':field_md['datatype']} + # Add the sorted eligible fields to the combo box + for cf in sorted(custom_fields, key=sort_key): + self.genre_source_field.addItem(cf) + self.genre_source_fields = custom_fields + self.genre_source_field.currentIndexChanged.connect(self.genre_source_field_changed) def show_help(self): ''' diff --git a/src/calibre/gui2/catalog/catalog_epub_mobi.ui b/src/calibre/gui2/catalog/catalog_epub_mobi.ui index 5c016ffdb5..d212b0aa6f 100644 --- a/src/calibre/gui2/catalog/catalog_epub_mobi.ui +++ b/src/calibre/gui2/catalog/catalog_epub_mobi.ui @@ -54,40 +54,71 @@ </property> </widget> </item> - <item row="0" column="2"> + <item row="1" column="0"> <widget class="QCheckBox" name="generate_titles"> <property name="text"> <string>&Titles</string> </property> </widget> </item> - <item row="0" column="3"> + <item row="3" column="0"> <widget class="QCheckBox" name="generate_series"> <property name="text"> <string>&Series</string> </property> </widget> </item> - <item row="4" column="0"> - <widget class="QCheckBox" name="generate_genres"> - <property name="text"> - <string>&Genres</string> - </property> - </widget> + <item row="0" column="2"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QCheckBox" name="generate_genres"> + <property name="text"> + <string>&Genres</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="genre_source_field"> + <property name="toolTip"> + <string>Field containing Genre information</string> + </property> + </widget> + </item> + </layout> </item> - <item row="4" column="2"> - <widget class="QCheckBox" name="generate_recently_added"> - <property name="text"> - <string>&Recently Added</string> - </property> - </widget> + <item row="1" column="2"> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QCheckBox" name="generate_recently_added"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>26</height> + </size> + </property> + <property name="text"> + <string>&Recently Added</string> + </property> + </widget> + </item> + </layout> </item> - <item row="4" column="3"> - <widget class="QCheckBox" name="generate_descriptions"> - <property name="text"> - <string>&Descriptions</string> - </property> - </widget> + <item row="3" column="2"> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QCheckBox" name="generate_descriptions"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>26</height> + </size> + </property> + <property name="text"> + <string>&Descriptions</string> + </property> + </widget> + </item> + </layout> </item> </layout> </widget> @@ -177,7 +208,7 @@ The default pattern \[.+\]|\+ excludes tags of the form [tag], e.g., [Test book] </size> </property> <property name="text"> - <string>Tags to &exclude (regex):</string> + <string>Genres to &exclude (regex):</string> </property> <property name="textFormat"> <enum>Qt::AutoText</enum> diff --git a/src/calibre/library/catalogs/__init__.py b/src/calibre/library/catalogs/__init__.py index fdc8a53eb3..de96493f75 100644 --- a/src/calibre/library/catalogs/__init__.py +++ b/src/calibre/library/catalogs/__init__.py @@ -19,4 +19,5 @@ TEMPLATE_ALLOWED_FIELDS = [ 'author_sort', 'authors', 'id', 'isbn', 'pubdate', ' class AuthorSortMismatchException(Exception): pass class EmptyCatalogException(Exception): pass +class InvalidGenresSourceFieldException(Exception): pass diff --git a/src/calibre/library/catalogs/epub_mobi.py b/src/calibre/library/catalogs/epub_mobi.py index 3b36642c10..a50c7ba861 100644 --- a/src/calibre/library/catalogs/epub_mobi.py +++ b/src/calibre/library/catalogs/epub_mobi.py @@ -121,6 +121,13 @@ class EPUB_MOBI(CatalogPlugin): help=_("Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: AZW3, ePub, MOBI output formats")), + Option('--genre-source-field', + default='Tags', + dest='genre_source_field', + action = None, + help=_("Source field for Genres section.\n" + "Default: '%default'\n" + "Applies to: AZW3, ePub, MOBI output formats")), Option('--header-note-source-field', default='', dest='header_note_source_field', @@ -327,7 +334,7 @@ class EPUB_MOBI(CatalogPlugin): if key in ['catalog_title','author_clip','connected_kindle','creator', 'cross_reference_authors','description_clip','exclude_book_marker', 'exclude_genre','exclude_tags','exclusion_rules', 'fmt', - 'header_note_source_field','merge_comments_rule', + 'genre_source_field', 'header_note_source_field','merge_comments_rule', 'output_profile','prefix_rules','read_book_marker', 'search_text','sort_by','sort_descriptions_by_author','sync', 'thumb_width','use_existing_cover','wishlist_tag']: diff --git a/src/calibre/library/catalogs/epub_mobi_builder.py b/src/calibre/library/catalogs/epub_mobi_builder.py index 468c32a8f8..fa38b2ba83 100644 --- a/src/calibre/library/catalogs/epub_mobi_builder.py +++ b/src/calibre/library/catalogs/epub_mobi_builder.py @@ -15,7 +15,8 @@ from calibre.customize.ui import output_profiles from calibre.ebooks.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup, Tag, NavigableString from calibre.ebooks.chardet import substitute_entites from calibre.ebooks.metadata import author_to_author_sort -from calibre.library.catalogs import AuthorSortMismatchException, EmptyCatalogException +from calibre.library.catalogs import AuthorSortMismatchException, EmptyCatalogException, \ + InvalidGenresSourceFieldException from calibre.ptempfile import PersistentTemporaryDirectory from calibre.utils.config import config_dir from calibre.utils.date import format_date, is_date_undefined, now as nowf @@ -134,7 +135,7 @@ class CatalogBuilder(object): self.generate_recently_read = False self.genres = [] self.genre_tags_dict = \ - self.filter_db_tags(max_len = 245 - len("%s/Genre_.html" % self.content_dir)) \ + self.filter_genre_tags(max_len = 245 - len("%s/Genre_.html" % self.content_dir)) \ if self.opts.generate_genres else None self.html_filelist_1 = [] self.html_filelist_2 = [] @@ -938,6 +939,21 @@ class CatalogBuilder(object): this_title['tags'] = self.filter_excluded_genres(record['tags'], self.opts.exclude_genre) + this_title['genres'] = [] + if self.opts.genre_source_field == _('Tags'): + this_title['genres'] = this_title['tags'] + else: + record_genres = self.db.get_field(record['id'], + self.opts.genre_source_field, + index_is_id=True) + + if record_genres: + if type(record_genres) is not list: + record_genres = [record_genres] + + this_title['genres'] = self.filter_excluded_genres(record_genres, + self.opts.exclude_genre) + if record['formats']: formats = [] for format in record['formats']: @@ -1104,7 +1120,7 @@ class CatalogBuilder(object): self.bookmarked_books = bookmarks - def filter_db_tags(self, max_len): + def filter_genre_tags(self, max_len): """ Remove excluded tags from data set, return normalized genre list. Filter all db tags, removing excluded tags supplied in opts. @@ -1166,7 +1182,32 @@ class CatalogBuilder(object): normalized_tags = [] friendly_tags = [] excluded_tags = [] - for tag in self.db.all_tags(): + + # Fetch all possible genres from source field + all_genre_tags = [] + if self.opts.genre_source_field == _('Tags'): + all_genre_tags = self.db.all_tags() + else: + # Validate custom field is usable as a genre source + field_md = self.db.metadata_for_field(self.opts.genre_source_field) + if not field_md['datatype'] in ['enumeration','text']: + all_custom_fields = self.db.custom_field_keys() + eligible_custom_fields = [] + for cf in all_custom_fields: + if self.db.metadata_for_field(cf)['datatype'] in ['enumeration','text']: + eligible_custom_fields.append(cf) + self.opts.log.error("Custom genre_source_field must be either:\n" + " 'Comma separated text, like tags, shown in the browser',\n" + " 'Text, column shown in the tag browser', or\n" + " 'Text, but with a fixed set of permitted values'.") + self.opts.log.error("Eligible custom fields: %s" % ', '.join(eligible_custom_fields)) + raise InvalidGenresSourceFieldException, "invalid custom field specified for genre_source_field" + + all_genre_tags = list(self.db.all_custom(self.db.field_metadata.key_to_label(self.opts.genre_source_field))) + + all_genre_tags.sort() + + for tag in all_genre_tags: if tag in self.excluded_tags: excluded_tags.append(tag) continue @@ -1194,9 +1235,10 @@ class CatalogBuilder(object): if genre_tags_dict[key] == normalized: self.opts.log.warn(" %s" % key) if self.opts.verbose: - self.opts.log.info('%s' % _format_tag_list(genre_tags_dict, header="enabled genre tags in database")) - self.opts.log.info('%s' % _format_tag_list(excluded_tags, header="excluded genre tags")) + self.opts.log.info('%s' % _format_tag_list(genre_tags_dict, header="enabled genres")) + self.opts.log.info('%s' % _format_tag_list(excluded_tags, header="excluded genres")) + print("genre_tags_dict: %s" % genre_tags_dict) return genre_tags_dict def filter_excluded_genres(self, tags, regex): @@ -1969,7 +2011,7 @@ class CatalogBuilder(object): create a separate HTML file. Normalize tags to flatten synonymous tags. Inputs: - db.all_tags() (list): all database tags + self.genre_tags_dict (list): all genre tags Output: (files): HTML file per genre @@ -1987,7 +2029,7 @@ class CatalogBuilder(object): tag_list = {} for book in self.books_by_author: # Scan each book for tag matching friendly_tag - if 'tags' in book and friendly_tag in book['tags']: + if 'genres' in book and friendly_tag in book['genres']: this_book = {} this_book['author'] = book['author'] this_book['title'] = book['title'] @@ -2577,18 +2619,18 @@ class CatalogBuilder(object): # Genres genres = '' - if 'tags' in book: + if 'genres' in book: _soup = BeautifulSoup('') genresTag = Tag(_soup,'p') gtc = 0 - for (i, tag) in enumerate(sorted(book.get('tags', []))): + for (i, tag) in enumerate(sorted(book.get('genres', []))): aTag = Tag(_soup,'a') if self.opts.generate_genres: aTag['href'] = "Genre_%s.html" % self.genre_tags_dict[tag] aTag.insert(0,escape(NavigableString(tag))) genresTag.insert(gtc, aTag) gtc += 1 - if i < len(book['tags'])-1: + if i < len(book['genres'])-1: genresTag.insert(gtc, NavigableString(' · ')) gtc += 1 genres = genresTag.renderContents() @@ -4382,7 +4424,7 @@ class CatalogBuilder(object): """ Return the first friendly_tag matching genre. Scan self.genre_tags_dict[] for first friendly_tag matching genre. - genre_tags_dict[] populated in filter_db_tags(). + genre_tags_dict[] populated in filter_genre_tags(). Args: genre (str): genre to match From 05e59444e5317bb4548a62fe96520aa3af079976 Mon Sep 17 00:00:00 2001 From: GRiker <griker@hotmail.com> Date: Tue, 27 Nov 2012 10:54:42 -0700 Subject: [PATCH 13/63] Added translation for 'Tags' in ExclusionRules and PrefixRules --- src/calibre/gui2/catalog/catalog_epub_mobi.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/calibre/gui2/catalog/catalog_epub_mobi.py b/src/calibre/gui2/catalog/catalog_epub_mobi.py index 1b8c93adae..57859ab501 100644 --- a/src/calibre/gui2/catalog/catalog_epub_mobi.py +++ b/src/calibre/gui2/catalog/catalog_epub_mobi.py @@ -88,7 +88,7 @@ class PluginWidget(QWidget,Ui_Form): [{'ordinal':0, 'enabled':True, 'name':_('Catalogs'), - 'field':'Tags', + 'field':_('Tags'), 'pattern':'Catalog'},], ['table_widget']) @@ -97,13 +97,13 @@ class PluginWidget(QWidget,Ui_Form): [{'ordinal':0, 'enabled':True, 'name':_('Read book'), - 'field':'Tags', + 'field':_('Tags'), 'pattern':'+', 'prefix':u'\u2713'}, {'ordinal':1, 'enabled':True, 'name':_('Wishlist item'), - 'field':'Tags', + 'field':_('Tags'), 'pattern':'Wishlist', 'prefix':u'\u00d7'},], ['table_widget','table_widget']) @@ -127,7 +127,7 @@ class PluginWidget(QWidget,Ui_Form): elif 'prefix' in rule and rule['prefix'] is None: continue else: - if rule['field'] != 'Tags': + if rule['field'] != _('Tags'): # Look up custom column friendly name rule['field'] = self.eligible_custom_fields[rule['field']]['field'] if rule['pattern'] in [_('any value'),_('any date')]: @@ -226,7 +226,7 @@ class PluginWidget(QWidget,Ui_Form): def fetch_eligible_custom_fields(self): self.all_custom_fields = self.db.custom_field_keys() custom_fields = {} - custom_fields['Tags'] = {'field':'tag', 'datatype':u'text'} + custom_fields[_('Tags')] = {'field':'tag', 'datatype':u'text'} for custom_field in self.all_custom_fields: field_md = self.db.metadata_for_field(custom_field) if field_md['datatype'] in ['bool','composite','datetime','enumeration','text']: @@ -318,7 +318,7 @@ class PluginWidget(QWidget,Ui_Form): index = getattr(self,c_name).findText(opt_value) if index == -1: if c_name == 'read_source_field': - index = self.read_source_field.findText('Tag') + index = self.read_source_field.findText(_('Tags')) elif c_name == 'genre_source_field': index = self.genre_source_field.findText(_('Tags')) getattr(self,c_name).setCurrentIndex(index) @@ -836,9 +836,10 @@ class GenericRulesTable(QTableWidget): # Populate the Pattern field based upon the Source field source_field = str(combo.currentText()) + if source_field == '': values = [] - elif source_field == 'Tags': + elif source_field == _('Tags'): values = sorted(self.db.all_tags(), key=sort_key) else: if self.eligible_custom_fields[unicode(source_field)]['datatype'] in ['enumeration', 'text']: From 540434223e3c62a5527135c0f96c6211cc1c3ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20D=C5=82ugosz?= <tomek3d@gmail.com> Date: Tue, 27 Nov 2012 21:20:14 +0100 Subject: [PATCH 14/63] mark Publio as affialite --- src/calibre/customize/builtins.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index bf11f39d29..373e0eb4a1 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -1565,6 +1565,7 @@ class StorePublioStore(StoreBase): headquarters = 'PL' formats = ['EPUB', 'MOBI', 'PDF'] + affiliate = True class StoreRW2010Store(StoreBase): name = 'RW2010' From c3ae59451bd37bc1261eca945bd488f0f79b59f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20D=C5=82ugosz?= <tomek3d@gmail.com> Date: Tue, 27 Nov 2012 21:49:25 +0100 Subject: [PATCH 15/63] handle author detection better --- src/calibre/gui2/store/stores/publio_plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/gui2/store/stores/publio_plugin.py b/src/calibre/gui2/store/stores/publio_plugin.py index 6854d4e5e7..fbf6d0c550 100644 --- a/src/calibre/gui2/store/stores/publio_plugin.py +++ b/src/calibre/gui2/store/stores/publio_plugin.py @@ -57,7 +57,7 @@ class PublioStore(BasicStoreConfig, StorePlugin): title2 = ''.join(data.xpath('.//div[@class="desc"]/h5/a/text()')) if title2: title = title + '. ' + title2 - author = ', '.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[@class="row"]/a/text()')) + author = ', '.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[@class="row"][1]/a/@title')) price = ''.join(data.xpath('.//div[@class="priceBoxContener "]/div/ins/text()')) if not price: price = ''.join(data.xpath('.//div[@class="priceBoxContener "]/div/text()')) From 77fce1ef777123ebcf747d0a746e27917aa0d443 Mon Sep 17 00:00:00 2001 From: GRiker <griker@hotmail.com> Date: Tue, 27 Nov 2012 16:08:28 -0700 Subject: [PATCH 16/63] Added code to retry uploads to iDevice. Unable to test since calibre is not currently recognizing my idevices. --- src/calibre/devices/apple/driver.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/calibre/devices/apple/driver.py b/src/calibre/devices/apple/driver.py index 0e8b9abc87..e4e073e383 100644 --- a/src/calibre/devices/apple/driver.py +++ b/src/calibre/devices/apple/driver.py @@ -227,7 +227,7 @@ class ITUNES(DriverBase): # 0x1297 iPhone 4 # 0x129a iPad # 0x129f iPad2 (WiFi) - # 0x12a0 iPhone 4S + # 0x12a0 iPhone 4S (GSM) # 0x12a2 iPad2 (GSM) # 0x12a3 iPad2 (CDMA) # 0x12a6 iPad3 (GSM) @@ -1196,10 +1196,25 @@ class ITUNES(DriverBase): logger().error(" Device|Books playlist not found") # Add the passed book to the Device|Books playlist - added = pl.add(appscript.mactypes.File(fpath),to=pl) - if False: - logger().info(" '%s' added to Device|Books" % metadata.title) - + attempts = 2 + delay = 1.0 + while attempts: + try: + added = pl.add(appscript.mactypes.File(fpath),to=pl) + if False: + logger().info(" '%s' added to Device|Books" % metadata.title) + break + except: + attempts -= 1 + if DEBUG: + logger().warning(" failed to add book, waiting %.1f seconds to try again (attempt #%d)" % + (delay, (3 - attempts))) + time.sleep(delay) + else: + if DEBUG: + logger().error(" failed to add '%s' to Device|Books" % metadata.title) + raise UserFeedback("Unable to add '%s' in direct connect mode" % metadata.title, + details=None, level=UserFeedback.ERROR) self._wait_for_writable_metadata(added) return added From 209d58a481ef3ee376ac007226c2080685fcd389 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 09:40:59 +0530 Subject: [PATCH 17/63] ... --- src/calibre/gui2/dialogs/choose_library.ui | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/dialogs/choose_library.ui b/src/calibre/gui2/dialogs/choose_library.ui index 966b93b7b3..ea3cd98a92 100644 --- a/src/calibre/gui2/dialogs/choose_library.ui +++ b/src/calibre/gui2/dialogs/choose_library.ui @@ -59,13 +59,13 @@ </item> <item> <widget class="QCheckBox" name="copy_structure"> - <property name="text"> - <string>&Copy structure from the current library</string> - </property> <property name="toolTip"> <string>Copy the custom columns, saved searches, column widths, plugboards, user categories, and other information from the old to the new library</string> </property> + <property name="text"> + <string>&Copy structure from the current library</string> + </property> </widget> </item> </layout> @@ -138,7 +138,14 @@ user categories, and other information from the old to the new library</string> </widget> </item> <item row="2" column="1" colspan="2"> - <widget class="HistoryLineEdit" name="location"/> + <widget class="HistoryLineEdit" name="location"> + <property name="sizeAdjustPolicy"> + <enum>QComboBox::AdjustToMinimumContentsLength</enum> + </property> + <property name="minimumContentsLength"> + <number>40</number> + </property> + </widget> </item> </layout> </widget> From 260f8113c46f7dfc88e074f214ab5f4dbe0e6770 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Wed, 28 Nov 2012 04:39:20 +0000 Subject: [PATCH 18/63] Launchpad automatic translations update. --- src/calibre/translations/it.po | 66 +++++++++++++++++-------------- src/calibre/translations/lv.po | 22 +++++------ src/calibre/translations/zh_TW.po | 2 +- 3 files changed, 49 insertions(+), 41 deletions(-) diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 94c8697b65..5a2ed71781 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -10,15 +10,15 @@ msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-03 01:20+0000\n" +"PO-Revision-Date: 2012-11-27 11:48+0000\n" "Last-Translator: Vincenzo Reale <smart2128@baslug.org>\n" "Language-Team: Italian <kde-i18n-it@kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:35+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:38+0000\n" +"X-Generator: Launchpad (build 16309)\n" "Language: it\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -5922,7 +5922,7 @@ msgstr "Troppo lungo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Not found" -msgstr "" +msgstr "Non trovata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 #, python-format @@ -5930,6 +5930,9 @@ msgid "" "Cannot rename as no library was found at %s. Try switching to this library " "first, then switch back and retry the renaming." msgstr "" +"Impossibile rinominare poiché nessuna biblioteca è stata trovata in %s. " +"Prova a passare prima a questa biblioteca, poi torna indietro e prova a " +"rinominare." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:335 msgid "Rename failed" @@ -7937,11 +7940,11 @@ msgstr " pollice" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:313 msgid "Author cross-references:" -msgstr "" +msgstr "Riferimenti incrociati autore:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:314 msgid "For books with multiple authors, list each author separately" -msgstr "" +msgstr "Per libri con diversi autori, elenca separatamente ogni autore" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -8728,7 +8731,7 @@ msgstr "&Disattiva il ridimensionamento dei caratteri" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:242 msgid "&Subset all embedded fonts (Experimental)" -msgstr "" +msgstr "&Sottoinsieme di tutti i caratteri integrati (Sperimentale)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:16 msgid "LRF Output" @@ -13575,7 +13578,7 @@ msgstr "Scegli una famiglia di caratteri" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:136 #, python-format msgid "Available faces for %s" -msgstr "" +msgstr "Tipi disponibili per %s" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:171 msgid "Choose font family" @@ -13591,11 +13594,11 @@ msgstr "Scegli una famiglia di caratteri dall'elenco seguente:" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:205 msgid "Find Next" -msgstr "" +msgstr "Trova successivo" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:208 msgid "Find Previous" -msgstr "" +msgstr "Trova precedente" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:258 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 @@ -13622,12 +13625,12 @@ msgstr "Caratteri TrueType/OpenType" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:274 msgid "Corrupt font" -msgstr "" +msgstr "Carattere danneggiato" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:275 #, python-format msgid "Failed to read metadata from the font file: %s" -msgstr "" +msgstr "Lettura dei metadati dal file del carattere non riuscita: %s" #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:294 msgid "Added fonts" @@ -14706,7 +14709,7 @@ msgstr "Cancella serie" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:192 msgid "Clear all tags" -msgstr "" +msgstr "Cancella tutti i tag" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:201 msgid "Clear Ids" @@ -15029,6 +15032,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:150 msgid "Automatically &convert added books to the current output format" msgstr "" +"&Converti automaticamente i libri aggiunti al formato di output attuale" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:151 msgid "The Add &Process" @@ -16770,7 +16774,7 @@ msgstr "Seleziona un plugin in <b>%s</b> da personalizzare" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:368 #, python-format msgid "Are you sure you want to remove the plugin: %s?" -msgstr "" +msgstr "Sei sicuro di voler rimuovere il plugin: %s?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:373 msgid "Plugin <b>{0}</b> successfully removed" @@ -18127,11 +18131,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:177 msgid "No query" -msgstr "" +msgstr "Nessuna interrogazione" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:178 msgid "You must enter a title, author or keyword to search for." -msgstr "" +msgstr "Devi digitare un titolo, autore o parola chiave per cercare." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:300 msgid "Customize get books search" @@ -18155,19 +18159,19 @@ msgstr "Ottieni libri" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:171 msgid "Search by title" -msgstr "" +msgstr "Cerca per titolo" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:173 msgid "Search by author" -msgstr "" +msgstr "Cerca per autore" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:175 msgid "&Keyword:" -msgstr "" +msgstr "Parola c&hiave:" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:176 msgid "Search by any keyword" -msgstr "" +msgstr "Cerca per qualsiasi parola chiave" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:182 msgid "Open a selected book in the system's web browser" @@ -18961,11 +18965,11 @@ msgstr "Mostra la barra di scorrimento nella modalità a schermo intero." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:63 msgid "Start viewer in full screen mode" -msgstr "" +msgstr "Avvia il visualizzatore in modalità a schermo interno" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:65 msgid "Show full screen usage help" -msgstr "" +msgstr "Mostra la guida all'uso della modalità a schermo intero" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:74 msgid "Font options" @@ -19132,11 +19136,12 @@ msgstr "Mostra la barra di &scorrimento nella modalità a schermo intero" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:407 msgid "&Start viewer in full screen mode" -msgstr "" +msgstr "Avvia il vi&sualizzatore in modalità a schermo interno" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:408 msgid "Show &help message when starting full screen mode" msgstr "" +"Mostra il messaggio di aiuto quando avvii la modalità a sc&hermo intero" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:409 msgid "F&ull screen options" @@ -19281,7 +19286,7 @@ msgstr "Visualizza &immagine..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:509 msgid "View &table..." -msgstr "" +msgstr "Visualizza &tabella..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:512 msgid "&Search for next occurrence" @@ -19318,12 +19323,12 @@ msgstr "Fine sezione" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:547 msgid "Normal font size" -msgstr "" +msgstr "Dimensione carattere normale" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:614 #, python-format msgid "S&earch Google for '%s'" -msgstr "" +msgstr "Cerca '%s' in Google" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 @@ -19678,15 +19683,15 @@ msgstr "Interpretazione del documento %s non riuscita" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:57 msgid "View Table" -msgstr "" +msgstr "Visualizza tabella" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:72 msgid "No table found" -msgstr "" +msgstr "Nessun tabella trovata" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:73 msgid "No table was found" -msgstr "" +msgstr "Non era stata trovata alcuna tabella" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100 msgid "Test name invalid" @@ -20735,6 +20740,9 @@ msgid "" "Do not notify the running calibre GUI (if any) that the database has " "changed. Use with care, as it can lead to database corruption!" msgstr "" +"Non notificare all'interfaccia di calibre in esecuzione (se presente) che il " +"database è stato modificato. Da utilizzare con cautela, poiché potrebbe " +"portare a danneggiamenti del database!" #: /home/kovid/work/calibre/src/calibre/library/cli.py:149 msgid "" diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index 569860db11..6cff81bad4 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -8,15 +8,15 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-07-12 09:33+0000\n" -"Last-Translator: Kovid Goyal <Unknown>\n" +"PO-Revision-Date: 2012-11-27 19:22+0000\n" +"Last-Translator: uGGa <Unknown>\n" "Language-Team: Latvian <ivars.arins@dotnet.lv>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-24 05:37+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:38+0000\n" +"X-Generator: Launchpad (build 16309)\n" "X-Poedit-Country: LATVIA\n" "Language: lv\n" "X-Poedit-Language: Latvian\n" @@ -629,7 +629,7 @@ msgstr "Pārvalda kā calibre lejupielādē e-grāmatu metadatus no tīkla" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:392 msgid "Ignored devices" -msgstr "" +msgstr "Ignorētās iekārtas" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 msgid "" @@ -1782,7 +1782,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 msgid "Create Bookshelves" -msgstr "" +msgstr "Izveidot Grāmatplauktus" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 msgid "" @@ -1792,7 +1792,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 msgid "Delete Empty Bookshelves" -msgstr "" +msgstr "Izdzēst Tukšos Grāmatplauktus" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1219 msgid "" @@ -1902,7 +1902,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29 msgid "MTP Device" -msgstr "" +msgstr "MTP Iekārta" #: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:31 msgid "Communicate with MTP devices" @@ -1920,12 +1920,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:181 msgid "Reading ebook metadata" -msgstr "" +msgstr "Nolasa e-grāmatas metadatus" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:214 #, python-format msgid "Reading metadata from %s" -msgstr "" +msgstr "Nolasa metadatus no %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:233 msgid "Updating metadata cache on device" @@ -1947,7 +1947,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:416 #, python-format msgid "Added %s" -msgstr "" +msgstr "Pievienoti %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:418 msgid "Adding complete" diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index cfbbcc3044..b0e4b1291e 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2012-11-27 05:22+0000\n" +"X-Launchpad-Export-Date: 2012-11-28 04:39+0000\n" "X-Generator: Launchpad (build 16309)\n" "Language: zh_TW\n" From 2d0bf3d9ef2699b1a3945fa77ff7d58e1b394445 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 11:13:55 +0530 Subject: [PATCH 19/63] localunzip: Add support for data descriptors --- src/calibre/utils/localunzip.py | 37 +++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/calibre/utils/localunzip.py b/src/calibre/utils/localunzip.py index 48c51b7af6..81587ffa96 100644 --- a/src/calibre/utils/localunzip.py +++ b/src/calibre/utils/localunzip.py @@ -24,6 +24,7 @@ HEADER_BYTE_SIG = pack(b'<L', HEADER_SIG) local_header_fmt = b'<L5HL2L2H' local_header_sz = calcsize(local_header_fmt) ZIP_STORED, ZIP_DEFLATED = 0, 8 +DATA_DESCRIPTOR_SIG = pack(b'<L', 0x08074b50) LocalHeader = namedtuple('LocalHeader', 'signature min_version flags compression_method mod_time mod_date ' @@ -61,6 +62,27 @@ def find_local_header(f): return header f.seek(pos) +def find_data_descriptor(f): + pos = f.tell() + DD = namedtuple('DataDescriptor', 'crc32 compressed_size uncompressed_size') + raw = b'a'*16 + try: + while len(raw) >= 16: + raw = f.read(50*1024) + idx = raw.find(DATA_DESCRIPTOR_SIG) + if idx != -1: + f.seek(f.tell() - len(raw) + idx + len(DATA_DESCRIPTOR_SIG)) + return DD(*unpack(b'<LLL', f.read(12))) + # Rewind to handle the case of the signature being cut off + # by the 50K boundary + f.seek(f.tell()-len(DATA_DESCRIPTOR_SIG)) + + raise ValueError('Failed to find data descriptor signature. ' + 'Data descriptors without signatures are not ' + 'supported.') + finally: + f.seek(pos) + def read_local_file_header(f): pos = f.tell() raw = f.read(local_header_sz) @@ -77,12 +99,11 @@ def read_local_file_header(f): raise ValueError('This ZIP file uses unsupported features') if header.flags & 0b1: raise ValueError('This ZIP file is encrypted') - if header.flags & (1 << 3): - raise ValueError('This ZIP file uses data descriptors. This is unsupported') if header.flags & (1 << 13): raise ValueError('This ZIP file uses masking, unsupported.') if header.compression_method not in {ZIP_STORED, ZIP_DEFLATED}: raise ValueError('This ZIP file uses an unsupported compression method') + has_data_descriptors = header.flags & (1 << 3) fname = extra = None if header.filename_length > 0: fname = f.read(header.filename_length) @@ -97,10 +118,16 @@ def read_local_file_header(f): except UnicodeDecodeError: pass fname = decode_arcname(fname).replace('\\', '/') + if header.extra_length > 0: extra = f.read(header.extra_length) if len(extra) != header.extra_length: return + if has_data_descriptors: + desc = find_data_descriptor(f) + header = header._replace(crc32=desc.crc32, + compressed_size=desc.compressed_size, + uncompressed_size=desc.uncompressed_size) return LocalHeader(*( header[:-2] + (fname, extra) )) @@ -142,11 +169,13 @@ def _extractall(f, path=None, file_info=None): header = read_local_file_header(f) if not header: break + has_data_descriptors = header.flags & (1 << 3) + seekval = header.compressed_size + (16 if has_data_descriptors else 0) found = True parts = header.filename.split('/') if header.uncompressed_size == 0: # Directory - f.seek(f.tell() + header.compressed_size) + f.seek(f.tell()+seekval) if path is not None: bdir = os.path.join(path, *parts) if not os.path.exists(bdir): @@ -167,7 +196,7 @@ def _extractall(f, path=None, file_info=None): else: copy_compressed_file(f, header.compressed_size, o) else: - f.seek(f.tell() + header.compressed_size) + f.seek(f.tell()+seekval) if not found: raise ValueError('Not a ZIP file') From bcc5837be6339ef9764b51e1edc60b0aa37e8a9c Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 11:23:36 +0530 Subject: [PATCH 20/63] calibredb: Add an option to specify the cover to use when adding books with calibredb add. Fixes #1083932 (calibredb add -e: add a way to specify a cover file) --- src/calibre/library/cli.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index 676d3cd1bc..d7cdb8ea7f 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -215,7 +215,7 @@ class DevNull(object): NULL = DevNull() def do_add(db, paths, one_book_per_directory, recurse, add_duplicates, otitle, - oauthors, oisbn, otags, oseries, oseries_index): + oauthors, oisbn, otags, oseries, oseries_index, ocover): orig = sys.stdout #sys.stdout = NULL try: @@ -247,6 +247,8 @@ def do_add(db, paths, one_book_per_directory, recurse, add_duplicates, otitle, if val: setattr(mi, x, val) if oseries: mi.series_index = oseries_index + if ocover: + mi.cover = ocover formats.append(format) metadata.append(mi) @@ -335,11 +337,12 @@ the directory related options below. help=_('Set the series of the added book(s)')) parser.add_option('-S', '--series-index', default=1.0, type=float, help=_('Set the series number of the added book(s)')) - + parser.add_option('-c', '--cover', default=None, + help=_('Path to the cover to use for the added book')) return parser -def do_add_empty(db, title, authors, isbn, tags, series, series_index): +def do_add_empty(db, title, authors, isbn, tags, series, series_index, cover): from calibre.ebooks.metadata import MetaInformation mi = MetaInformation(None) if title is not None: @@ -352,6 +355,8 @@ def do_add_empty(db, title, authors, isbn, tags, series, series_index): mi.tags = tags if series: mi.series, mi.series_index = series, series_index + if cover: + mi.cover = cover db.import_book(mi, []) write_dirtied(db) send_message() @@ -364,7 +369,7 @@ def command_add(args, dbpath): tags = [x.strip() for x in opts.tags.split(',')] if opts.tags else [] if opts.empty: do_add_empty(get_db(dbpath, opts), opts.title, aut, opts.isbn, tags, - opts.series, opts.series_index) + opts.series, opts.series_index, opts.cover) return 0 if len(args) < 2: parser.print_help() @@ -373,7 +378,7 @@ def command_add(args, dbpath): return 1 do_add(get_db(dbpath, opts), args[1:], opts.one_book_per_directory, opts.recurse, opts.duplicates, opts.title, aut, opts.isbn, - tags, opts.series, opts.series_index) + tags, opts.series, opts.series_index, opts.cover) return 0 def do_remove(db, ids): From aeda34f4aab9723ee8946cee8a125ea282429bfb Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 12:05:22 +0530 Subject: [PATCH 21/63] ... --- src/calibre/devices/prst1/driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/devices/prst1/driver.py b/src/calibre/devices/prst1/driver.py index 4cbe9b4994..7291d5dbcb 100644 --- a/src/calibre/devices/prst1/driver.py +++ b/src/calibre/devices/prst1/driver.py @@ -380,7 +380,7 @@ class PRST1(USBMS): # Record what the max id being used is as well. db_books = {} for i, row in enumerate(cursor): - if row[0] is None: + if not hasattr(row[0], 'replace'): continue lpath = row[0].replace('\\', '/') db_books[lpath] = row[1] From 82f10e2712ebaa875647bd48d804f15e9d3ac94c Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 12:10:58 +0530 Subject: [PATCH 22/63] Show notifications in the Apple notification centre in OS X Mountain Lion --- setup/installer/osx/app/main.py | 2 ++ src/calibre/gui2/notify.py | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/setup/installer/osx/app/main.py b/setup/installer/osx/app/main.py index 438884d09b..1b9023b79a 100644 --- a/setup/installer/osx/app/main.py +++ b/setup/installer/osx/app/main.py @@ -597,6 +597,8 @@ class Py2App(object): else: os.symlink(join('../..', x), join(cc_dir, x)) + shutil.copytree(join(SW, 'build/notifier.app'), join( + self.contents_dir, 'notifier.app')) @flush def copy_site(self): diff --git a/src/calibre/gui2/notify.py b/src/calibre/gui2/notify.py index b51fb89344..2b876c2210 100644 --- a/src/calibre/gui2/notify.py +++ b/src/calibre/gui2/notify.py @@ -7,7 +7,7 @@ __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' -from calibre.constants import islinux, isosx, get_osx_version, __appname__ +from calibre.constants import islinux, isosx, get_osx_version class Notifier(object): @@ -107,10 +107,11 @@ class AppleNotifier(Notifier): self.ok = False import os, sys try: - self.exe = os.path.join(sys.console_binaries_path, 'notifier') + self.exe = os.path.join(sys.console_binaries_path.replace( + 'console.app', 'notifier.app'), 'Calibre') self.ok = os.access(self.exe, os.X_OK) import subprocess - self.call = subprocess.check_call + self.call = subprocess.Popen except: pass @@ -120,10 +121,10 @@ class AppleNotifier(Notifier): x = x.encode('utf-8') return x - cmd = [self.exe, '-title', __appname__, '-activate', + cmd = [self.exe, '-activate', 'net.kovidgoyal.calibre', '-message', encode(body)] if summary: - cmd += ['-subtitle', encode(summary)] + cmd += ['-title', encode(summary)] self.call(cmd) def __call__(self, body, summary=None, replaces_id=None, timeout=0): @@ -144,7 +145,7 @@ def get_notifier(systray=None): ans = FDONotifier() if not ans.ok: ans = None - elif False and isosx and get_osx_version() >= (10, 8, 0): + elif isosx and get_osx_version() >= (10, 8, 0): ans = AppleNotifier() if not ans.ok: ans = None From 233d1ceb140e6fdfa34109110407474a06eec16d Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 16:38:00 +0530 Subject: [PATCH 23/63] Update Aachener Nachrichten --- recipes/aachener_nachrichten.recipe | 95 +++++++++++++++++++---------- 1 file changed, 62 insertions(+), 33 deletions(-) diff --git a/recipes/aachener_nachrichten.recipe b/recipes/aachener_nachrichten.recipe index a2294fc472..cdcb6895bc 100644 --- a/recipes/aachener_nachrichten.recipe +++ b/recipes/aachener_nachrichten.recipe @@ -2,41 +2,70 @@ from calibre.web.feeds.recipes import BasicNewsRecipe class AdvancedUserRecipe(BasicNewsRecipe): title = u'Aachener Nachrichten' - __author__ = 'schuster' - oldest_article = 1 + __author__ = 'schuster' #AGE update 2012-11-28 + oldest_article = 1 max_articles_per_feed = 100 - use_embedded_content = False - language = 'de' - remove_javascript = True - cover_url = 'http://www.an-online.de/einwaage/images/an_logo.png' - masthead_url = 'http://www.an-online.de/einwaage/images/an_logo.png' - extra_css = ''' - .fliesstext_detail:{margin-bottom:10%;} - .headline_1:{margin-bottom:25%;} - b{font-family:Arial,Helvetica,sans-serif; font-weight:200;font-size:large;} - a{font-family:Arial,Helvetica,sans-serif; font-weight:400;font-size:large;} - ll{font-family:Arial,Helvetica,sans-serif; font-weight:100;font-size:large;} - h4{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} - img {min-width:300px; max-width:600px; min-height:300px; max-height:800px} - dd{font-family:Arial,Helvetica,sans-serif;font-size:large;} - body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' - + no_stylesheets = True + remove_javascript = True + remove_empty_feeds = True + language = 'de' +# cover_url = 'http://www.aachener-nachrichten.de/img/logos/an_website_retina.png' + masthead_url = 'http://www.aachener-nachrichten.de/img/logos/an_website_retina.png' keep_only_tags = [ - dict(name='span', attrs={'class':['fliesstext_detail', 'headline_1', 'autor_detail']}), - dict(id=['header-logo']) - ] + dict(name='article', attrs={'class':['single']}) + ] - feeds = [(u'Euregio', u'http://www.an-online.de/an/rss/Euregio.xml'), - (u'Aachen', u'http://www.an-online.de/an/rss/Aachen.xml'), - (u'Nordkreis', u'http://www.an-online.de/an/rss/Nordkreis.xml'), - (u'Düren', u'http://www.an-online.de/an/rss/Dueren.xml'), - (u'Eiffel', u'http://www.an-online.de/an/rss/Eifel.xml'), - (u'Eschweiler', u'http://www.an-online.de/an/rss/Eschweiler.xml'), - (u'Geilenkirchen', u'http://www.an-online.de/an/rss/Geilenkirchen.xml'), - (u'Heinsberg', u'http://www.an-online.de/an/rss/Heinsberg.xml'), - (u'Jülich', u'http://www.an-online.de/an/rss/Juelich.xml'), - (u'Stolberg', u'http://www.an-online.de/an/rss/Stolberg.xml'), - (u'Ratgebenr', u'http://www.an-online.de/an/rss/Ratgeber.xml')] + remove_tags = [ + dict(name='div', attrs={'class':["clearfix navi-wrapper"]}), + dict(name='div', attrs={'id':["article_actions"]}), + dict(name='style', attrs={'type':["text/css"]}), + dict(name='aside'), + dict(name='a', attrs={'class':["btn btn-action"]}) + ] + + feeds = [ + (u'Lokales - Euregio', u'http://www.aachener-nachrichten.de/cmlink/euregio-rss-1.357285'), + (u'Lokales - Aachen', u'http://www.aachener-nachrichten.de/cmlink/aachen-rss-1.357286'), + (u'Lokales - Nordkreis', u'http://www.aachener-nachrichten.de/cmlink/nordkreis-rss-1.358150'), + (u'Lokales - Düren', u'http://www.aachener-nachrichten.de/cmlink/dueren-rss-1.358626'), + (u'Lokales - Eiffel', u'http://www.aachener-nachrichten.de/cmlink/eifel-rss-1.358978'), + (u'Lokales - Eschweiler', u'http://www.aachener-nachrichten.de/cmlink/eschweiler-rss-1.359332'), + (u'Lokales - Geilenkirchen', u'http://www.aachener-nachrichten.de/cmlink/geilenkirchen-rss-1.359643'), + (u'Lokales - Heinsberg', u'http://www.aachener-nachrichten.de/cmlink/heinsberg-rss-1.359724'), + (u'Lokales - Jülich', u'http://www.aachener-nachrichten.de/cmlink/juelich-rss-1.359725'), + (u'Lokales - Stolberg', u'http://www.aachener-nachrichten.de/cmlink/stolberg-rss-1.359726'), + (u'News - Politik', u'http://www.aachener-nachrichten.de/cmlink/politik-rss-1.359727'), + (u'News - Aus aller Welt', u'http://www.aachener-nachrichten.de/cmlink/ausallerwelt-rss-1.453282'), + (u'News - Wirtschaft', u'http://www.aachener-nachrichten.de/cmlink/wirtschaft-rss-1.359872'), + (u'News - Kultur', u'http://www.aachener-nachrichten.de/cmlink/kultur-rss-1.365018'), + (u'News - Kino', u'http://www.aachener-nachrichten.de/cmlink/kino-rss-1.365019'), + (u'News - Digital', u'http://www.aachener-nachrichten.de/cmlink/digital-rss-1.365020'), + (u'News - Wissenschaft', u'http://www.aachener-nachrichten.de/cmlink/wissenschaft-rss-1.365021'), + (u'News - Hochschule', u'http://www.aachener-nachrichten.de/cmlink/hochschule-rss-1.365022'), + (u'News - Auto', u'http://www.aachener-nachrichten.de/cmlink/auto-rss-1.365023'), + (u'News - Kurioses', u'http://www.aachener-nachrichten.de/cmlink/kurioses-rss-1.365067'), + (u'News - Musik', u'http://www.aachener-nachrichten.de/cmlink/musik-rss-1.365305'), + (u'News - Tagesthema', u'http://www.aachener-nachrichten.de/cmlink/tagesthema-rss-1.365519'), + (u'News - Newsticker', u'http://www.aachener-nachrichten.de/cmlink/newsticker-rss-1.451948'), + (u'Sport - Aktuell', u'http://www.aachener-nachrichten.de/cmlink/aktuell-rss-1.366716'), + (u'Sport - Fußball', u'http://www.aachener-nachrichten.de/cmlink/fussball-rss-1.367060'), + (u'Sport - Bundesliga', u'http://www.aachener-nachrichten.de/cmlink/bundesliga-rss-1.453367'), + (u'Sport - Alemannia Aachen', u'http://www.aachener-nachrichten.de/cmlink/alemanniaaachen-rss-1.366057'), + (u'Sport - Volleyball', u'http://www.aachener-nachrichten.de/cmlink/volleyball-rss-1.453370'), + (u'Sport - Chio', u'http://www.aachener-nachrichten.de/cmlink/chio-rss-1.453371'), + (u'Dossier - Kinderuni', u'http://www.aachener-nachrichten.de/cmlink/kinderuni-rss-1.453375'), + (u'Dossier - Karlspreis', u'http://www.aachener-nachrichten.de/cmlink/karlspreis-rss-1.453376'), + (u'Dossier - Ritterorden', u'http://www.aachener-nachrichten.de/cmlink/ritterorden-rss-1.453377'), + (u'Dossier - ZAB-Aachen', u'http://www.aachener-nachrichten.de/cmlink/zabaachen-rss-1.453380'), + (u'Dossier - Karneval', u'http://www.aachener-nachrichten.de/cmlink/karneval-rss-1.453384'), + (u'Ratgeber - Geld', u'http://www.aachener-nachrichten.de/cmlink/geld-rss-1.453385'), + (u'Ratgeber - Recht', u'http://www.aachener-nachrichten.de/cmlink/recht-rss-1.453386'), + (u'Ratgeber - Gesundheit', u'http://www.aachener-nachrichten.de/cmlink/gesundheit-rss-1.453387'), + (u'Ratgeber - Familie', u'http://www.aachener-nachrichten.de/cmlink/familie-rss-1.453388'), + (u'Ratgeber - Livestyle', u'http://www.aachener-nachrichten.de/cmlink/lifestyle-rss-1.453389'), + (u'Ratgeber - Reisen', u'http://www.aachener-nachrichten.de/cmlink/reisen-rss-1.453390'), + (u'Ratgeber - Bauen und Wohnen', u'http://www.aachener-nachrichten.de/cmlink/bauen-rss-1.453398'), + (u'Ratgeber - Bildung und Beruf', u'http://www.aachener-nachrichten.de/cmlink/bildung-rss-1.453400'), + ] From 808b6322caf570344f34e7e6ac60d1d1fa931bb5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Wed, 28 Nov 2012 17:42:04 +0530 Subject: [PATCH 24/63] Update Pro Physik --- recipes/pro_physik.recipe | 49 +++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/recipes/pro_physik.recipe b/recipes/pro_physik.recipe index eca10e96f3..3cd4f54361 100644 --- a/recipes/pro_physik.recipe +++ b/recipes/pro_physik.recipe @@ -2,21 +2,46 @@ from calibre.web.feeds.recipes import BasicNewsRecipe class AdvancedUserRecipe1303841067(BasicNewsRecipe): title = u'Pro Physik' - __author__ = 'schuster' - oldest_article = 4 + __author__ = 'schuster, Armin Geller' # AGE Upd. 2012-11-28 + oldest_article = 4 max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - language = 'de' - remove_javascript = True - cover_url = 'http://www.pro-physik.de/Phy/images/site/prophysik_logo1.jpg' + + no_stylesheets = True + remove_javascript = True + remove_empty_feeds = True + language = 'de' + + cover_url = 'http://www.pro-physik.de/prophy/images/bg_logo_prophy.gif' - def print_version(self, url): - return url.replace('leadArticle.do', 'print.do') + keep_only_tags = [ + dict(name='div', attrs={'class':['leftColRight']}) + ] + remove_tags = [ + dict(name='div', attrs={'class':["withMargin socialWrapper addthis_toolbox addthis_default_style"]}), + # AGe: If you don't like to see further informations for the article + # and additional links please remove # in belows next line +# dict(name='div', attrs={'class':["insideBox"]}), + ] - feeds = [(u'Hightech', u'http://www.pro-physik.de/Phy/hightechfeed.xml'), - (u'Forschung', u'http://www.pro-physik.de/Phy/forschungfeed.xml'), - (u'Magazin', u'http://www.pro-physik.de/Phy/magazinfeed.xml')] + feeds = [ + (u'Nachrichten', u'http://www.pro-physik.de/graphicalrss/prophy/newsFeed.xml'), + (u'Forschung', u'http://www.pro-physik.de/graphicalrss/prophy/newsforschungFeed.xml'), + (u'Techologie', u'http://www.pro-physik.de/graphicalrss/prophy/newstechnologieFeed.xml'), + (u'Industrie', u'http://www.pro-physik.de/graphicalrss/prophy/newsindustrieFeed.xml'), + (u'Hochschule', u'http://www.pro-physik.de/graphicalrss/prophy/newshochschuleFeed.xml'), + (u'Panorama', u'http://www.pro-physik.de/graphicalrss/prophy/newspanoramaFeed.xml'), + (u'DPG', u'http://www.pro-physik.de/graphicalrss/prophy/newsdpgFeed.xml'), + (u'Physik Jornal', u'http://www.pro-physik.de/graphicalrss/prophy/pjnewsFeed.xml'), + (u'Veranstaltungen', u'http://www.pro-physik.de/rss/prophy/eventsFeed.xml'), + # AGe if you like to see job offers please remove # on next lines below + +# (u'Stellenmarkt', u'http://www.pro-physik.de/rss/prophy/jobsFeed.xml'), +# (u'Industrie Stellenanzeigen', u'http://www.pro-physik.de/rss/prophy/jobsindustrieFeed.xml'), +# (u'PhD Stellenanzeigen', u'http://www.pro-physik.de/rss/prophy/jobsphdFeed.xml'), +# (u'PostDoc Stellenanzeigen', u'http://www.pro-physik.de/rss/prophy/jobspostdocFeed.xml'), +# (u'Öffentlicher Dienst Stellenanzeigen', u'http://www.pro-physik.de/rss/prophy/jobsdienstFeed.xml'), +# (u'Hochschule Stellenanzeigen', u'http://www.pro-physik.de/rss/prophy/jobshochschuleFeed.xml'), + ] From 505e72035ffda5dc77bef4e662cef489191f5335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20D=C5=82ugosz?= <tomek3d@gmail.com> Date: Wed, 28 Nov 2012 21:54:16 +0100 Subject: [PATCH 25/63] add series info to title, speed up author and price handling --- src/calibre/gui2/store/stores/publio_plugin.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/store/stores/publio_plugin.py b/src/calibre/gui2/store/stores/publio_plugin.py index fbf6d0c550..fe58fed03e 100644 --- a/src/calibre/gui2/store/stores/publio_plugin.py +++ b/src/calibre/gui2/store/stores/publio_plugin.py @@ -53,10 +53,15 @@ class PublioStore(BasicStoreConfig, StorePlugin): continue cover_url = ''.join(data.xpath('.//div[@class="img"]/a/img/@data-original')) + # TODO: fix highlight handling title = ''.join(data.xpath('.//div[@class="desc"]/h4/a/text()')) title2 = ''.join(data.xpath('.//div[@class="desc"]/h5/a/text()')) if title2: title = title + '. ' + title2 + if (''.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[last()]/span/text()')).strip() == "Seria:"): + # TODO: fix highlight handling + series = ''.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[last()]/a/@title')) + title = title + ' (seria ' + series + ')' author = ', '.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[@class="row"][1]/a/@title')) price = ''.join(data.xpath('.//div[@class="priceBoxContener "]/div/ins/text()')) if not price: @@ -68,8 +73,8 @@ class PublioStore(BasicStoreConfig, StorePlugin): s = SearchResult() s.cover_url = 'http://www.publio.pl' + cover_url s.title = title.strip() - s.author = author.strip() - s.price = price.strip() + s.author = author + s.price = price s.detail_item = 'http://www.publio.pl' + id.strip() s.drm = SearchResult.DRM_LOCKED if 'DRM' in formats else SearchResult.DRM_UNLOCKED s.formats = formats.replace(' DRM','').strip() From f21f73dbfa94274dbec2257cf5171a12dd2bda4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20D=C5=82ugosz?= <tomek3d@gmail.com> Date: Wed, 28 Nov 2012 22:20:03 +0100 Subject: [PATCH 26/63] no need for re module --- src/calibre/gui2/store/stores/publio_plugin.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/calibre/gui2/store/stores/publio_plugin.py b/src/calibre/gui2/store/stores/publio_plugin.py index fe58fed03e..c732d2b9ca 100644 --- a/src/calibre/gui2/store/stores/publio_plugin.py +++ b/src/calibre/gui2/store/stores/publio_plugin.py @@ -6,7 +6,6 @@ __license__ = 'GPL 3' __copyright__ = '2012, Tomasz Długosz <tomek3d@gmail.com>' __docformat__ = 'restructuredtext en' -import re import urllib from contextlib import closing From 26d3b775e6561734353725971a5f0a81bed57694 Mon Sep 17 00:00:00 2001 From: davidfor <davidfor@internode.on.net> Date: Thu, 29 Nov 2012 14:04:48 +1100 Subject: [PATCH 27/63] Add support for series information in 2.2.0 firmware. Series and SeriesNumber will be set on the device the next time the device is connected. It is only done if the series name or index are different. An option has been added to enable. --- src/calibre/devices/kobo/books.py | 2 + src/calibre/devices/kobo/driver.py | 191 +++++++++++++++++++++-------- 2 files changed, 144 insertions(+), 49 deletions(-) diff --git a/src/calibre/devices/kobo/books.py b/src/calibre/devices/kobo/books.py index 4fe34da6f6..bcf6353e83 100644 --- a/src/calibre/devices/kobo/books.py +++ b/src/calibre/devices/kobo/books.py @@ -60,6 +60,8 @@ class Book(Book_): self.contentID = None self.current_shelves = [] self.kobo_collections = [] + self.kobo_series = None + self.kobo_series_number = None if thumbnail_name is not None: self.thumbnail = ImageWrapper(thumbnail_name) diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index e2f431ab7f..a8cd1d3a5a 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -33,7 +33,7 @@ class KOBO(USBMS): gui_name = 'Kobo Reader' description = _('Communicate with the Kobo Reader') author = 'Timothy Legge and David Forrester' - version = (2, 0, 3) + version = (2, 0, 4) dbversion = 0 fwversion = 0 @@ -1201,8 +1201,9 @@ class KOBOTOUCH(KOBO): author = 'David Forrester' description = 'Communicate with the Kobo Touch, Glo and Mini firmware. Based on the existing Kobo driver by %s.' % (KOBO.author) - supported_dbversion = 70 + supported_dbversion = 75 min_supported_dbversion = 53 + min_dbversion_series = 65 booklist_class = KTCollectionsBookList book_class = Book @@ -1236,16 +1237,21 @@ class KOBOTOUCH(KOBO): ' by default they are no longer displayed as there is no good reason to ' 'see them. Enable if you wish to see/delete them.'), _('Show Recommendations') + - ':::'+_('Kobo now shows recommendations on the device. In some case these have ' + ':::'+_('Kobo shows recommendations on the device. In some cases these have ' 'files but in other cases they are just pointers to the web site to buy. ' 'Enable if you wish to see/delete them.'), + _('Set Series information') + + ':::'+_('The book lists on the Kobo devices can display series information. ' + 'This is not read by the device from the sideloaded books. ' + 'Series information can only be adde to the device after the book has been processed by the device. ' + 'Enable if you wish to set series information.'), _('Attempt to support newer firmware') + ':::'+_('Kobo routinely updates the firmware and the ' 'database version. With this option Calibre will attempt ' 'to perform full read-write functionality - Here be Dragons!! ' 'Enable only if you are comfortable with restoring your kobo ' 'to factory defaults and testing software. ' - 'This driver supports firmware V2.0.x and DBVersion up to ' + unicode(supported_dbversion)), + 'This driver supports firmware V2.x.x and DBVersion up to ' + unicode(supported_dbversion)), _('Title to test when debugging') + ':::'+_('Part of title of a book that can be used when doing some tests for debugging. ' 'The test is to see if the string is contained in the title of a book. ' @@ -1263,6 +1269,7 @@ class KOBOTOUCH(KOBO): False, False, False, + False, u'' ] @@ -1275,8 +1282,9 @@ class KOBOTOUCH(KOBO): OPT_SHOW_EXPIRED_BOOK_RECORDS = 6 OPT_SHOW_PREVIEWS = 7 OPT_SHOW_RECOMMENDATIONS = 8 - OPT_SUPPORT_NEWER_FIRMWARE = 9 - OPT_DEBUGGING_TITLE = 10 + OPT_UPDATE_SERIES_DETAILS = 9 + OPT_SUPPORT_NEWER_FIRMWARE = 10 + OPT_DEBUGGING_TITLE = 11 opts = None @@ -1364,7 +1372,7 @@ class KOBOTOUCH(KOBO): for idx,b in enumerate(bl): bl_cache[b.lpath] = idx - def update_booklist(prefix, path, title, authors, mime, date, ContentID, ContentType, ImageID, readstatus, MimeType, expired, favouritesindex, accessibility, isdownloaded, bookshelves): + def update_booklist(prefix, path, title, authors, mime, date, ContentID, ContentType, ImageID, readstatus, MimeType, expired, favouritesindex, accessibility, isdownloaded, series, seriesnumber, bookshelves): show_debug = self.is_debugging_title(title) # show_debug = authors == 'L. Frank Baum' if show_debug: @@ -1442,9 +1450,7 @@ class KOBOTOUCH(KOBO): debug_print('KoboTouch:update_booklist - the authors=', bl[idx].authors) debug_print('KoboTouch:update_booklist - application_id=', bl[idx].application_id) bl_cache[lpath] = None - # removed to allow recognizing of ePub with an UUID inside - # if bl[idx].title_sort is not None: - # bl[idx].title = bl[idx].title_sort + if ImageID is not None: imagename = self.imagefilename_from_imageID(ImageID) if imagename is not None: @@ -1460,7 +1466,9 @@ class KOBOTOUCH(KOBO): if show_debug: debug_print("KoboTouch:update_booklist - ContentID='%s'"%ContentID) - bl[idx].contentID = ContentID + bl[idx].contentID = ContentID + bl[idx].kobo_series = series + bl[idx].kobo_series_number = seriesnumber if lpath in playlist_map: bl[idx].device_collections = playlist_map.get(lpath,[]) @@ -1505,9 +1513,11 @@ class KOBOTOUCH(KOBO): # print 'Update booklist' book.device_collections = playlist_map.get(lpath,[])# if lpath in playlist_map else [] - book.current_shelves = bookshelves - book.kobo_collections = kobo_collections - book.contentID = ContentID + book.current_shelves = bookshelves + book.kobo_collections = kobo_collections + book.contentID = ContentID + book.kobo_series = series + book.kobo_series_number = seriesnumber # debug_print('KoboTouch:update_booklist - title=', title, 'book.device_collections', book.device_collections) if bl.add_book(book, replace_metadata=False): @@ -1558,10 +1568,23 @@ class KOBOTOUCH(KOBO): debug_print("KoboTouch:books - shelf list:", self.bookshelvelist) opts = self.settings() - if self.dbversion >= 33: + if self.supports_series(): query= ('select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ - 'ImageID, ReadStatus, ___ExpirationStatus, FavouritesIndex, Accessibility, IsDownloaded from content where ' \ - 'BookID is Null %(previews)s %(recomendations)s and not ((___ExpirationStatus=3 or ___ExpirationStatus is Null) %(expiry)s') % \ + 'ImageID, ReadStatus, ___ExpirationStatus, FavouritesIndex, Accessibility, ' \ + 'IsDownloaded, Series, SeriesNumber ' \ + ' from content ' \ + ' where BookID is Null %(previews)s %(recomendations)s and not ((___ExpirationStatus=3 or ___ExpirationStatus is Null) %(expiry)s') % \ + dict(\ + expiry=' and ContentType = 6)' if opts.extra_customization[self.OPT_SHOW_EXPIRED_BOOK_RECORDS] else ')', \ + previews=' and Accessibility <> 6' if opts.extra_customization[self.OPT_SHOW_PREVIEWS] == False else '', \ + recomendations=' and IsDownloaded in (\'true\', 1)' if opts.extra_customization[self.OPT_SHOW_RECOMMENDATIONS] == False else ''\ + ) + elif self.dbversion >= 33: + query= ('select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ + 'ImageID, ReadStatus, ___ExpirationStatus, FavouritesIndex, Accessibility, ' \ + 'IsDownloaded, null as Series, null as SeriesNumber' \ + ' from content ' \ + ' where BookID is Null %(previews)s %(recomendations)s and not ((___ExpirationStatus=3 or ___ExpirationStatus is Null) %(expiry)s') % \ dict(\ expiry=' and ContentType = 6)' if opts.extra_customization[self.OPT_SHOW_EXPIRED_BOOK_RECORDS] else ')', \ previews=' and Accessibility <> 6' if opts.extra_customization[self.OPT_SHOW_PREVIEWS] == False else '', \ @@ -1569,35 +1592,33 @@ class KOBOTOUCH(KOBO): ) elif self.dbversion >= 16 and self.dbversion < 33: query= ('select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ - 'ImageID, ReadStatus, ___ExpirationStatus, FavouritesIndex, Accessibility, "1" as IsDownloaded from content where ' \ - 'BookID is Null and not ((___ExpirationStatus=3 or ___ExpirationStatus is Null) %(expiry)s') % dict(expiry=' and ContentType = 6)' \ - if opts.extra_customization[self.OPT_SHOW_EXPIRED_BOOK_RECORDS] else ')') - elif self.dbversion < 16 and self.dbversion >= 14: - query= ('select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ - 'ImageID, ReadStatus, ___ExpirationStatus, FavouritesIndex, "-1" as Accessibility, "1" as IsDownloaded from content where ' \ - 'BookID is Null and not ((___ExpirationStatus=3 or ___ExpirationStatus is Null) %(expiry)s') % dict(expiry=' and ContentType = 6)' \ - if opts.extra_customization[self.OPT_SHOW_EXPIRED_BOOK_RECORDS] else ')') - elif self.dbversion < 14 and self.dbversion >= 8: - query= ('select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ - 'ImageID, ReadStatus, ___ExpirationStatus, "-1" as FavouritesIndex, "-1" as Accessibility, "1" as IsDownloaded from content where ' \ + 'ImageID, ReadStatus, ___ExpirationStatus, FavouritesIndex, Accessibility, ' \ + '"1" as IsDownloaded, null as Series, null as SeriesNumber' \ + ' from content where ' \ 'BookID is Null and not ((___ExpirationStatus=3 or ___ExpirationStatus is Null) %(expiry)s') % dict(expiry=' and ContentType = 6)' \ if opts.extra_customization[self.OPT_SHOW_EXPIRED_BOOK_RECORDS] else ')') else: query= 'select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' \ - 'ImageID, ReadStatus, "-1" as ___ExpirationStatus, "-1" as FavouritesIndex, "-1" as Accessibility, "1" as IsDownloaded from content where BookID is Null' + 'ImageID, ReadStatus, "-1" as ___ExpirationStatus, "-1" as FavouritesIndex, "-1" as Accessibility, ' \ + '"1" as IsDownloaded, null as Series, null as SeriesNumber' \ + ' from content where BookID is Null' debug_print("KoboTouch:books - query=", query) try: cursor.execute (query) except Exception as e: err = str(e) - if not ('___ExpirationStatus' in err or 'FavouritesIndex' in err or - 'Accessibility' in err or 'IsDownloaded' in err): + if not ('___ExpirationStatus' in err + or 'FavouritesIndex' in err + or 'Accessibility' in err + or 'IsDownloaded' in err + or 'Series' in err + ): raise query= ('select Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ' 'ImageID, ReadStatus, "-1" as ___ExpirationStatus, "-1" as ' - 'FavouritesIndex, "-1" as Accessibility, "1" as IsDownloaded from content where ' - 'BookID is Null') + 'FavouritesIndex, "-1" as Accessibility, "1" as IsDownloaded, null as Series, null as SeriesNumber' \ + ' from content where BookID is Null') cursor.execute(query) changed = False @@ -1620,10 +1641,10 @@ class KOBOTOUCH(KOBO): bookshelves = get_bookshelvesforbook(connection, row[3]) if oncard != 'carda' and oncard != 'cardb' and not row[3].startswith("file:///mnt/sd/"): - changed = update_booklist(self._main_prefix, path, row[0], row[1], mime, row[2], row[3], row[5], row[6], row[7], row[4], row[8], row[9], row[10], row[11], bookshelves) + changed = update_booklist(self._main_prefix, path, row[0], row[1], mime, row[2], row[3], row[5], row[6], row[7], row[4], row[8], row[9], row[10], row[11], row[12], row[13], bookshelves) # print "shortbook: " + path elif oncard == 'carda' and row[3].startswith("file:///mnt/sd/"): - changed = update_booklist(self._card_a_prefix, path, row[0], row[1], mime, row[2], row[3], row[5], row[6], row[7], row[4], row[8], row[9], row[10], row[11], bookshelves) + changed = update_booklist(self._card_a_prefix, path, row[0], row[1], mime, row[2], row[3], row[5], row[6], row[7], row[4], row[8], row[9], row[10], row[11], row[12], row[13], bookshelves) if changed: need_sync = True @@ -1669,9 +1690,6 @@ class KOBOTOUCH(KOBO): for ending, cover_options in self.COVER_FILE_ENDINGS.items(): fpath = self._main_prefix + '.kobo/images/' + ImageID + ending fpath = self.normalize_path(fpath.replace('/', os.sep)) - if show_debug: - debug_print("KoboTouch:imagefilename_from_imageID - ending=%s, path length=%d" % (ending, len(fpath))) - debug_print("KoboTouch:imagefilename_from_imageID - fpath=%s" % (fpath)) if os.path.exists(fpath): if show_debug: debug_print("KoboTouch:imagefilename_from_imageID - have cover image fpath=%s" % (fpath)) @@ -1857,13 +1875,16 @@ class KOBOTOUCH(KOBO): opts = self.settings() if opts.extra_customization: - create_bookshelves = opts.extra_customization[self.OPT_CREATE_BOOKSHELVES] and self.supports_bookshelves() - delete_empty_shelves = opts.extra_customization[self.OPT_DELETE_BOOKSHELVES] and self.supports_bookshelves() - debugging_title = opts.extra_customization[self.OPT_DEBUGGING_TITLE] + create_bookshelves = opts.extra_customization[self.OPT_CREATE_BOOKSHELVES] and self.supports_bookshelves() + delete_empty_shelves = opts.extra_customization[self.OPT_DELETE_BOOKSHELVES] and self.supports_bookshelves() + update_series_details = opts.extra_customization[self.OPT_UPDATE_SERIES_DETAILS] and self.supports_series() + debugging_title = opts.extra_customization[self.OPT_DEBUGGING_TITLE] debug_print("KoboTouch:update_device_database_collections - set_debugging_title to", debugging_title ) booklists.set_debugging_title(debugging_title) else: - delete_empty_shelves = False + delete_empty_shelves = False + create_bookshelves = False + update_series_details = False collections = booklists.get_collections(collections_attributes) # debug_print('KoboTouch:update_device_database_collections - Collections:', collections) @@ -1972,21 +1993,32 @@ class KOBOTOUCH(KOBO): debug_print("No Collections - resetting FavouritesIndex") self.reset_favouritesindex(connection, oncard) - if self.supports_bookshelves(): - debug_print("KoboTouch:update_device_database_collections - managing bookshelves.") - if bookshelf_attribute: - debug_print("KoboTouch:update_device_database_collections - bookshelf_attribute=", bookshelf_attribute) - for book in booklists: - if book.application_id is not None: -# debug_print("KoboTouch:update_device_database_collections - about to remove a book from shelves book.title=%s" % book.title) + if self.supports_bookshelves() or self.supports_series(): + debug_print("KoboTouch:update_device_database_collections - managing bookshelves and series.") + + self.series_set = 0 + books_in_library = 0 + for book in booklists: + if book.application_id is not None: + books_in_library += 1 + show_debug = self.is_debugging_title(book.title) + if show_debug: + debug_print("KoboTouch:update_device_database_collections - book.title=%s" % book.title) + if update_series_details: + self.set_series(connection, book) + if bookshelf_attribute: + if show_debug: + debug_print("KoboTouch:update_device_database_collections - about to remove a book from shelves book.title=%s" % book.title) self.remove_book_from_device_bookshelves(connection, book) book.device_collections.extend(book.kobo_collections) if not prefs['manage_device_metadata'] == 'manual' and delete_empty_shelves: debug_print("KoboTouch:update_device_database_collections - about to clear empty bookshelves") self.delete_empty_bookshelves(connection) + debug_print("KoboTouch:update_device_database_collections - Number of series set=%d Number of books=%d" % (self.series_set, books_in_library)) self.dump_bookshelves(connection) + debug_print('KoboTouch:update_device_database_collections - Finished ') def rebuild_collections(self, booklist, oncard): @@ -2310,9 +2342,70 @@ class KOBOTOUCH(KOBO): debug_print("KoboTouch:remove_from_bookshelf - end") + def set_series(self, connection, book): + show_debug = self.is_debugging_title(book.title) + if show_debug: + debug_print('KoboTouch:set_series book.kobo_series="%s"'%book.kobo_series) + debug_print('KoboTouch:set_series book.series="%s"'%book.series) + debug_print('KoboTouch:set_series book.series_index=', book.series_index) + + if book.series == book.kobo_series and book.series_index == book.kobo_series_number: + if show_debug: + debug_print('KoboTouch:set_series - series info the same - not changing') + return + + update_query = 'UPDATE content SET Series=?, SeriesNumber==? where BookID is Null and ContentID = ?' + if book.series is None: + update_values = (None, None, book.contentID, ) + else: + update_values = (book.series, "%g"%book.series_index, book.contentID, ) + + cursor = connection.cursor() + try: + if show_debug: + debug_print('KoboTouch:set_series - about to set - parameters:', update_values) + cursor.execute(update_query, update_values) + self.series_set += 1 + except: + debug_print(' Database Exception: Unable to set series info') + raise + else: + connection.commit() + cursor.close() + + if show_debug: + debug_print("KoboTouch:set_series - end") + + + @classmethod + def settings(cls): + opts = cls._config().parse() + if isinstance(cls.EXTRA_CUSTOMIZATION_DEFAULT, list): + if opts.extra_customization is None: + opts.extra_customization = [] + if not isinstance(opts.extra_customization, list): + opts.extra_customization = [opts.extra_customization] + if len(cls.EXTRA_CUSTOMIZATION_DEFAULT) > len(opts.extra_customization): + extra_options_offset = 0 + extra_customization = [] + for i,d in enumerate(cls.EXTRA_CUSTOMIZATION_DEFAULT): + if i >= len(opts.extra_customization) + extra_options_offset: + extra_customization.append(d) + elif d.__class__ != opts.extra_customization[i - extra_options_offset].__class__: + extra_options_offset += 1 + extra_customization.append(d) + else: + extra_customization.append(opts.extra_customization[i - extra_options_offset]) + opts.extra_customization = extra_customization + return opts + + def supports_bookshelves(self): return self.dbversion >= self.min_supported_dbversion + def supports_series(self): + return self.dbversion >= self.min_dbversion_series + # def is_debugging_title(self, title): ## debug_print("KoboTouch:is_debugging - title=", title) # is_debugging = False From e21ec2b400537ffae831ba5447a28b4640a0e20a Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 09:10:40 +0530 Subject: [PATCH 28/63] Fix #1083717 (My device is not detected) --- src/calibre/devices/android/driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/devices/android/driver.py b/src/calibre/devices/android/driver.py index db318e5df2..95d1978f93 100644 --- a/src/calibre/devices/android/driver.py +++ b/src/calibre/devices/android/driver.py @@ -232,7 +232,7 @@ class ANDROID(USBMS): 'THINKPAD_TABLET', 'SGH-T989', 'YP-G70', 'STORAGE_DEVICE', 'ADVANCED', 'SGH-I727', 'USB_FLASH_DRIVER', 'ANDROID', 'S5830I_CARD', 'MID7042', 'LINK-CREATE', '7035', 'VIEWPAD_7E', - 'NOVO7', 'MB526'] + 'NOVO7', 'MB526', '_USB#WYK7MSF8KE'] WINDOWS_CARD_A_MEM = ['ANDROID_PHONE', 'GT-I9000_CARD', 'SGH-I897', 'FILE-STOR_GADGET', 'SGH-T959_CARD', 'SGH-T959', 'SAMSUNG_ANDROID', 'GT-P1000_CARD', 'A70S', 'A101IT', '7', 'INCREDIBLE', 'A7EB', 'SGH-T849_CARD', From 21f53431ad98370ae3063fc99eaeed77098deb7d Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 09:19:17 +0530 Subject: [PATCH 29/63] Use nicer name for notifier app so that it is recognizable in the notification center settings --- setup/installer/osx/app/main.py | 2 +- src/calibre/gui2/notify.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/installer/osx/app/main.py b/setup/installer/osx/app/main.py index 1b9023b79a..345b75f56f 100644 --- a/setup/installer/osx/app/main.py +++ b/setup/installer/osx/app/main.py @@ -598,7 +598,7 @@ class Py2App(object): os.symlink(join('../..', x), join(cc_dir, x)) shutil.copytree(join(SW, 'build/notifier.app'), join( - self.contents_dir, 'notifier.app')) + self.contents_dir, 'calibre-notifier.app')) @flush def copy_site(self): diff --git a/src/calibre/gui2/notify.py b/src/calibre/gui2/notify.py index 2b876c2210..c3651b92c6 100644 --- a/src/calibre/gui2/notify.py +++ b/src/calibre/gui2/notify.py @@ -108,7 +108,7 @@ class AppleNotifier(Notifier): import os, sys try: self.exe = os.path.join(sys.console_binaries_path.replace( - 'console.app', 'notifier.app'), 'Calibre') + 'console.app', 'calibre-notifier.app'), 'Calibre') self.ok = os.access(self.exe, os.X_OK) import subprocess self.call = subprocess.Popen From 6ceb6af94e53cffa4bc35d1ed6772efad7485cb2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 10:25:55 +0530 Subject: [PATCH 30/63] KF8 Input: Handle invalif KF8 files with links pointing to non-existent locations and incorrect values in the dic table. Fixes #1082669 (AZW3 fails to open with Error; No file contains pos: 2290264) --- src/calibre/ebooks/mobi/reader/markup.py | 19 ++++++----- src/calibre/ebooks/mobi/reader/mobi8.py | 40 +++++++++++++++++++++++- 2 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/calibre/ebooks/mobi/reader/markup.py b/src/calibre/ebooks/mobi/reader/markup.py index 73ba09a189..7c3f80fa51 100644 --- a/src/calibre/ebooks/mobi/reader/markup.py +++ b/src/calibre/ebooks/mobi/reader/markup.py @@ -11,7 +11,7 @@ import re, os from calibre.ebooks.chardet import strip_encoding_declarations -def update_internal_links(mobi8_reader): +def update_internal_links(mobi8_reader, log): # need to update all links that are internal which # are based on positions within the xhtml files **BEFORE** # cutting and pasting any pieces into the xhtml text files @@ -35,11 +35,16 @@ def update_internal_links(mobi8_reader): for m in posfid_index_pattern.finditer(tag): posfid = m.group(1) offset = m.group(2) - filename, idtag = mr.get_id_tag_by_pos_fid(int(posfid, 32), - int(offset, 32)) - suffix = (b'#' + idtag) if idtag else b'' - replacement = filename.split('/')[-1].encode( - mr.header.codec) + suffix + try: + filename, idtag = mr.get_id_tag_by_pos_fid( + int(posfid, 32), int(offset, 32)) + except ValueError: + log.warn('Invalid link, points to nowhere, ignoring') + replacement = b'#' + else: + suffix = (b'#' + idtag) if idtag else b'' + replacement = filename.split('/')[-1].encode( + mr.header.codec) + suffix tag = posfid_index_pattern.sub(replacement, tag, 1) srcpieces[j] = tag raw = b''.join(srcpieces) @@ -298,7 +303,7 @@ def upshift_markup(parts): def expand_mobi8_markup(mobi8_reader, resource_map, log): # First update all internal links that are based on offsets - parts = update_internal_links(mobi8_reader) + parts = update_internal_links(mobi8_reader, log) # Remove pointless markup inserted by kindlegen remove_kindlegen_markup(parts) diff --git a/src/calibre/ebooks/mobi/reader/mobi8.py b/src/calibre/ebooks/mobi/reader/mobi8.py index 8040a89e15..cdbea325fa 100644 --- a/src/calibre/ebooks/mobi/reader/mobi8.py +++ b/src/calibre/ebooks/mobi/reader/mobi8.py @@ -34,6 +34,16 @@ Elem = namedtuple('Elem', FlowInfo = namedtuple('FlowInfo', 'type format dir fname') +# locate beginning and ending positions of tag with specific aid attribute +def locate_beg_end_of_tag(ml, aid): + pattern = br'''<[^>]*\said\s*=\s*['"]%s['"][^>]*>''' % aid + aid_pattern = re.compile(pattern, re.IGNORECASE) + for m in re.finditer(aid_pattern, ml): + plt = m.start() + pgt = ml.find(b'>', plt+1) + return plt, pgt + return 0, 0 + class Mobi8Reader(object): def __init__(self, mobi6_reader, log): @@ -148,6 +158,7 @@ class Mobi8Reader(object): for skelnum, skelname, divcnt, skelpos, skellen in self.files: baseptr = skelpos + skellen skeleton = text[skelpos:baseptr] + inspos_warned = False for i in xrange(divcnt): insertpos, idtext, filenum, seqnum, startpos, length = \ self.elems[divptr] @@ -156,6 +167,23 @@ class Mobi8Reader(object): filename = 'part%04d.html' % filenum part = text[baseptr:baseptr + length] insertpos = insertpos - skelpos + head = skeleton[:insertpos] + tail = skeleton[insertpos:] + if (tail.find(b'>') < tail.find(b'<') or head.rfind(b'>') < + head.rfind(b'<')): + # There is an incomplete tag in either the head or tail. + # This can happen for some badly formed KF8 files, see for + # example, https://bugs.launchpad.net/bugs/1082669 + if not inspos_warned: + self.log.warn( + 'The div table for %s has incorrect insert ' + 'positions. Calculating manually.'%skelname) + inspos_warned = True + bp, ep = locate_beg_end_of_tag(skeleton, aidtext if + isinstance(aidtext, bytes) else aidtext.encode('utf-8')) + if bp != ep: + insertpos = ep + 1 + startpos + skeleton = skeleton[0:insertpos] + part + skeleton[insertpos:] baseptr = baseptr + length divptr += 1 @@ -320,6 +348,7 @@ class Mobi8Reader(object): def create_ncx(self): index_entries = read_ncx(self.kf8_sections, self.header.ncxidx, self.header.codec) + remove = [] # Add href and anchor info to the index entries for entry in index_entries: @@ -332,11 +361,20 @@ class Mobi8Reader(object): idtag = self.get_id_tag(pos).decode(self.header.codec) href = '%s/%s'%(fi.type, fi.filename) else: - href, idtag = self.get_id_tag_by_pos_fid(*pos_fid) + try: + href, idtag = self.get_id_tag_by_pos_fid(*pos_fid) + except ValueError: + self.log.warn('Invalid entry in NCX (title: %s), ignoring' + %entry['text']) + remove.append(entry) + continue entry['href'] = href entry['idtag'] = idtag + for e in remove: + index_entries.remove(e) + # Build the TOC object return build_toc(index_entries) From 9aac76409ac51f589d106654fbc156bdcd6bc62c Mon Sep 17 00:00:00 2001 From: Translators <> Date: Thu, 29 Nov 2012 05:12:19 +0000 Subject: [PATCH 31/63] Launchpad automatic translations update. --- setup/iso_639/ms.po | 818 ++++++++++++++++----------------- src/calibre/translations/lv.po | 26 +- 2 files changed, 424 insertions(+), 420 deletions(-) diff --git a/setup/iso_639/ms.po b/setup/iso_639/ms.po index 55152f032e..4b9d4eee4b 100644 --- a/setup/iso_639/ms.po +++ b/setup/iso_639/ms.po @@ -10,291 +10,291 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team <pkg-isocodes-" "devel@lists.alioth.debian.org>\n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-08-27 06:24+0000\n" -"Last-Translator: Hasbullah Bin Pit <Unknown>\n" +"PO-Revision-Date: 2012-11-29 02:06+0000\n" +"Last-Translator: abuyop <Unknown>\n" "Language-Team: Projek Gabai <gabai-penyumbang@lists.sourceforge.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:27+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:12+0000\n" +"X-Generator: Launchpad (build 16319)\n" "Language: \n" #. name for aaa msgid "Ghotuo" -msgstr "" +msgstr "Ghotuo" #. name for aab msgid "Alumu-Tesu" -msgstr "" +msgstr "Alumu-Tesu" #. name for aac msgid "Ari" -msgstr "" +msgstr "Ari" #. name for aad msgid "Amal" -msgstr "" +msgstr "Amal" #. name for aae msgid "Albanian; Arbëreshë" -msgstr "" +msgstr "Albania; Arbëreshë" #. name for aaf msgid "Aranadan" -msgstr "" +msgstr "Aranadan" #. name for aag msgid "Ambrak" -msgstr "" +msgstr "Ambrak" #. name for aah msgid "Arapesh; Abu'" -msgstr "" +msgstr "Arapesh; Abu'" #. name for aai msgid "Arifama-Miniafia" -msgstr "" +msgstr "Arifama-Miniafia" #. name for aak msgid "Ankave" -msgstr "" +msgstr "Ankave" #. name for aal msgid "Afade" -msgstr "" +msgstr "Afade" #. name for aam msgid "Aramanik" -msgstr "" +msgstr "Aramanik" #. name for aan msgid "Anambé" -msgstr "" +msgstr "Anambé" #. name for aao msgid "Arabic; Algerian Saharan" -msgstr "" +msgstr "Arab; Algeria Sahara" #. name for aap msgid "Arára; Pará" -msgstr "" +msgstr "Arára; Pará" #. name for aaq msgid "Abnaki; Eastern" -msgstr "" +msgstr "Abnaki; Timur" #. name for aar msgid "Afar" -msgstr "" +msgstr "Afar" #. name for aas msgid "Aasáx" -msgstr "" +msgstr "Aasáx" #. name for aat msgid "Albanian; Arvanitika" -msgstr "" +msgstr "Albania; Arvanitika" #. name for aau msgid "Abau" -msgstr "" +msgstr "Abau" #. name for aaw msgid "Solong" -msgstr "" +msgstr "Solong" #. name for aax msgid "Mandobo Atas" -msgstr "" +msgstr "Mandobo Atas" #. name for aaz msgid "Amarasi" -msgstr "" +msgstr "Amarasi" #. name for aba msgid "Abé" -msgstr "" +msgstr "Abé" #. name for abb msgid "Bankon" -msgstr "" +msgstr "Bankon" #. name for abc msgid "Ayta; Ambala" -msgstr "" +msgstr "Ayta; Ambala" #. name for abd msgid "Manide" -msgstr "" +msgstr "Manide" #. name for abe msgid "Abnaki; Western" -msgstr "" +msgstr "Abnaki; Barat" #. name for abf msgid "Abai Sungai" -msgstr "" +msgstr "Abai Sungai" #. name for abg msgid "Abaga" -msgstr "" +msgstr "Abaga" #. name for abh msgid "Arabic; Tajiki" -msgstr "" +msgstr "Arab; Tajik" #. name for abi msgid "Abidji" -msgstr "" +msgstr "Abidji" #. name for abj msgid "Aka-Bea" -msgstr "" +msgstr "Aka-Bea" #. name for abk msgid "Abkhazian" -msgstr "" +msgstr "Abkhaz" #. name for abl msgid "Lampung Nyo" -msgstr "" +msgstr "Lampung Nyo" #. name for abm msgid "Abanyom" -msgstr "" +msgstr "Abanyom" #. name for abn msgid "Abua" -msgstr "" +msgstr "Abua" #. name for abo msgid "Abon" -msgstr "" +msgstr "Abon" #. name for abp msgid "Ayta; Abellen" -msgstr "" +msgstr "Ayta; Abellen" #. name for abq msgid "Abaza" -msgstr "" +msgstr "Abaza" #. name for abr msgid "Abron" -msgstr "" +msgstr "Abron" #. name for abs msgid "Malay; Ambonese" -msgstr "" +msgstr "Melayu; Ambon" #. name for abt msgid "Ambulas" -msgstr "" +msgstr "Ambulas" #. name for abu msgid "Abure" -msgstr "" +msgstr "Abure" #. name for abv msgid "Arabic; Baharna" -msgstr "" +msgstr "Arab; Baharna" #. name for abw msgid "Pal" -msgstr "" +msgstr "Pal" #. name for abx msgid "Inabaknon" -msgstr "" +msgstr "Inabaknon" #. name for aby msgid "Aneme Wake" -msgstr "" +msgstr "Aneme Wake" #. name for abz msgid "Abui" -msgstr "" +msgstr "Abui" #. name for aca msgid "Achagua" -msgstr "" +msgstr "Achagua" #. name for acb msgid "Áncá" -msgstr "" +msgstr "Áncá" #. name for acd msgid "Gikyode" -msgstr "" +msgstr "Gikyode" #. name for ace msgid "Achinese" -msgstr "" +msgstr "Achin" #. name for acf msgid "Creole French; Saint Lucian" -msgstr "" +msgstr "Creole Perancis; Saint Lucia" #. name for ach msgid "Acoli" -msgstr "" +msgstr "Acoli" #. name for aci msgid "Aka-Cari" -msgstr "" +msgstr "Aka-Cari" #. name for ack msgid "Aka-Kora" -msgstr "" +msgstr "Aka-Kora" #. name for acl msgid "Akar-Bale" -msgstr "" +msgstr "Akar-Bale" #. name for acm msgid "Arabic; Mesopotamian" -msgstr "" +msgstr "Arab; Mesopotamia" #. name for acn msgid "Achang" -msgstr "" +msgstr "Achang" #. name for acp msgid "Acipa; Eastern" -msgstr "" +msgstr "Acipa; Timur" #. name for acq msgid "Arabic; Ta'izzi-Adeni" -msgstr "" +msgstr "Arab; Ta'izzi-Adeni" #. name for acr msgid "Achi" -msgstr "" +msgstr "Achi" #. name for acs msgid "Acroá" -msgstr "" +msgstr "Acroá" #. name for act msgid "Achterhoeks" -msgstr "" +msgstr "Achterhoeks" #. name for acu msgid "Achuar-Shiwiar" -msgstr "" +msgstr "Achuar-Shiwiar" #. name for acv msgid "Achumawi" -msgstr "" +msgstr "Achumawi" #. name for acw msgid "Arabic; Hijazi" -msgstr "" +msgstr "Arab; Hijaz" #. name for acx msgid "Arabic; Omani" -msgstr "" +msgstr "Arab; Oman" #. name for acy msgid "Arabic; Cypriot" @@ -302,111 +302,111 @@ msgstr "" #. name for acz msgid "Acheron" -msgstr "" +msgstr "Acheron" #. name for ada msgid "Adangme" -msgstr "" +msgstr "Adangme" #. name for adb msgid "Adabe" -msgstr "" +msgstr "Adabe" #. name for add msgid "Dzodinka" -msgstr "" +msgstr "Dzodinka" #. name for ade msgid "Adele" -msgstr "" +msgstr "Adele" #. name for adf msgid "Arabic; Dhofari" -msgstr "" +msgstr "Arab; Dhofar" #. name for adg msgid "Andegerebinha" -msgstr "" +msgstr "Andegerebinha" #. name for adh msgid "Adhola" -msgstr "" +msgstr "Adhola" #. name for adi msgid "Adi" -msgstr "" +msgstr "Adi" #. name for adj msgid "Adioukrou" -msgstr "" +msgstr "Adioukrou" #. name for adl msgid "Galo" -msgstr "" +msgstr "Galo" #. name for adn msgid "Adang" -msgstr "" +msgstr "Adang" #. name for ado msgid "Abu" -msgstr "" +msgstr "Abu" #. name for adp msgid "Adap" -msgstr "" +msgstr "Adap" #. name for adq msgid "Adangbe" -msgstr "" +msgstr "Adangbe" #. name for adr msgid "Adonara" -msgstr "" +msgstr "Adonara" #. name for ads msgid "Adamorobe Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Adamorobe" #. name for adt msgid "Adnyamathanha" -msgstr "" +msgstr "Adnyamathanha" #. name for adu msgid "Aduge" -msgstr "" +msgstr "Aduge" #. name for adw msgid "Amundava" -msgstr "" +msgstr "Amundava" #. name for adx msgid "Tibetan; Amdo" -msgstr "" +msgstr "Tibet; Amdo" #. name for ady msgid "Adyghe" -msgstr "" +msgstr "Adyghe" #. name for adz msgid "Adzera" -msgstr "" +msgstr "Adzera" #. name for aea msgid "Areba" -msgstr "" +msgstr "Areba" #. name for aeb msgid "Arabic; Tunisian" -msgstr "" +msgstr "Arab; Tunisia" #. name for aec msgid "Arabic; Saidi" -msgstr "" +msgstr "Arab; Said" #. name for aed msgid "Argentine Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Argentina" #. name for aee msgid "Pashayi; Northeast" @@ -414,23 +414,23 @@ msgstr "" #. name for aek msgid "Haeke" -msgstr "" +msgstr "Haeke" #. name for ael msgid "Ambele" -msgstr "" +msgstr "Ambele" #. name for aem msgid "Arem" -msgstr "" +msgstr "Arem" #. name for aen msgid "Armenian Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Armenia" #. name for aeq msgid "Aer" -msgstr "" +msgstr "Aer" #. name for aer msgid "Arrernte; Eastern" @@ -438,63 +438,63 @@ msgstr "" #. name for aes msgid "Alsea" -msgstr "" +msgstr "Alsea" #. name for aeu msgid "Akeu" -msgstr "" +msgstr "Akeu" #. name for aew msgid "Ambakich" -msgstr "" +msgstr "Ambakich" #. name for aey msgid "Amele" -msgstr "" +msgstr "Amele" #. name for aez msgid "Aeka" -msgstr "" +msgstr "Aeka" #. name for afb msgid "Arabic; Gulf" -msgstr "" +msgstr "Arab; Teluk" #. name for afd msgid "Andai" -msgstr "" +msgstr "Andai" #. name for afe msgid "Putukwam" -msgstr "" +msgstr "Putukwam" #. name for afg msgid "Afghan Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Afgan" #. name for afh msgid "Afrihili" -msgstr "" +msgstr "Bahasa Afrihili" #. name for afi msgid "Akrukay" -msgstr "" +msgstr "Akrukay" #. name for afk msgid "Nanubae" -msgstr "" +msgstr "Nanubae" #. name for afn msgid "Defaka" -msgstr "" +msgstr "Defaka" #. name for afo msgid "Eloyi" -msgstr "" +msgstr "Eloyi" #. name for afp msgid "Tapei" -msgstr "" +msgstr "Tapei" #. name for afr msgid "Afrikaans" @@ -506,195 +506,195 @@ msgstr "" #. name for aft msgid "Afitti" -msgstr "" +msgstr "Afitti" #. name for afu msgid "Awutu" -msgstr "" +msgstr "Awutu" #. name for afz msgid "Obokuitai" -msgstr "" +msgstr "Obokuitai" #. name for aga msgid "Aguano" -msgstr "" +msgstr "Aguano" #. name for agb msgid "Legbo" -msgstr "" +msgstr "Legbo" #. name for agc msgid "Agatu" -msgstr "" +msgstr "Agatu" #. name for agd msgid "Agarabi" -msgstr "" +msgstr "Agarabi" #. name for age msgid "Angal" -msgstr "" +msgstr "Angal" #. name for agf msgid "Arguni" -msgstr "" +msgstr "Arguni" #. name for agg msgid "Angor" -msgstr "" +msgstr "Angor" #. name for agh msgid "Ngelima" -msgstr "" +msgstr "Ngelima" #. name for agi msgid "Agariya" -msgstr "" +msgstr "Agariya" #. name for agj msgid "Argobba" -msgstr "" +msgstr "Argobba" #. name for agk msgid "Agta; Isarog" -msgstr "" +msgstr "Agta; Isarog" #. name for agl msgid "Fembe" -msgstr "" +msgstr "Fembe" #. name for agm msgid "Angaataha" -msgstr "" +msgstr "Angaataha" #. name for agn msgid "Agutaynen" -msgstr "" +msgstr "Agutaynen" #. name for ago msgid "Tainae" -msgstr "" +msgstr "Tainae" #. name for agq msgid "Aghem" -msgstr "" +msgstr "Aghem" #. name for agr msgid "Aguaruna" -msgstr "" +msgstr "Aguaruna" #. name for ags msgid "Esimbi" -msgstr "" +msgstr "Esimbi" #. name for agt msgid "Agta; Central Cagayan" -msgstr "" +msgstr "Agta; Cagaya Tengah" #. name for agu msgid "Aguacateco" -msgstr "" +msgstr "Aguacateco" #. name for agv msgid "Dumagat; Remontado" -msgstr "" +msgstr "Dumagat; Remontado" #. name for agw msgid "Kahua" -msgstr "" +msgstr "Kahua" #. name for agx msgid "Aghul" -msgstr "" +msgstr "Aghul" #. name for agy msgid "Alta; Southern" -msgstr "" +msgstr "Alta; Selatan" #. name for agz msgid "Agta; Mt. Iriga" -msgstr "" +msgstr "Agta; Gunung Iriga" #. name for aha msgid "Ahanta" -msgstr "" +msgstr "Ahanta" #. name for ahb msgid "Axamb" -msgstr "" +msgstr "Axamb" #. name for ahg msgid "Qimant" -msgstr "" +msgstr "Qimant" #. name for ahh msgid "Aghu" -msgstr "" +msgstr "Aghu" #. name for ahi msgid "Aizi; Tiagbamrin" -msgstr "" +msgstr "Aizi; Tiagbamrin" #. name for ahk msgid "Akha" -msgstr "" +msgstr "Akha" #. name for ahl msgid "Igo" -msgstr "" +msgstr "Igo" #. name for ahm msgid "Aizi; Mobumrin" -msgstr "" +msgstr "Aizi; Mobumrin" #. name for ahn msgid "Àhàn" -msgstr "" +msgstr "Àhàn" #. name for aho msgid "Ahom" -msgstr "" +msgstr "Ahom" #. name for ahp msgid "Aizi; Aproumu" -msgstr "" +msgstr "Aizi; Aproumu" #. name for ahr msgid "Ahirani" -msgstr "" +msgstr "Ahirani" #. name for ahs msgid "Ashe" -msgstr "" +msgstr "Ashe" #. name for aht msgid "Ahtena" -msgstr "" +msgstr "Ahtena" #. name for aia msgid "Arosi" -msgstr "" +msgstr "Arosi" #. name for aib msgid "Ainu (China)" -msgstr "" +msgstr "Ainu (China)" #. name for aic msgid "Ainbai" -msgstr "" +msgstr "Ainbai" #. name for aid msgid "Alngith" -msgstr "" +msgstr "Alngith" #. name for aie msgid "Amara" -msgstr "" +msgstr "Amara" #. name for aif msgid "Agi" -msgstr "" +msgstr "Agi" #. name for aig msgid "Creole English; Antigua and Barbuda" @@ -702,79 +702,79 @@ msgstr "" #. name for aih msgid "Ai-Cham" -msgstr "" +msgstr "Ai-Cham" #. name for aii msgid "Neo-Aramaic; Assyrian" -msgstr "" +msgstr "Neo-Aramik; Assyria" #. name for aij msgid "Lishanid Noshan" -msgstr "" +msgstr "Lishanid Noshan" #. name for aik msgid "Ake" -msgstr "" +msgstr "Ake" #. name for ail msgid "Aimele" -msgstr "" +msgstr "Aimele" #. name for aim msgid "Aimol" -msgstr "" +msgstr "Aimol" #. name for ain msgid "Ainu (Japan)" -msgstr "" +msgstr "Ainu (Jepun)" #. name for aio msgid "Aiton" -msgstr "" +msgstr "Aiton" #. name for aip msgid "Burumakok" -msgstr "" +msgstr "Burumakok" #. name for aiq msgid "Aimaq" -msgstr "" +msgstr "Aimaq" #. name for air msgid "Airoran" -msgstr "" +msgstr "Airoran" #. name for ais msgid "Amis; Nataoran" -msgstr "" +msgstr "Amis; Nataora" #. name for ait msgid "Arikem" -msgstr "" +msgstr "Arikem" #. name for aiw msgid "Aari" -msgstr "" +msgstr "Aari" #. name for aix msgid "Aighon" -msgstr "" +msgstr "Aighon" #. name for aiy msgid "Ali" -msgstr "" +msgstr "Ali" #. name for aja msgid "Aja (Sudan)" -msgstr "" +msgstr "Aja (Sudan)" #. name for ajg msgid "Aja (Benin)" -msgstr "" +msgstr "Aja (Benin)" #. name for aji msgid "Ajië" -msgstr "" +msgstr "Ajië" #. name for ajp msgid "Arabic; South Levantine" @@ -782,231 +782,231 @@ msgstr "" #. name for ajt msgid "Arabic; Judeo-Tunisian" -msgstr "" +msgstr "Arab; Judeo-Tunisia" #. name for aju msgid "Arabic; Judeo-Moroccan" -msgstr "" +msgstr "Arab; Judeo-Maghribi" #. name for ajw msgid "Ajawa" -msgstr "" +msgstr "Ajawa" #. name for ajz msgid "Karbi; Amri" -msgstr "" +msgstr "Karbi; Amri" #. name for aka msgid "Akan" -msgstr "" +msgstr "Akan" #. name for akb msgid "Batak Angkola" -msgstr "" +msgstr "Batak Angkola" #. name for akc msgid "Mpur" -msgstr "" +msgstr "Mpur" #. name for akd msgid "Ukpet-Ehom" -msgstr "" +msgstr "Ukpet-Ehom" #. name for ake msgid "Akawaio" -msgstr "" +msgstr "Akawaio" #. name for akf msgid "Akpa" -msgstr "" +msgstr "Akpa" #. name for akg msgid "Anakalangu" -msgstr "" +msgstr "Anakalangu" #. name for akh msgid "Angal Heneng" -msgstr "" +msgstr "Angal Heneng" #. name for aki msgid "Aiome" -msgstr "" +msgstr "Aiome" #. name for akj msgid "Aka-Jeru" -msgstr "" +msgstr "Aka-Jeru" #. name for akk msgid "Akkadian" -msgstr "" +msgstr "Akkadia" #. name for akl msgid "Aklanon" -msgstr "" +msgstr "Aklanon" #. name for akm msgid "Aka-Bo" -msgstr "" +msgstr "Aka-Bo" #. name for ako msgid "Akurio" -msgstr "" +msgstr "Akurio" #. name for akp msgid "Siwu" -msgstr "" +msgstr "Siwu" #. name for akq msgid "Ak" -msgstr "" +msgstr "Ak" #. name for akr msgid "Araki" -msgstr "" +msgstr "Araki" #. name for aks msgid "Akaselem" -msgstr "" +msgstr "Akaselem" #. name for akt msgid "Akolet" -msgstr "" +msgstr "Akolet" #. name for aku msgid "Akum" -msgstr "" +msgstr "Akum" #. name for akv msgid "Akhvakh" -msgstr "" +msgstr "Akhvakh" #. name for akw msgid "Akwa" -msgstr "" +msgstr "Akwa" #. name for akx msgid "Aka-Kede" -msgstr "" +msgstr "Aka-Kede" #. name for aky msgid "Aka-Kol" -msgstr "" +msgstr "Aka-Kol" #. name for akz msgid "Alabama" -msgstr "" +msgstr "Alabama" #. name for ala msgid "Alago" -msgstr "" +msgstr "Alago" #. name for alc msgid "Qawasqar" -msgstr "" +msgstr "Qawasqar" #. name for ald msgid "Alladian" -msgstr "" +msgstr "Alladia" #. name for ale msgid "Aleut" -msgstr "" +msgstr "Aleut" #. name for alf msgid "Alege" -msgstr "" +msgstr "Alege" #. name for alh msgid "Alawa" -msgstr "" +msgstr "Alawa" #. name for ali msgid "Amaimon" -msgstr "" +msgstr "Amaimon" #. name for alj msgid "Alangan" -msgstr "" +msgstr "Alangan" #. name for alk msgid "Alak" -msgstr "" +msgstr "Alak" #. name for all msgid "Allar" -msgstr "" +msgstr "Allar" #. name for alm msgid "Amblong" -msgstr "" +msgstr "Amblong" #. name for aln msgid "Albanian; Gheg" -msgstr "" +msgstr "Albania; Gheg" #. name for alo msgid "Larike-Wakasihu" -msgstr "" +msgstr "Larike-Wakasihu" #. name for alp msgid "Alune" -msgstr "" +msgstr "Alune" #. name for alq msgid "Algonquin" -msgstr "" +msgstr "Algonquin" #. name for alr msgid "Alutor" -msgstr "" +msgstr "Alutor" #. name for als msgid "Albanian; Tosk" -msgstr "" +msgstr "Albania; Tosk" #. name for alt msgid "Altai; Southern" -msgstr "" +msgstr "Altai; Selatan" #. name for alu msgid "'Are'are" -msgstr "" +msgstr "'Are'are" #. name for alw msgid "Alaba-K’abeena" -msgstr "" +msgstr "Alaba-K’abeena" #. name for alx msgid "Amol" -msgstr "" +msgstr "Amol" #. name for aly msgid "Alyawarr" -msgstr "" +msgstr "Alyawarr" #. name for alz msgid "Alur" -msgstr "" +msgstr "Alur" #. name for ama msgid "Amanayé" -msgstr "" +msgstr "Amanayé" #. name for amb msgid "Ambo" -msgstr "" +msgstr "Ambo" #. name for amc msgid "Amahuaca" -msgstr "" +msgstr "Amahuaca" #. name for ame msgid "Yanesha'" -msgstr "" +msgstr "Yanesha'" #. name for amf msgid "Hamer-Banna" -msgstr "" +msgstr "Hamer-Banna" #. name for amg msgid "Amarag" @@ -1014,103 +1014,103 @@ msgstr "" #. name for amh msgid "Amharic" -msgstr "" +msgstr "Amhar" #. name for ami msgid "Amis" -msgstr "" +msgstr "Amis" #. name for amj msgid "Amdang" -msgstr "" +msgstr "Amdang" #. name for amk msgid "Ambai" -msgstr "" +msgstr "Ambai" #. name for aml msgid "War-Jaintia" -msgstr "" +msgstr "War-Jaintia" #. name for amm msgid "Ama (Papua New Guinea)" -msgstr "" +msgstr "Ama (Papua New Guinea)" #. name for amn msgid "Amanab" -msgstr "" +msgstr "Amanab" #. name for amo msgid "Amo" -msgstr "" +msgstr "Amo" #. name for amp msgid "Alamblak" -msgstr "" +msgstr "Alamblak" #. name for amq msgid "Amahai" -msgstr "" +msgstr "Amahai" #. name for amr msgid "Amarakaeri" -msgstr "" +msgstr "Amarakaeri" #. name for ams msgid "Amami-Oshima; Southern" -msgstr "" +msgstr "Amami-Oshima; Selatan" #. name for amt msgid "Amto" -msgstr "" +msgstr "Amto" #. name for amu msgid "Amuzgo; Guerrero" -msgstr "" +msgstr "Amuzgo; Guerrero" #. name for amv msgid "Ambelau" -msgstr "" +msgstr "Ambelau" #. name for amw msgid "Neo-Aramaic; Western" -msgstr "" +msgstr "Neo-Aramik; Barat" #. name for amx msgid "Anmatyerre" -msgstr "" +msgstr "Anmatyerre" #. name for amy msgid "Ami" -msgstr "" +msgstr "Ami" #. name for amz msgid "Atampaya" -msgstr "" +msgstr "Atampaya" #. name for ana msgid "Andaqui" -msgstr "" +msgstr "Andaqui" #. name for anb msgid "Andoa" -msgstr "" +msgstr "Andoa" #. name for anc msgid "Ngas" -msgstr "" +msgstr "Ngas" #. name for and msgid "Ansus" -msgstr "" +msgstr "Ansus" #. name for ane msgid "Xârâcùù" -msgstr "" +msgstr "Xârâcùù" #. name for anf msgid "Animere" -msgstr "" +msgstr "Animere" #. name for ang msgid "English; Old (ca. 450-1100)" @@ -1118,159 +1118,159 @@ msgstr "" #. name for anh msgid "Nend" -msgstr "" +msgstr "Nend" #. name for ani msgid "Andi" -msgstr "" +msgstr "Andi" #. name for anj msgid "Anor" -msgstr "" +msgstr "Anor" #. name for ank msgid "Goemai" -msgstr "" +msgstr "Goemai" #. name for anl msgid "Anu" -msgstr "" +msgstr "Anu" #. name for anm msgid "Anal" -msgstr "" +msgstr "Anal" #. name for ann msgid "Obolo" -msgstr "" +msgstr "Obolo" #. name for ano msgid "Andoque" -msgstr "" +msgstr "Andoque" #. name for anp msgid "Angika" -msgstr "" +msgstr "Angika" #. name for anq msgid "Jarawa (India)" -msgstr "" +msgstr "Jarawa (India)" #. name for anr msgid "Andh" -msgstr "" +msgstr "Andh" #. name for ans msgid "Anserma" -msgstr "" +msgstr "Anserma" #. name for ant msgid "Antakarinya" -msgstr "" +msgstr "Antakarinya" #. name for anu msgid "Anuak" -msgstr "" +msgstr "Anuak" #. name for anv msgid "Denya" -msgstr "" +msgstr "Denya" #. name for anw msgid "Anaang" -msgstr "" +msgstr "Anaang" #. name for anx msgid "Andra-Hus" -msgstr "" +msgstr "Andra-Hus" #. name for any msgid "Anyin" -msgstr "" +msgstr "Anyin" #. name for anz msgid "Anem" -msgstr "" +msgstr "Anem" #. name for aoa msgid "Angolar" -msgstr "" +msgstr "Angolar" #. name for aob msgid "Abom" -msgstr "" +msgstr "Abom" #. name for aoc msgid "Pemon" -msgstr "" +msgstr "Pemon" #. name for aod msgid "Andarum" -msgstr "" +msgstr "Andarum" #. name for aoe msgid "Angal Enen" -msgstr "" +msgstr "Angal Enen" #. name for aof msgid "Bragat" -msgstr "" +msgstr "Bragat" #. name for aog msgid "Angoram" -msgstr "" +msgstr "Angoram" #. name for aoh msgid "Arma" -msgstr "" +msgstr "Arma" #. name for aoi msgid "Anindilyakwa" -msgstr "" +msgstr "Anindilyakwa" #. name for aoj msgid "Mufian" -msgstr "" +msgstr "Mufian" #. name for aok msgid "Arhö" -msgstr "" +msgstr "Arhö" #. name for aol msgid "Alor" -msgstr "" +msgstr "Alor" #. name for aom msgid "Ömie" -msgstr "" +msgstr "Ömie" #. name for aon msgid "Arapesh; Bumbita" -msgstr "" +msgstr "Arapesh; Bumbita" #. name for aor msgid "Aore" -msgstr "" +msgstr "Aore" #. name for aos msgid "Taikat" -msgstr "" +msgstr "Taikat" #. name for aot msgid "A'tong" -msgstr "" +msgstr "A'tong" #. name for aox msgid "Atorada" -msgstr "" +msgstr "Atorada" #. name for aoz msgid "Uab Meto" -msgstr "" +msgstr "Uab Meto" #. name for apb msgid "Sa'a" -msgstr "" +msgstr "Sa'a" #. name for apc msgid "Arabic; North Levantine" @@ -1282,7 +1282,7 @@ msgstr "" #. name for ape msgid "Bukiyip" -msgstr "" +msgstr "Bukiyip" #. name for apf msgid "Agta; Pahanan" @@ -1290,87 +1290,87 @@ msgstr "" #. name for apg msgid "Ampanang" -msgstr "" +msgstr "Ampanang" #. name for aph msgid "Athpariya" -msgstr "" +msgstr "Athpariya" #. name for api msgid "Apiaká" -msgstr "" +msgstr "Apiaká" #. name for apj msgid "Apache; Jicarilla" -msgstr "" +msgstr "Apache; Jicarilla" #. name for apk msgid "Apache; Kiowa" -msgstr "" +msgstr "Apache; Kiowa" #. name for apl msgid "Apache; Lipan" -msgstr "" +msgstr "Apache; Lipan" #. name for apm msgid "Apache; Mescalero-Chiricahua" -msgstr "" +msgstr "Apache; Mescalero-Chiricahua" #. name for apn msgid "Apinayé" -msgstr "" +msgstr "Apinayé" #. name for apo msgid "Ambul" -msgstr "" +msgstr "Ambul" #. name for app msgid "Apma" -msgstr "" +msgstr "Apma" #. name for apq msgid "A-Pucikwar" -msgstr "" +msgstr "A-Pucikwar" #. name for apr msgid "Arop-Lokep" -msgstr "" +msgstr "Arop-Lokep" #. name for aps msgid "Arop-Sissano" -msgstr "" +msgstr "Arop-Sissano" #. name for apt msgid "Apatani" -msgstr "" +msgstr "Apatani" #. name for apu msgid "Apurinã" -msgstr "" +msgstr "Apurinã" #. name for apv msgid "Alapmunte" -msgstr "" +msgstr "Alapmunte" #. name for apw msgid "Apache; Western" -msgstr "" +msgstr "Apache; Barat" #. name for apx msgid "Aputai" -msgstr "" +msgstr "Aputai" #. name for apy msgid "Apalaí" -msgstr "" +msgstr "Apalaí" #. name for apz msgid "Safeyoka" -msgstr "" +msgstr "Safeyoka" #. name for aqc msgid "Archi" -msgstr "" +msgstr "Archi" #. name for aqd msgid "Dogon; Ampari" @@ -1378,11 +1378,11 @@ msgstr "" #. name for aqg msgid "Arigidi" -msgstr "" +msgstr "Arigidi" #. name for aqm msgid "Atohwaim" -msgstr "" +msgstr "Atohwaim" #. name for aqn msgid "Alta; Northern" @@ -1390,15 +1390,15 @@ msgstr "" #. name for aqp msgid "Atakapa" -msgstr "" +msgstr "Atakapa" #. name for aqr msgid "Arhâ" -msgstr "" +msgstr "Arhâ" #. name for aqz msgid "Akuntsu" -msgstr "" +msgstr "Akuntsu" #. name for ara msgid "Arabic" @@ -1414,7 +1414,7 @@ msgstr "" #. name for ard msgid "Arabana" -msgstr "" +msgstr "Arabana" #. name for are msgid "Arrarnta; Western" @@ -1422,39 +1422,39 @@ msgstr "" #. name for arg msgid "Aragonese" -msgstr "" +msgstr "Aragon" #. name for arh msgid "Arhuaco" -msgstr "" +msgstr "Arhuaco" #. name for ari msgid "Arikara" -msgstr "" +msgstr "Arikara" #. name for arj msgid "Arapaso" -msgstr "" +msgstr "Arapaso" #. name for ark msgid "Arikapú" -msgstr "" +msgstr "Arikapú" #. name for arl msgid "Arabela" -msgstr "" +msgstr "Arabela" #. name for arn msgid "Mapudungun" -msgstr "" +msgstr "Mapudungun" #. name for aro msgid "Araona" -msgstr "" +msgstr "Araona" #. name for arp msgid "Arapaho" -msgstr "" +msgstr "Arapaho" #. name for arq msgid "Arabic; Algerian" @@ -1462,7 +1462,7 @@ msgstr "" #. name for arr msgid "Karo (Brazil)" -msgstr "" +msgstr "Karo (Brazil)" #. name for ars msgid "Arabic; Najdi" @@ -1470,19 +1470,19 @@ msgstr "" #. name for aru msgid "Aruá (Amazonas State)" -msgstr "" +msgstr "Aruá (Negeri Amazon)" #. name for arv msgid "Arbore" -msgstr "" +msgstr "Arbore" #. name for arw msgid "Arawak" -msgstr "" +msgstr "Arawak" #. name for arx msgid "Aruá (Rodonia State)" -msgstr "" +msgstr "Aruá (Negeri Rodonia)" #. name for ary msgid "Arabic; Moroccan" @@ -1494,11 +1494,11 @@ msgstr "" #. name for asa msgid "Asu (Tanzania)" -msgstr "" +msgstr "Asu (Tanzania)" #. name for asb msgid "Assiniboine" -msgstr "" +msgstr "Assiniboine" #. name for asc msgid "Asmat; Casuarina Coast" @@ -1506,43 +1506,43 @@ msgstr "" #. name for asd msgid "Asas" -msgstr "" +msgstr "Asas" #. name for ase msgid "American Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Amerika" #. name for asf msgid "Australian Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Australia" #. name for asg msgid "Cishingini" -msgstr "" +msgstr "Cishingini" #. name for ash msgid "Abishira" -msgstr "" +msgstr "Abishira" #. name for asi msgid "Buruwai" -msgstr "" +msgstr "Buruwai" #. name for asj msgid "Nsari" -msgstr "" +msgstr "Nsari" #. name for ask msgid "Ashkun" -msgstr "" +msgstr "Ashkun" #. name for asl msgid "Asilulu" -msgstr "" +msgstr "Asilulu" #. name for asm msgid "Assamese" -msgstr "" +msgstr "Assam" #. name for asn msgid "Asuriní; Xingú" @@ -1550,27 +1550,27 @@ msgstr "" #. name for aso msgid "Dano" -msgstr "" +msgstr "Dano" #. name for asp msgid "Algerian Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Algeria" #. name for asq msgid "Austrian Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Austria" #. name for asr msgid "Asuri" -msgstr "" +msgstr "Asuri" #. name for ass msgid "Ipulo" -msgstr "" +msgstr "Ipulo" #. name for ast msgid "Asturian" -msgstr "" +msgstr "Asturia" #. name for asu msgid "Asurini; Tocantins" @@ -1578,15 +1578,15 @@ msgstr "" #. name for asv msgid "Asoa" -msgstr "" +msgstr "Asoa" #. name for asw msgid "Australian Aborigines Sign Language" -msgstr "" +msgstr "Bahasa Isyarat Orang Asli Australia" #. name for asx msgid "Muratayak" -msgstr "" +msgstr "Muratayak" #. name for asy msgid "Asmat; Yaosakor" @@ -1594,19 +1594,19 @@ msgstr "" #. name for asz msgid "As" -msgstr "" +msgstr "As" #. name for ata msgid "Pele-Ata" -msgstr "" +msgstr "Pele-Ata" #. name for atb msgid "Zaiwa" -msgstr "" +msgstr "Zaiwa" #. name for atc msgid "Atsahuaca" -msgstr "" +msgstr "Atsahuaca" #. name for atd msgid "Manobo; Ata" @@ -1614,23 +1614,23 @@ msgstr "" #. name for ate msgid "Atemble" -msgstr "" +msgstr "Atemble" #. name for atg msgid "Ivbie North-Okpela-Arhe" -msgstr "" +msgstr "Ivbie North-Okpela-Arhe" #. name for ati msgid "Attié" -msgstr "" +msgstr "Attié" #. name for atj msgid "Atikamekw" -msgstr "" +msgstr "Atikamekw" #. name for atk msgid "Ati" -msgstr "" +msgstr "Ati" #. name for atl msgid "Agta; Mt. Iraya" @@ -1638,15 +1638,15 @@ msgstr "" #. name for atm msgid "Ata" -msgstr "" +msgstr "Ata" #. name for atn msgid "Ashtiani" -msgstr "" +msgstr "Ashtiani" #. name for ato msgid "Atong" -msgstr "" +msgstr "Atong" #. name for atp msgid "Atta; Pudtol" @@ -1654,15 +1654,15 @@ msgstr "" #. name for atq msgid "Aralle-Tabulahan" -msgstr "" +msgstr "Aralle-Tabulahan" #. name for atr msgid "Waimiri-Atroari" -msgstr "" +msgstr "Waimiri-Atroari" #. name for ats msgid "Gros Ventre" -msgstr "" +msgstr "Gros Ventre" #. name for att msgid "Atta; Pamplona" @@ -1670,7 +1670,7 @@ msgstr "" #. name for atu msgid "Reel" -msgstr "" +msgstr "Reel" #. name for atv msgid "Altai; Northern" @@ -1678,67 +1678,67 @@ msgstr "" #. name for atw msgid "Atsugewi" -msgstr "" +msgstr "Atsugewi" #. name for atx msgid "Arutani" -msgstr "" +msgstr "Arutani" #. name for aty msgid "Aneityum" -msgstr "" +msgstr "Aneityum" #. name for atz msgid "Arta" -msgstr "" +msgstr "Arta" #. name for aua msgid "Asumboa" -msgstr "" +msgstr "Asumboa" #. name for aub msgid "Alugu" -msgstr "" +msgstr "Alugu" #. name for auc msgid "Waorani" -msgstr "" +msgstr "Waorani" #. name for aud msgid "Anuta" -msgstr "" +msgstr "Anuta" #. name for aue msgid "=/Kx'au//'ein" -msgstr "" +msgstr "=/Kx'au//'ein" #. name for aug msgid "Aguna" -msgstr "" +msgstr "Aguna" #. name for auh msgid "Aushi" -msgstr "" +msgstr "Aushi" #. name for aui msgid "Anuki" -msgstr "" +msgstr "Anuki" #. name for auj msgid "Awjilah" -msgstr "" +msgstr "Awjilah" #. name for auk msgid "Heyo" -msgstr "" +msgstr "Heyo" #. name for aul msgid "Aulua" -msgstr "" +msgstr "Aulua" #. name for aum msgid "Asu (Nigeria)" -msgstr "" +msgstr "Asu (Nigeria)" #. name for aun msgid "One; Molmo" @@ -1750,27 +1750,27 @@ msgstr "" #. name for aup msgid "Makayam" -msgstr "" +msgstr "Makayam" #. name for auq msgid "Anus" -msgstr "" +msgstr "Anus" #. name for aur msgid "Aruek" -msgstr "" +msgstr "Aruek" #. name for aut msgid "Austral" -msgstr "" +msgstr "Austral" #. name for auu msgid "Auye" -msgstr "" +msgstr "Auye" #. name for auw msgid "Awyi" -msgstr "" +msgstr "Awyi" #. name for aux msgid "Aurá" diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index 6cff81bad4..b2b2e817ca 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -8,15 +8,15 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-11-23 03:42+0000\n" -"PO-Revision-Date: 2012-11-27 19:22+0000\n" +"PO-Revision-Date: 2012-11-28 08:58+0000\n" "Last-Translator: uGGa <Unknown>\n" "Language-Team: Latvian <ivars.arins@dotnet.lv>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2012-11-28 04:38+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:11+0000\n" +"X-Generator: Launchpad (build 16319)\n" "X-Poedit-Country: LATVIA\n" "Language: lv\n" "X-Poedit-Language: Latvian\n" @@ -1951,20 +1951,20 @@ msgstr "Pievienoti %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:418 msgid "Adding complete" -msgstr "" +msgstr "Pievienošana pabeigta" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:434 msgid "Deleting books from device..." -msgstr "" +msgstr "Tiek dzēstas grāmatas no jūsu iekārtas..." #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:440 #, python-format msgid "Deleted %s" -msgstr "" +msgstr "Izdzēstas %s" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:441 msgid "All books deleted" -msgstr "" +msgstr "Visas grāmatas izdzēstas" #: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444 msgid "Removing books from metadata" @@ -1982,7 +1982,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:198 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:313 msgid "Unknown MTP device" -msgstr "" +msgstr "Nezināma MTP iekārta" #: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:216 #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:220 @@ -2000,6 +2000,9 @@ msgid "" "may need to install Windows Media Player 11 or newer and/or restart your " "computer" msgstr "" +"Uz Jūsu datora nav pieejams Windows portatīvo iekārtu serviss. Jums " +"jāuzinstalē Windows Media Player 11 vai jaunāks un/vai jānorestartē Jūsu " +"dators" #: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:222 #, python-format @@ -2075,6 +2078,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 msgid "Upload separate cover thumbnails for books (newer readers)" msgstr "" +"Augšupielādēt atsevišķus vāku sīktēlus grāmatām (jaunākajam lasītājiem)" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78 msgid "" @@ -2181,7 +2185,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:174 msgid "Wireless Device" -msgstr "" +msgstr "Bezvadu Ierīce" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:178 msgid "Communicate with Smart Device apps" @@ -2219,7 +2223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:276 msgid "Port number: " -msgstr "" +msgstr "Ports: " #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277 msgid "" @@ -2259,7 +2263,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:296 msgid "Use this IP address" -msgstr "" +msgstr "Lietot šo IP adresi" #: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:297 msgid "" From bb5a88f66c8e55c351e52ab1b8abe07e6b577ad9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 14:07:14 +0530 Subject: [PATCH 32/63] When the user asks calibre to converta book, show a small animation to make highlight that the convert job has been queued to run in the background --- src/calibre/gui2/actions/convert.py | 1 + src/calibre/gui2/job_indicator.py | 93 +++++++++++++++++++++++++++++ src/calibre/gui2/ui.py | 2 + 3 files changed, 96 insertions(+) create mode 100644 src/calibre/gui2/job_indicator.py diff --git a/src/calibre/gui2/actions/convert.py b/src/calibre/gui2/actions/convert.py index 34e03dc275..4289158b78 100644 --- a/src/calibre/gui2/actions/convert.py +++ b/src/calibre/gui2/actions/convert.py @@ -132,6 +132,7 @@ class ConvertAction(InterfaceAction): num = len(jobs) if num > 0: + self.gui.jobs_pointer.start() self.gui.status_bar.show_message(_('Starting conversion of %d book(s)') % num, 2000) diff --git a/src/calibre/gui2/job_indicator.py b/src/calibre/gui2/job_indicator.py new file mode 100644 index 0000000000..3767c0cfcf --- /dev/null +++ b/src/calibre/gui2/job_indicator.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2012, Kovid Goyal <kovid at kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +from PyQt4.Qt import (QPainter, Qt, QWidget, QPropertyAnimation, QRect, QPoint, + QColor, QEasingCurve, QBrush, QPainterPath, QPointF, + QPalette) + +from calibre.gui2 import config + +class Pointer(QWidget): + + def __init__(self, gui): + QWidget.__init__(self, gui) + self.setObjectName('jobs_pointer') + self.setVisible(False) + self.resize(100, 80) + self.animation = QPropertyAnimation(self, "geometry", self) + self.animation.setDuration(750) + self.animation.setLoopCount(2) + self.animation.setEasingCurve(QEasingCurve.Linear) + self.animation.finished.connect(self.hide) + + taily, heady = 0, 55 + self.arrow_path = QPainterPath(QPointF(40, taily)) + self.arrow_path.lineTo(40, heady) + self.arrow_path.lineTo(20, heady) + self.arrow_path.lineTo(50, self.height()) + self.arrow_path.lineTo(80, heady) + self.arrow_path.lineTo(60, heady) + self.arrow_path.lineTo(60, taily) + self.arrow_path.closeSubpath() + + c = self.palette().color(QPalette.Active, QPalette.WindowText) + self.color = QColor(c) + self.color.setAlpha(100) + self.brush = QBrush(self.color, Qt.SolidPattern) + + # from PyQt4.Qt import QTimer + # QTimer.singleShot(1000, self.start) + + @property + def gui(self): + return self.parent() + + def point_at(self, frac): + return (self.path.pointAtPercent(frac).toPoint() - + QPoint(self.rect().center().x(), self.height())) + + def rect_at(self, frac): + return QRect(self.point_at(frac), self.size()) + + def abspos(self, widget): + pos = widget.pos() + parent = widget.parent() + while parent is not self.gui: + pos += parent.pos() + parent = parent.parent() + return pos + + def start(self): + if config['disable_animations']: + return + self.setVisible(True) + self.raise_() + end = self.abspos(self.gui.jobs_button) + end = QPointF( end.x() + self.gui.jobs_button.width()/3.0, end.y()+20) + start = QPointF(end.x(), end.y() - 0.5*self.height()) + self.path = QPainterPath(QPointF(start)) + self.path.lineTo(end) + self.path.closeSubpath() + self.animation.setStartValue(self.rect_at(0.0)) + self.animation.setEndValue(self.rect_at(1.0)) + self.animation.setDirection(self.animation.Backward) + num_keys = 100 + for i in xrange(1, num_keys): + i /= num_keys + self.animation.setKeyValueAt(i, self.rect_at(i)) + self.animation.start() + + def paintEvent(self, ev): + p = QPainter(self) + p.setRenderHints(p.Antialiasing) + p.setBrush(self.brush) + p.setPen(Qt.NoPen) + p.drawPath(self.arrow_path) + p.end() + diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 28c9132071..db64969179 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -45,6 +45,7 @@ from calibre.gui2.auto_add import AutoAdder from calibre.library.sqlite import sqlite, DatabaseException from calibre.gui2.proceed import ProceedQuestion from calibre.gui2.dialogs.message_box import JobError +from calibre.gui2.job_indicator import Pointer class Listener(Thread): # {{{ @@ -109,6 +110,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ def __init__(self, opts, parent=None, gui_debug=None): global _gui MainWindow.__init__(self, opts, parent=parent, disable_automatic_gc=True) + self.jobs_pointer = Pointer(self) self.proceed_requested.connect(self.do_proceed, type=Qt.QueuedConnection) self.proceed_question = ProceedQuestion(self) From ca53c970245f3773a43cd93defe10cb6a4e60587 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 14:12:03 +0530 Subject: [PATCH 33/63] ... --- src/calibre/ebooks/oeb/transforms/guide.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/oeb/transforms/guide.py b/src/calibre/ebooks/oeb/transforms/guide.py index 6bea98f073..e4fc2cb9ed 100644 --- a/src/calibre/ebooks/oeb/transforms/guide.py +++ b/src/calibre/ebooks/oeb/transforms/guide.py @@ -21,8 +21,13 @@ class Clean(object): 'other.ms-thumbimage', 'thumbimagestandard'): if x in self.oeb.guide: href = self.oeb.guide[x].href - item = self.oeb.manifest.hrefs[href] - covers.append([self.oeb.guide[x], len(item.data)]) + try: + item = self.oeb.manifest.hrefs[href] + except KeyError: + continue + else: + covers.append([self.oeb.guide[x], len(item.data)]) + covers.sort(cmp=lambda x,y:cmp(x[1], y[1]), reverse=True) if covers: ref = covers[0][0] From b9d1287fcef8d0e8bc4304d9aec02045a0a65247 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 23:06:19 +0530 Subject: [PATCH 34/63] ... --- src/calibre/devices/kobo/driver.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index a8cd1d3a5a..60672d7167 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -59,7 +59,7 @@ class KOBO(USBMS): SUPPORTS_SUB_DIRS = True SUPPORTS_ANNOTATIONS = True - # "kepubs" do not have an extension. The name looks like a GUID. Using an empty string seems to work. + # "kepubs" do not have an extension. The name looks like a GUID. Using an empty string seems to work. VIRTUAL_BOOK_EXTENSIONS = frozenset(['kobo', '']) EXTRA_CUSTOMIZATION_MESSAGE = [ @@ -1243,7 +1243,7 @@ class KOBOTOUCH(KOBO): _('Set Series information') + ':::'+_('The book lists on the Kobo devices can display series information. ' 'This is not read by the device from the sideloaded books. ' - 'Series information can only be adde to the device after the book has been processed by the device. ' + 'Series information can only be added to the device after the book has been processed by the device. ' 'Enable if you wish to set series information.'), _('Attempt to support newer firmware') + ':::'+_('Kobo routinely updates the firmware and the ' @@ -1299,7 +1299,7 @@ class KOBOTOUCH(KOBO): ' - N3_LIBRARY_GRID.parsed':[(149,198),0, 99,], # Used for library lists ' - N3_LIBRARY_LIST.parsed':[(60,90),0, 53,], # ' - N3_LIBRARY_SHELF.parsed': [(40,60),0, 52,], - ' - N3_FULL.parsed':[(600,800),0, 99,], # Used for screensaver, home screen + ' - N3_FULL.parsed':[(600,800),0, 99,], # Used for screensaver, home screen } #Following are the sizes used with pre2.1.4 firmware # COVER_FILE_ENDINGS = { @@ -1308,7 +1308,7 @@ class KOBOTOUCH(KOBO): # ' - N3_LIBRARY_GRID.parsed':[(149,233),0, 99,], # Used for library lists # ' - N3_LIBRARY_LIST.parsed':[(60,90),0, 53,], # ' - N3_LIBRARY_SHELF.parsed': [(40,60),0, 52,], -# ' - N3_FULL.parsed':[(600,800),0, 99,], # Used for screensaver if "Full screen" is checked. +# ' - N3_FULL.parsed':[(600,800),0, 99,], # Used for screensaver if "Full screen" is checked. # } def initialize(self): @@ -1424,7 +1424,7 @@ class KOBOTOUCH(KOBO): playlist_map[lpath].append('Preview') elif accessibility == 4: playlist_map[lpath].append('Recommendation') - + kobo_collections = playlist_map[lpath][:] if len(bookshelves) > 0: @@ -1608,9 +1608,9 @@ class KOBOTOUCH(KOBO): cursor.execute (query) except Exception as e: err = str(e) - if not ('___ExpirationStatus' in err - or 'FavouritesIndex' in err - or 'Accessibility' in err + if not ('___ExpirationStatus' in err + or 'FavouritesIndex' in err + or 'Accessibility' in err or 'IsDownloaded' in err or 'Series' in err ): @@ -1937,7 +1937,7 @@ class KOBOTOUCH(KOBO): debug_print(' class=%s'%book.__class__) debug_print(' book.contentID="%s"'%book.contentID) debug_print(' book.application_id="%s"'%book.application_id) - + if book.application_id is None: continue @@ -1995,7 +1995,7 @@ class KOBOTOUCH(KOBO): if self.supports_bookshelves() or self.supports_series(): debug_print("KoboTouch:update_device_database_collections - managing bookshelves and series.") - + self.series_set = 0 books_in_library = 0 for book in booklists: @@ -2156,7 +2156,7 @@ class KOBOTOUCH(KOBO): debug_print('KoboTouch:remove_book_from_device_bookshelves - book.device_collections=', book.device_collections) debug_print('KoboTouch:remove_book_from_device_bookshelves - book.current_shelves=', book.current_shelves) debug_print('KoboTouch:remove_book_from_device_bookshelves - remove_shelf_list=', remove_shelf_list) - + if len(remove_shelf_list) == 0: return From d8d9c01fd2d884ee98e80350e342a1bebef9f52a Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Thu, 29 Nov 2012 23:09:12 +0530 Subject: [PATCH 35/63] IGN:Updated translations --- src/calibre/translations/ar.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 05b7f74869..9ecbd9ab3c 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -12,14 +12,14 @@ msgstr "" "PO-Revision-Date: 2012-11-26 06:57+0000\n" "Last-Translator: الأستاذ عوض الغامدي _ منتديات عميد التعريب <Unknown>\n" "Language-Team: awadh alghaamdi <awadh_al_ghaamdi@hotmail.com>\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2012-11-27 05:21+0000\n" "X-Generator: Launchpad (build 16309)\n" -"Language: ar\n" +"X-Launchpad-Export-Date: 2012-11-27 05:21+0000\n" "X-Poedit-SourceCharset: UTF-8\n" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:107 @@ -954,7 +954,7 @@ msgid "" " Customize calibre by loading external plugins.\n" " " msgstr "" -" %بروغ البرنامج المقدرة على التخصيص بتحميل الملحقات الخارجية .\n" +" %prog البرنامج المقدرة على التخصيص بتحميل الملحقات الخارجية .\n" " " #: /home/kovid/work/calibre/src/calibre/customize/ui.py:620 From 490c3cc56f5d95c138d7527e1a6aad622c4d0314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20D=C5=82ugosz?= <tomek3d@gmail.com> Date: Thu, 29 Nov 2012 22:20:35 +0100 Subject: [PATCH 36/63] fix title detection --- src/calibre/gui2/store/stores/publio_plugin.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/store/stores/publio_plugin.py b/src/calibre/gui2/store/stores/publio_plugin.py index c732d2b9ca..74eaf7bc7e 100644 --- a/src/calibre/gui2/store/stores/publio_plugin.py +++ b/src/calibre/gui2/store/stores/publio_plugin.py @@ -52,13 +52,11 @@ class PublioStore(BasicStoreConfig, StorePlugin): continue cover_url = ''.join(data.xpath('.//div[@class="img"]/a/img/@data-original')) - # TODO: fix highlight handling - title = ''.join(data.xpath('.//div[@class="desc"]/h4/a/text()')) - title2 = ''.join(data.xpath('.//div[@class="desc"]/h5/a/text()')) + title = ''.join(data.xpath('.//div[@class="img"]/a/@title')) + title2 = ''.join(data.xpath('.//div[@class="desc"]/h5//text()')) if title2: title = title + '. ' + title2 if (''.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[last()]/span/text()')).strip() == "Seria:"): - # TODO: fix highlight handling series = ''.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[last()]/a/@title')) title = title + ' (seria ' + series + ')' author = ', '.join(data.xpath('./div[@class="desc"]/div[@class="detailShortList"]/div[@class="row"][1]/a/@title')) From be79929eb31343d6510490a2226a2c5f5f3151d8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 08:24:10 +0530 Subject: [PATCH 37/63] ... --- resources/images/devices/itunes.png | Bin 25638 -> 24190 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/images/devices/itunes.png b/resources/images/devices/itunes.png index cc0493d9eb7f5cd2216323fec6a9b1523b57917d..d83595d691d96d1c3488b13c5b688bcfca7a4824 100644 GIT binary patch literal 24190 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 literal 25638 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%0A^7GlpqpU3D^5tE+mp0MnyiEwrLO|!9o~^w3 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 RrR4ws002ovPDHLkV1gY^W$XX| From 4a1a7a778be97803ec7a1e2c7d9cd76118463052 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 08:35:08 +0530 Subject: [PATCH 38/63] version 0.9.8 --- Changelog.yaml | 50 ++++++++++++++++++++++++++++++++++++++++ src/calibre/constants.py | 2 +- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/Changelog.yaml b/Changelog.yaml index 129af0afd5..7b04ebd35d 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -19,6 +19,56 @@ # new recipes: # - title: +- version: 0.9.8 + date: 2012-11-30 + + new features: + - title: "Add an option to show the cover size in the book details panel on the right. Option is in Preferences->Look & Feel->Book Details" + + - title: "Kobo driver: Add support for firmware 2.2. Also add an option to send series information to the device." + description: "The newest Kobo firmware can display series information. Unfortunately, the Kobo does not read this information from the ebook file itself. It has to be sent separately after the Kobo has finished processing the new files. So you might have to connect - send books - disconnect and then re-connect for the series infor to show up. Fixes #1084388 (Add support for series on Kobo devices)" + + - title: "Catalogs: Allow using custom columns as the source for Genres when generating catalogs" + + - title: "When the user asks calibre to convert a book, show a small animation to make highlight that the convert job has been queued to run in the background" + + - title: "Add support for the notification center in OS X 10.8" + + - title: "calibredb: Add an option to specify the cover to use when adding books with calibredb add." + tickets: [1083932] + + - title: "EPUB Input: Add support for EPUB files with broken central directory records *and* data descriptors" + + - title: "Comic metadata: Support reading metadata from cbr files. Also read the comments and published date info from the metadata." + tickets: [1082340] + + - title: "Speed up processing of RAR and CBR files by avoiding an extra file copy" + + - title: "Add driver for Nexus 10 on linux." + tickets: [1082563] + + bug fixes: + - title: "KF8 Input: Handle invalid KF8 files with links pointing to non-existent locations and incorrect values in the div table." + tickets: [1082669] + + - title: "Viewer: Fix handling of empty self closing tags." + tickets: [1083278] + + - title: "Fix use of {formats} in save to disk templates. Fix some formatter functions causing plugboards to not validate." + + - title: "Fix calibre quitting when minimized to system tray and an update available message is shown and then closed." + tickets: [1082630] + + - title: "Viewer: Fix vertical margin at the top of the first page of a chapter incorrect in a certain rare circumstance (first child of body being an empty paragraph)." + tickets: [1082640] + + - title: "E-book viewer: Fix bug that caused the default language for hyphenation to be ignored for books that do not specify a language" + + improved recipes: + - Pro Physik + - Aachener Nachrichten + - Science News + - version: 0.9.7 date: 2012-11-23 diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 8cc2e6409d..bcbc0624fa 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -4,7 +4,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = u'calibre' -numeric_version = (0, 9, 7) +numeric_version = (0, 9, 8) __version__ = u'.'.join(map(unicode, numeric_version)) __author__ = u"Kovid Goyal <kovid@kovidgoyal.net>" From 9b11ce02e6139130d408c05e65e12385e2c132d2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 09:09:44 +0530 Subject: [PATCH 39/63] IGN:Tag release --- resources/compiled_coffeescript.zip | Bin 60149 -> 60149 bytes src/calibre/translations/calibre.pot | 1089 ++++++++++++++------------ 2 files changed, 568 insertions(+), 521 deletions(-) diff --git a/resources/compiled_coffeescript.zip b/resources/compiled_coffeescript.zip index 72ed709700d477b436218df4f01ac5ff9abfbd77..a2b20c7a69fa944f0e1e47556793481b3833e15f 100644 GIT binary patch delta 33 lcmex*mHF#cX5IjAW)=|!5ZK^Sw~_bC3uYj_`N<1GCIHC?3{e08 delta 33 lcmex*mHF#cX5IjAW)=|!5U?n!+Q@t51v8M|{N#lo69B<$3$*|M diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 6dcab70030..75288c51f9 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.9.7\n" -"POT-Creation-Date: 2012-11-23 08:37+IST\n" -"PO-Revision-Date: 2012-11-23 08:37+IST\n" +"Project-Id-Version: calibre 0.9.8\n" +"POT-Creation-Date: 2012-11-30 08:37+IST\n" +"PO-Revision-Date: 2012-11-30 08:37+IST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -131,14 +131,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:108 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:109 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:445 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:446 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:454 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:414 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:143 @@ -149,7 +149,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:822 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:825 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:380 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:208 @@ -168,7 +168,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:884 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:885 #: /home/kovid/work/calibre/src/calibre/library/cli.py:244 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 #: /home/kovid/work/calibre/src/calibre/library/database2.py:587 @@ -906,12 +906,12 @@ msgstr "" msgid "Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/debug.py:64 +#: /home/kovid/work/calibre/src/calibre/debug.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:47 msgid "Cause a running calibre instance, if any, to be shutdown. Note that if there are running jobs, they will be silently aborted, so use with care." msgstr "" -#: /home/kovid/work/calibre/src/calibre/debug.py:164 +#: /home/kovid/work/calibre/src/calibre/debug.py:172 msgid "Debug log" msgstr "" @@ -1005,15 +1005,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:502 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1117 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1163 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3247 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3289 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3262 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3304 #, python-format msgid "%(num)d of %(tot)d" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:510 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1168 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3296 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3311 #: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:110 msgid "finished" msgstr "" @@ -1031,7 +1031,7 @@ msgid "" "Click 'Show Details' for a list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2770 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2785 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471 @@ -1054,13 +1054,13 @@ msgstr "" msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2771 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2786 #: /home/kovid/work/calibre/src/calibre/library/database2.py:3342 #: /home/kovid/work/calibre/src/calibre/library/database2.py:3360 msgid "Catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3139 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3154 msgid "Communicate with iTunes." msgstr "" @@ -1100,10 +1100,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:128 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:348 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1317 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1321 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1325 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1662 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1329 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1333 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1683 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 @@ -1439,47 +1439,46 @@ msgid "Upload covers for books (newer readers)" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:70 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222 msgid "Normally, the KOBO readers get the cover image from the ebook file itself. With this option, calibre will send a separate cover image to the reader, useful if you have modified the cover." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:74 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 msgid "Upload Black and White Covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:75 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 msgid "Show expired books" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231 msgid "A bug in an earlier version left non kepubs book records in the database. With this option Calibre will show the expired records and allow you to delete them with the new delete logic." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:80 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 msgid "Show Previews" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:81 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236 msgid "Kobo previews are included on the Touch and some other versions by default they are no longer displayed as there is no good reason to see them. Enable if you wish to see/delete them." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:84 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1239 msgid "Show Recommendations" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:85 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1239 msgid "Kobo now shows recommendations on the device. In some case these have files but in other cases they are just pointers to the web site to buy. Enable if you wish to see/delete them." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1248 msgid "Attempt to support newer firmware" msgstr "" @@ -1526,51 +1525,63 @@ msgstr "" msgid "<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br /><b>Chapter Progress:</b> %(chapter_progress)s%%<br /><b>Highlight:</b> %(text)s<br /><b>Notes:</b> %(annotation)s<br /><hr />" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1213 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1214 msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1215 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 msgid "Specify a tags type column for automatic management" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1216 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 msgid "Create Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1217 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 msgid "Create new bookshelves on the Kobo Touch if they do not exist. This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1219 msgid "Delete Empty Bookshelves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1219 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 msgid "Delete any empty bookshelves from the Kobo Touch when syncing is finished. This is only for firmware V2.0.0 or later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221 msgid "Upload covers for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 msgid "Always upload covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228 msgid "If the Upload covers option is selected, the driver will only replace covers already on the device. Select this option if you want covers uploaded the first time you send the book to the device." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240 +msgid "Kobo shows recommendations on the device. In some cases these have files but in other cases they are just pointers to the web site to buy. Enable if you wish to see/delete them." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243 -msgid "Kobo routinely updates the firmware and the database version. With this option Calibre will attempt to perform full read-write functionality - Here be Dragons!! Enable only if you are comfortable with restoring your kobo to factory defaults and testing software. This driver supports firmware V2.0.x and DBVersion up to " +msgid "Set Series information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244 +msgid "The book lists on the Kobo devices can display series information. This is not read by the device from the sideloaded books. Series information can only be added to the device after the book has been processed by the device. Enable if you wish to set series information." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249 +msgid "Kobo routinely updates the firmware and the database version. With this option Calibre will attempt to perform full read-write functionality - Here be Dragons!! Enable only if you are comfortable with restoring your kobo to factory defaults and testing software. This driver supports firmware V2.x.x and DBVersion up to " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255 msgid "Title to test when debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256 msgid "Part of title of a book that can be used when doing some tests for debugging. The test is to see if the string is contained in the title of a book. The better the match, the less extraneous output." msgstr "" @@ -3413,7 +3424,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:564 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:569 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585 msgid "Title" @@ -3445,10 +3456,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:775 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:321 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:842 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:943 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1188 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779 msgid "Tags" @@ -3462,8 +3489,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2224 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:303 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2266 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 msgid "Series" msgid_plural "Series" @@ -3793,7 +3820,7 @@ msgid "%s format books are not supported" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:967 #, python-format msgid "Book %(sidx)s of %(series)s" @@ -3853,154 +3880,154 @@ msgstr "" msgid "Table of Contents:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:120 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:122 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:124 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:126 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:128 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:130 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:132 msgid "Match tags by any or all." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:134 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:142 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:144 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:146 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:147 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:149 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 msgid "Delete news books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:153 msgid "Show the cover flow in a separate window instead of in the main calibre window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:155 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:157 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:162 msgid "Start searching as you type. If this is disabled then search will only take place when the Enter or Return key is pressed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:165 msgid "When searching, show all books with search results highlighted instead of showing only the matches. You can use the N or F3 keys to go to the next match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:190 msgid "Maximum number of simultaneous conversion/news download jobs. This number is twice the actual value for historical reasons." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:193 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:195 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:197 msgid "Automatically download the cover, if available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:199 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:201 msgid "The layout of the user interface. Wide has the book details panel on the right and narrow has it at the bottom." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:205 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:207 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:212 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:278 msgid "WARNING:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:288 msgid "ERROR:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:258 msgid "Show this confirmation again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:339 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "Restart needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:741 msgid "Restart calibre now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:572 msgid "Choose Files" msgstr "" @@ -4488,7 +4515,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:423 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:197 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1004 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:366 @@ -4549,16 +4576,16 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:637 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:136 #, python-format msgid "Starting conversion of %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:200 msgid "Empty output file, probably the conversion process crashed" msgstr "" @@ -5645,7 +5672,7 @@ msgid "This folder and its sub-folders will be scanned for books to import into msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:71 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:308 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:208 @@ -5653,7 +5680,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:82 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:584 @@ -5725,60 +5752,60 @@ msgstr "" msgid "Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:156 msgid "Click to open" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180 msgid "Ids" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:218 #, python-format msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1078 msgid "Collections" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:348 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:253 msgid "Paste Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:254 msgid "Copy Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:350 msgid "Remove Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:393 msgid "Double-click to open Book Details window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:394 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295 msgid "Path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109 #, python-format msgid "Cover size: %(width)d x %(height)d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481 #, python-format msgid "Delete the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482 #, python-format msgid "Save the %s format to disk" msgstr "" @@ -5832,7 +5859,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/convert/azw3_output_ui.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:103 @@ -5869,7 +5896,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion_ui.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:238 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:246 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:118 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113 @@ -5950,19 +5977,19 @@ msgid "Wishlist item" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:854 msgid "any date" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:794 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:852 msgid "any value" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:792 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:794 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:850 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:854 msgid "unspecified" msgstr "" @@ -5970,41 +5997,41 @@ msgstr "" msgid "No genres will be excluded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:202 #, python-format msgid "regex error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:211 msgid "All genres will be excluded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:697 #, python-format msgid "Are you sure you want to delete '%s'?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:699 #, python-format msgid "Are you sure you want to delete rules #%(first)d-%(last)d?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:700 msgid "Delete Rule" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:792 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:608 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4683 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:850 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4725 msgid "False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:792 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:850 msgid "True" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:817 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:966 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90 @@ -6012,167 +6039,171 @@ msgstr "" msgid "Name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:818 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:910 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:876 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:968 msgid "Field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:819 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:911 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:877 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:969 msgid "Value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:967 msgid "Prefix" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:290 msgid "Enabled sections will be included in the generated catalog." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:291 msgid "Included sections" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:292 msgid "&Authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:293 msgid "&Titles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:294 msgid "&Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:295 msgid "&Genres" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:296 +msgid "Field containing Genre information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:297 msgid "&Recently Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:298 msgid "&Descriptions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:299 msgid "The first matching prefix rule applies a prefix to book listings in the generated catalog." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:300 msgid "Prefixes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:301 msgid "Books matching any of the exclusion rules will be excluded from the generated catalog. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:302 msgid "Excluded books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:303 msgid "" "A regular expression describing genres to be excluded from the generated catalog. Genres are derived from the tags applied to your books.\n" "The default pattern \\[.+\\]|\\+ excludes tags of the form [tag], e.g., [Test book], and '+', the default tag for a read book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:305 msgid "Excluded genres" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:291 -msgid "Tags to &exclude (regex):" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:292 -msgid "Reset to default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:294 -msgid "Results of regex:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:295 -msgid "Tags that will be excluded as genres" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:296 -msgid "Other options" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:297 -msgid "Custom column containing additional content to be merged with Comments metadata." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:298 -msgid "Merge additional content before Comments metadata." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:299 -msgid "&Before" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:300 -msgid "Merge additional content after Comments metadata." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:301 -msgid "&After" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:302 -msgid "Separate Comments metadata and additional content with a horizontal rule." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:303 -msgid "Include &Separator" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:304 -msgid "&Merge with Comments:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:305 -msgid "Catalog cover:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:306 -msgid "Generate new cover" +msgid "Genres to &exclude (regex):" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:307 -msgid "Use existing cover" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:308 -msgid "E&xtra Description note:" +msgid "Reset to default" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:309 -msgid "Custom column source for text to include in Description section." +msgid "Results of regex:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:310 -msgid "&Thumb width:" +msgid "Tags that will be excluded as genres" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:311 -msgid "Size hint for cover thumbnails included in Descriptions section." +msgid "Other options" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:312 -msgid " inch" +msgid "Custom column containing additional content to be merged with Comments metadata." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:313 -msgid "Author cross-references:" +msgid "Merge additional content before Comments metadata." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:314 +msgid "&Before" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:315 +msgid "Merge additional content after Comments metadata." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:316 +msgid "&After" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:317 +msgid "Separate Comments metadata and additional content with a horizontal rule." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:318 +msgid "Include &Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:319 +msgid "&Merge with Comments:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:320 +msgid "Catalog cover:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:321 +msgid "Generate new cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:322 +msgid "Use existing cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:323 +msgid "E&xtra Description note:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:324 +msgid "Custom column source for text to include in Description section." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:325 +msgid "&Thumb width:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:326 +msgid "Size hint for cover thumbnails included in Descriptions section." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:327 +msgid " inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:328 +msgid "Author cross-references:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:329 msgid "For books with multiple authors, list each author separately" msgstr "" @@ -7775,8 +7806,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:713 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:787 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:233 @@ -8560,37 +8591,37 @@ msgstr "" msgid "%s is not an existing folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:79 msgid "Choose your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:80 msgid "Your calibre library is currently located at {0}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:81 msgid "New &Location:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:82 msgid "Use the previously &existing library at the new location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:83 msgid "&Create an empty library at the new location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:82 -msgid "&Copy structure from the current library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:84 msgid "" "Copy the custom columns, saved searches, column widths, plugboards,\n" "user categories, and other information from the old to the new library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:86 +msgid "&Copy structure from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:87 msgid "&Move current library to new location" msgstr "" @@ -8801,13 +8832,13 @@ msgid "Change Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:161 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:301 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:407 msgid "Upper Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:300 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:408 msgid "Lower Case" msgstr "" @@ -8818,13 +8849,13 @@ msgid "Swap Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:302 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:410 msgid "Title Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:165 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:303 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:411 msgid "Capitalize" msgstr "" @@ -8980,130 +9011,130 @@ msgstr "" msgid "Hide the remaining %d error messages" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:61 msgid "Title/Author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:62 msgid "Standard metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:939 msgid "Custom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:64 msgid "Search/Replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:83 msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:306 msgid "Character match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307 msgid "Regular Expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:310 msgid "Replace field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:311 msgid "Prepend to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:312 msgid "Append to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:321 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:322 #, python-format msgid "Editing meta information for <b>%d books</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:369 msgid "Immediately make all changes without closing the dialog. This operation cannot be canceled or undone" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:433 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:436 #, python-format msgid "Book %d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:454 msgid "Enter an identifier type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:460 msgid "<b>You can destroy your library using this feature.</b> Changes are permanent. There is no undo function. You are strongly encouraged to back up your library before proceeding.<p>Search and replace in text fields using character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:468 msgid "In character mode, the field is searched for the entered search text. The text is replaced by the specified replacement text everywhere it is found in the specified field. After replacement is finished, the text can be changed to upper-case, lower-case, or title-case. If the case-sensitive check box is checked, the search text must match exactly. If it is unchecked, the search text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:479 msgid "In regular expression mode, the search text is an arbitrary python-compatible regular expression. The replacement text can contain backreferences to parenthesized expressions in the pattern. The search is not anchored, and can match and replace multiple times on the same string. The modification functions (lower-case etc) are applied to the matched text, not to the field as a whole. The destination box specifies the field where the result after matching and replacement is to be assigned. You can replace the text in the field, or prepend or append the matched text. See <a href=\"http://docs.python.org/library/re.html\"> this reference</a> for more information on python's regular expressions, and in particular the 'sub' function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:558 msgid "S/R TEMPLATE ERROR" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:706 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:709 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:712 msgid "You must specify a destination identifier type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:933 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:936 msgid "Search/replace invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:937 #, python-format msgid "Search pattern is invalid: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:993 #, python-format msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1020 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1023 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:619 msgid "Delete saved search/replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1021 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1024 msgid "The selected saved search/replace will be deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1046 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1051 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1056 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1054 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1059 msgid "Save search/replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1047 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1050 msgid "Search/replace name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1052 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1055 msgid "You must provide a name." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1057 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1060 msgid "That saved search/replace already exists and will be overwritten. Are you sure?" msgstr "" @@ -9782,8 +9813,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:298 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1337 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:299 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1379 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 msgid "Authors" msgstr "" @@ -10343,12 +10374,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -11104,7 +11135,7 @@ msgid "Clear the font family" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306 msgid "Cover Browser" msgstr "" @@ -11113,7 +11144,7 @@ msgid "Shift+Alt+B" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:127 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301 msgid "Tag Browser" msgstr "" @@ -11137,7 +11168,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/init.py:226 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:276 msgid "Book Details" msgstr "" @@ -11648,7 +11679,7 @@ msgid "Bad database location %r. calibre will now quit." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:540 msgid "Corrupted database" msgstr "" @@ -11713,20 +11744,16 @@ msgstr "" msgid "Failed to shutdown running calibre instance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:25 -msgid "Redirect console output to a dialog window (both stdout and stderr). Useful on windows where GUI apps do not have a output streams." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:94 msgid "&Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:115 msgid "Unhandled exception" msgstr "" @@ -13161,143 +13188,143 @@ msgstr "" msgid "System default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:141 msgid "Off" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:141 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:142 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:142 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:145 msgid "Always" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:145 msgid "If there is enough room" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:557 msgid "By first letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:149 msgid "Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:150 msgid "Partitioned" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:183 msgid "Column coloring" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:189 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:247 msgid " or " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:247 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:240 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:248 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:249 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:250 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:251 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:252 msgid "Disable ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:253 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:254 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:255 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:256 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:257 msgid "Interface font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:258 msgid "Change &font (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:259 msgid "User interface &style (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:260 msgid "Show &tooltips in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:261 msgid "Main Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:262 msgid "Note that <b>comments</b> will always be displayed at the end, regardless of the position you assign here." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:263 msgid "Use &Roman numerals for series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:264 msgid "Select displayed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:265 msgid "Move up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:266 msgid "Move down" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:267 msgid "Default author link template:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:268 msgid "" "<p>Enter a template to be used to create a link for\n" "an author in the books information dialog. This template will\n" @@ -13306,11 +13333,19 @@ msgid "" "{author_sort}, and any template function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:273 msgid "Show &cover in the book details panel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:274 +msgid "Show the size of the book's cover in pixels" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:275 +msgid "Show cover &size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:277 msgid "" "A comma-separated list of categories in which items containing\n" "periods are displayed in the tag browser trees. For example, if\n" @@ -13320,11 +13355,11 @@ msgid "" "then the tags will be displayed each on their own line." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:283 msgid "Tags browser category &partitioning method:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:284 msgid "" "Choose how tag browser subcategories are displayed when\n" "there are more items than the limit. Select by first\n" @@ -13333,21 +13368,21 @@ msgid "" "if you never want subcategories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:289 msgid "&Collapse when more items than:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:290 msgid "" "If a Tag Browser category has more than this number of items, it is divided\n" "up into subcategories. If the partition method is set to disable, this value is ignored." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:292 msgid "Categories not to partition:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:293 msgid "" "A comma-separated list of categories that are not to\n" "be partitioned even if the number of items is larger than\n" @@ -13356,31 +13391,31 @@ msgid "" "a few top-level elements." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:298 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299 msgid "Categories with &hierarchical items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300 msgid "Use &alternating row colors in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304 msgid "When showing cover browser in separate window, show it &fullscreen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305 #, python-format msgid "You can press the %s keys to toggle full screen mode." msgstr "" @@ -14050,7 +14085,7 @@ msgid "Here you can control how calibre will save your books when you click the msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" @@ -15229,40 +15264,40 @@ msgstr "" msgid "The following books have already been converted to %s format. Do you wish to reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:205 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:241 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:246 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:250 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:263 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "You have started calibre in debug mode. After you quit calibre, the debug log will be available in the file: %s<p>The log will be displayed automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -15270,21 +15305,21 @@ msgid "" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 #, python-format msgid "The library database at %s appears to be corrupted. Do you want calibre to try and rebuild it automatically? The rebuild may not be completely successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:625 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:644 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:646 #, python-format msgid "<p><b>Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -15301,82 +15336,82 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:661 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:673 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:706 msgid "<b>Failed</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:738 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:739 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:741 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/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:745 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:815 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/update.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:79 #, python-format msgid "New version <b>%(ver)s</b> of %(app)s is available for download. See the <a href=\"http://calibre-ebook.com/whats-new\">new features</a>." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:85 msgid "Update available!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:90 msgid "Show this notification for future updates" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:95 msgid "&Get update" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:99 msgid "Update &plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:158 #, python-format msgid " (%d plugin updates)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:161 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:164 msgid "updated plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:191 -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:197 msgid "Plugin Updates" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:195 #, python-format msgid "There are %d plugin updates available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/update.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:199 msgid "Install and configure user plugins" msgstr "" @@ -16512,13 +16547,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/caches.py:177 #: /home/kovid/work/calibre/src/calibre/library/caches.py:615 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:228 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/caches.py:179 #: /home/kovid/work/calibre/src/calibre/library/caches.py:614 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:228 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229 msgid "no" msgstr "" @@ -16746,7 +16781,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:128 #, python-format msgid "" -"Custom field containing note text to insert in Description header.\n" +"Source field for Genres section.\n" "Default: '%default'\n" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" @@ -16754,6 +16789,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:135 #, python-format msgid "" +"Custom field containing note text to insert in Description header.\n" +"Default: '%default'\n" +"Applies to: AZW3, ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:142 +#, python-format +msgid "" "#<custom field>:[before|after]:[True|False] specifying:\n" " <custom field> Custom field containing notes to merge with Comments\n" " [before|after] Placement of notes with respect to Comments\n" @@ -16762,7 +16805,7 @@ msgid "" "Applies to AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:145 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:152 #, python-format msgid "" "Specifies the output profile. In some cases, an output profile is required to optimize the catalog for the device. For example, 'kindle' or 'kindle_dx' creates a structured Table of Contents with Sections and Articles.\n" @@ -16770,7 +16813,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:152 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:159 msgid "" "Specifies the rules used to include prefixes indicating read books, wishlist items and other user-specified prefixes.\n" "The model for a prefix rule is ('<rule name>','<source field>','<pattern>','<prefix>').\n" @@ -16778,7 +16821,7 @@ msgid "" "Default:\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:161 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:168 #, python-format msgid "" "Replace existing cover when generating the catalog.\n" @@ -16786,7 +16829,7 @@ msgid "" "Applies to: AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:168 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:175 #, python-format msgid "" "Size hint (in inches) for book covers in catalog.\n" @@ -16795,174 +16838,174 @@ msgid "" "Applies to AZW3, ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:279 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:286 msgid "" "\n" "*** Adding 'By Authors' Section required for MOBI output ***" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:55 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:56 msgid "Symbols" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:283 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:284 msgid "No genres to catalog.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:285 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:286 msgid "Check 'Excluded genres' regex in E-book options.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:287 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:288 msgid "No books available to catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:300 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2395 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:301 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2437 msgid "Titles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:304 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:305 msgid "Genres" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1698 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:307 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1740 msgid "Recently Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:308 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1897 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:309 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1939 msgid "Recently Read" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:310 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:311 msgid "Descriptions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:537 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:538 msgid "<p>Inconsistent Author Sort values for Author<br/>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:554 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:555 msgid "Warning: Inconsistent Author Sort values for Author '{!s}':\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:726 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:727 msgid "Sorting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:807 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:808 msgid "Sorting titles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:819 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:820 msgid "" "No books to catalog.\n" "Check 'Excluded books' rules in E-book options.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:821 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:822 msgid "No books available to include in catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2020 msgid "Genres HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2375 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2417 msgid "Titles HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2572 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2574 -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2576 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2614 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2616 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2618 msgid "by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2713 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2755 msgid "Descriptions HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2717 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2759 msgid "Description HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2850 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2892 msgid "NCX header" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2929 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2971 msgid "NCX for Descriptions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3056 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3098 msgid "NCX for Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3138 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3180 #, python-format msgid "Series beginning with %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3140 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3182 #, python-format msgid "Series beginning with '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3184 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3226 msgid "NCX for Titles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3268 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3310 #, python-format msgid "Titles beginning with %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3270 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3312 #, python-format msgid "Titles beginning with '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3312 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3354 msgid "NCX for Authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3388 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3430 #, python-format msgid "Authors beginning with %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3390 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3432 #, python-format msgid "Authors beginning with '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3431 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3473 msgid "NCX for Recently Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3624 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3666 msgid "NCX for Recently Read" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3766 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3808 msgid "NCX for Genres" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3889 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:3931 msgid "Generating OPF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4269 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4311 msgid "Thumbnails" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4275 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4317 msgid "Thumbnail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4810 +#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:4852 msgid "Saving NCX" msgstr "" @@ -17050,7 +17093,7 @@ msgid "Filter the results by the search query. For the format of the search quer msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1244 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1249 msgid "The maximum width of a single line in the output. Defaults to detecting screen size." msgstr "" @@ -17070,16 +17113,16 @@ msgstr "" msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:283 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 msgid "The following books were not added as they already exist in the database (see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:303 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:311 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -17087,51 +17130,55 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:319 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 msgid "Assume that each directory has only a single logical book and that all files in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Add books to database even if they already exist. Comparison is done based on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:372 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +msgid "Path to the cover to use for the added book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:377 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:392 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:397 msgid "" "%prog remove ids\n" "\n" @@ -17139,26 +17186,26 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:407 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:412 msgid "You must specify at least one book to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:428 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:433 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book identified by id. You can get id by using the list command. If the format already exists, it is replaced.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:442 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:447 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:447 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:452 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:457 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:462 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -17166,11 +17213,11 @@ msgid "" "Remove the format fmt from the logical book identified by id. You can get id by using the list command. fmt should be a file extension like LRF or TXT or EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:478 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:492 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:497 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -17179,15 +17226,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:499 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:504 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:513 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:520 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:525 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -17199,37 +17246,37 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:533 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:538 msgid "The field to set. Format is field_name:value, for example: {0} tags:tag1,tag2. Use {1} to get a list of all field names. You can specify this option multiple times to set multiple fields. Note: For languages you must use the ISO639 language codes (e.g. en for English, fr for French and so on). For identifiers, the syntax is {0} {2}. For boolean (yes/no) fields use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:543 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:548 msgid "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:564 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:569 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:585 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:591 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:593 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:598 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:603 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:608 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:633 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:638 msgid "" "%prog export [options] ids\n" "\n" @@ -17238,28 +17285,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:641 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:646 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:643 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:648 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:645 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:657 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:675 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:680 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:688 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:693 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -17268,11 +17315,11 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:702 msgid "This column stores tag like data (i.e. multiple comma separated values). Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:701 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 msgid "" "A dictionary of options to customize how the data in this column will be interpreted. This is a JSON string. For enumeration columns, use --display=\"{\\\"enum_values\\\":[\\\"val1\\\", \\\"val2\\\"]}\"\n" "There are many options that can go into the display variable.The options by column type are:\n" @@ -17285,11 +17332,11 @@ msgid "" "The best way to find legal combinations is to create a customcolumn of the appropriate type in the GUI then look at thebackup OPF for a book (ensure that a new OPF has been createdsince the column was added). You will see the JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:730 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:735 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:793 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:798 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -17299,29 +17346,29 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:806 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:811 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:810 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 msgid "" "Filter the results by the search query. For the format of the search query, please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:816 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:821 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:545 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:879 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:884 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -17333,15 +17380,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:889 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:894 msgid "If the column stores multiple values, append the specified values to the existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:900 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:905 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:920 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:925 msgid "" "\n" " %prog custom_columns [options]\n" @@ -17350,20 +17397,20 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:926 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:931 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:943 #, python-format msgid "You will lose all data in the column: %r. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:940 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:945 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:947 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -17373,15 +17420,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:954 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:959 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:969 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:975 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:980 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -17394,40 +17441,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:997 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1000 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1005 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1001 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1006 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1007 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1012 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1010 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1015 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1015 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1020 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1023 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1022 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1029 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -17439,45 +17486,45 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1040 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "Normally, this command only operates on books that have out of date OPF files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1079 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1084 msgid "" "%prog check_library [options]\n" "\n" "Perform some checks on the filesystem representing a library. Reports are {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1086 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1236 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1091 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1241 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1089 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1094 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1093 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1098 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1097 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1102 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1127 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1132 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1161 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1166 msgid "" "%prog restore_database [options]\n" "\n" @@ -17492,16 +17539,16 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1175 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1180 msgid "Really do the recovery. The command will not run unless this option is specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1193 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1225 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1230 msgid "" "%prog list_categories [options]\n" "\n" @@ -17509,29 +17556,29 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1233 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1238 msgid "Output only the number of items in a category instead of the counts per item within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1238 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1243 msgid "The character to put around the category value in CSV mode. Default is quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1241 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1246 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1247 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1252 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1290 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1358 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1363 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -17616,124 +17663,124 @@ msgstr "" msgid "Processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:33 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:34 msgid "The title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:34 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:35 msgid "The authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:35 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:36 msgid "The author sort string. To use only the first letter of the name use {author_sort[0]}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:37 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:38 msgid "The tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:38 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:39 msgid "The series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:39 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:40 msgid "The series number. To get leading zeros use {series_index:0>3s} or {series_index:>3s} for leading spaces" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:42 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:43 msgid "The rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:43 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:44 msgid "The ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:44 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:45 msgid "The publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:45 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:46 msgid "The date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:46 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:47 msgid "The published date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:47 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:48 msgid "The date when the metadata for this book record was last modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:49 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:50 msgid "The calibre internal id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:77 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:78 msgid "Options to control saving to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:83 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:84 msgid "Normally, calibre will update the metadata in the saved files from what is in the calibre library. Makes saving to disk slower." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:86 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:87 msgid "Normally, calibre will write the metadata into a separate OPF file along with the actual e-book files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:89 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:90 msgid "Normally, calibre will save the cover in a separate file along with the actual e-book file(s)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:92 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:93 msgid "Comma separated list of formats to save for each book. By default all available formats are saved." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:95 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:96 #, python-format msgid "The template to control the filename and directory structure of the saved files. Default is \"%(templ)s\" which will save books into a per-author subdirectory with filenames containing title and author. Available controls are: {%(controls)s}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:101 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:102 #, python-format msgid "The template to control the filename and directory structure of files sent to the device. Default is \"%(templ)s\" which will save books into a per-author directory with filenames containing title and author. Available controls are: {%(controls)s}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:108 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:109 msgid "Normally, calibre will convert all non English characters into English equivalents for the file names. WARNING: If you turn this off, you may experience errors when saving, depending on how well the filesystem you are saving to supports unicode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:114 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:118 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:115 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:119 #, python-format msgid "The format in which to display dates. %(day)s - day, %(month)s - month, %(mn)s - month number, %(year)s - year. Default is: %(default)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:122 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:123 msgid "Convert paths to lowercase." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:124 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:125 msgid "Replace whitespace with underscores." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:126 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:127 msgid "Save into a single directory, ignoring the template directory structure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:309 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:310 #, python-format msgid "" "Failed to calculate path for save to disk. Template: %(templ)s\n" "Error: %(err)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:315 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:316 #, python-format msgid "Template evaluation resulted in no path components. Template: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:407 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:440 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:408 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:441 msgid "Requested formats not available" msgstr "" @@ -17982,27 +18029,27 @@ msgstr "" msgid "Books sorted by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:34 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:38 msgid "Usage" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:85 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:89 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:86 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:90 msgid "Whenever you pass arguments to %prog that have spaces in them, enclose the arguments in quotation marks." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:94 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:98 msgid "Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:95 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:99 msgid "show this help message and exit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:96 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:100 msgid "show program's version number and exit" msgstr "" @@ -18139,7 +18186,7 @@ msgstr "" msgid "%s: unknown function" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:541 +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:543 msgid "No such variable " msgstr "" From ba83fb26f382e89e12f5f9a6659c1272565c1d27 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 11:04:40 +0530 Subject: [PATCH 40/63] ... --- Changelog.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Changelog.yaml b/Changelog.yaml index 7b04ebd35d..7dde319f65 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -30,7 +30,7 @@ - title: "Catalogs: Allow using custom columns as the source for Genres when generating catalogs" - - title: "When the user asks calibre to convert a book, show a small animation to make highlight that the convert job has been queued to run in the background" + - title: "When the user asks calibre to convert a book, show a small animation to highlight that the convert job has been queued to run in the background" - title: "Add support for the notification center in OS X 10.8" From c1dd30004ee08e3fc98b83a4678abb6122f47224 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 18:19:12 +0530 Subject: [PATCH 41/63] 64 bit windows msi builds, though it's still picking up the 32 bit paths for some reason. Sigh. --- setup/__init__.py | 2 + setup/commands.py | 5 +- setup/installer/windows/__init__.py | 34 +++++++++---- setup/installer/windows/freeze.py | 61 ++++++++++++++---------- setup/installer/windows/notes.rst | 6 +-- setup/installer/windows/wix-template.xml | 30 ++++++------ setup/installer/windows/wix.py | 42 ++++++++++------ 7 files changed, 110 insertions(+), 70 deletions(-) diff --git a/setup/__init__.py b/setup/__init__.py index 4a8d9870be..49b84dd074 100644 --- a/setup/__init__.py +++ b/setup/__init__.py @@ -215,6 +215,8 @@ class Command(object): sys.stdout.flush() def installer_name(ext, is64bit=False): + if is64bit and ext == 'msi': + return 'dist/%s-64bit-%s.msi'%(__appname__, __version__) if ext in ('exe', 'msi'): return 'dist/%s-%s.%s'%(__appname__, __version__, ext) if ext == 'dmg': diff --git a/setup/commands.py b/setup/commands.py index 4afb19b8a6..410b73d026 100644 --- a/setup/commands.py +++ b/setup/commands.py @@ -20,7 +20,7 @@ __all__ = [ 'upload_user_manual', 'upload_demo', 'reupload', 'linux32', 'linux64', 'linux', 'linux_freeze', 'osx32_freeze', 'osx', 'rsync', 'push', - 'win32_freeze', 'win32', 'win', + 'win32_freeze', 'win32', 'win64', 'win', 'stage1', 'stage2', 'stage3', 'stage4', 'stage5', 'publish' ] @@ -91,9 +91,10 @@ osx = OSX() from setup.installer.osx.app.main import OSX32_Freeze osx32_freeze = OSX32_Freeze() -from setup.installer.windows import Win, Win32 +from setup.installer.windows import Win, Win32, Win64 win = Win() win32 = Win32() +win64 = Win64() from setup.installer.windows.freeze import Win32Freeze win32_freeze = Win32Freeze() diff --git a/setup/installer/windows/__init__.py b/setup/installer/windows/__init__.py index 61149a9f26..f3c1c2d0cd 100644 --- a/setup/installer/windows/__init__.py +++ b/setup/installer/windows/__init__.py @@ -20,20 +20,21 @@ class Win(Command): def run(self, opts): pass - -class Win32(VMInstaller): - - description = 'Build 32bit windows binary installer' - - INSTALLER_EXT = 'exe' - VM_NAME = 'xp_build' - VM = '/vmware/bin/%s'%VM_NAME - VM_CHECK = 'calibre_windows_xp_home' +class WinBase(VMInstaller): FREEZE_COMMAND = 'win32_freeze' FREEZE_TEMPLATE = 'python -OO setup.py {freeze_command} --no-ice' INSTALLER_EXT = 'msi' SHUTDOWN_CMD = ['shutdown.exe', '-s', '-f', '-t', '0'] + +class Win32(WinBase): + + description = 'Build 32bit windows binary installer' + + VM_NAME = 'xp_build' + VM = '/vmware/bin/%s'%VM_NAME + VM_CHECK = 'calibre_windows_xp_home' + def sign_msi(self): print ('Signing installers ...') subprocess.check_call(['ssh', self.VM_NAME, '~/sign.sh'], shell=False) @@ -57,4 +58,19 @@ class Win32(VMInstaller): self.warn('Failed to get portable installer') raise SystemExit(1) +class Win64(WinBase): + + description = 'Build 64bit windows binary installer' + + VM_NAME = 'win64' + VM = '/vmware/bin/%s'%VM_NAME + VM_CHECK = 'win64' + IS_64_BIT = True + BUILD_PREFIX = WinBase.BUILD_PREFIX + [ + 'if [ -f "$HOME/.bash_profile" ] ; then', + ' source "$HOME/.bash_profile"', + 'fi', + ] + + diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 89ed778fd4..a19b05f326 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -25,6 +25,7 @@ LZMA = r'Q:\easylzma\build\easylzma-0.0.8' VERSION = re.sub('[a-z]\d+', '', __version__) WINVER = VERSION+'.0' +machine = 'X64' if is64bit else 'X86' DESCRIPTIONS = { 'calibre' : 'The main calibre program', @@ -132,6 +133,22 @@ class Win32Freeze(Command, WixMixIn): # used instead shutil.copy2(f, tgt) + def fix_pyd_bootstraps_in(self, crypto_dir): + for dirpath, dirnames, filenames in os.walk(crypto_dir): + for f in filenames: + name, ext = os.path.splitext(f) + if ext == '.pyd': + with open(self.j(dirpath, name+'.py')) as f: + raw = f.read().strip() + if (not raw.startswith('def __bootstrap__') or not + raw.endswith('__bootstrap__()')): + raise Exception('The file %r has non' + ' bootstrap code'%self.j(dirpath, f)) + for ext in ('.py', '.pyc', '.pyo'): + x = self.j(dirpath, name+ext) + if os.path.exists(x): + os.remove(x) + def freeze(self): shutil.copy2(self.j(self.src_root, 'LICENSE'), self.base) @@ -184,23 +201,11 @@ class Win32Freeze(Command, WixMixIn): shutil.copytree(self.j(comext, 'shell'), self.j(sp_dir, 'win32com', 'shell')) shutil.rmtree(comext) - # Fix PyCrypto, removing the bootstrap .py modules that load the .pyd - # modules, since they do not work when in a zip file - for crypto_dir in glob.glob(self.j(sp_dir, 'pycrypto-*', 'Crypto')): - for dirpath, dirnames, filenames in os.walk(crypto_dir): - for f in filenames: - name, ext = os.path.splitext(f) - if ext == '.pyd': - with open(self.j(dirpath, name+'.py')) as f: - raw = f.read().strip() - if (not raw.startswith('def __bootstrap__') or not - raw.endswith('__bootstrap__()')): - raise Exception('The PyCrypto file %r has non' - ' bootstrap code'%self.j(dirpath, f)) - for ext in ('.py', '.pyc', '.pyo'): - x = self.j(dirpath, name+ext) - if os.path.exists(x): - os.remove(x) + # Fix PyCrypto and Pillow, removing the bootstrap .py modules that load + # the .pyd modules, since they do not work when in a zip file + for crypto_dir in glob.glob(self.j(sp_dir, 'pycrypto-*', 'Crypto') + ) + glob.glob(self.j(sp_dir, 'Pillow-*')): + self.fix_pyd_bootstraps_in(crypto_dir) for pat in (r'PyQt4\uic\port_v3', ): x = glob.glob(self.j(self.lib_dir, 'site-packages', pat))[0] @@ -401,7 +406,7 @@ class Win32Freeze(Command, WixMixIn): exe = self.j('dist', 'calibre-portable-installer-%s.exe'%VERSION) if self.newer(exe, [obj, xobj]): self.info('Linking', exe) - cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:X86', + cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:'+machine, '/LIBPATH:'+self.obj_dir, '/SUBSYSTEM:WINDOWS', '/LIBPATH:'+(LZMA+r'\lib\Release'), '/RELEASE', '/MANIFEST', '/MANIFESTUAC:level="asInvoker" uiAccess="false"', @@ -458,7 +463,7 @@ class Win32Freeze(Command, WixMixIn): exe = self.j(base, 'calibre-portable.exe') if self.newer(exe, [obj]): self.info('Linking', exe) - cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:X86', + cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:'+machine, '/LIBPATH:'+self.obj_dir, '/SUBSYSTEM:WINDOWS', '/RELEASE', '/ENTRY:wWinMainCRTStartup', @@ -517,7 +522,7 @@ class Win32Freeze(Command, WixMixIn): ver = '.'.join(__version__.split('.')[:2]) if self.newer(dll, objects): cmd = [msvc.linker, '/DLL', '/INCREMENTAL:NO', '/VERSION:'+ver, - '/OUT:'+dll, '/nologo', '/MACHINE:X86'] + objects + \ + '/OUT:'+dll, '/nologo', '/MACHINE:'+machine] + objects + \ [self.embed_resources(dll), '/LIBPATH:C:/Python%s/libs'%self.py_ver, 'python%s.lib'%self.py_ver, @@ -547,7 +552,7 @@ class Win32Freeze(Command, WixMixIn): lib = dll.replace('.dll', '.lib') if self.newer(exe, [dest, lib, self.rc_template, __file__]): self.info('Linking', bname) - cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:X86', + cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:'+machine, '/LIBPATH:'+self.obj_dir, '/SUBSYSTEM:'+subsys, '/LIBPATH:C:/Python%s/libs'%self.py_ver, '/RELEASE', '/OUT:'+exe, self.embed_resources(exe), @@ -581,7 +586,8 @@ class Win32Freeze(Command, WixMixIn): sp = self.j(self.lib_dir, 'site-packages') # Special handling for PIL and pywin32 handled = set(['PIL.pth', 'pywin32.pth', 'PIL', 'win32']) - self.add_to_zipfile(zf, 'PIL', sp) + if not is64bit: + self.add_to_zipfile(zf, 'PIL', sp) base = self.j(sp, 'win32', 'lib') for x in os.listdir(base): if os.path.splitext(x)[1] not in ('.exe',): @@ -593,16 +599,17 @@ class Win32Freeze(Command, WixMixIn): self.add_to_zipfile(zf, x, base) handled.add('easy-install.pth') + # We dont want the site.py from site-packages + handled.add('site.pyo') + for d in self.get_pth_dirs(self.j(sp, 'easy-install.pth')): handled.add(self.b(d)) for x in os.listdir(d): - if x == 'EGG-INFO': + if x in {'EGG-INFO', 'site.py', 'site.pyc', 'site.pyo'}: continue self.add_to_zipfile(zf, x, d) # The rest of site-packages - # We dont want the site.py from site-packages - handled.add('site.pyo') for x in os.listdir(sp): if x in handled or x.endswith('.egg-info'): continue @@ -622,8 +629,10 @@ class Win32Freeze(Command, WixMixIn): line = line.strip() if not line or line.startswith('#') or line.startswith('import'): continue - candidate = self.j(base, line) + candidate = os.path.abspath(self.j(base, line)) if os.path.exists(candidate): + if not os.path.isdir(candidate): + raise ValueError('%s is not a directory'%candidate) yield candidate def add_to_zipfile(self, zf, name, base, exclude=frozenset()): diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index b78f4faacc..9110da8f4b 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -109,10 +109,8 @@ of mimetypes from the windows registry Python packages ------------------ -Install setuptools from http://pypi.python.org/pypi/setuptools If there are no -windows binaries already compiled for the version of python you are using then -download the source and run the following command in the folder where the -source has been unpacked:: +Install setuptools from http://pypi.python.org/pypi/setuptools. Use the source +tarball. Edit setup.py and set zip_safe=False. Then run:: python setup.py install diff --git a/setup/installer/windows/wix-template.xml b/setup/installer/windows/wix-template.xml index 46b5a07ead..f4596ca12f 100644 --- a/setup/installer/windows/wix-template.xml +++ b/setup/installer/windows/wix-template.xml @@ -2,13 +2,13 @@ <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" > - <Product Name='{app}' Id='*' UpgradeCode='{upgrade_code}' +<Product Name='{app}{x64}' Id='*' UpgradeCode='{upgrade_code}' Language='1033' Codepage='1252' Version='{version}' Manufacturer='Kovid Goyal'> <Package Id='*' Keywords='Installer' Description="{app} Installer" Comments='{app} is a registered trademark of Kovid Goyal' Manufacturer='Kovid Goyal' InstallerVersion='300' Languages='1033' Compressed='yes' - SummaryCodepage='1252' /> + SummaryCodepage='1252' /> <Media Id="1" Cabinet="{app}.cab" CompressionLevel="{compression}" EmbedCab="yes" /> <!-- The following line ensures that DLLs are replaced even if their version is the same as before. This @@ -33,15 +33,15 @@ <Property Id="APPLICATIONFOLDER"> <RegistrySearch Id='calibreInstDir' Type='raw' - Root='HKLM' Key="Software\{app}\Installer" Name="InstallPath" /> + Root='HKLM' Key="Software\{app}{x64}\Installer" Name="InstallPath" /> </Property> <Directory Id='TARGETDIR' Name='SourceDir'> - <Directory Id='ProgramFilesFolder' Name='PFiles'> + <Directory Id='{ProgramFilesFolder}' Name='PFiles'> <Directory Id='APPLICATIONFOLDER' Name='{app}' /> </Directory> <Directory Id="ProgramMenuFolder"> - <Directory Id="ApplicationProgramsFolder" Name="{app} - E-book Management"/> + <Directory Id="ApplicationProgramsFolder" Name="{app}{x64} - E-book Management"/> </Directory> <Directory Id="DesktopFolder" Name="Desktop"/> </Directory> @@ -50,24 +50,24 @@ {app_components} <Component Id="AddToPath" Guid="*"> <Environment Id='UpdatePath' Name='PATH' Action='set' System='yes' Part='last' Value='[APPLICATIONFOLDER]' /> - <RegistryValue Root="HKCU" Key="Software\Microsoft\{app}" Name="system_path_updated" Type="integer" Value="1" KeyPath="yes"/> + <RegistryValue Root="HKCU" Key="Software\Microsoft\{app}{x64}" Name="system_path_updated" Type="integer" Value="1" KeyPath="yes"/> </Component> <Component Id="RememberInstallDir" Guid="*"> - <RegistryValue Root="HKLM" Key="Software\{app}\Installer" Name="InstallPath" Type="string" Value="[APPLICATIONFOLDER]" KeyPath="yes"/> + <RegistryValue Root="HKLM" Key="Software\{app}{x64}\Installer" Name="InstallPath" Type="string" Value="[APPLICATIONFOLDER]" KeyPath="yes"/> </Component> </DirectoryRef> <DirectoryRef Id="ApplicationProgramsFolder"> <Component Id="StartMenuShortcuts" Guid="*"> - <Shortcut Id="s1" Name="{app} - E-book management" + <Shortcut Id="s1" Name="{app}{x64} - E-book management" Description="Manage your e-book collection and download news" Target="[#{exe_map[calibre]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" /> - <Shortcut Id="s2" Name="E-book viewer" + <Shortcut Id="s2" Name="E-book viewer{x64}" Description="Viewer for all the major e-book formats" Target="[#{exe_map[ebook-viewer]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" /> - <Shortcut Id="s3" Name="LRF viewer" + <Shortcut Id="s3" Name="LRF viewer{x64}" Description="Viewer for LRF format e-books" Target="[#{exe_map[lrfviewer]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" /> @@ -79,17 +79,17 @@ Target="http://calibre-ebook.com/get-involved"/> <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/> - <RegistryValue Root="HKCU" Key="Software\Microsoft\{app}" Name="start_menu_shortcuts_installed" Type="integer" Value="1" KeyPath="yes"/> + <RegistryValue Root="HKCU" Key="Software\Microsoft\{app}{x64}" Name="start_menu_shortcuts_installed" Type="integer" Value="1" KeyPath="yes"/> </Component> </DirectoryRef> <DirectoryRef Id="DesktopFolder"> <Component Id="DesktopShortcut" Guid="*"> - <Shortcut Id="ds1" Name="{app} - E-book management" + <Shortcut Id="ds1" Name="{app}{x64} - E-book management" Description="Manage your e-book collection and download news" Target="[#{exe_map[calibre]}]" WorkingDirectory="APPLICATIONROOTDIRECTORY" /> - <RegistryValue Root="HKCU" Key="Software\Microsoft\{app}" Name="desktop_shortcut_installed" Type="integer" Value="1" KeyPath="yes"/> + <RegistryValue Root="HKCU" Key="Software\Microsoft\{app}{x64}" Name="desktop_shortcut_installed" Type="integer" Value="1" KeyPath="yes"/> </Component> </DirectoryRef> @@ -124,8 +124,8 @@ <Property Id="ARPPRODUCTICON" Value="main_icon" /> <Condition - Message="This application is only supported on Windows XP SP3, or higher."> - <![CDATA[Installed OR (VersionNT >= 501)]]> + Message="This application is only supported on {minverhuman}, or higher."> + <![CDATA[Installed OR (VersionNT >= {minver})]]> </Condition> <InstallExecuteSequence> <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> diff --git a/setup/installer/windows/wix.py b/setup/installer/windows/wix.py index b43e14a711..4fe7ee4ef5 100644 --- a/setup/installer/windows/wix.py +++ b/setup/installer/windows/wix.py @@ -6,11 +6,20 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' -import os, shutil, subprocess +import os, shutil, subprocess, sys from setup import __appname__, __version__, basenames +from setup.build_environment import is64bit + +if is64bit: + WIXP = r'C:\Program Files (x86)\WiX Toolset v3.6' + UPGRADE_CODE = '5DD881FF-756B-4097-9D82-8C0F11D521EA' + MINVERHUMAN = 'Windows Vista' +else: + WIXP = r'C:\Program Files\Windows Installer XML v3.5' + UPGRADE_CODE = 'BEB2A80D-E902-4DAD-ADF9-8BD2DA42CFE1' + MINVERHUMAN = 'Windows XP SP3' -WIXP = r'C:\Program Files\Windows Installer XML v3.5' CANDLE = WIXP+r'\bin\candle.exe' LIGHT = WIXP+r'\bin\light.exe' @@ -27,15 +36,19 @@ class WixMixIn: components = self.get_components_from_files() wxs = template.format( - app = __appname__, - version = __version__, - upgrade_code = 'BEB2A80D-E902-4DAD-ADF9-8BD2DA42CFE1', - compression = self.opts.msi_compression, - app_components = components, - exe_map = self.smap, - main_icon = self.j(self.src_root, 'icons', 'library.ico'), - web_icon = self.j(self.src_root, 'icons', 'web.ico'), - ) + app = __appname__, + version = __version__, + upgrade_code = UPGRADE_CODE, + ProgramFilesFolder = 'ProgramFiles64Folder' if is64bit else 'ProgramFilesFolder', + x64 = ' 64bit' if is64bit else '', + minverhuman = MINVERHUMAN, + minver = '600' if is64bit else '501', + compression = self.opts.msi_compression, + app_components = components, + exe_map = self.smap, + main_icon = self.j(self.src_root, 'icons', 'library.ico'), + web_icon = self.j(self.src_root, 'icons', 'web.ico'), + ) template = open(self.j(self.d(__file__), 'en-us.xml'), 'rb').read() enus = template.format(app=__appname__) @@ -48,14 +61,15 @@ class WixMixIn: with open(enusf, 'wb') as f: f.write(enus) wixobj = self.j(self.installer_dir, __appname__+'.wixobj') - cmd = [CANDLE, '-nologo', '-ext', 'WiXUtilExtension', '-o', wixobj, wxsf] + arch = 'x64' if is64bit else 'x86' + cmd = [CANDLE, '-nologo', '-arch', arch, '-ext', 'WiXUtilExtension', '-o', wixobj, wxsf] self.info(*cmd) subprocess.check_call(cmd) self.installer = self.j(self.src_root, 'dist') if not os.path.exists(self.installer): os.makedirs(self.installer) - self.installer = self.j(self.installer, '%s-%s.msi' % (__appname__, - __version__)) + self.installer = self.j(self.installer, '%s%s-%s.msi' % (__appname__, + ('-64bit' if is64bit else ''), __version__)) license = self.j(self.src_root, 'LICENSE.rtf') banner = self.j(self.src_root, 'icons', 'wix-banner.bmp') dialog = self.j(self.src_root, 'icons', 'wix-dialog.bmp') From e1085ca0059721fc85463ffe32ef04f12d2800e9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 20:56:56 +0530 Subject: [PATCH 42/63] Another set of Nexus 10 USB ids. Fixes #1085073 (nexus 10 mtp not recognised) --- src/calibre/devices/mtp/unix/devices.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calibre/devices/mtp/unix/devices.c b/src/calibre/devices/mtp/unix/devices.c index 7024c5fd46..cfbce8c66c 100644 --- a/src/calibre/devices/mtp/unix/devices.c +++ b/src/calibre/devices/mtp/unix/devices.c @@ -16,6 +16,7 @@ const calibre_device_entry_t calibre_mtp_device_table[] = { // Nexus 10 , { "Google", 0x18d1, "Nexus 10", 0x4ee2, DEVICE_FLAGS_ANDROID_BUGS} + , { "Google", 0x18d1, "Nexus 10", 0x4ee1, DEVICE_FLAGS_ANDROID_BUGS} , { NULL, 0xffff, NULL, 0xffff, DEVICE_FLAG_NONE } }; From 629277a2f4c1c039d61ec756fc5b6ded82d690a5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 21:08:49 +0530 Subject: [PATCH 43/63] Fix WiX --- setup/installer/windows/wix-template.xml | 14 ++++++++++++++ setup/installer/windows/wix.py | 1 + 2 files changed, 15 insertions(+) diff --git a/setup/installer/windows/wix-template.xml b/setup/installer/windows/wix-template.xml index f4596ca12f..72ebcc78d0 100644 --- a/setup/installer/windows/wix-template.xml +++ b/setup/installer/windows/wix-template.xml @@ -127,12 +127,26 @@ Message="This application is only supported on {minverhuman}, or higher."> <![CDATA[Installed OR (VersionNT >= {minver})]]> </Condition> + <!-- On 64 bit installers there is a bug in WiX that causes the + WixSetDefaultPerMachineFolder action to incorrectly set + APPLICATIONFOLDER to the x86 value, so we override it. See + http://stackoverflow.com/questions/5479790/wix-how-to-override-c-program-files-x86-on-x64-machine-in-wixui-advanced-s + --> + <CustomAction + Id="OverwriteWixSetDefaultPerMachineFolder" + Property="WixPerMachineFolder" + Value="[APPLICATIONFOLDER]" + Execute="immediate" + /> + <InstallExecuteSequence> <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> + {fix_wix} <RemoveExistingProducts After="InstallFinalize" /> </InstallExecuteSequence> <InstallUISequence> <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> + {fix_wix} </InstallUISequence> <UI> diff --git a/setup/installer/windows/wix.py b/setup/installer/windows/wix.py index 4fe7ee4ef5..2665f635db 100644 --- a/setup/installer/windows/wix.py +++ b/setup/installer/windows/wix.py @@ -43,6 +43,7 @@ class WixMixIn: x64 = ' 64bit' if is64bit else '', minverhuman = MINVERHUMAN, minver = '600' if is64bit else '501', + fix_wix = '<Custom Action="OverwriteWixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />' if is64bit else '', compression = self.opts.msi_compression, app_components = components, exe_map = self.smap, From 5b3dfa2595f8b7b5afdfeabbccbc1f76b6d34073 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 23:17:13 +0530 Subject: [PATCH 44/63] Fix command line output on linux systems with incorrect LANG/LC_TYPE env vars. See #1085103 --- src/calibre/utils/terminal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/utils/terminal.py b/src/calibre/utils/terminal.py index b20c05f8ac..0736ba87d8 100644 --- a/src/calibre/utils/terminal.py +++ b/src/calibre/utils/terminal.py @@ -146,7 +146,7 @@ class ANSIStream(Detect): def __init__(self, stream=None): super(ANSIStream, self).__init__(stream) - self.encoding = getattr(self.stream, 'encoding', 'utf-8') + self.encoding = getattr(self.stream, 'encoding', 'utf-8') or 'utf-8' def write(self, text): if isinstance(text, type(u'')): From d375406b421048c41076af8101624fc3c6fecd3f Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Fri, 30 Nov 2012 23:22:21 +0530 Subject: [PATCH 45/63] ... --- src/calibre/devices/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/devices/__init__.py b/src/calibre/devices/__init__.py index 1de73be98c..ad719c8be8 100644 --- a/src/calibre/devices/__init__.py +++ b/src/calibre/devices/__init__.py @@ -182,7 +182,7 @@ def debug(ioreg_to_tmp=False, buf=None, plugins=None, out(ioreg) if hasattr(buf, 'getvalue'): - return buf.getvalue().decode('utf-8') + return buf.getvalue().decode('utf-8', 'replace') finally: sys.stdout = oldo sys.stderr = olde From e4cf16327ae16ae51d8a1ec3d1e812d013a07b78 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 07:53:36 +0530 Subject: [PATCH 46/63] ... --- setup/installer/windows/freeze.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index a19b05f326..594ab8baf9 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -504,9 +504,11 @@ class Win32Freeze(Command, WixMixIn): finally: os.chdir(cwd) - def build_launchers(self): + def build_launchers(self, debug=False): if not os.path.exists(self.obj_dir): os.makedirs(self.obj_dir) + dflags = (['/Zi'] if debug else []) + dlflags = (['/DEBUG'] if debug else ['/INCREMENTAL:NO']) base = self.j(self.src_root, 'setup', 'installer', 'windows') sources = [self.j(base, x) for x in ['util.c', 'MemoryModule.c']] headers = [self.j(base, x) for x in ['util.h', 'MemoryModule.h']] @@ -515,14 +517,14 @@ class Win32Freeze(Command, WixMixIn): cflags += ['/DPYDLL="python%s.dll"'%self.py_ver, '/IC:/Python%s/include'%self.py_ver] for src, obj in zip(sources, objects): if not self.newer(obj, headers+[src]): continue - cmd = [msvc.cc] + cflags + ['/Fo'+obj, '/Tc'+src] + cmd = [msvc.cc] + cflags + dflags + ['/Fo'+obj, '/Tc'+src] self.run_builder(cmd) dll = self.j(self.obj_dir, 'calibre-launcher.dll') ver = '.'.join(__version__.split('.')[:2]) if self.newer(dll, objects): - cmd = [msvc.linker, '/DLL', '/INCREMENTAL:NO', '/VERSION:'+ver, - '/OUT:'+dll, '/nologo', '/MACHINE:'+machine] + objects + \ + cmd = [msvc.linker, '/DLL', '/VERSION:'+ver, '/OUT:'+dll, + '/nologo', '/MACHINE:'+machine] + dlflags + objects + \ [self.embed_resources(dll), '/LIBPATH:C:/Python%s/libs'%self.py_ver, 'python%s.lib'%self.py_ver, @@ -546,16 +548,16 @@ class Win32Freeze(Command, WixMixIn): dest = self.j(self.obj_dir, bname+'.obj') if self.newer(dest, [src]+headers): self.info('Compiling', bname) - cmd = [msvc.cc] + xflags + ['/Tc'+src, '/Fo'+dest] + cmd = [msvc.cc] + xflags + dflags + ['/Tc'+src, '/Fo'+dest] self.run_builder(cmd) exe = self.j(self.base, bname+'.exe') lib = dll.replace('.dll', '.lib') if self.newer(exe, [dest, lib, self.rc_template, __file__]): self.info('Linking', bname) - cmd = [msvc.linker] + ['/INCREMENTAL:NO', '/MACHINE:'+machine, + cmd = [msvc.linker] + ['/MACHINE:'+machine, '/LIBPATH:'+self.obj_dir, '/SUBSYSTEM:'+subsys, '/LIBPATH:C:/Python%s/libs'%self.py_ver, '/RELEASE', - '/OUT:'+exe, self.embed_resources(exe), + '/OUT:'+exe] + dlflags + [self.embed_resources(exe), dest, lib] self.run_builder(cmd) From ed57ee77d6e6411cb2629f9767491b5908a13088 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 07:58:15 +0530 Subject: [PATCH 47/63] ... --- setup/installer/windows/freeze.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 594ab8baf9..b200d16170 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -575,7 +575,8 @@ class Win32Freeze(Command, WixMixIn): # sqlite_load_extension to work # For some reason unrar.pyd crashes when processing # password protected RAR files if loaded from inside - # pylib.zip + # pylib.zip. Probably because of this bug: + # https://github.com/fancycode/MemoryModule/issues/4 self.add_to_zipfile(zf, pyd, x) os.remove(self.j(x, pyd)) From c8398e295f271c29009017774903d76108429543 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 09:50:46 +0530 Subject: [PATCH 48/63] Do not put C extensions that use exceptions into the zip file as an exception will then cause a crash. Also update the memory dll loader tosupport 64 bit dlls --- setup/installer/windows/MemoryModule.c | 1177 ++++++++++-------------- setup/installer/windows/MemoryModule.h | 106 +-- setup/installer/windows/freeze.py | 33 +- setup/installer/windows/util.c | 18 +- 4 files changed, 559 insertions(+), 775 deletions(-) diff --git a/setup/installer/windows/MemoryModule.c b/setup/installer/windows/MemoryModule.c index 253c8d7d9f..9c0cd02b47 100644 --- a/setup/installer/windows/MemoryModule.c +++ b/setup/installer/windows/MemoryModule.c @@ -1,689 +1,488 @@ -/* - * Memory DLL loading code - * Version 0.0.2 with additions from Thomas Heller - * - * Copyright (c) 2004-2005 by Joachim Bauch / mail@joachim-bauch.de - * http://www.joachim-bauch.de - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is MemoryModule.c - * - * The Initial Developer of the Original Code is Joachim Bauch. - * - * Portions created by Joachim Bauch are Copyright (C) 2004-2005 - * Joachim Bauch. All Rights Reserved. - * - * Portions Copyright (C) 2005 Thomas Heller. - * - */ - -// disable warnings about pointer <-> DWORD conversions -#pragma warning( disable : 4311 4312 ) - -#include <Windows.h> -#include <winnt.h> -#if DEBUG_OUTPUT -#include <stdio.h> -#endif - -#ifndef IMAGE_SIZEOF_BASE_RELOCATION -// Vista SDKs no longer define IMAGE_SIZEOF_BASE_RELOCATION!? -# define IMAGE_SIZEOF_BASE_RELOCATION (sizeof(IMAGE_BASE_RELOCATION)) -#endif -#include "MemoryModule.h" - -/* - XXX We need to protect at least walking the 'loaded' linked list with a lock! -*/ - -/******************************************************************/ -FINDPROC findproc; -void *findproc_data = NULL; - -struct NAME_TABLE { - char *name; - DWORD ordinal; -}; - -typedef struct tagMEMORYMODULE { - PIMAGE_NT_HEADERS headers; - unsigned char *codeBase; - HMODULE *modules; - int numModules; - int initialized; - - struct NAME_TABLE *name_table; - - char *name; - int refcount; - struct tagMEMORYMODULE *next, *prev; -} MEMORYMODULE, *PMEMORYMODULE; - -typedef BOOL (WINAPI *DllEntryProc)(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved); - -#define GET_HEADER_DICTIONARY(module, idx) &(module)->headers->OptionalHeader.DataDirectory[idx] - -MEMORYMODULE *loaded; /* linked list of loaded memory modules */ - -/* private - insert a loaded library in a linked list */ -static void _Register(char *name, MEMORYMODULE *module) -{ - module->next = loaded; - if (loaded) - loaded->prev = module; - module->prev = NULL; - loaded = module; -} - -/* private - remove a loaded library from a linked list */ -static void _Unregister(MEMORYMODULE *module) -{ - free(module->name); - if (module->prev) - module->prev->next = module->next; - if (module->next) - module->next->prev = module->prev; - if (module == loaded) - loaded = module->next; -} - -/* public - replacement for GetModuleHandle() */ -HMODULE MyGetModuleHandle(LPCTSTR lpModuleName) -{ - MEMORYMODULE *p = loaded; - while (p) { - // If already loaded, only increment the reference count - if (0 == stricmp(lpModuleName, p->name)) { - return (HMODULE)p; - } - p = p->next; - } - return GetModuleHandle(lpModuleName); -} - -/* public - replacement for LoadLibrary, but searches FIRST for memory - libraries, then for normal libraries. So, it will load libraries AS memory - module if they are found by findproc(). -*/ -HMODULE MyLoadLibrary(char *lpFileName) -{ - MEMORYMODULE *p = loaded; - HMODULE hMod; - - while (p) { - // If already loaded, only increment the reference count - if (0 == stricmp(lpFileName, p->name)) { - p->refcount++; - return (HMODULE)p; - } - p = p->next; - } - if (findproc && findproc_data) { - void *pdata = findproc(lpFileName, findproc_data); - if (pdata) { - hMod = MemoryLoadLibrary(lpFileName, pdata); - free(p); - return hMod; - } - } - hMod = LoadLibrary(lpFileName); - return hMod; -} - -/* public - replacement for GetProcAddress() */ -FARPROC MyGetProcAddress(HMODULE hModule, LPCSTR lpProcName) -{ - MEMORYMODULE *p = loaded; - while (p) { - if ((HMODULE)p == hModule) - return MemoryGetProcAddress(p, lpProcName); - p = p->next; - } - return GetProcAddress(hModule, lpProcName); -} - -/* public - replacement for FreeLibrary() */ -BOOL MyFreeLibrary(HMODULE hModule) -{ - MEMORYMODULE *p = loaded; - while (p) { - if ((HMODULE)p == hModule) { - if (--p->refcount == 0) { - _Unregister(p); - MemoryFreeLibrary(p); - } - return TRUE; - } - p = p->next; - } - return FreeLibrary(hModule); -} - -#if DEBUG_OUTPUT -static void -OutputLastError(const char *msg) -{ - LPVOID tmp; - char *tmpmsg; - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&tmp, 0, NULL); - tmpmsg = (char *)LocalAlloc(LPTR, strlen(msg) + strlen(tmp) + 3); - sprintf(tmpmsg, "%s: %s", msg, tmp); - OutputDebugString(tmpmsg); - LocalFree(tmpmsg); - LocalFree(tmp); -} -#endif - -/* -static int dprintf(char *fmt, ...) -{ - char Buffer[4096]; - va_list marker; - int result; - - va_start(marker, fmt); - result = vsprintf(Buffer, fmt, marker); - OutputDebugString(Buffer); - return result; -} -*/ - -static void -CopySections(const unsigned char *data, PIMAGE_NT_HEADERS old_headers, PMEMORYMODULE module) -{ - int i, size; - unsigned char *codeBase = module->codeBase; - unsigned char *dest; - PIMAGE_SECTION_HEADER section = IMAGE_FIRST_SECTION(module->headers); - for (i=0; i<module->headers->FileHeader.NumberOfSections; i++, section++) - { - if (section->SizeOfRawData == 0) - { - // section doesn't contain data in the dll itself, but may define - // uninitialized data - size = old_headers->OptionalHeader.SectionAlignment; - if (size > 0) - { - dest = (unsigned char *)VirtualAlloc(codeBase + section->VirtualAddress, - size, - MEM_COMMIT, - PAGE_READWRITE); - - section->Misc.PhysicalAddress = (DWORD)dest; - memset(dest, 0, size); - } - - // section is empty - continue; - } - - // commit memory block and copy data from dll - dest = (unsigned char *)VirtualAlloc(codeBase + section->VirtualAddress, - section->SizeOfRawData, - MEM_COMMIT, - PAGE_READWRITE); - memcpy(dest, data + section->PointerToRawData, section->SizeOfRawData); - section->Misc.PhysicalAddress = (DWORD)dest; - } -} - -// Protection flags for memory pages (Executable, Readable, Writeable) -static int ProtectionFlags[2][2][2] = { - { - // not executable - {PAGE_NOACCESS, PAGE_WRITECOPY}, - {PAGE_READONLY, PAGE_READWRITE}, - }, { - // executable - {PAGE_EXECUTE, PAGE_EXECUTE_WRITECOPY}, - {PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE}, - }, -}; - -static void -FinalizeSections(PMEMORYMODULE module) -{ - int i; - PIMAGE_SECTION_HEADER section = IMAGE_FIRST_SECTION(module->headers); - - // loop through all sections and change access flags - for (i=0; i<module->headers->FileHeader.NumberOfSections; i++, section++) - { - DWORD protect, oldProtect, size; - int executable = (section->Characteristics & IMAGE_SCN_MEM_EXECUTE) != 0; - int readable = (section->Characteristics & IMAGE_SCN_MEM_READ) != 0; - int writeable = (section->Characteristics & IMAGE_SCN_MEM_WRITE) != 0; - - if (section->Characteristics & IMAGE_SCN_MEM_DISCARDABLE) - { - // section is not needed any more and can safely be freed - VirtualFree((LPVOID)section->Misc.PhysicalAddress, section->SizeOfRawData, MEM_DECOMMIT); - continue; - } - - // determine protection flags based on characteristics - protect = ProtectionFlags[executable][readable][writeable]; - if (section->Characteristics & IMAGE_SCN_MEM_NOT_CACHED) - protect |= PAGE_NOCACHE; - - // determine size of region - size = section->SizeOfRawData; - if (size == 0) - { - if (section->Characteristics & IMAGE_SCN_CNT_INITIALIZED_DATA) - size = module->headers->OptionalHeader.SizeOfInitializedData; - else if (section->Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA) - size = module->headers->OptionalHeader.SizeOfUninitializedData; - } - - if (size > 0) - { - // change memory access flags - if (VirtualProtect((LPVOID)section->Misc.PhysicalAddress, section->SizeOfRawData, protect, &oldProtect) == 0) -#if DEBUG_OUTPUT - OutputLastError("Error protecting memory page") -#endif - ; - } - } -} - -static void -PerformBaseRelocation(PMEMORYMODULE module, DWORD delta) -{ - DWORD i; - unsigned char *codeBase = module->codeBase; - - PIMAGE_DATA_DIRECTORY directory = GET_HEADER_DICTIONARY(module, IMAGE_DIRECTORY_ENTRY_BASERELOC); - if (directory->Size > 0) - { - PIMAGE_BASE_RELOCATION relocation = (PIMAGE_BASE_RELOCATION)(codeBase + directory->VirtualAddress); - for (; relocation->VirtualAddress > 0; ) - { - unsigned char *dest = (unsigned char *)(codeBase + relocation->VirtualAddress); - unsigned short *relInfo = (unsigned short *)((unsigned char *)relocation + IMAGE_SIZEOF_BASE_RELOCATION); - for (i=0; i<((relocation->SizeOfBlock-IMAGE_SIZEOF_BASE_RELOCATION) / 2); i++, relInfo++) - { - DWORD *patchAddrHL; - int type, offset; - - // the upper 4 bits define the type of relocation - type = *relInfo >> 12; - // the lower 12 bits define the offset - offset = *relInfo & 0xfff; - - switch (type) - { - case IMAGE_REL_BASED_ABSOLUTE: - // skip relocation - break; - - case IMAGE_REL_BASED_HIGHLOW: - // change complete 32 bit address - patchAddrHL = (DWORD *)(dest + offset); - *patchAddrHL += delta; - break; - - default: - //printf("Unknown relocation: %d\n", type); - break; - } - } - - // advance to next relocation block - relocation = (PIMAGE_BASE_RELOCATION)(((DWORD)relocation) + relocation->SizeOfBlock); - } - } -} - -static int -BuildImportTable(PMEMORYMODULE module) -{ - int result=1; - unsigned char *codeBase = module->codeBase; - - PIMAGE_DATA_DIRECTORY directory = GET_HEADER_DICTIONARY(module, IMAGE_DIRECTORY_ENTRY_IMPORT); - if (directory->Size > 0) - { - PIMAGE_IMPORT_DESCRIPTOR importDesc = (PIMAGE_IMPORT_DESCRIPTOR)(codeBase + directory->VirtualAddress); - for (; !IsBadReadPtr(importDesc, sizeof(IMAGE_IMPORT_DESCRIPTOR)) && importDesc->Name; importDesc++) - { - DWORD *thunkRef, *funcRef; - HMODULE handle; - - handle = MyLoadLibrary(codeBase + importDesc->Name); - if (handle == INVALID_HANDLE_VALUE) - { - //LastError should already be set -#if DEBUG_OUTPUT - OutputLastError("Can't load library"); -#endif - result = 0; - break; - } - - module->modules = (HMODULE *)realloc(module->modules, (module->numModules+1)*(sizeof(HMODULE))); - if (module->modules == NULL) - { - SetLastError(ERROR_NOT_ENOUGH_MEMORY); - result = 0; - break; - } - - module->modules[module->numModules++] = handle; - if (importDesc->OriginalFirstThunk) - { - thunkRef = (DWORD *)(codeBase + importDesc->OriginalFirstThunk); - funcRef = (DWORD *)(codeBase + importDesc->FirstThunk); - } else { - // no hint table - thunkRef = (DWORD *)(codeBase + importDesc->FirstThunk); - funcRef = (DWORD *)(codeBase + importDesc->FirstThunk); - } - for (; *thunkRef; thunkRef++, funcRef++) - { - if IMAGE_SNAP_BY_ORDINAL(*thunkRef) { - *funcRef = (DWORD)MyGetProcAddress(handle, (LPCSTR)IMAGE_ORDINAL(*thunkRef)); - } else { - PIMAGE_IMPORT_BY_NAME thunkData = (PIMAGE_IMPORT_BY_NAME)(codeBase + *thunkRef); - *funcRef = (DWORD)MyGetProcAddress(handle, (LPCSTR)&thunkData->Name); - } - if (*funcRef == 0) - { - SetLastError(ERROR_PROC_NOT_FOUND); - result = 0; - break; - } - } - - if (!result) - break; - } - } - - return result; -} - -/* - MemoryLoadLibrary - load a library AS MEMORY MODULE, or return - existing MEMORY MODULE with increased refcount. - - This allows to load a library AGAIN as memory module which is - already loaded as HMODULE! - -*/ -HMEMORYMODULE MemoryLoadLibrary(char *name, const void *data) -{ - PMEMORYMODULE result; - PIMAGE_DOS_HEADER dos_header; - PIMAGE_NT_HEADERS old_header; - unsigned char *code, *headers; - DWORD locationDelta; - DllEntryProc DllEntry; - BOOL successfull; - MEMORYMODULE *p = loaded; - - while (p) { - // If already loaded, only increment the reference count - if (0 == stricmp(name, p->name)) { - p->refcount++; - return (HMODULE)p; - } - p = p->next; - } - - /* Do NOT check for GetModuleHandle here! */ - - dos_header = (PIMAGE_DOS_HEADER)data; - if (dos_header->e_magic != IMAGE_DOS_SIGNATURE) - { - SetLastError(ERROR_BAD_FORMAT); -#if DEBUG_OUTPUT - OutputDebugString("Not a valid executable file.\n"); -#endif - return NULL; - } - - old_header = (PIMAGE_NT_HEADERS)&((const unsigned char *)(data))[dos_header->e_lfanew]; - if (old_header->Signature != IMAGE_NT_SIGNATURE) - { - SetLastError(ERROR_BAD_FORMAT); -#if DEBUG_OUTPUT - OutputDebugString("No PE header found.\n"); -#endif - return NULL; - } - - // reserve memory for image of library - code = (unsigned char *)VirtualAlloc((LPVOID)(old_header->OptionalHeader.ImageBase), - old_header->OptionalHeader.SizeOfImage, - MEM_RESERVE, - PAGE_READWRITE); - - if (code == NULL) - // try to allocate memory at arbitrary position - code = (unsigned char *)VirtualAlloc(NULL, - old_header->OptionalHeader.SizeOfImage, - MEM_RESERVE, - PAGE_READWRITE); - - if (code == NULL) - { - SetLastError(ERROR_NOT_ENOUGH_MEMORY); -#if DEBUG_OUTPUT - OutputLastError("Can't reserve memory"); -#endif - return NULL; - } - - result = (PMEMORYMODULE)HeapAlloc(GetProcessHeap(), 0, sizeof(MEMORYMODULE)); - result->codeBase = code; - result->numModules = 0; - result->modules = NULL; - result->initialized = 0; - result->next = result->prev = NULL; - result->refcount = 1; - result->name = strdup(name); - result->name_table = NULL; - - // XXX: is it correct to commit the complete memory region at once? - // calling DllEntry raises an exception if we don't... - VirtualAlloc(code, - old_header->OptionalHeader.SizeOfImage, - MEM_COMMIT, - PAGE_READWRITE); - - // commit memory for headers - headers = (unsigned char *)VirtualAlloc(code, - old_header->OptionalHeader.SizeOfHeaders, - MEM_COMMIT, - PAGE_READWRITE); - - // copy PE header to code - memcpy(headers, dos_header, dos_header->e_lfanew + old_header->OptionalHeader.SizeOfHeaders); - result->headers = (PIMAGE_NT_HEADERS)&((const unsigned char *)(headers))[dos_header->e_lfanew]; - - // update position - result->headers->OptionalHeader.ImageBase = (DWORD)code; - - // copy sections from DLL file block to new memory location - CopySections(data, old_header, result); - - // adjust base address of imported data - locationDelta = (DWORD)(code - old_header->OptionalHeader.ImageBase); - if (locationDelta != 0) - PerformBaseRelocation(result, locationDelta); - - // load required dlls and adjust function table of imports - if (!BuildImportTable(result)) - goto error; - - // mark memory pages depending on section headers and release - // sections that are marked as "discardable" - FinalizeSections(result); - - // get entry point of loaded library - if (result->headers->OptionalHeader.AddressOfEntryPoint != 0) - { - DllEntry = (DllEntryProc)(code + result->headers->OptionalHeader.AddressOfEntryPoint); - if (DllEntry == 0) - { - SetLastError(ERROR_BAD_FORMAT); /* XXX ? */ -#if DEBUG_OUTPUT - OutputDebugString("Library has no entry point.\n"); -#endif - goto error; - } - - // notify library about attaching to process - successfull = (*DllEntry)((HINSTANCE)code, DLL_PROCESS_ATTACH, 0); - if (!successfull) - { -#if DEBUG_OUTPUT - OutputDebugString("Can't attach library.\n"); -#endif - goto error; - } - result->initialized = 1; - } - - _Register(name, result); - - return (HMEMORYMODULE)result; - -error: - // cleanup - free(result->name); - MemoryFreeLibrary(result); - return NULL; -} - -int _compare(const struct NAME_TABLE *p1, const struct NAME_TABLE *p2) -{ - return stricmp(p1->name, p2->name); -} - -int _find(const char **name, const struct NAME_TABLE *p) -{ - return stricmp(*name, p->name); -} - -struct NAME_TABLE *GetNameTable(PMEMORYMODULE module) -{ - unsigned char *codeBase; - PIMAGE_EXPORT_DIRECTORY exports; - PIMAGE_DATA_DIRECTORY directory; - DWORD i, *nameRef; - WORD *ordinal; - struct NAME_TABLE *p, *ptab; - - if (module->name_table) - return module->name_table; - - codeBase = module->codeBase; - directory = GET_HEADER_DICTIONARY(module, IMAGE_DIRECTORY_ENTRY_EXPORT); - exports = (PIMAGE_EXPORT_DIRECTORY)(codeBase + directory->VirtualAddress); - - nameRef = (DWORD *)(codeBase + exports->AddressOfNames); - ordinal = (WORD *)(codeBase + exports->AddressOfNameOrdinals); - - p = ((PMEMORYMODULE)module)->name_table = (struct NAME_TABLE *)malloc(sizeof(struct NAME_TABLE) - * exports->NumberOfNames); - if (p == NULL) - return NULL; - ptab = p; - for (i=0; i<exports->NumberOfNames; ++i) { - p->name = (char *)(codeBase + *nameRef++); - p->ordinal = *ordinal++; - ++p; - } - qsort(ptab, exports->NumberOfNames, sizeof(struct NAME_TABLE), _compare); - return ptab; -} - -FARPROC MemoryGetProcAddress(HMEMORYMODULE module, const char *name) -{ - unsigned char *codeBase = ((PMEMORYMODULE)module)->codeBase; - int idx=-1; - PIMAGE_EXPORT_DIRECTORY exports; - PIMAGE_DATA_DIRECTORY directory = GET_HEADER_DICTIONARY((PMEMORYMODULE)module, IMAGE_DIRECTORY_ENTRY_EXPORT); - - if (directory->Size == 0) - // no export table found - return NULL; - - exports = (PIMAGE_EXPORT_DIRECTORY)(codeBase + directory->VirtualAddress); - if (exports->NumberOfNames == 0 || exports->NumberOfFunctions == 0) - // DLL doesn't export anything - return NULL; - - if (HIWORD(name)) { - struct NAME_TABLE *ptab; - struct NAME_TABLE *found; - ptab = GetNameTable((PMEMORYMODULE)module); - if (ptab == NULL) - // some failure - return NULL; - found = bsearch(&name, ptab, exports->NumberOfNames, sizeof(struct NAME_TABLE), _find); - if (found == NULL) - // exported symbol not found - return NULL; - - idx = found->ordinal; - } - else - idx = LOWORD(name) - exports->Base; - - if ((DWORD)idx > exports->NumberOfFunctions) - // name <-> ordinal number don't match - return NULL; - - // AddressOfFunctions contains the RVAs to the "real" functions - return (FARPROC)(codeBase + *(DWORD *)(codeBase + exports->AddressOfFunctions + (idx*4))); -} - -void MemoryFreeLibrary(HMEMORYMODULE mod) -{ - int i; - PMEMORYMODULE module = (PMEMORYMODULE)mod; - - if (module != NULL) - { - if (module->initialized != 0) - { - // notify library about detaching from process - DllEntryProc DllEntry = (DllEntryProc)(module->codeBase + module->headers->OptionalHeader.AddressOfEntryPoint); - (*DllEntry)((HINSTANCE)module->codeBase, DLL_PROCESS_DETACH, 0); - module->initialized = 0; - } - - if (module->modules != NULL) - { - // free previously opened libraries - for (i=0; i<module->numModules; i++) - if (module->modules[i] != INVALID_HANDLE_VALUE) - MyFreeLibrary(module->modules[i]); - - free(module->modules); - } - - if (module->codeBase != NULL) - // release memory of library - VirtualFree(module->codeBase, 0, MEM_RELEASE); - - if (module->name_table != NULL) - free(module->name_table); - - HeapFree(GetProcessHeap(), 0, module); - } -} +/* + * Memory DLL loading code + * Version 0.0.3 + * + * Copyright (c) 2004-2012 by Joachim Bauch / mail@joachim-bauch.de + * http://www.joachim-bauch.de + * + * The contents of this file are subject to the Mozilla Public License Version + * 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is MemoryModule.c + * + * The Initial Developer of the Original Code is Joachim Bauch. + * + * Portions created by Joachim Bauch are Copyright (C) 2004-2012 + * Joachim Bauch. All Rights Reserved. + * + */ + +#ifndef __GNUC__ +// disable warnings about pointer <-> DWORD conversions +#pragma warning( disable : 4311 4312 ) +#endif + +#ifdef _WIN64 +#define POINTER_TYPE ULONGLONG +#else +#define POINTER_TYPE DWORD +#endif + +#include <Windows.h> +#include <winnt.h> +#ifdef DEBUG_OUTPUT +#include <stdio.h> +#endif + +#ifndef IMAGE_SIZEOF_BASE_RELOCATION +// Vista SDKs no longer define IMAGE_SIZEOF_BASE_RELOCATION!? +#define IMAGE_SIZEOF_BASE_RELOCATION (sizeof(IMAGE_BASE_RELOCATION)) +#endif + +#include "MemoryModule.h" + +typedef struct { + PIMAGE_NT_HEADERS headers; + unsigned char *codeBase; + HMODULE *modules; + int numModules; + int initialized; +} MEMORYMODULE, *PMEMORYMODULE; + +typedef BOOL (WINAPI *DllEntryProc)(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved); + +#define GET_HEADER_DICTIONARY(module, idx) &(module)->headers->OptionalHeader.DataDirectory[idx] + +#ifdef DEBUG_OUTPUT +static void +OutputLastError(const char *msg) +{ + LPVOID tmp; + char *tmpmsg; + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&tmp, 0, NULL); + tmpmsg = (char *)LocalAlloc(LPTR, strlen(msg) + strlen(tmp) + 3); + sprintf(tmpmsg, "%s: %s", msg, tmp); + OutputDebugString(tmpmsg); + LocalFree(tmpmsg); + LocalFree(tmp); +} +#endif + +static void +CopySections(const unsigned char *data, PIMAGE_NT_HEADERS old_headers, PMEMORYMODULE module) +{ + int i, size; + unsigned char *codeBase = module->codeBase; + unsigned char *dest; + PIMAGE_SECTION_HEADER section = IMAGE_FIRST_SECTION(module->headers); + for (i=0; i<module->headers->FileHeader.NumberOfSections; i++, section++) { + if (section->SizeOfRawData == 0) { + // section doesn't contain data in the dll itself, but may define + // uninitialized data + size = old_headers->OptionalHeader.SectionAlignment; + if (size > 0) { + dest = (unsigned char *)VirtualAlloc(codeBase + section->VirtualAddress, + size, + MEM_COMMIT, + PAGE_READWRITE); + + section->Misc.PhysicalAddress = (POINTER_TYPE)dest; + memset(dest, 0, size); + } + + // section is empty + continue; + } + + // commit memory block and copy data from dll + dest = (unsigned char *)VirtualAlloc(codeBase + section->VirtualAddress, + section->SizeOfRawData, + MEM_COMMIT, + PAGE_READWRITE); + memcpy(dest, data + section->PointerToRawData, section->SizeOfRawData); + section->Misc.PhysicalAddress = (POINTER_TYPE)dest; + } +} + +// Protection flags for memory pages (Executable, Readable, Writeable) +static int ProtectionFlags[2][2][2] = { + { + // not executable + {PAGE_NOACCESS, PAGE_WRITECOPY}, + {PAGE_READONLY, PAGE_READWRITE}, + }, { + // executable + {PAGE_EXECUTE, PAGE_EXECUTE_WRITECOPY}, + {PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE}, + }, +}; + +static void +FinalizeSections(PMEMORYMODULE module) +{ + int i; + PIMAGE_SECTION_HEADER section = IMAGE_FIRST_SECTION(module->headers); +#ifdef _WIN64 + POINTER_TYPE imageOffset = (module->headers->OptionalHeader.ImageBase & 0xffffffff00000000); +#else + #define imageOffset 0 +#endif + + // loop through all sections and change access flags + for (i=0; i<module->headers->FileHeader.NumberOfSections; i++, section++) { + DWORD protect, oldProtect, size; + int executable = (section->Characteristics & IMAGE_SCN_MEM_EXECUTE) != 0; + int readable = (section->Characteristics & IMAGE_SCN_MEM_READ) != 0; + int writeable = (section->Characteristics & IMAGE_SCN_MEM_WRITE) != 0; + + if (section->Characteristics & IMAGE_SCN_MEM_DISCARDABLE) { + // section is not needed any more and can safely be freed + VirtualFree((LPVOID)((POINTER_TYPE)section->Misc.PhysicalAddress | imageOffset), section->SizeOfRawData, MEM_DECOMMIT); + continue; + } + + // determine protection flags based on characteristics + protect = ProtectionFlags[executable][readable][writeable]; + if (section->Characteristics & IMAGE_SCN_MEM_NOT_CACHED) { + protect |= PAGE_NOCACHE; + } + + // determine size of region + size = section->SizeOfRawData; + if (size == 0) { + if (section->Characteristics & IMAGE_SCN_CNT_INITIALIZED_DATA) { + size = module->headers->OptionalHeader.SizeOfInitializedData; + } else if (section->Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA) { + size = module->headers->OptionalHeader.SizeOfUninitializedData; + } + } + + if (size > 0) { + // change memory access flags + if (VirtualProtect((LPVOID)((POINTER_TYPE)section->Misc.PhysicalAddress | imageOffset), size, protect, &oldProtect) == 0) +#ifdef DEBUG_OUTPUT + OutputLastError("Error protecting memory page") +#endif + ; + } + } +#ifndef _WIN64 +#undef imageOffset +#endif +} + +static void +PerformBaseRelocation(PMEMORYMODULE module, SIZE_T delta) +{ + DWORD i; + unsigned char *codeBase = module->codeBase; + + PIMAGE_DATA_DIRECTORY directory = GET_HEADER_DICTIONARY(module, IMAGE_DIRECTORY_ENTRY_BASERELOC); + if (directory->Size > 0) { + PIMAGE_BASE_RELOCATION relocation = (PIMAGE_BASE_RELOCATION) (codeBase + directory->VirtualAddress); + for (; relocation->VirtualAddress > 0; ) { + unsigned char *dest = codeBase + relocation->VirtualAddress; + unsigned short *relInfo = (unsigned short *)((unsigned char *)relocation + IMAGE_SIZEOF_BASE_RELOCATION); + for (i=0; i<((relocation->SizeOfBlock-IMAGE_SIZEOF_BASE_RELOCATION) / 2); i++, relInfo++) { + DWORD *patchAddrHL; +#ifdef _WIN64 + ULONGLONG *patchAddr64; +#endif + int type, offset; + + // the upper 4 bits define the type of relocation + type = *relInfo >> 12; + // the lower 12 bits define the offset + offset = *relInfo & 0xfff; + + switch (type) + { + case IMAGE_REL_BASED_ABSOLUTE: + // skip relocation + break; + + case IMAGE_REL_BASED_HIGHLOW: + // change complete 32 bit address + patchAddrHL = (DWORD *) (dest + offset); + *patchAddrHL += delta; + break; + +#ifdef _WIN64 + case IMAGE_REL_BASED_DIR64: + patchAddr64 = (ULONGLONG *) (dest + offset); + *patchAddr64 += delta; + break; +#endif + + default: + //printf("Unknown relocation: %d\n", type); + break; + } + } + + // advance to next relocation block + relocation = (PIMAGE_BASE_RELOCATION) (((char *) relocation) + relocation->SizeOfBlock); + } + } +} + +static int +BuildImportTable(PMEMORYMODULE module) +{ + int result=1; + unsigned char *codeBase = module->codeBase; + + PIMAGE_DATA_DIRECTORY directory = GET_HEADER_DICTIONARY(module, IMAGE_DIRECTORY_ENTRY_IMPORT); + if (directory->Size > 0) { + PIMAGE_IMPORT_DESCRIPTOR importDesc = (PIMAGE_IMPORT_DESCRIPTOR) (codeBase + directory->VirtualAddress); + for (; !IsBadReadPtr(importDesc, sizeof(IMAGE_IMPORT_DESCRIPTOR)) && importDesc->Name; importDesc++) { + POINTER_TYPE *thunkRef; + FARPROC *funcRef; + HMODULE handle = LoadLibrary((LPCSTR) (codeBase + importDesc->Name)); + if (handle == NULL) { +#if DEBUG_OUTPUT + OutputLastError("Can't load library"); +#endif + result = 0; + break; + } + + module->modules = (HMODULE *)realloc(module->modules, (module->numModules+1)*(sizeof(HMODULE))); + if (module->modules == NULL) { + result = 0; + break; + } + + module->modules[module->numModules++] = handle; + if (importDesc->OriginalFirstThunk) { + thunkRef = (POINTER_TYPE *) (codeBase + importDesc->OriginalFirstThunk); + funcRef = (FARPROC *) (codeBase + importDesc->FirstThunk); + } else { + // no hint table + thunkRef = (POINTER_TYPE *) (codeBase + importDesc->FirstThunk); + funcRef = (FARPROC *) (codeBase + importDesc->FirstThunk); + } + for (; *thunkRef; thunkRef++, funcRef++) { + if (IMAGE_SNAP_BY_ORDINAL(*thunkRef)) { + *funcRef = (FARPROC)GetProcAddress(handle, (LPCSTR)IMAGE_ORDINAL(*thunkRef)); + } else { + PIMAGE_IMPORT_BY_NAME thunkData = (PIMAGE_IMPORT_BY_NAME) (codeBase + (*thunkRef)); + *funcRef = (FARPROC)GetProcAddress(handle, (LPCSTR)&thunkData->Name); + } + if (*funcRef == 0) { + result = 0; + break; + } + } + + if (!result) { + break; + } + } + } + + return result; +} + +HMEMORYMODULE MemoryLoadLibrary(const void *data) +{ + PMEMORYMODULE result; + PIMAGE_DOS_HEADER dos_header; + PIMAGE_NT_HEADERS old_header; + unsigned char *code, *headers; + SIZE_T locationDelta; + DllEntryProc DllEntry; + BOOL successfull; + + dos_header = (PIMAGE_DOS_HEADER)data; + if (dos_header->e_magic != IMAGE_DOS_SIGNATURE) { +#if DEBUG_OUTPUT + OutputDebugString("Not a valid executable file.\n"); +#endif + return NULL; + } + + old_header = (PIMAGE_NT_HEADERS)&((const unsigned char *)(data))[dos_header->e_lfanew]; + if (old_header->Signature != IMAGE_NT_SIGNATURE) { +#if DEBUG_OUTPUT + OutputDebugString("No PE header found.\n"); +#endif + return NULL; + } + + // reserve memory for image of library + code = (unsigned char *)VirtualAlloc((LPVOID)(old_header->OptionalHeader.ImageBase), + old_header->OptionalHeader.SizeOfImage, + MEM_RESERVE, + PAGE_READWRITE); + + if (code == NULL) { + // try to allocate memory at arbitrary position + code = (unsigned char *)VirtualAlloc(NULL, + old_header->OptionalHeader.SizeOfImage, + MEM_RESERVE, + PAGE_READWRITE); + if (code == NULL) { +#if DEBUG_OUTPUT + OutputLastError("Can't reserve memory"); +#endif + return NULL; + } + } + + result = (PMEMORYMODULE)HeapAlloc(GetProcessHeap(), 0, sizeof(MEMORYMODULE)); + result->codeBase = code; + result->numModules = 0; + result->modules = NULL; + result->initialized = 0; + + // XXX: is it correct to commit the complete memory region at once? + // calling DllEntry raises an exception if we don't... + VirtualAlloc(code, + old_header->OptionalHeader.SizeOfImage, + MEM_COMMIT, + PAGE_READWRITE); + + // commit memory for headers + headers = (unsigned char *)VirtualAlloc(code, + old_header->OptionalHeader.SizeOfHeaders, + MEM_COMMIT, + PAGE_READWRITE); + + // copy PE header to code + memcpy(headers, dos_header, dos_header->e_lfanew + old_header->OptionalHeader.SizeOfHeaders); + result->headers = (PIMAGE_NT_HEADERS)&((const unsigned char *)(headers))[dos_header->e_lfanew]; + + // update position + result->headers->OptionalHeader.ImageBase = (POINTER_TYPE)code; + + // copy sections from DLL file block to new memory location + CopySections(data, old_header, result); + + // adjust base address of imported data + locationDelta = (SIZE_T)(code - old_header->OptionalHeader.ImageBase); + if (locationDelta != 0) { + PerformBaseRelocation(result, locationDelta); + } + + // load required dlls and adjust function table of imports + if (!BuildImportTable(result)) { + goto error; + } + + // mark memory pages depending on section headers and release + // sections that are marked as "discardable" + FinalizeSections(result); + + // get entry point of loaded library + if (result->headers->OptionalHeader.AddressOfEntryPoint != 0) { + DllEntry = (DllEntryProc) (code + result->headers->OptionalHeader.AddressOfEntryPoint); + if (DllEntry == 0) { +#if DEBUG_OUTPUT + OutputDebugString("Library has no entry point.\n"); +#endif + goto error; + } + + // notify library about attaching to process + successfull = (*DllEntry)((HINSTANCE)code, DLL_PROCESS_ATTACH, 0); + if (!successfull) { +#if DEBUG_OUTPUT + OutputDebugString("Can't attach library.\n"); +#endif + goto error; + } + result->initialized = 1; + } + + return (HMEMORYMODULE)result; + +error: + // cleanup + MemoryFreeLibrary(result); + return NULL; +} + +FARPROC MemoryGetProcAddress(HMEMORYMODULE module, const char *name) +{ + unsigned char *codeBase = ((PMEMORYMODULE)module)->codeBase; + int idx=-1; + DWORD i, *nameRef; + WORD *ordinal; + PIMAGE_EXPORT_DIRECTORY exports; + PIMAGE_DATA_DIRECTORY directory = GET_HEADER_DICTIONARY((PMEMORYMODULE)module, IMAGE_DIRECTORY_ENTRY_EXPORT); + if (directory->Size == 0) { + // no export table found + return NULL; + } + + exports = (PIMAGE_EXPORT_DIRECTORY) (codeBase + directory->VirtualAddress); + if (exports->NumberOfNames == 0 || exports->NumberOfFunctions == 0) { + // DLL doesn't export anything + return NULL; + } + + // search function name in list of exported names + nameRef = (DWORD *) (codeBase + exports->AddressOfNames); + ordinal = (WORD *) (codeBase + exports->AddressOfNameOrdinals); + for (i=0; i<exports->NumberOfNames; i++, nameRef++, ordinal++) { + if (stricmp(name, (const char *) (codeBase + (*nameRef))) == 0) { + idx = *ordinal; + break; + } + } + + if (idx == -1) { + // exported symbol not found + return NULL; + } + + if ((DWORD)idx > exports->NumberOfFunctions) { + // name <-> ordinal number don't match + return NULL; + } + + // AddressOfFunctions contains the RVAs to the "real" functions + return (FARPROC) (codeBase + (*(DWORD *) (codeBase + exports->AddressOfFunctions + (idx*4)))); +} + +void MemoryFreeLibrary(HMEMORYMODULE mod) +{ + int i; + PMEMORYMODULE module = (PMEMORYMODULE)mod; + + if (module != NULL) { + if (module->initialized != 0) { + // notify library about detaching from process + DllEntryProc DllEntry = (DllEntryProc) (module->codeBase + module->headers->OptionalHeader.AddressOfEntryPoint); + (*DllEntry)((HINSTANCE)module->codeBase, DLL_PROCESS_DETACH, 0); + module->initialized = 0; + } + + if (module->modules != NULL) { + // free previously opened libraries + for (i=0; i<module->numModules; i++) { + if (module->modules[i] != INVALID_HANDLE_VALUE) { + FreeLibrary(module->modules[i]); + } + } + + free(module->modules); + } + + if (module->codeBase != NULL) { + // release memory of library + VirtualFree(module->codeBase, 0, MEM_RELEASE); + } + + HeapFree(GetProcessHeap(), 0, module); + } +} diff --git a/setup/installer/windows/MemoryModule.h b/setup/installer/windows/MemoryModule.h index 601d4c50df..1757c7ed98 100644 --- a/setup/installer/windows/MemoryModule.h +++ b/setup/installer/windows/MemoryModule.h @@ -1,58 +1,48 @@ -/* - * Memory DLL loading code - * Version 0.0.2 - * - * Copyright (c) 2004-2005 by Joachim Bauch / mail@joachim-bauch.de - * http://www.joachim-bauch.de - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is MemoryModule.h - * - * The Initial Developer of the Original Code is Joachim Bauch. - * - * Portions created by Joachim Bauch are Copyright (C) 2004-2005 - * Joachim Bauch. All Rights Reserved. - * - */ - -#ifndef __MEMORY_MODULE_HEADER -#define __MEMORY_MODULE_HEADER - -#include <Windows.h> - -typedef void *HMEMORYMODULE; - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void *(*FINDPROC)(); - -extern FINDPROC findproc; -extern void *findproc_data; - -HMEMORYMODULE MemoryLoadLibrary(char *, const void *); - -FARPROC MemoryGetProcAddress(HMEMORYMODULE, const char *); - -void MemoryFreeLibrary(HMEMORYMODULE); - -BOOL MyFreeLibrary(HMODULE hModule); -HMODULE MyLoadLibrary(char *lpFileName); -FARPROC MyGetProcAddress(HMODULE hModule, LPCSTR lpProcName); -HMODULE MyGetModuleHandle(LPCTSTR lpModuleName); - -#ifdef __cplusplus -} -#endif - -#endif // __MEMORY_MODULE_HEADER +/* + * Memory DLL loading code + * Version 0.0.3 + * + * Copyright (c) 2004-2012 by Joachim Bauch / mail@joachim-bauch.de + * http://www.joachim-bauch.de + * + * The contents of this file are subject to the Mozilla Public License Version + * 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is MemoryModule.h + * + * The Initial Developer of the Original Code is Joachim Bauch. + * + * Portions created by Joachim Bauch are Copyright (C) 2004-2012 + * Joachim Bauch. All Rights Reserved. + * + */ + +#ifndef __MEMORY_MODULE_HEADER +#define __MEMORY_MODULE_HEADER + +#include <Windows.h> + +typedef void *HMEMORYMODULE; + +#ifdef __cplusplus +extern "C" { +#endif + +HMEMORYMODULE MemoryLoadLibrary(const void *); + +FARPROC MemoryGetProcAddress(HMEMORYMODULE, const char *); + +void MemoryFreeLibrary(HMEMORYMODULE); + +#ifdef __cplusplus +} +#endif + +#endif // __MEMORY_MODULE_HEADER diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index b200d16170..a5551547f9 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -111,7 +111,7 @@ class Win32Freeze(Command, WixMixIn): self.info('Removing CRT dependency from manifest of: %s'%bn) # Blank out the bytes corresponding to the dependency specification nraw = repl_pat.sub(lambda m: b' '*len(m.group()), raw) - if len(nraw) != len(raw): + if len(nraw) != len(raw) or nraw == raw: raise Exception('Something went wrong with %s'%bn) with open(dll, 'wb') as f: f.write(nraw) @@ -133,12 +133,13 @@ class Win32Freeze(Command, WixMixIn): # used instead shutil.copy2(f, tgt) - def fix_pyd_bootstraps_in(self, crypto_dir): - for dirpath, dirnames, filenames in os.walk(crypto_dir): + def fix_pyd_bootstraps_in(self, folder): + for dirpath, dirnames, filenames in os.walk(folder): for f in filenames: name, ext = os.path.splitext(f) - if ext == '.pyd': - with open(self.j(dirpath, name+'.py')) as f: + bpy = self.j(dirpath, name + '.py') + if ext == '.pyd' and os.path.exists(bpy): + with open(bpy, 'rb') as f: raw = f.read().strip() if (not raw.startswith('def __bootstrap__') or not raw.endswith('__bootstrap__()')): @@ -203,9 +204,10 @@ class Win32Freeze(Command, WixMixIn): # Fix PyCrypto and Pillow, removing the bootstrap .py modules that load # the .pyd modules, since they do not work when in a zip file - for crypto_dir in glob.glob(self.j(sp_dir, 'pycrypto-*', 'Crypto') - ) + glob.glob(self.j(sp_dir, 'Pillow-*')): - self.fix_pyd_bootstraps_in(crypto_dir) + for folder in os.listdir(sp_dir): + folder = self.j(sp_dir, folder) + if os.path.isdir(folder): + self.fix_pyd_bootstraps_in(folder) for pat in (r'PyQt4\uic\port_v3', ): x = glob.glob(self.j(self.lib_dir, 'site-packages', pat))[0] @@ -570,13 +572,18 @@ class Win32Freeze(Command, WixMixIn): for x in (self.plugins_dir, self.dll_dir): for pyd in os.listdir(x): if pyd.endswith('.pyd') and pyd not in { - 'unrar.pyd', 'sqlite_custom.pyd', 'calibre_style.pyd'}: # sqlite_custom has to be a file for # sqlite_load_extension to work - # For some reason unrar.pyd crashes when processing - # password protected RAR files if loaded from inside - # pylib.zip. Probably because of this bug: - # https://github.com/fancycode/MemoryModule/issues/4 + 'sqlite_custom.pyd', + # calibre_style has to be loaded by Qt therefore it + # must be a file + 'calibre_style.pyd', + # Because of https://github.com/fancycode/MemoryModule/issues/4 + # any extensions that use C++ exceptions must be loaded + # from files + 'unrar.pyd', 'wpd.pyd', 'podofo.pyd', + 'progress_indicator.pyd', + }: self.add_to_zipfile(zf, pyd, x) os.remove(self.j(x, pyd)) diff --git a/setup/installer/windows/util.c b/setup/installer/windows/util.c index fefc98476b..9133d78cdf 100644 --- a/setup/installer/windows/util.c +++ b/setup/installer/windows/util.c @@ -63,17 +63,6 @@ static void* FindLibrary(char *name, PyObject *callback) return p; } -static PyObject *set_find_proc(PyObject *self, PyObject *args) -{ - PyObject *callback = NULL; - if (!PyArg_ParseTuple(args, "|O:set_find_proc", &callback)) - return NULL; - Py_DECREF((PyObject *)findproc_data); - Py_INCREF(callback); - findproc_data = (void *)callback; - return Py_BuildValue("i", 1); -} - static PyObject * import_module(PyObject *self, PyObject *args) { @@ -92,7 +81,7 @@ import_module(PyObject *self, PyObject *args) &data, &size, &initfuncname, &modname, &pathname)) return NULL; - hmem = MemoryLoadLibrary(pathname, data); + hmem = MemoryLoadLibrary(data); if (!hmem) { PyErr_Format(*DLL_ImportError, "MemoryLoadLibrary() failed loading %s", pathname); @@ -119,14 +108,14 @@ import_module(PyObject *self, PyObject *args) static PyMethodDef methods[] = { { "import_module", import_module, METH_VARARGS, "import_module(code, initfunc, dllname[, finder]) -> module" }, - { "set_find_proc", set_find_proc, METH_VARARGS }, { NULL, NULL }, /* Sentinel */ }; // }}} static int _show_error(const wchar_t *preamble, const wchar_t *msg, const int code) { - wchar_t *buf, *cbuf; + wchar_t *buf; + char *cbuf; buf = (wchar_t*)LocalAlloc(LMEM_ZEROINIT, sizeof(wchar_t)* (wcslen(msg) + wcslen(preamble) + 80)); @@ -372,7 +361,6 @@ void initialize_interpreter(wchar_t *outr, wchar_t *errr, } PySys_SetObject("argv", argv); - findproc = FindLibrary; Py_InitModule3("_memimporter", methods, module_doc); } From a61316891e520c0bb4a6e7d2fd44cb2cf8b6420f Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 10:07:56 +0530 Subject: [PATCH 49/63] Fix various compiler warnings --- setup/installer/windows/util.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/setup/installer/windows/util.c b/setup/installer/windows/util.c index 9133d78cdf..5ed6bbce69 100644 --- a/setup/installer/windows/util.c +++ b/setup/installer/windows/util.c @@ -16,6 +16,7 @@ static char python_dll[] = PYDLL; void set_gui_app(char yes) { GUI_APP = yes; } char is_gui_app() { return GUI_APP; } +int calibre_show_python_error(const wchar_t *preamble, int code); // memimporter {{{ @@ -131,7 +132,7 @@ static int _show_error(const wchar_t *preamble, const wchar_t *msg, const int co else { cbuf = (char*) calloc(10+(wcslen(buf)*4), sizeof(char)); if (cbuf) { - if (WideCharToMultiByte(CP_UTF8, 0, buf, -1, cbuf, 10+(wcslen(buf)*4), NULL, NULL) != 0) printf_s(cbuf); + if (WideCharToMultiByte(CP_UTF8, 0, buf, -1, cbuf, (int)(10+(wcslen(buf)*4)), NULL, NULL) != 0) printf_s(cbuf); free(cbuf); } } @@ -154,6 +155,7 @@ int show_last_error_crt(wchar_t *preamble) { int show_last_error(wchar_t *preamble) { wchar_t *msg = NULL; DWORD dw = GetLastError(); + int ret; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | @@ -162,10 +164,13 @@ int show_last_error(wchar_t *preamble) { NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - &msg, - 0, NULL ); + (LPWSTR)&msg, + 0, + NULL ); - return _show_error(preamble, msg, (int)dw); + ret = _show_error(preamble, msg, (int)dw); + if (msg != NULL) LocalFree(msg); + return ret; } char* get_app_dir() { @@ -243,10 +248,10 @@ void setup_stream(const char *name, const char *errors, UINT cp) { else if (cp == CP_UTF7) _snprintf_s(buf, 100, _TRUNCATE, "%s", "utf-7"); else _snprintf_s(buf, 100, _TRUNCATE, "cp%d", cp); - stream = PySys_GetObject(name); + stream = PySys_GetObject((char*)name); - if (!PyFile_SetEncodingAndErrors(stream, buf, errors)) - ExitProcess(calibre_show_python_error("Failed to set stream encoding", 1)); + if (!PyFile_SetEncodingAndErrors(stream, buf, (char*)errors)) + ExitProcess(calibre_show_python_error(L"Failed to set stream encoding", 1)); free(buf); From 6fe9f6e52144b32c4b2c510181aedef9689fa5c3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 10:19:05 +0530 Subject: [PATCH 50/63] Fix various 64bit compiler warnings --- setup/installer/windows/MemoryModule.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/setup/installer/windows/MemoryModule.c b/setup/installer/windows/MemoryModule.c index 9c0cd02b47..a0fdecb6d4 100644 --- a/setup/installer/windows/MemoryModule.c +++ b/setup/installer/windows/MemoryModule.c @@ -94,7 +94,7 @@ CopySections(const unsigned char *data, PIMAGE_NT_HEADERS old_headers, PMEMORYMO MEM_COMMIT, PAGE_READWRITE); - section->Misc.PhysicalAddress = (POINTER_TYPE)dest; + section->Misc.PhysicalAddress = (DWORD)dest; memset(dest, 0, size); } @@ -108,7 +108,7 @@ CopySections(const unsigned char *data, PIMAGE_NT_HEADERS old_headers, PMEMORYMO MEM_COMMIT, PAGE_READWRITE); memcpy(dest, data + section->PointerToRawData, section->SizeOfRawData); - section->Misc.PhysicalAddress = (POINTER_TYPE)dest; + section->Misc.PhysicalAddress = (DWORD)dest; } } @@ -212,7 +212,7 @@ PerformBaseRelocation(PMEMORYMODULE module, SIZE_T delta) case IMAGE_REL_BASED_HIGHLOW: // change complete 32 bit address patchAddrHL = (DWORD *) (dest + offset); - *patchAddrHL += delta; + *patchAddrHL += (DWORD)delta; break; #ifdef _WIN64 @@ -434,7 +434,7 @@ FARPROC MemoryGetProcAddress(HMEMORYMODULE module, const char *name) nameRef = (DWORD *) (codeBase + exports->AddressOfNames); ordinal = (WORD *) (codeBase + exports->AddressOfNameOrdinals); for (i=0; i<exports->NumberOfNames; i++, nameRef++, ordinal++) { - if (stricmp(name, (const char *) (codeBase + (*nameRef))) == 0) { + if (_stricmp(name, (const char *) (codeBase + (*nameRef))) == 0) { idx = *ordinal; break; } From a27ed8168dc2960af1dad303bdf54c9b29b54a3f Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 10:19:45 +0530 Subject: [PATCH 51/63] ... --- setup/installer/windows/freeze.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index a5551547f9..bd05fb06c9 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -374,7 +374,7 @@ class Win32Freeze(Command, WixMixIn): if not self.opts.keep_site: os.remove(y) - def run_builder(self, cmd): + def run_builder(self, cmd, show_output=False): p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) if p.wait() != 0: @@ -383,6 +383,9 @@ class Win32Freeze(Command, WixMixIn): self.info(p.stdout.read()) self.info(p.stderr.read()) sys.exit(1) + if show_output: + self.info(p.stdout.read()) + self.info(p.stderr.read()) def build_portable_installer(self): zf = self.a(self.j('dist', 'calibre-portable-%s.zip.lz'%VERSION)) @@ -520,7 +523,7 @@ class Win32Freeze(Command, WixMixIn): for src, obj in zip(sources, objects): if not self.newer(obj, headers+[src]): continue cmd = [msvc.cc] + cflags + dflags + ['/Fo'+obj, '/Tc'+src] - self.run_builder(cmd) + self.run_builder(cmd, show_output=True) dll = self.j(self.obj_dir, 'calibre-launcher.dll') ver = '.'.join(__version__.split('.')[:2]) @@ -532,7 +535,7 @@ class Win32Freeze(Command, WixMixIn): 'python%s.lib'%self.py_ver, '/delayload:python%s.dll'%self.py_ver] self.info('Linking calibre-launcher.dll') - self.run_builder(cmd) + self.run_builder(cmd, show_output=True) src = self.j(base, 'main.c') shutil.copy2(dll, self.base) From a7f66a433897c56e77eb0f97f6d48c62846a4746 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 14:43:27 +0530 Subject: [PATCH 52/63] ... --- src/calibre/utils/podofo/doc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/utils/podofo/doc.cpp b/src/calibre/utils/podofo/doc.cpp index 90bfc27921..8a2b4428dc 100644 --- a/src/calibre/utils/podofo/doc.cpp +++ b/src/calibre/utils/podofo/doc.cpp @@ -39,7 +39,7 @@ PDFDoc_load(PDFDoc *self, PyObject *args) { if (PyArg_ParseTuple(args, "s#", &buffer, &size)) { try { - self->doc->Load(buffer, size); + self->doc->Load(buffer, (long)size); } catch(const PdfError & err) { podofo_set_exception(err); return NULL; From bf46edf785ebead0bf0511cd54d87f0d455b3bf8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 15:20:27 +0530 Subject: [PATCH 53/63] KF8 Input: Ingore invalid flow references in the KF8 document instead of erroring out on them. See #1085306 --- src/calibre/ebooks/mobi/reader/markup.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/calibre/ebooks/mobi/reader/markup.py b/src/calibre/ebooks/mobi/reader/markup.py index 7c3f80fa51..9940af4fa4 100644 --- a/src/calibre/ebooks/mobi/reader/markup.py +++ b/src/calibre/ebooks/mobi/reader/markup.py @@ -203,7 +203,7 @@ def update_flow_links(mobi8_reader, resource_map, log): # All flows are now unicode and have links resolved return flows -def insert_flows_into_markup(parts, flows, mobi8_reader): +def insert_flows_into_markup(parts, flows, mobi8_reader, log): mr = mobi8_reader # kindle:flow:XXXX?mime=YYYY/ZZZ (used for style sheets, svg images, etc) @@ -219,12 +219,17 @@ def insert_flows_into_markup(parts, flows, mobi8_reader): if tag.startswith('<'): for m in flow_pattern.finditer(tag): num = int(m.group(1), 32) - fi = mr.flowinfo[num] - if fi.format == 'inline': - tag = flows[num] + try: + fi = mr.flowinfo[num] + except IndexError: + log.warn('Ignoring invalid flow reference: %s'%m.group()) + tag = '' else: - replacement = '"../' + fi.dir + '/' + fi.fname + '"' - tag = flow_pattern.sub(replacement, tag, 1) + if fi.format == 'inline': + tag = flows[num] + else: + replacement = '"../' + fi.dir + '/' + fi.fname + '"' + tag = flow_pattern.sub(replacement, tag, 1) srcpieces[j] = tag part = "".join(srcpieces) # store away modified version @@ -313,7 +318,7 @@ def expand_mobi8_markup(mobi8_reader, resource_map, log): flows = update_flow_links(mobi8_reader, resource_map, log) # Insert inline flows into the markup - insert_flows_into_markup(parts, flows, mobi8_reader) + insert_flows_into_markup(parts, flows, mobi8_reader, log) # Insert raster images into markup insert_images_into_markup(parts, resource_map, log) From 49bca5e19bf0cbdffa3d1b13371787782336f7e4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 16:42:41 +0530 Subject: [PATCH 54/63] Windows installer: Add some extra info to the registry --- setup/build_environment.py | 3 +-- setup/installer/windows/wix-template.xml | 8 ++++++-- setup/installer/windows/wix.py | 16 +++++++++++++++- src/calibre/constants.py | 2 +- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/setup/build_environment.py b/setup/build_environment.py index 22b94b2bd0..afb7c61920 100644 --- a/setup/build_environment.py +++ b/setup/build_environment.py @@ -11,12 +11,11 @@ from distutils.spawn import find_executable from PyQt4 import pyqtconfig -from setup import isosx, iswindows, islinux +from setup import isosx, iswindows, islinux, is64bit OSX_SDK = '/Developer/SDKs/MacOSX10.5.sdk' os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.5' -is64bit = sys.maxsize > 2**32 NMAKE = RC = msvc = MT = win_inc = win_lib = win_ddk = win_ddk_lib_dirs = None if iswindows: diff --git a/setup/installer/windows/wix-template.xml b/setup/installer/windows/wix-template.xml index 72ebcc78d0..ebe59e5bfc 100644 --- a/setup/installer/windows/wix-template.xml +++ b/setup/installer/windows/wix-template.xml @@ -31,6 +31,7 @@ </Upgrade> <CustomAction Id="PreventDowngrading" Error="Newer version already installed."/> + <Property Id="ApplicationFolderName" Value="{appfolder}" /> <Property Id="APPLICATIONFOLDER"> <RegistrySearch Id='calibreInstDir' Type='raw' Root='HKLM' Key="Software\{app}{x64}\Installer" Name="InstallPath" /> @@ -38,7 +39,7 @@ <Directory Id='TARGETDIR' Name='SourceDir'> <Directory Id='{ProgramFilesFolder}' Name='PFiles'> - <Directory Id='APPLICATIONFOLDER' Name='{app}' /> + <Directory Id='APPLICATIONFOLDER' Name="{appfolder}" /> </Directory> <Directory Id="ProgramMenuFolder"> <Directory Id="ApplicationProgramsFolder" Name="{app}{x64} - E-book Management"/> @@ -122,6 +123,10 @@ <!-- Add icon to entry in Add/Remove programs --> <Icon Id="main_icon" SourceFile="{main_icon}"/> <Property Id="ARPPRODUCTICON" Value="main_icon" /> + <Property Id="ARPURLINFOABOUT" Value="http://calibre-ebook.com" /> + <Property Id='ARPHELPLINK' Value="http://calibre-ebook.com/help" /> + <Property Id='ARPURLUPDATEINFO' Value="http://calibre-ebook.com/download_windows" /> + <SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]" After="CostFinalize" /> <Condition Message="This application is only supported on {minverhuman}, or higher."> @@ -166,7 +171,6 @@ (i.e. per user installs should work) but left this way as I dont want to deal with the complications --> - <Property Id="ApplicationFolderName" Value="Calibre2" /> <Property Id="WixAppFolder" Value="WixPerMachineFolder" /> <Property Id="ALLUSERS" Value="1" /> <WixVariable Id="WixUISupportPerUser" Value="0" /> diff --git a/setup/installer/windows/wix.py b/setup/installer/windows/wix.py index 2665f635db..e915bdfb23 100644 --- a/setup/installer/windows/wix.py +++ b/setup/installer/windows/wix.py @@ -37,6 +37,7 @@ class WixMixIn: components = self.get_components_from_files() wxs = template.format( app = __appname__, + appfolder = 'Calibre2', version = __version__, upgrade_code = UPGRADE_CODE, ProgramFilesFolder = 'ProgramFiles64Folder' if is64bit else 'ProgramFilesFolder', @@ -118,7 +119,20 @@ class WixMixIn: (fid, f, x, checksum), '</Component>' ] - components.append(''.join(c)) + if x.endswith('.exe'): + # Add the executable to app paths so that users can + # launch it from the run dialog even if it is not on + # the path. See http://msdn.microsoft.com/en-us/library/windows/desktop/ee872121(v=vs.85).aspx + c[-1:-1] = [ + ('<RegistryValue Root="HKLM" ' + 'Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App ' + 'Paths\%s" Value="[#file_%d]" Type="string" />'%(x, fid)), + ('<RegistryValue Root="HKLM" ' + 'Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App ' + 'Paths\{0}" Name="Path" Value="[APPLICATIONFOLDER]" ' + 'Type="string" />'.format(x)), + ] + components.append('\n'.join(c)) return components components = process_dir(os.path.abspath(self.base)) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index bcbc0624fa..164f37314a 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -28,7 +28,7 @@ isunix = isosx or islinux isportable = os.environ.get('CALIBRE_PORTABLE_BUILD', None) is not None ispy3 = sys.version_info.major > 2 isxp = iswindows and sys.getwindowsversion().major < 6 -is64bit = sys.maxint > (1 << 32) +is64bit = sys.maxsize > (1 << 32) isworker = os.environ.has_key('CALIBRE_WORKER') or os.environ.has_key('CALIBRE_SIMPLE_WORKER') if isworker: os.environ.pop('CALIBRE_FORCE_ANSI', None) From 583b5820c8daccfe55b57cde8357bf37e04595f0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sat, 1 Dec 2012 17:36:02 +0530 Subject: [PATCH 55/63] ... --- setup/installer/windows/wix.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/setup/installer/windows/wix.py b/setup/installer/windows/wix.py index e915bdfb23..c7f4ab3933 100644 --- a/setup/installer/windows/wix.py +++ b/setup/installer/windows/wix.py @@ -119,17 +119,17 @@ class WixMixIn: (fid, f, x, checksum), '</Component>' ] - if x.endswith('.exe'): + if x.endswith('.exe') and not x.startswith('pdf'): # Add the executable to app paths so that users can # launch it from the run dialog even if it is not on # the path. See http://msdn.microsoft.com/en-us/library/windows/desktop/ee872121(v=vs.85).aspx c[-1:-1] = [ ('<RegistryValue Root="HKLM" ' - 'Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App ' - 'Paths\%s" Value="[#file_%d]" Type="string" />'%(x, fid)), + r'Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App ' + r'Paths\%s" Value="[#file_%d]" Type="string" />'%(x, fid)), ('<RegistryValue Root="HKLM" ' - 'Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App ' - 'Paths\{0}" Name="Path" Value="[APPLICATIONFOLDER]" ' + r'Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App ' + r'Paths\{0}" Name="Path" Value="[APPLICATIONFOLDER]" ' 'Type="string" />'.format(x)), ] components.append('\n'.join(c)) @@ -143,4 +143,3 @@ class WixMixIn: return '\t\t\t\t'+'\n\t\t\t\t'.join(components) - From f7212f46cfcd935611cf40f4e24fd888e3d78373 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 2 Dec 2012 00:08:34 +0530 Subject: [PATCH 56/63] Fix broken 32 bit msi caused by name change. Also update version of wix used in the 32 bit build to 3.6 --- setup/installer/windows/wix-template.xml | 9 +++++++-- setup/installer/windows/wix.py | 24 +++++++++++++++++++----- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/setup/installer/windows/wix-template.xml b/setup/installer/windows/wix-template.xml index ebe59e5bfc..cd4a8c457a 100644 --- a/setup/installer/windows/wix-template.xml +++ b/setup/installer/windows/wix-template.xml @@ -29,9 +29,8 @@ Language="1033" Property="NEWPRODUCTFOUND"/> </Upgrade> - <CustomAction Id="PreventDowngrading" Error="Newer version already installed."/> + <CustomAction Id="PreventDowngrading" Error="Newer version of {app} already installed. If you want to downgrade you must uninstall {app} first."/> - <Property Id="ApplicationFolderName" Value="{appfolder}" /> <Property Id="APPLICATIONFOLDER"> <RegistrySearch Id='calibreInstDir' Type='raw' Root='HKLM' Key="Software\{app}{x64}\Installer" Name="InstallPath" /> @@ -39,6 +38,11 @@ <Directory Id='TARGETDIR' Name='SourceDir'> <Directory Id='{ProgramFilesFolder}' Name='PFiles'> + <!-- The name must be calibre on 32 bit to ensure + that the component guids dont change compared + to previous msis. However, on 64 bit it must + be Calibre2 otherwise by default it will + install to C:\Program Files\calibre --> <Directory Id='APPLICATIONFOLDER' Name="{appfolder}" /> </Directory> <Directory Id="ProgramMenuFolder"> @@ -171,6 +175,7 @@ (i.e. per user installs should work) but left this way as I dont want to deal with the complications --> + <Property Id="ApplicationFolderName" Value="Calibre2" /> <Property Id="WixAppFolder" Value="WixPerMachineFolder" /> <Property Id="ALLUSERS" Value="1" /> <WixVariable Id="WixUISupportPerUser" Value="0" /> diff --git a/setup/installer/windows/wix.py b/setup/installer/windows/wix.py index c7f4ab3933..1920a70b9b 100644 --- a/setup/installer/windows/wix.py +++ b/setup/installer/windows/wix.py @@ -16,7 +16,7 @@ if is64bit: UPGRADE_CODE = '5DD881FF-756B-4097-9D82-8C0F11D521EA' MINVERHUMAN = 'Windows Vista' else: - WIXP = r'C:\Program Files\Windows Installer XML v3.5' + WIXP = r'C:\Program Files\WiX Toolset v3.6' UPGRADE_CODE = 'BEB2A80D-E902-4DAD-ADF9-8BD2DA42CFE1' MINVERHUMAN = 'Windows XP SP3' @@ -37,7 +37,7 @@ class WixMixIn: components = self.get_components_from_files() wxs = template.format( app = __appname__, - appfolder = 'Calibre2', + appfolder = 'Calibre2' if is64bit else __appname__, version = __version__, upgrade_code = UPGRADE_CODE, ProgramFilesFolder = 'ProgramFiles64Folder' if is64bit else 'ProgramFilesFolder', @@ -66,7 +66,7 @@ class WixMixIn: arch = 'x64' if is64bit else 'x86' cmd = [CANDLE, '-nologo', '-arch', arch, '-ext', 'WiXUtilExtension', '-o', wixobj, wxsf] self.info(*cmd) - subprocess.check_call(cmd) + self.run_wix(cmd) self.installer = self.j(self.src_root, 'dist') if not os.path.exists(self.installer): os.makedirs(self.installer) @@ -82,13 +82,27 @@ class WixMixIn: '-dWixUILicenseRtf='+license, '-dWixUIBannerBmp='+banner, '-dWixUIDialogBmp='+dialog] - cmd.append('-sice:ICE60') # No language in dlls warning + cmd.extend([ + '-sice:ICE60',# No language in dlls warning + '-sice:ICE61',# Allow upgrading with same version number + '-sice:ICE40', # Re-install mode overriden + '-sice:ICE69', # Shortcut components are part of a different feature than the files they point to + ]) if self.opts.no_ice: cmd.append('-sval') if self.opts.verbose: cmd.append('-v') self.info(*cmd) - subprocess.check_call(cmd) + self.run_wix(cmd) + + def run_wix(self, cmd): + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + ret = p.wait() + self.info(p.stdout.read()) + self.info(p.stderr.read()) + if ret != 0: + sys.exit(1) def get_components_from_files(self): From 11ff1b023dfe5b349534aa777c1acf011826b8c4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 2 Dec 2012 07:22:19 +0530 Subject: [PATCH 57/63] Portable installer: Better error message when installation fails. --- setup/installer/windows/portable-installer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/setup/installer/windows/portable-installer.cpp b/setup/installer/windows/portable-installer.cpp index 3c310a1caf..7eb8d10b63 100644 --- a/setup/installer/windows/portable-installer.cpp +++ b/setup/installer/windows/portable-installer.cpp @@ -418,8 +418,11 @@ static BOOL move_program() { } if (MoveFileEx(L"Calibre Portable\\Calibre", L"..\\Calibre", 0) == 0) { - show_last_error(L"Failed to move calibre program folder"); - return false; + Sleep(4000); // Sleep and try again + if (MoveFileEx(L"Calibre Portable\\Calibre", L"..\\Calibre", 0) == 0) { + show_last_error(L"Failed to move calibre program folder. This is usually caused by an antivirus program or a file sync program like DropBox. Turn them off temporarily and try again. Underlying error: "); + return false; + } } if (!directory_exists(L"..\\Calibre Library")) { From 186f4c0dad214a9184bcb9afbdf3c92837ed1e79 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 2 Dec 2012 10:42:28 +0530 Subject: [PATCH 58/63] Signing of the 64-bit installer --- setup/installer/windows/__init__.py | 41 ++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/setup/installer/windows/__init__.py b/setup/installer/windows/__init__.py index f3c1c2d0cd..eea0f9b487 100644 --- a/setup/installer/windows/__init__.py +++ b/setup/installer/windows/__init__.py @@ -8,14 +8,14 @@ __docformat__ = 'restructuredtext en' import os, shutil, subprocess -from setup import Command, __appname__, __version__ +from setup import Command, __appname__, __version__, installer_name from setup.installer import VMInstaller class Win(Command): description = 'Build windows binary installers' - sub_commands = ['win32'] + sub_commands = ['win64', 'win32'] def run(self, opts): pass @@ -35,28 +35,43 @@ class Win32(WinBase): VM = '/vmware/bin/%s'%VM_NAME VM_CHECK = 'calibre_windows_xp_home' + @property + def msi64(self): + return installer_name('msi', is64bit=True) + def sign_msi(self): + import xattr print ('Signing installers ...') + sign64 = False + msi64 = self.msi64 + if os.path.exists(msi64) and 'user.signed' not in xattr.list(msi64): + subprocess.check_call(['scp', msi64, self.VM_NAME + + ':build/%s/%s'%(__appname__, msi64)]) + sign64 = True subprocess.check_call(['ssh', self.VM_NAME, '~/sign.sh'], shell=False) + return sign64 + + def do_dl(self, installer, errmsg): + subprocess.check_call(('scp', + '%s:build/%s/%s'%(self.VM_NAME, __appname__, installer), 'dist')) + if not os.path.exists(installer): + self.warn(errmsg) + raise SystemExit(1) def download_installer(self): installer = self.installer() if os.path.exists('build/winfrozen'): shutil.rmtree('build/winfrozen') - self.sign_msi() + sign64 = self.sign_msi() + if sign64: + self.do_dl(self.msi64, 'Failed to d/l signed 64 bit installer') + import xattr + xattr.set(self.msi64, 'user.signed', 'true') - subprocess.check_call(('scp', - 'xp_build:build/%s/%s'%(__appname__, installer), 'dist')) - if not os.path.exists(installer): - self.warn('Failed to freeze') - raise SystemExit(1) + self.do_dl(installer, 'Failed to freeze') installer = 'dist/%s-portable-installer-%s.exe'%(__appname__, __version__) - subprocess.check_call(('scp', - 'xp_build:build/%s/%s'%(__appname__, installer), 'dist')) - if not os.path.exists(installer): - self.warn('Failed to get portable installer') - raise SystemExit(1) + self.do_dl(installer, 'Failed to get portable installer') class Win64(WinBase): From 573da9066a910f4b1b6a8d6d98b469f4bffb3c94 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 2 Dec 2012 11:03:07 +0530 Subject: [PATCH 59/63] Upload 64bit msi --- setup/upload.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup/upload.py b/setup/upload.py index 734cd30fa6..a1e9bd409a 100644 --- a/setup/upload.py +++ b/setup/upload.py @@ -29,6 +29,7 @@ STAGING_DIR = '/root/staging' def installers(): installers = list(map(installer_name, ('dmg', 'msi', 'tar.bz2'))) installers.append(installer_name('tar.bz2', is64bit=True)) + installers.append(installer_name('msi', is64bit=True)) installers.insert(0, 'dist/%s-%s.tar.xz'%(__appname__, __version__)) installers.append('dist/%s-portable-installer-%s.exe'%(__appname__, __version__)) return installers @@ -40,7 +41,7 @@ def installer_description(fname): bits = '32' if 'i686' in fname else '64' return bits + 'bit Linux binary' if fname.endswith('.msi'): - return 'Windows installer' + return 'Windows %sinstaller'%('64bit ' if '64bit' in fname else '') if fname.endswith('.dmg'): return 'OS X dmg' if fname.endswith('.exe'): From c186408efa03176c483d9c429cb7c4f7db131653 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Sun, 2 Dec 2012 15:40:13 +0530 Subject: [PATCH 60/63] Fix Endgadget --- recipes/endgadget.recipe | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/endgadget.recipe b/recipes/endgadget.recipe index 8146964503..41ff06adf6 100644 --- a/recipes/endgadget.recipe +++ b/recipes/endgadget.recipe @@ -21,10 +21,11 @@ class Engadget(BasicNewsRecipe): use_embedded_content = False remove_javascript = True remove_empty_feeds = True + auto_cleanup = True - keep_only_tags = [dict(name='div', attrs={'class':['post_content permalink ','post_content permalink alt-post-full']})] - remove_tags = [dict(name='div', attrs={'class':['filed_under','post_footer']})] - remove_tags_after = [dict(name='div', attrs={'class':['post_footer']})] + #keep_only_tags = [dict(name='div', attrs={'class':['post_content permalink ','post_content permalink alt-post-full']})] + #remove_tags = [dict(name='div', attrs={'class':['filed_under','post_footer']})] + #remove_tags_after = [dict(name='div', attrs={'class':['post_footer']})] feeds = [(u'Posts', u'http://www.engadget.com/rss.xml')] @@ -33,5 +34,5 @@ class Engadget(BasicNewsRecipe): h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} p{font-family:Arial,Helvetica,sans-serif;font-size:small;} body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' + ''' From cad1e6e5871ea66f1f938f4151d949603916d12c Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 3 Dec 2012 09:02:25 +0530 Subject: [PATCH 61/63] Content server: Make the identifiers in each books metadata clickable. Fixes #1085726 (Identifiers in calibre-server not linkified) --- src/calibre/library/server/browse.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index 03608847f9..cd5a7c0ffa 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -22,6 +22,7 @@ from calibre.library.comments import comments_to_html from calibre.library.server import custom_fields_to_display from calibre.library.field_metadata import category_icon_map from calibre.library.server.utils import quote, unquote +from calibre.ebooks.metadata.sources.identify import urls_from_identifiers def xml(*args, **kwargs): ans = prepare_string_for_xml(*args, **kwargs) @@ -823,6 +824,16 @@ class BrowseServer(object): if field in ('title', 'formats') or not args.get(field, False) \ or not m['name']: continue + if field == 'identifiers': + urls = urls_from_identifiers(mi.get(field, {})) + links = [u'<a class="details_category_link" target="_new" href="%s" title="%s:%s">%s</a>' % (url, id_typ, id_val, name) + for name, id_typ, id_val, url in urls] + links = u', '.join(links) + if links: + fields.append((m['name'], u'<strong>%s: </strong>%s'%( + _('Ids'), links))) + continue + if m['datatype'] == 'rating': r = u'<strong>%s: </strong>'%xml(m['name']) + \ render_rating(mi.get(field)/2.0, self.opts.url_prefix, From 5230d9026c53c98de9fa5faafb3c6a6a5d0e4c39 Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 3 Dec 2012 09:26:01 +0530 Subject: [PATCH 62/63] ... --- src/calibre/devices/android/driver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/devices/android/driver.py b/src/calibre/devices/android/driver.py index 95d1978f93..87aede5f84 100644 --- a/src/calibre/devices/android/driver.py +++ b/src/calibre/devices/android/driver.py @@ -232,7 +232,7 @@ class ANDROID(USBMS): 'THINKPAD_TABLET', 'SGH-T989', 'YP-G70', 'STORAGE_DEVICE', 'ADVANCED', 'SGH-I727', 'USB_FLASH_DRIVER', 'ANDROID', 'S5830I_CARD', 'MID7042', 'LINK-CREATE', '7035', 'VIEWPAD_7E', - 'NOVO7', 'MB526', '_USB#WYK7MSF8KE'] + 'NOVO7', 'MB526', '_USB#WYK7MSF8KE', 'TABLET_PC'] WINDOWS_CARD_A_MEM = ['ANDROID_PHONE', 'GT-I9000_CARD', 'SGH-I897', 'FILE-STOR_GADGET', 'SGH-T959_CARD', 'SGH-T959', 'SAMSUNG_ANDROID', 'GT-P1000_CARD', 'A70S', 'A101IT', '7', 'INCREDIBLE', 'A7EB', 'SGH-T849_CARD', @@ -243,7 +243,7 @@ class ANDROID(USBMS): 'FILE-CD_GADGET', 'GT-I9001_CARD', 'USB_2.0', 'XT875', 'UMS_COMPOSITE', 'PRO', '.KOBO_VOX', 'SGH-T989_CARD', 'SGH-I727', 'USB_FLASH_DRIVER', 'ANDROID', 'MID7042', '7035', 'VIEWPAD_7E', - 'NOVO7', 'ADVANCED'] + 'NOVO7', 'ADVANCED', 'TABLET_PC'] OSX_MAIN_MEM = 'Android Device Main Memory' From d477bf98b6ec82bc2750bf51a7a2e8c15845fe6c Mon Sep 17 00:00:00 2001 From: Kovid Goyal <kovid@kovidgoyal.net> Date: Mon, 3 Dec 2012 09:32:17 +0530 Subject: [PATCH 63/63] ... --- src/calibre/debug.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/debug.py b/src/calibre/debug.py index f2c04c0b89..f2eb546e32 100644 --- a/src/calibre/debug.py +++ b/src/calibre/debug.py @@ -148,10 +148,10 @@ def print_basic_debug_info(out=None): out = functools.partial(prints, file=out) import platform from calibre.constants import (__appname__, get_version, isportable, isosx, - isfrozen) + isfrozen, is64bit) out(__appname__, get_version(), 'Portable' if isportable else '', - 'isfrozen:', isfrozen) - out(platform.platform(), platform.system()) + 'isfrozen:', isfrozen, 'is64bit:', is64bit) + out(platform.platform(), platform.system(), platform.architecture()) out(platform.system_alias(platform.system(), platform.release(), platform.version())) out('Python', platform.python_version())