diff --git a/bookworm/document/cache_utils.py b/bookworm/document/cache_utils.py new file mode 100644 index 00000000..81cfec3a --- /dev/null +++ b/bookworm/document/cache_utils.py @@ -0,0 +1,23 @@ +"""Caching utilities""" +from pathlib import Path + +from diskcache import Cache + + +def is_document_modified(key: str, path: Path, cache: Cache) -> bool: + """ + Checks whether a particular document was modified + We can currently afford to naively just stat() the file_path in order to determine it + """ + mtime = cache.get(f"{key}_meta") + if not mtime: + # No information for the book was found, so return True just to be safe + # TODO: Is this acceptable? + return True + stat_mtime = path.stat().st_mtime + return mtime != stat_mtime + +def set_document_modified_time(key: str, path: Path, cache: Cache) -> bool: + key = f"{key}_meta" + cache.set(key, path.stat().st_mtime) + \ No newline at end of file diff --git a/bookworm/document/formats/epub.py b/bookworm/document/formats/epub.py index e6a99dac..3a55f6f5 100644 --- a/bookworm/document/formats/epub.py +++ b/bookworm/document/formats/epub.py @@ -21,6 +21,7 @@ from lxml import html as lxml_html from selectolax.parser import HTMLParser +from bookworm.document import cache_utils from bookworm.i18n import LocaleInfo from bookworm.image_io import ImageIO from bookworm.logger import logger @@ -190,7 +191,7 @@ def epub_html_items(self) -> tuple[str]: # As reported in issue 243 # We will now sort the items obtained earlier based on the position that the chapter itself occupies in the TOC spine = [x[0].split('/')[-1] for x in self.epub.spine] - log.info(spine) + log.debug(spine) try: items = sorted(items, key=lambda x: spine.index(x.id)) except ValueError: @@ -310,7 +311,8 @@ def html_content(self): self._get_cache_directory(), eviction_policy="least-frequently-used" ) cache_key = self.uri.to_uri_string() - if cached_html_content := cache.get(cache_key): + document_path = self.get_file_system_path() + if (cached_html_content := cache.get(cache_key)) and not cache_utils.is_document_modified(cache_key, document_path, cache): return cached_html_content.decode("utf-8") html_content_gen = ( (item.file_name, item.content) for item in self.epub_html_items @@ -323,6 +325,7 @@ def html_content(self): title=self.epub.title, body_content=buf.getvalue() ) cache.set(cache_key, html_content.encode("utf-8")) + cache_utils.set_document_modified_time(cache_key, document_path, cache) return html_content def prefix_html_ids(self, filename, html): diff --git a/bookworm/document/formats/word.py b/bookworm/document/formats/word.py index 94df1093..af0bb3f2 100644 --- a/bookworm/document/formats/word.py +++ b/bookworm/document/formats/word.py @@ -19,6 +19,7 @@ from bookworm import app from bookworm.concurrency import process_worker, threaded_worker +from bookworm.document import cache_utils from bookworm.document.uri import DocumentUri from bookworm.logger import logger from bookworm.paths import app_path, home_data_path @@ -85,17 +86,19 @@ def try_decrypt(self, data_buf, decryption_key): def _get_html_content_from_docx(self, data_buf, is_encrypted_document): data_buf.seek(0) + doc_path = self.get_file_system_path cache = Cache( self._get_cache_directory(), eviction_policy="least-frequently-used" ) cache_key = self.uri.to_uri_string() - if cached_html_content := cache.get(cache_key): + if (cached_html_content := cache.get(cache_key)) and not cache_utils.is_document_modified(cache_key, doc_path, cache): return cached_html_content.decode("utf-8") result = mammoth.convert_to_html(data_buf, include_embedded_style_map=False) data_buf.seek(0) html_content = self.make_proper_html(result.value, data_buf) if not is_encrypted_document: cache.set(cache_key, html_content.encode("utf-8")) + cache_utils.set_document_modified_time(cache_key, doc_path, cache) return html_content def make_proper_html(self, html_string, data_buf): diff --git a/bookworm/resources/locale/fi/lc_messages/bookworm.po b/bookworm/resources/locale/fi/lc_messages/bookworm.po index 4c8997ff..55afa654 100644 --- a/bookworm/resources/locale/fi/lc_messages/bookworm.po +++ b/bookworm/resources/locale/fi/lc_messages/bookworm.po @@ -7,187 +7,313 @@ msgid "" msgstr "" "Project-Id-Version: Bookworm 2022.1b1\n" "Report-Msgid-Bugs-To: ibnomer2011@hotmail.com\n" -"POT-Creation-Date: 2023-03-20 09:59+0200\n" -"PO-Revision-Date: 2023-03-20 10:00+0200\n" +"POT-Creation-Date: 2024-11-30 23:00+0000\n" +"PO-Revision-Date: 2024-12-07 16:44+0200\n" "Last-Translator: Jani Kinnunen \n" "Language-Team: fi_FI \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.6.11\n" +"Generated-By: Babel 2.9.1\n" +"X-Generator: Poedit 3.5\n" "X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: ..\\..\\..\\..\n" +"X-Poedit-SearchPath-0: ../../../..\n" + +#. Translators: the content of a message indicating a connection error +#: bookworm/otau.py:82 +msgid "We couldn't access the internet right now. Please try again later." +msgstr "Internet-yhteys ei ole käytettävissä. Yritä myöhemmin uudelleen." + +#. Translators: the title of a message indicating a connection error +#. Translators: the title of a message indicating a failure in downloading an +#. update +#: bookworm/otau.py:84 bookworm/platforms/win32/updater.py:119 +msgid "Network Error" +msgstr "Verkkovirhe" + +#. Translators: the content of a message indicating an error while updating the +#. app +#: bookworm/otau.py:94 +msgid "" +"We have faced a technical problem while checking for updates. Please try " +"again later." +msgstr "" +"Päivityksiä tarkistettaessa ilmeni tekninen ongelma. Yritä myöhemmin " +"uudelleen." + +#. Translators: the title of a message indicating an error while updating the +#. app +#: bookworm/otau.py:98 +msgid "Error Checking For Updates" +msgstr "Virhe päivityksiä tarkistettaessa" + +#. Translators: the content of a message indicating that there is no new +#. version +#: bookworm/otau.py:115 +msgid "" +"Congratulations, you have already got the latest version of Bookworm.\n" +"We are working day and night on making Bookworm better. The next version of " +"Bookworm is on its way, so wait for it. Rest assured, we will notify you " +"when it is released." +msgstr "" +"Onneksi olkoon, sinulla on jo viimeisin versio.\n" +"Bookwormia parannellaan yötä päivää. Seuraava versio on jo tulossa. Voit " +"olla varma, että saat ilmoituksen, kun se julkaistaan." + +#. Translators: the title of a message indicating that there is no new version +#: bookworm/otau.py:122 +msgid "No Update" +msgstr "Ei päivitystä" + +#. Translators: the label of an item in the application menubar +#: bookworm/otau.py:147 +msgid "&Check for updates" +msgstr "&Tarkista päivitykset" + +#. Translators: the help text of an item in the application menubar +#: bookworm/otau.py:149 +msgid "Update the application" +msgstr "Päivitä sovellus" + +#. Translators: the title of the window when an e-book is open +#: bookworm/reader.py:439 +msgid "{title} — by {author}" +msgstr "{title} — {author}" -#: ..\..\..\../annotation/__init__.py:61 +#. Translators: title of a message dialog that shows a table as html document +#: bookworm/reader.py:456 +msgid "Table View" +msgstr "Taulukkonäkymä" + +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/__init__.py:69 msgid "&Annotation" msgstr "&Merkintä" -#: ..\..\..\../annotation/__init__.py:69 +#: bookworm/annotation/__init__.py:77 msgid "&Bookmark...\tCtrl-B" msgstr "&Kirjanmerkki...\tCtrl+B" -#: ..\..\..\../annotation/__init__.py:70 ..\..\..\../annotation/__init__.py:76 +#: bookworm/annotation/__init__.py:78 bookworm/annotation/__init__.py:84 msgid "Bookmark the current location" -msgstr "Lisää kirjanmerkki nykyiseen kohtaan." +msgstr "Lisää kirjanmerkki nykyiseen kohtaan" -#: ..\..\..\../annotation/__init__.py:75 +#: bookworm/annotation/__init__.py:83 msgid "&Named Bookmark...\tCtrl-Shift-B" msgstr "&Nimetty kirjanmerkki...\tCtrl+Vaihto+B" -#: ..\..\..\../annotation/__init__.py:81 +#: bookworm/annotation/__init__.py:89 msgid "Co&mment...\tCtrl-m" msgstr "Ko&mmentti...\tCtrl+M" -#: ..\..\..\../annotation/__init__.py:82 +#: bookworm/annotation/__init__.py:90 msgid "Add a comment at the current location" -msgstr "Lisää kommentti nykyiseen kohtaan." +msgstr "Lisää kommentti nykyiseen kohtaan" -#: ..\..\..\../annotation/__init__.py:92 +#: bookworm/annotation/__init__.py:100 msgid "Highlight Selection\tCtrl-Shift-H" msgstr "Korosta valinta\tCtrl+Vaihto+H" -#: ..\..\..\../annotation/__init__.py:93 +#: bookworm/annotation/__init__.py:101 msgid "Highlight and save selected text." msgstr "Korosta ja tallenna valittu teksti." -#: ..\..\..\../annotation/__init__.py:102 -#: ..\..\..\../annotation/__init__.py:139 +#. Translators: the label of a button in the application toolbar +#. Translators: spoken message when jumping to a bookmark +#: bookworm/annotation/__init__.py:110 bookworm/annotation/__init__.py:147 msgid "Bookmark" msgstr "Kirjanmerkki" -#: ..\..\..\../annotation/__init__.py:104 +#. Translators: the label of a button in the application toolbar +#: bookworm/annotation/__init__.py:112 msgid "Comment" msgstr "Kommentti" -#: ..\..\..\../annotation/__init__.py:114 -#: ..\..\..\../annotation/exporters/core_renderers.py:171 +#. Translators: the label of a page in the settings dialog +#. Translators: label for a aria region containing annotation +#. used when exporting annotations to HTML +#: bookworm/annotation/__init__.py:122 +#: bookworm/annotation/exporters/core_renderers.py:171 msgid "Annotation" msgstr "Merkintä" -#: ..\..\..\../annotation/__init__.py:127 +#. Translators: spoken message +#: bookworm/annotation/__init__.py:135 msgid "No next bookmark" msgstr "Ei seuraavaa kirjanmerkkiä" -#: ..\..\..\../annotation/__init__.py:130 +#. Translators: spoken message +#: bookworm/annotation/__init__.py:138 msgid "No previous bookmark" msgstr "Ei edellistä kirjanmerkkiä" -#: ..\..\..\../annotation/__init__.py:157 +#. Translators: spoken message +#: bookworm/annotation/__init__.py:165 msgid "No next comment" msgstr "Ei seuraavaa kommenttia" -#: ..\..\..\../annotation/__init__.py:160 +#. Translators: spoken message +#: bookworm/annotation/__init__.py:168 msgid "No previous comment" msgstr "Ei edellistä kommenttia" -#: ..\..\..\../annotation/__init__.py:171 -#, python-brace-format +#. Translators: spoken message when jumping to a comment +#: bookworm/annotation/__init__.py:179 msgid "Comment: {comment}" msgstr "Kommentti: {comment}" -#: ..\..\..\../annotation/__init__.py:184 +#. Translators: spoken message +#: bookworm/annotation/__init__.py:192 msgid "No next highlight" msgstr "Ei seuraavaa korostusta" -#: ..\..\..\../annotation/__init__.py:187 +#. Translators: spoken message +#: bookworm/annotation/__init__.py:195 msgid "No previous highlight" msgstr "Ei edellistä korostusta" -#: ..\..\..\../annotation/__init__.py:197 +#: bookworm/annotation/__init__.py:205 msgid "Highlight" msgstr "Korostus" -#: ..\..\..\../annotation/__init__.py:239 +#. Translators: spoken message indicating the presence of an annotation when +#. the user navigates the text +#: bookworm/annotation/__init__.py:247 msgid "Bookmarked" msgstr "Kirjanmerkki lisätty" -#: ..\..\..\../annotation/__init__.py:242 +#. Translators: spoken message indicating the presence of an annotation when +#. the user navigates the text +#: bookworm/annotation/__init__.py:250 msgid "Highlighted" msgstr "Korostus lisätty" -#: ..\..\..\../annotation/__init__.py:245 +#. Translators: spoken message indicating the presence of an annotation when +#. the user navigates the text +#: bookworm/annotation/__init__.py:253 msgid "Line contains highlight" msgstr "Rivi sisältää korostuksen" -#: ..\..\..\../annotation/__init__.py:248 +#. Translators: spoken message indicating the presence of an annotation when +#. the user navigates the text +#: bookworm/annotation/__init__.py:256 msgid "Has comment" msgstr "Sisältää kommentin" -#: ..\..\..\../annotation/annotation_dialogs.py:56 -#: ..\..\..\../annotation/annotation_dialogs.py:263 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:122 -#: ..\..\..\../gui/book_viewer/__init__.py:307 +#. Translators: label of an edit control in the dialog +#. of viewing or editing a comment/highlight +#. Translators: label of an edit control to filter annotations by content +#. Translators: label of a check box that enables/disables searching document +#. content when searching the bookshelf +#. Translators: the label of the text area which shows the +#. content of the current page +#: bookworm/annotation/annotation_dialogs.py:59 +#: bookworm/annotation/annotation_dialogs.py:266 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:126 +#: bookworm/gui/book_viewer/__init__.py:317 msgid "Content" msgstr "Sisältö" -#: ..\..\..\../annotation/annotation_dialogs.py:60 +#. Translators: header of a group of controls in a dialog to view/edit +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:63 msgid "Metadata" msgstr "Metatiedot" -#: ..\..\..\../annotation/annotation_dialogs.py:63 -#: ..\..\..\../annotation/annotation_dialogs.py:519 -#: ..\..\..\../annotation/exporters/core_renderers.py:201 +#. Translators: label of an edit control in a dialog to view/edit +#. comments/highlights +#. Translators: label of an edit control that allows the user to edit the tag +#. set of a comment/highlight +#. Translators: written to output document when exporting a comment/highlight +#: bookworm/annotation/annotation_dialogs.py:66 +#: bookworm/annotation/annotation_dialogs.py:522 +#: bookworm/annotation/exporters/core_renderers.py:201 msgid "Tags" msgstr "Tunnisteet" -#: ..\..\..\../annotation/annotation_dialogs.py:68 +#. Translators: label of an edit control in a dialog to view/edit +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:71 msgid "Date Created" msgstr "Luontipäivämäärä" -#: ..\..\..\../annotation/annotation_dialogs.py:74 +#. Translators: label of an edit control in a dialog to view/edit +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:77 msgid "Last updated" msgstr "Päivitetty viimeksi" -#: ..\..\..\../annotation/annotation_dialogs.py:88 -#: ..\..\..\../annotation/annotation_dialogs.py:145 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:173 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:241 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:398 -#: ..\..\..\../gui/settings.py:103 ..\..\..\../ocr/ocr_dialogs.py:416 -#: ..\..\..\../text_to_speech/tts_gui.py:328 -#: ..\..\..\../webservices/wikiworm.py:215 +#. Translators: the label of a button to close a dialog +#. Translators: the label of the cancel button in a dialog +#. Translators: the label of the close button in a dialog +#. Translators: the label of a button to close the dialog +#: bookworm/annotation/annotation_dialogs.py:91 +#: bookworm/annotation/annotation_dialogs.py:148 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:177 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:245 +#: bookworm/gui/book_viewer/core_dialogs.py:407 bookworm/gui/settings.py:147 +#: bookworm/ocr/ocr_dialogs.py:428 bookworm/text_to_speech/tts_gui.py:331 +#: bookworm/webservices/wikiworm.py:215 msgid "&Close" msgstr "&Sulje" -#: ..\..\..\../annotation/annotation_dialogs.py:122 +#. Translators: label for unnamed bookmarks shown +#. when editing a single bookmark which has no name +#: bookworm/annotation/annotation_dialogs.py:125 msgid "[Unnamed Bookmark]" msgstr "[Nimetön kirjanmerkki]" -#: ..\..\..\../annotation/annotation_dialogs.py:127 +#. Translators: label of a list control containing bookmarks +#: bookworm/annotation/annotation_dialogs.py:130 msgid "Saved Bookmarks" msgstr "Tallennetut kirjanmerkit" -#: ..\..\..\../annotation/annotation_dialogs.py:130 -#: ..\..\..\../ocr/ocr_dialogs.py:455 -#: ..\..\..\../text_to_speech/tts_gui.py:322 +#. Translators: text of a button to remove bookmarks +#. Translators: text of a button to remove a language from Tesseract OCR Engine +#. Translators: the label of a button to remove a voice profile +#: bookworm/annotation/annotation_dialogs.py:133 +#: bookworm/ocr/ocr_dialogs.py:467 bookworm/text_to_speech/tts_gui.py:325 msgid "&Remove" msgstr "&Poista" -#: ..\..\..\../annotation/annotation_dialogs.py:154 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:256 +#. Translators: the title of a column in the bookmarks list +#: bookworm/annotation/annotation_dialogs.py:157 +#: bookworm/gui/book_viewer/core_dialogs.py:265 msgid "Name" msgstr "Nimi" -#: ..\..\..\../annotation/annotation_dialogs.py:161 -#: ..\..\..\../annotation/annotation_dialogs.py:352 -#: ..\..\..\../annotation/exporters/core_renderers.py:178 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:192 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:51 -#: ..\..\..\../gui/book_viewer/render_view.py:32 +#. Translators: the title of a column in the bookmarks list +#. Translators: text of a toggle button to sort comments/highlights list +#. Translators: header of a column in a list control in a dialog showing a list +#. of search results of matching document pages +#. Translators: the title of a column in the search results list +#. Translators: the label of the image of a page in a dialog to render the +#. current page +#: bookworm/annotation/annotation_dialogs.py:164 +#: bookworm/annotation/annotation_dialogs.py:355 +#: bookworm/annotation/exporters/core_renderers.py:178 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:196 +#: bookworm/gui/book_viewer/core_dialogs.py:60 +#: bookworm/gui/book_viewer/render_view.py:32 msgid "Page" msgstr "Sivu" -#: ..\..\..\../annotation/annotation_dialogs.py:169 -#: ..\..\..\../annotation/annotation_dialogs.py:258 -#: ..\..\..\../annotation/exporters/core_renderers.py:145 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:66 +#. Translators: the title of a column in the bookmarks list +#. Translators: label of an editable combobox to filter annotations by section +#. Translators: the title of a column in the search results list +#. showing the title of the chapter in which this occurrence was found +#: bookworm/annotation/annotation_dialogs.py:172 +#: bookworm/annotation/annotation_dialogs.py:261 +#: bookworm/annotation/exporters/core_renderers.py:145 +#: bookworm/gui/book_viewer/core_dialogs.py:75 msgid "Section" msgstr "Luku" -#: ..\..\..\../annotation/annotation_dialogs.py:217 +#. Translators: content of a message asking the user if they want to delete a +#. bookmark +#: bookworm/annotation/annotation_dialogs.py:219 msgid "" "This action can not be reverted.\r\n" "Are you sure you want to remove this bookmark?" @@ -195,68 +321,90 @@ msgstr "" "Tätä toimintoa ei voi kumota.\r\n" "Haluatko varmasti poistaa tämän kirjanmerkin?" -#: ..\..\..\../annotation/annotation_dialogs.py:220 +#. Translators: title of a message asking the user if they want to delete a +#. bookmark +#: bookworm/annotation/annotation_dialogs.py:223 msgid "Remove Bookmark?" msgstr "Poistetaanko kirjanmerkki?" -#: ..\..\..\../annotation/annotation_dialogs.py:247 -#: ..\..\..\../annotation/annotation_dialogs.py:356 -#: ..\..\..\../annotation/annotation_dialogs.py:552 -#: ..\..\..\../annotation/exporters/core_renderers.py:143 +#. Translators: label of an editable combobox to filter annotations by book +#. Translators: text of a toggle button to sort comments/highlights list +#: bookworm/annotation/annotation_dialogs.py:250 +#: bookworm/annotation/annotation_dialogs.py:359 +#: bookworm/annotation/annotation_dialogs.py:555 +#: bookworm/annotation/exporters/core_renderers.py:143 msgid "Book" msgstr "Kirja" -#: ..\..\..\../annotation/annotation_dialogs.py:252 -#: ..\..\..\../annotation/exporters/core_renderers.py:147 +#. Translators: label of an editable combobox to filter annotations by tag +#: bookworm/annotation/annotation_dialogs.py:255 +#: bookworm/annotation/exporters/core_renderers.py:147 msgid "Tag" msgstr "Tunniste" -#: ..\..\..\../annotation/annotation_dialogs.py:268 +#. Translators: text of a button to apply chosen filters in a dialog to view +#. user's comments/highlights +#: bookworm/annotation/annotation_dialogs.py:271 msgid "&Apply" msgstr "&Käytä" -#: ..\..\..\../annotation/annotation_dialogs.py:335 +#. Translators: the title of a column in the comments/highlights list +#. Translators: header of a group of controls in a dialog to view user's +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:338 msgid "Filter By" msgstr "Suodatusperuste" -#: ..\..\..\../annotation/annotation_dialogs.py:344 +#. Translators: header of a group of controls in a dialog to view user's +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:347 msgid "Sort By" msgstr "Lajitteluperuste" -#: ..\..\..\../annotation/annotation_dialogs.py:350 +#. Translators: text of a toggle button to sort comments/highlights list +#: bookworm/annotation/annotation_dialogs.py:353 msgid "Date" msgstr "Päivämäärä" -#: ..\..\..\../annotation/annotation_dialogs.py:362 +#. Translators: text of a toggle button to sort comments/highlights list +#: bookworm/annotation/annotation_dialogs.py:365 msgid "Ascending" msgstr "Nouseva" -#: ..\..\..\../annotation/annotation_dialogs.py:371 +#. Translators: text of a button in a dialog to view comments/highlights +#: bookworm/annotation/annotation_dialogs.py:374 msgid "&View..." msgstr "&Näytä..." -#: ..\..\..\../annotation/annotation_dialogs.py:374 -#: ..\..\..\../text_to_speech/tts_gui.py:320 +#. Translators: text of a button in a dialog to view comments/highlights +#. Translators: the label of a button to edit a voice profile +#: bookworm/annotation/annotation_dialogs.py:377 +#: bookworm/text_to_speech/tts_gui.py:323 msgid "&Edit..." msgstr "&Muokkaa..." -#: ..\..\..\../annotation/annotation_dialogs.py:377 +#. Translators: text of a button in a dialog to view comments/highlights +#: bookworm/annotation/annotation_dialogs.py:380 msgid "&Delete..." msgstr "&Poista..." -#: ..\..\..\../annotation/annotation_dialogs.py:379 +#. Translators: text of a button in a dialog to view comments/highlights +#: bookworm/annotation/annotation_dialogs.py:382 msgid "E&xport..." msgstr "V&ie..." -#: ..\..\..\../annotation/annotation_dialogs.py:451 +#. Translators: title of a dialog to view or edit a single comment/highlight +#: bookworm/annotation/annotation_dialogs.py:454 msgid "Editing" msgstr "Muokataan" -#: ..\..\..\../annotation/annotation_dialogs.py:451 +#: bookworm/annotation/annotation_dialogs.py:454 msgid "View" msgstr "Näytä" -#: ..\..\..\../annotation/annotation_dialogs.py:469 +#. Translators: content of a message asking the user if they want to delete a +#. comment/highlight +#: bookworm/annotation/annotation_dialogs.py:471 msgid "" "This action can not be reverted.\r\n" "Are you sure you want to remove this item?" @@ -264,416 +412,703 @@ msgstr "" "Tätä toimintoa ei voi kumota.\r\n" "Haluatko varmasti poistaa tämän kohteen?" -#: ..\..\..\../annotation/annotation_dialogs.py:472 +#. Translators: title of a message asking the user if they want to delete a +#. bookmark +#: bookworm/annotation/annotation_dialogs.py:475 msgid "Delete Annotation?" msgstr "Poistetaanko merkintä?" -#: ..\..\..\../annotation/annotation_dialogs.py:517 +#. Translators: title of a dialog that allows the user to edit the tag set of a +#. comment/highlight +#: bookworm/annotation/annotation_dialogs.py:520 msgid "Edit Tags" msgstr "Muokkaa tunnisteita" -#: ..\..\..\../annotation/annotation_dialogs.py:530 +#. Translators: title of a dialog that allows the user to customize +#. how comments/highlights are exported +#: bookworm/annotation/annotation_dialogs.py:533 msgid "Export Options" msgstr "Viennin asetukset" -#: ..\..\..\../annotation/annotation_dialogs.py:590 +#. Translators: label of a checkbox in a dialog to set export options for +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:593 msgid "Include book title" msgstr "Sisällytä kirjan nimi" -#: ..\..\..\../annotation/annotation_dialogs.py:595 +#: bookworm/annotation/annotation_dialogs.py:598 msgid "Include section title" msgstr "Sisällytä luvun otsikko" -#: ..\..\..\../annotation/annotation_dialogs.py:601 +#: bookworm/annotation/annotation_dialogs.py:604 msgid "Include page number" msgstr "Sisällytä sivunumero" -#: ..\..\..\../annotation/annotation_dialogs.py:604 +#. Translators: label of a checkbox in a dialog to set export options for +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:607 msgid "Include tags" msgstr "Sisällytä tunnisteet" -#: ..\..\..\../annotation/annotation_dialogs.py:606 +#. Translators: label of a choice control in a dialog to set export options for +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:609 msgid "Output format:" msgstr "Kohdemuoto:" -#: ..\..\..\../annotation/annotation_dialogs.py:611 +#. Translators: label of an edit control in a dialog to set export options for +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:614 msgid "Output File" msgstr "Kohdetiedosto" -#: ..\..\..\../annotation/annotation_dialogs.py:616 +#. Translators: text of a button in a dialog to set export options for +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:619 msgid "&Browse" msgstr "&Selaa" -#: ..\..\..\../annotation/annotation_dialogs.py:621 +#. Translators: label of a checkbox in a dialog to set export options for +#. comments/highlights +#: bookworm/annotation/annotation_dialogs.py:624 msgid "Open file after exporting" msgstr "Avaa tiedosto viennin jälkeen" -#: ..\..\..\../annotation/annotation_dialogs.py:648 -#: ..\..\..\../gui/book_viewer/menubar.py:247 +#. Translators: the title of a save file dialog asking the user for a filename +#. to export annotations to +#. Translators: the title of a dialog to save the exported book +#: bookworm/annotation/annotation_dialogs.py:651 +#: bookworm/gui/book_viewer/menubar.py:253 msgid "Save As" msgstr "Tallenna nimellä" -#: ..\..\..\../annotation/annotation_gui.py:25 +#. Translators: the title of a group of controls in the settings dialog +#: bookworm/annotation/annotation_gui.py:28 msgid "When navigating text" msgstr "Tekstissä liikuttaessa" -#: ..\..\..\../annotation/annotation_gui.py:30 +#. Translators: the label of a checkbox +#: bookworm/annotation/annotation_gui.py:33 msgid "Play a sound to indicate the presence of annotations" msgstr "Ilmaise merkinnät äänimerkillä" -#: ..\..\..\../annotation/annotation_gui.py:37 +#. Translators: the label of a checkbox +#: bookworm/annotation/annotation_gui.py:40 msgid "Speak a message to indicate the presence of annotations" msgstr "Ilmaise merkinnät puheella" -#: ..\..\..\../annotation/annotation_gui.py:41 +#. Translators: the title of a group of controls in the settings dialog +#: bookworm/annotation/annotation_gui.py:44 msgid "Miscellaneous settings" msgstr "Sekalaiset asetukset" -#: ..\..\..\../annotation/annotation_gui.py:46 +#. Translators: the label of a checkbox +#: bookworm/annotation/annotation_gui.py:49 msgid "Speak the bookmark when jumping" msgstr "Puhu kirjanmerkki siirryttäessä" -#: ..\..\..\../annotation/annotation_gui.py:53 +#. Translators: the label of a checkbox +#: bookworm/annotation/annotation_gui.py:56 msgid "Select the bookmarked line when jumping" msgstr "Valitse kirjanmerkiksi lisätty rivi siirryttäessä" -#: ..\..\..\../annotation/annotation_gui.py:60 +#. Translators: the label of a checkbox +#: bookworm/annotation/annotation_gui.py:63 msgid "Use visual styles to indicate annotations" msgstr "Ilmaise merkinnät visuaalisilla tyyleillä" -#: ..\..\..\../annotation/annotation_gui.py:99 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:102 msgid "Add &Bookmark\tCtrl-B" msgstr "Lisää &kirjanmerkki\tCtrl+B" -#: ..\..\..\../annotation/annotation_gui.py:101 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:104 msgid "Add a bookmark at the current position" -msgstr "Lisää kirjanmerkki nykyiseen kohtaan." +msgstr "Lisää kirjanmerkki nykyiseen kohtaan" -#: ..\..\..\../annotation/annotation_gui.py:106 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:109 msgid "Add &Named Bookmark...\tCtrl-Shift-B" msgstr "Lisää &nimetty kirjanmerkki...\tCtrl+Vaihto+B" -#: ..\..\..\../annotation/annotation_gui.py:108 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:111 msgid "Add a named bookmark at the current position" -msgstr "Lisää nimetty kirjanmerkki nykyiseen kohtaan." +msgstr "Lisää nimetty kirjanmerkki nykyiseen kohtaan" -#: ..\..\..\../annotation/annotation_gui.py:113 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:116 msgid "Add Co&mment...\tCtrl-M" msgstr "Lisää ko&mmentti...\tCtrl+M" -#: ..\..\..\../annotation/annotation_gui.py:115 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:118 msgid "Add a comment at the current position" -msgstr "Lisää kommentti nykyiseen kohtaan." +msgstr "Lisää kommentti nykyiseen kohtaan" -#: ..\..\..\../annotation/annotation_gui.py:120 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:123 msgid "&Highlight Selection\tCtrl-H" msgstr "&Korosta valinta\tCtrl+H" -#: ..\..\..\../annotation/annotation_gui.py:122 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:125 msgid "Highlight selected text and save it." msgstr "Korosta valittu teksti ja tallenna se." -#: ..\..\..\../annotation/annotation_gui.py:127 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:130 msgid "Saved &Bookmarks..." msgstr "Tallennetut &kirjanmerkit..." -#: ..\..\..\../annotation/annotation_gui.py:129 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:132 msgid "View added bookmarks" -msgstr "Näytä lisätyt kirjanmerkit." +msgstr "Näytä lisätyt kirjanmerkit" -#: ..\..\..\../annotation/annotation_gui.py:134 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:137 msgid "Saved Co&mments..." msgstr "Tallennetut ko&mmentit..." -#: ..\..\..\../annotation/annotation_gui.py:136 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:139 msgid "View, edit, and remove comments." msgstr "Näytä, muokkaa ja poista kommentteja." -#: ..\..\..\../annotation/annotation_gui.py:141 +#. Translators: the label of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:144 msgid "Saved &Highlights..." msgstr "Tallennetut &korostukset..." -#: ..\..\..\../annotation/annotation_gui.py:143 +#. Translators: the help text of an item in the application menubar +#: bookworm/annotation/annotation_gui.py:146 msgid "View saved highlights." msgstr "Näytä tallennetut korostukset." -#: ..\..\..\../annotation/annotation_gui.py:181 +#: bookworm/annotation/annotation_gui.py:184 msgid "Bookmark removed" msgstr "Kirjanmerkki poistettu" -#: ..\..\..\../annotation/annotation_gui.py:184 +#. Translators: spoken message +#: bookworm/annotation/annotation_gui.py:187 msgid "Bookmark Added" msgstr "Kirjanmerkki lisätty" -#: ..\..\..\../annotation/annotation_gui.py:193 +#. Translators: title of a dialog +#: bookworm/annotation/annotation_gui.py:196 msgid "Add Named Bookmark" msgstr "Lisää nimetty kirjanmerkki" -#: ..\..\..\../annotation/annotation_gui.py:195 +#. Translators: label of a text entry +#: bookworm/annotation/annotation_gui.py:198 msgid "Bookmark name:" msgstr "Kirjanmerkin nimi:" -#: ..\..\..\../annotation/annotation_gui.py:205 +#. Translators: the title of a dialog to add a comment +#: bookworm/annotation/annotation_gui.py:208 msgid "New Comment" msgstr "Uusi kommentti" -#: ..\..\..\../annotation/annotation_gui.py:207 +#. Translators: the label of an edit field to enter a comment +#: bookworm/annotation/annotation_gui.py:210 msgid "Comment:" msgstr "Kommentti:" -#: ..\..\..\../annotation/annotation_gui.py:220 +#. Translators: title of a dialog +#: bookworm/annotation/annotation_gui.py:223 msgid "Tag Comment" msgstr "Merkitse kommentti tunnisteella" -#: ..\..\..\../annotation/annotation_gui.py:222 -#: ..\..\..\../annotation/annotation_gui.py:269 +#. Translators: label of a text entry +#: bookworm/annotation/annotation_gui.py:225 +#: bookworm/annotation/annotation_gui.py:272 msgid "Tags:" msgstr "Tunnisteet:" -#: ..\..\..\../annotation/annotation_gui.py:234 +#: bookworm/annotation/annotation_gui.py:237 msgid "No selection" msgstr "Ei valintaa" -#: ..\..\..\../annotation/annotation_gui.py:242 +#. Translators: spoken message +#: bookworm/annotation/annotation_gui.py:245 msgid "Highlight removed" msgstr "Korostus poistettu" -#: ..\..\..\../annotation/annotation_gui.py:245 +#. Translators: spoken message +#: bookworm/annotation/annotation_gui.py:248 msgid "Already highlighted" msgstr "On jo korostettu" -#: ..\..\..\../annotation/annotation_gui.py:252 -#: ..\..\..\../annotation/annotation_gui.py:258 +#. Translators: spoken message +#: bookworm/annotation/annotation_gui.py:255 +#: bookworm/annotation/annotation_gui.py:261 msgid "Highlight extended" msgstr "Korostus laajennettu" -#: ..\..\..\../annotation/annotation_gui.py:261 +#. Translators: spoken message +#: bookworm/annotation/annotation_gui.py:264 msgid "Selection highlighted" msgstr "Valinta korostettu" -#: ..\..\..\../annotation/annotation_gui.py:267 +#. Translators: title of a dialog +#: bookworm/annotation/annotation_gui.py:270 msgid "Tag Highlight" msgstr "Merkitse korostus tunnisteella" -#: ..\..\..\../annotation/annotation_gui.py:282 -#, python-brace-format +#. Translators: the title of a dialog to view bookmarks +#: bookworm/annotation/annotation_gui.py:285 msgid "Bookmarks | {book}" msgstr "Kirjanmerkit | {book}" -#: ..\..\..\../annotation/annotation_gui.py:292 +#: bookworm/annotation/annotation_gui.py:295 msgid "Comments" msgstr "Kommentit" -#: ..\..\..\../annotation/annotation_gui.py:305 +#: bookworm/annotation/annotation_gui.py:308 msgid "Highlights" msgstr "Korostukset" -#: ..\..\..\../annotation/exporters/core_renderers.py:15 -#: ..\..\..\../gui/book_viewer/menubar.py:251 ..\..\..\../ocr/ocr_menu.py:285 +#. Translators: written to output document when exporting a comment/highlight +#. Translators: a name of a file format +#. Translators: file type in a save as dialog +#: bookworm/annotation/exporters/core_renderers.py:15 +#: bookworm/gui/book_viewer/menubar.py:257 bookworm/ocr/ocr_menu.py:287 msgid "Plain Text" msgstr "Vain teksti" -#: ..\..\..\../annotation/exporters/core_renderers.py:27 -#: ..\..\..\../annotation/exporters/core_renderers.py:90 -#, python-brace-format +#: bookworm/annotation/exporters/core_renderers.py:27 +#: bookworm/annotation/exporters/core_renderers.py:90 msgid "Section: {section_title}" msgstr "Luku: {section_title}" -#: ..\..\..\../annotation/exporters/core_renderers.py:32 -#, python-brace-format +#. Translators: written to output document when exporting files +#: bookworm/annotation/exporters/core_renderers.py:32 msgid "Tagged: {tag}" msgstr "Merkitty tunnisteella: {tag}" -#: ..\..\..\../annotation/exporters/core_renderers.py:42 +#. Translators: written to the end of the plain-text file when exporting +#. comments or highlights +#: bookworm/annotation/exporters/core_renderers.py:42 msgid "End of File" msgstr "Tiedoston loppu" -#: ..\..\..\../annotation/exporters/core_renderers.py:52 -#: ..\..\..\../annotation/exporters/core_renderers.py:113 -#, python-brace-format +#: bookworm/annotation/exporters/core_renderers.py:52 +#: bookworm/annotation/exporters/core_renderers.py:113 msgid "Page {number}" msgstr "Sivu {number}" -#: ..\..\..\../annotation/exporters/core_renderers.py:74 +#. Translators: the name of a document file format +#: bookworm/annotation/exporters/core_renderers.py:74 msgid "Markdown" msgstr "Markdown" -#: ..\..\..\../annotation/exporters/core_renderers.py:94 -#, python-brace-format +#: bookworm/annotation/exporters/core_renderers.py:94 msgid "Tagged: {tags}" msgstr "Merkitty tunnisteilla: {tags}" -#: ..\..\..\../annotation/exporters/core_renderers.py:126 +#. Translators: written to output document when exporting a comment/highlight +#: bookworm/annotation/exporters/core_renderers.py:126 msgid "Tagged" msgstr "Merkitty tunnisteella" -#: ..\..\..\../annotation/exporters/core_renderers.py:137 +#. Translators: the name of a document file format +#: bookworm/annotation/exporters/core_renderers.py:137 msgid "HTML" msgstr "HTML" -#: ..\..\..\../annotation/exporters/core_renderers.py:156 +#: bookworm/annotation/exporters/core_renderers.py:156 msgid "Exported Annotations" msgstr "Viedyt merkinnät" -#: ..\..\..\../annotation/exporters/core_renderers.py:186 +#. Translators: label of a button to copy the annotation to the clipboard +#. used when exporting annotations to HTML +#: bookworm/annotation/exporters/core_renderers.py:186 msgid "Copy to clipboard" msgstr "Kopioi leikepöydälle" -#: ..\..\..\../bookshelf/__init__.py:54 +#. Translators: the label of a page in the settings dialog +#: bookworm/bookshelf/__init__.py:56 msgid "Bookshelf" msgstr "Kirjahylly" -#: ..\..\..\../bookshelf/__init__.py:64 +#. Translators: the label of an item in the application menubar +#. Translators: the label of the bookshelf sub menu found in the file menu of +#. the application +#: bookworm/bookshelf/__init__.py:66 msgid "Boo&kshelf" msgstr "&Kirjahylly" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:47 -#: ..\..\..\../bookshelf/viewer_integration.py:36 +#. Translators: the label of a group of controls in the bookshelf page in the +#. preferences dialog +#. Translators: the name of a book shelf type. +#. This bookshelf type is stored in a local database +#: bookworm/bookshelf/local_bookshelf/__init__.py:67 +#: bookworm/bookshelf/viewer_integration.py:36 msgid "Local Bookshelf" msgstr "Paikallinen kirjahylly" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:56 +#. Translators: the label of a checkbox +#: bookworm/bookshelf/viewer_integration.py:41 +msgid "Automatically add opened books to the local bookshelf" +msgstr "Lisää avatut kirjat automaattisesti paikalliseen kirjahyllyyn" + +#. Translators: the label of an item in the application menubar +#: bookworm/bookshelf/viewer_integration.py:54 +msgid "&Open Bookshelf" +msgstr "&Avaa kirjahylly" + +#. Translators: the help text of an item in the application menubar +#: bookworm/bookshelf/viewer_integration.py:56 +msgid "Open your bookshelf" +msgstr "Avaa kirjahylly" + +#. Translators: the label of an item in the application menubar +#: bookworm/bookshelf/viewer_integration.py:61 +msgid "&Add to local bookshelf..." +msgstr "Lisää p&aikalliseen kirjahyllyyn..." + +#. Translators: the help text of an item in the application menubar +#: bookworm/bookshelf/viewer_integration.py:63 +msgid "Add the current book to the local bookshelf" +msgstr "Lisää nykyinen kirja paikalliseen kirjahyllyyn" + +#. Translators: content of a message indicating failure to add the current +#. document to the bookshelf +#: bookworm/bookshelf/viewer_integration.py:93 +msgid "" +"You can not add this document to Bookshelf.\n" +"The document should exist locally in your computer." +msgstr "" +"Tätä asiakirjaa ei voi lisätä kirjahyllyyn.\n" +"Asiakirjan on oltava tietokoneella paikallisesti." + +#. Translators: title of a message indicating failure to add the current +#. document to the bookshelf +#: bookworm/bookshelf/viewer_integration.py:97 +msgid "Can not add document" +msgstr "Asiakirjaa ei voi lisätä" + +#. Translators: title of a dialog to select reading list and collections for a +#. document when adding it to the bookshelf +#: bookworm/bookshelf/viewer_integration.py:104 +msgid "Reading list and collections" +msgstr "Lukulista ja kokoelmat" + +#: bookworm/bookshelf/window.py:56 +msgid "{name} ({count})" +msgstr "{name} ({count})" + +#. Translators: label of a text box to filter documents in bookshelf +#: bookworm/bookshelf/window.py:79 +msgid "Filter documents..." +msgstr "Suodata asiakirjoja..." + +#. Translators: label of the bookshelf document list. This label is shown when +#. the documents are being loaded from the database +#: bookworm/bookshelf/window.py:85 +msgid "Loading items" +msgstr "Ladataan kohteita" + +#. Translators: content of a message shown when the bookshelf fails to load and +#. show documents +#: bookworm/bookshelf/window.py:195 +msgid "" +"Failed to retrieve documents.\n" +"Please try again." +msgstr "" +"Asiakirjojen hakeminen epäonnistui.\n" +"Ole hyvä ja yritä uudelleen." + +#. Translators: title of a message indicating an error +#. Translators: title of a message shown when importing documents to the +#. bookshelf has failed +#. Translators: title of a message shown when importing documents from a +#. folder to the bookshelf has failed +#. Translators: title of a message shown when searching bookshelf has failed +#. Translators: spoken message +#. Translators: title of a list control colum showing errors encountered when +#. bundling documents +#. Translators: title of a message box +#. Translators: title of a messagebox +#. Translators: the title of a message telling the user that an error has +#. occurred +#: bookworm/bookshelf/local_bookshelf/__init__.py:290 +#: bookworm/bookshelf/local_bookshelf/__init__.py:336 +#: bookworm/bookshelf/local_bookshelf/__init__.py:382 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:229 +#: bookworm/bookshelf/window.py:197 bookworm/gui/settings.py:623 +#: bookworm/ocr/ocr_dialogs.py:215 bookworm/ocr/ocr_dialogs.py:625 +#: bookworm/platforms/win32/pandoc_download.py:63 +#: bookworm/platforms/win32/tesseract_download.py:96 +#: bookworm/text_to_speech/tts_gui.py:429 bookworm/webservices/wikiworm.py:170 +msgid "Error" +msgstr "Virhe" + +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#. Translators: the label of the close button in a dialog +#: bookworm/bookshelf/window.py:237 +#: bookworm/gui/book_viewer/core_dialogs.py:397 +msgid "&Open" +msgstr "&Avaa" + +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/window.py:242 +msgid "Open in &system viewer" +msgstr "Avaa &järjestelmän katseluohjelmassa" + +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/window.py:247 +msgid "Edit &title" +msgstr "Muokkaa &nimekettä" + +#. Translators: spoken message when activating a document +#. Translators: spoken message when no matching documents were found when +#. filtering the document list +#: bookworm/bookshelf/window.py:300 +msgid "No matching documents" +msgstr "Ei vastaavia asiakirjoja" + +#. Translators: message shown when loading documents in the bookshelf +#: bookworm/bookshelf/window.py:354 bookworm/bookshelf/window.py:366 +msgid "Retrieving items..." +msgstr "Haetaan kohteita..." + +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/window.py:391 +msgid "Document &info..." +msgstr "Asiakirjan t&iedot..." + +#. Translators: label of the combo box showing a list of bookshelf providers. +#. Currently, only the Local Bookshelf provider is implemented. In the future, +#. other providers may be added, such as Bookshare and Pocket. +#: bookworm/bookshelf/window.py:422 +msgid "Provider" +msgstr "Tarjoaja" + +#. Translators: label of the bookshelf tree that shows reading lists and +#. collections and other categories +#. Translators: label of the settings categories list box +#: bookworm/bookshelf/window.py:429 bookworm/bookshelf/window.py:435 +#: bookworm/gui/settings.py:666 +msgid "Categories" +msgstr "Kategoriat" + +#. Translators: title of Bookshelf window +#: bookworm/bookshelf/window.py:472 +msgid "Bookworm Bookshelf: {name}" +msgstr "Bookwormin kirjahylly: {name}" + +#. Translators: label of a menu item to exit the application +#: bookworm/bookshelf/window.py:496 +msgid "&Exit" +msgstr "&Lopeta" + +#. Translators: lable of the file menu in the menu bar +#. Translators: the label of an item in the application menubar +#: bookworm/bookshelf/window.py:499 bookworm/gui/book_viewer/menubar.py:889 +msgid "&File" +msgstr "&Tiedosto" + +#. Translators: the label of a menu item to remove a bookshelf reading list or +#. collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:76 msgid "Remove..." msgstr "Poista..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:61 +#. Translators: the label of a menu item to change the name of a bookshelf +#. reading list or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:81 msgid "Edit name..." msgstr "Muokkaa nimeä..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:66 +#. Translators: the label of a menu item to remove all documents under a +#. specific bookshelf reading list or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:86 msgid "Clear documents..." msgstr "Poista asiakirjoja..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:90 +#. Translators: the name of a category in the bookshelf for recently added +#. documents +#: bookworm/bookshelf/local_bookshelf/__init__.py:110 msgid "Recently Added" msgstr "Viimeksi lisätyt" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:97 +#. Translators: the name of a category in the bookshelf for documents currently +#. being read by the user +#: bookworm/bookshelf/local_bookshelf/__init__.py:117 msgid "Currently Reading" msgstr "Luen tällä hetkellä" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:106 +#. Translators: the name of a category in the bookshelf for documents the user +#. wants to read +#: bookworm/bookshelf/local_bookshelf/__init__.py:126 msgid "Want to Read" msgstr "Haluan lukea" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:115 +#. Translators: the name of a category in the bookshelf for documents favored +#. by the user +#: bookworm/bookshelf/local_bookshelf/__init__.py:135 msgid "Favorites" msgstr "Suosikit" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:125 +#. Translators: the name of a category in the bookshelf which contains the +#. user's reading lists +#: bookworm/bookshelf/local_bookshelf/__init__.py:145 msgid "Reading Lists" msgstr "Lukulistat" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:130 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:47 +#. Translators: the name of a category in the bookshelf which contains the +#. user's collections +#. Translators: label of a text box for entering a document's collections +#: bookworm/bookshelf/local_bookshelf/__init__.py:150 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:51 msgid "Collections" msgstr "Kokoelmat" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:138 -#: ..\..\..\../gui/settings.py:590 +#. Translators: the name of a reading list in the bookshelf which contains +#. documents that do not have any category assigned to them +#. Translators: the label of a page in the settings dialog +#: bookworm/bookshelf/local_bookshelf/__init__.py:158 +#: bookworm/gui/settings.py:634 msgid "General" msgstr "Yleiset" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:147 +#. Translators: the label of a menu item in the bookshelf to add a new reading +#. list or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:167 msgid "Add New..." msgstr "Lisää uusi..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:166 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:353 +#. Translators: the name of a category in the bookshelf that lists the authors +#. of the documents stored in the bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:186 +#: bookworm/gui/book_viewer/core_dialogs.py:362 msgid "Authors" msgstr "Tekijät" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:177 +#. Translators: the label of a menu item in the bookshelf file menu to import +#. documents to the bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:197 msgid "Import Documents...\tCtrl+O" msgstr "Tuo asiakirjoja...\tCtrl+O" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:182 +#. Translators: the label of a menu item in the bookshelf file menu to import +#. an entire folder to the bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:202 msgid "Import documents from folder..." msgstr "Tuo asiakirjoja kansiosta..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:186 +#. Translators: the label of a menu item in the bookshelf file menu to search +#. documents contained in the bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:206 msgid "Search Bookshelf..." msgstr "Hae kirjahyllystä..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:189 +#. Translators: the label of a menu item in the bookshelf file menu to copy the +#. files added to the bookshelf to a private folder that blongs to Bookworm. +#. This is important to make the bookshelf works with portable copies, or if +#. the user wants to move or rename added documents +#: bookworm/bookshelf/local_bookshelf/__init__.py:209 msgid "Bundle Documents..." msgstr "Niputa asiakirjat..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:192 +#. Translators: the label of a menu item in the bookshelf file menu to clear +#. documents that no longer exist in the file system +#: bookworm/bookshelf/local_bookshelf/__init__.py:212 msgid "Clear invalid documents..." msgstr "Poista virheelliset asiakirjat..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:204 +#. Translators: the title of a file dialog to browse to a document +#: bookworm/bookshelf/local_bookshelf/__init__.py:224 msgid "Import Documents To Bookshelf" msgstr "Tuo asiakirjoja kirjahyllyyn" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:220 -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:620 +#. Translators: the title of a dialog to edit the document's reading list or +#. collection +#. Translators: title of a dialog to change the reading list or collection for +#. a document +#: bookworm/bookshelf/local_bookshelf/__init__.py:240 +#: bookworm/bookshelf/local_bookshelf/__init__.py:640 msgid "Edit reading list/collections" msgstr "Muokkaa lukulistaa/kokoelmia" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:237 +#. Translators: a message shown when Bookworm is importing documents to the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:257 msgid "Importing document..." msgstr "Tuodaan asiakirjaa..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:240 +#. Translators: a message shown when Bookworm is importing documents to the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:260 msgid "Importing documents..." msgstr "Tuodaan asiakirjoja..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:268 +#. Translators: content of a message shown when importing documents to the +#. bookshelf has failed +#: bookworm/bookshelf/local_bookshelf/__init__.py:288 msgid "Failed to import document. Please try again." msgstr "Asiakirjan tuonti epäonnistui. Yritä uudelleen." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:270 -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:316 -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:362 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:225 -#: ..\..\..\../bookshelf/window.py:192 ..\..\..\../gui/settings.py:579 -#: ..\..\..\../ocr/ocr_dialogs.py:203 ..\..\..\../ocr/ocr_dialogs.py:613 -#: ..\..\..\../platforms/win32/pandoc_download.py:63 -#: ..\..\..\../platforms/win32/tesseract_download.py:94 -#: ..\..\..\../text_to_speech/tts_gui.py:426 -#: ..\..\..\../webservices/wikiworm.py:170 -msgid "Error" -msgstr "Virhe" - -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:281 +#. Translators: title of a dialog to import an entire folder to the bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:301 msgid "Import Documents From Folder" msgstr "Tuo asiakirjoja kansiosta" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:295 +#. Translators: a message shown when importing an entire folder to the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:315 msgid "Importing documents from folder. Please wait..." msgstr "Odota, kun asiakirjoja tuodaan kansiosta..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:304 +#. Translators: content of a message shown when importing documents from a +#. folder to the bookshelf is successful +#: bookworm/bookshelf/local_bookshelf/__init__.py:324 msgid "Documents imported from folder." msgstr "Asiakirjat tuotu kansiosta." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:306 +#. Translators: title of a message shown when importing documents from a folder +#. to the bookshelf is successful +#: bookworm/bookshelf/local_bookshelf/__init__.py:326 msgid "Operation Completed" msgstr "Toiminto suoritettu" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:314 +#. Translators: content of a message shown when importing documents from a +#. folder to the bookshelf has failed +#: bookworm/bookshelf/local_bookshelf/__init__.py:334 msgid "Failed to import documents from folder." msgstr "Asiakirjojen tuonti kansiosta epäonnistui." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:324 +#. Translators: title of a dialog to search bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:344 msgid "Search Bookshelf" msgstr "Hae kirjahyllystä" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:337 +#. Translators: a message shown while searching bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:357 msgid "Searching bookshelf..." msgstr "Haetaan kirjahyllystä..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:360 +#. Translators: content of a message shown when searching bookshelf has failed +#: bookworm/bookshelf/local_bookshelf/__init__.py:380 msgid "Failed to search bookshelf," msgstr "Kirjahyllystä hakeminen epäonnistui," -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:377 +#. Translators: title of a dialog that shows bookshelf search results. It +#. searches documents by title and content, hence full-text +#: bookworm/bookshelf/local_bookshelf/__init__.py:397 msgid "Full Text Search Results" msgstr "Koko tekstin hakutulokset" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:388 +#. Translators: content of a message to confirm the bundling of documents added +#. to bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:407 msgid "" "This will create copies of all of the documents you have added to your Local " "Bookshelf.\n" @@ -691,30 +1126,38 @@ msgstr "" "Huomaa, että tämä toiminto luo kaksoiskappaleet kaikista lisäämistäsi " "asiakirjoista." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:391 +#. Translators: title of a message to confirm the bundling of documents added +#. to bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:411 msgid "Bundle Documents?" msgstr "Niputetaanko asiakirjat?" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:399 +#. Translators: a message shown when bundling documents added to bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:419 msgid "Bundling documents. Please wait..." msgstr "Odota, kun asiakirjoja niputetaan..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:428 -#, python-brace-format +#. Translators: content of a message when bundling of documents is successful +#: bookworm/bookshelf/local_bookshelf/__init__.py:448 msgid "Bundled {num_documents} files." msgstr "Niputettu {num_documents} tiedostoa." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:430 +#. Translators: title of a message when bundling of documents is successful +#: bookworm/bookshelf/local_bookshelf/__init__.py:450 msgid "Done" msgstr "Valmis" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:439 -#, python-brace-format +#. Translators: title of a dialog that shows titles and paths of documents +#. which have not been bundled successfully +#: bookworm/bookshelf/local_bookshelf/__init__.py:458 msgid "Bundle Results: {num_succesfull} successfull, {num_faild} faild" msgstr "" "Niputuksen tulokset: {num_succesfull} onnistui, {num_faild} epäonnistui" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:451 +#. Translators: content of a message to confirm the clearing of documents +#. which have been added to bookshelf, but they have been moved, renamed, or +#. deleted +#: bookworm/bookshelf/local_bookshelf/__init__.py:470 msgid "" "This action will clear invalid documents from your bookshelf.\n" "Invalid documents are the documents which no longer exist on your computer." @@ -722,20 +1165,28 @@ msgstr "" "Tämä toiminto poistaa virheelliset asiakirjat kirjahyllystä.\n" "Virheelliset asiakirjat ovat sellaisia, joita ei enää ole tietokoneellasi." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:455 +#. Translators: title of a message to confirm the clearing of documents +#. which have been added to bookshelf, but they have been moved, renamed, or +#. deleted +#: bookworm/bookshelf/local_bookshelf/__init__.py:475 msgid "Clear Invalid Documents?" msgstr "Poista virheelliset asiakirjat?" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:470 +#. Translators: label of a text box to change the name of a reading list or +#. collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:490 msgid "New name:" msgstr "Uusi nimi:" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:472 +#. Translators: title of a dialog to change the name of a reading list or +#. collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:492 msgid "Edit Name" msgstr "Muokkaa nimeä" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:483 -#, python-brace-format +#. Translators: content of a message when changing the name of a reading list +#. or collection was not successful +#: bookworm/bookshelf/local_bookshelf/__init__.py:502 msgid "" "The given name {name} already exists.\n" "Please choose another name." @@ -743,12 +1194,15 @@ msgstr "" "Antamasi nimi {name} on jo olemassa.\n" "Valitse toinen nimi." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:486 +#. Translators: title of a message when changing the name of a reading list or +#. collection was not successful +#: bookworm/bookshelf/local_bookshelf/__init__.py:506 msgid "Duplicate name" msgstr "Päällekkäinen nimi" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:497 -#, python-brace-format +#. Translators: content of a message to confirm the removal of a reading list +#. or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:516 msgid "" "Are you sure you want to remove {name}?\n" "This will not remove document classified under {name}." @@ -756,14 +1210,19 @@ msgstr "" "Haluatko varmasti poistaa asiakirjan {name}?\n" "Tämä ei poista nimellä {name} luokiteltua asiakirjaa." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:500 -#: ..\..\..\../gui/components.py:610 ..\..\..\../ocr/ocr_dialogs.py:529 -#: ..\..\..\../ocr/ocr_dialogs.py:571 +#. Translators: title of a message to confirm the removal of a reading list or +#. collection +#. Translators: title of a message box +#. Translators: title of a messagebox +#: bookworm/bookshelf/local_bookshelf/__init__.py:520 +#: bookworm/gui/components.py:610 bookworm/ocr/ocr_dialogs.py:541 +#: bookworm/ocr/ocr_dialogs.py:583 msgid "Confirm" msgstr "Vahvista" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:512 -#, python-brace-format +#. Translators: content of a message to confirm the removal of all documents +#. classified under a specific reading list or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:531 msgid "" "Are you sure you want to clear all documents classified under {name}?\n" "This will remove those documents from your bookshelf." @@ -771,52 +1230,74 @@ msgstr "" "Haluatko varmasti poistaa kaikki nimellä {name} luokitellut asiakirjat?\n" "Tämä poistaa kyseiset asiakirjat kirjahyllystä." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:515 +#. Translators: title of a message to confirm the removal of all documents +#. classified under a specific reading list or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:535 msgid "Clear All Documents" msgstr "Poista kaikki asiakirjat" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:528 +#. Translators: label of a text box for the name of a new reading list or +#. collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:548 msgid "Enter name:" msgstr "Kirjoita nimi:" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:530 +#. Translators: title of a dialog for adding a new reading list or collection +#: bookworm/bookshelf/local_bookshelf/__init__.py:550 msgid "Add New" msgstr "Lisää uusi" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:555 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:575 msgid "&Edit reading list / collections..." msgstr "&Muokkaa lukulistaa/kokoelmia..." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:560 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:580 msgid "Remove from ¤tly reading" msgstr "Poista &luen tällä hetkellä -listalta" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:562 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:582 msgid "Add to ¤tly reading" msgstr "Lisää l&uen tällä hetkellä -listalle" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:567 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:587 msgid "Remove from &want to read" msgstr "Poista &haluan lukea -listalta" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:569 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:589 msgid "Add to &want to read" msgstr "Lisää h&aluan lukea -listalle" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:574 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:594 msgid "Remove from &favorites" msgstr "Poista &suosikeista" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:576 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:596 msgid "Add to &favorites" msgstr "Lisää &suosikkeihin" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:581 +#. Translators: label of an item in the context menu of a document in the +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:601 msgid "&Remove from bookshelf" msgstr "&Poista kirjahyllystä" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:648 -#, python-brace-format +#. Translators: content of a message to confirm the removal of this document +#. from bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:667 msgid "" "Are you sure you want to remove this document from your bookshelf?\n" "Title: {title}\n" @@ -826,330 +1307,275 @@ msgstr "" "Title: {title}\n" "Tämä poistaa asiakirjan kaikista tunnisteista ja kategorioista." -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:651 +#. Translators: title of a message to confirm the removal of this document from +#. bookshelf +#: bookworm/bookshelf/local_bookshelf/__init__.py:671 msgid "Remove From Bookshelf?" msgstr "Poistetaanko kirjahyllystä?" -#: ..\..\..\../bookshelf/local_bookshelf/__init__.py:683 +#. Translators: the name of a category under the Authors category. This +#. category shows documents for which author info is not available +#: bookworm/bookshelf/local_bookshelf/__init__.py:703 msgid "Unknown Author" msgstr "Tuntematon tekijä" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:43 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:86 +#. Translators: label of a combo box for choosing a document's reading list +#. Translators: label of a button +#: bookworm/bookshelf/local_bookshelf/dialogs.py:47 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:90 msgid "Reading List" msgstr "Lukulista" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:51 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:93 +#. Translators: label of a check box +#: bookworm/bookshelf/local_bookshelf/dialogs.py:55 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:97 msgid "Add to full-text search index" msgstr "Lisää kokotekstin hakuindeksiin" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:80 +#. Translators: label of an edit control for entering the path to a folder to +#. import to the bookshelf +#: bookworm/bookshelf/local_bookshelf/dialogs.py:84 msgid "Select a folder:" msgstr "Valitse kansio:" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:112 -#: ..\..\..\../gui/book_viewer/__init__.py:402 +#. Translators: label of a text box for entering a search term +#. Translators: the label of a button in the application toolbar +#: bookworm/bookshelf/local_bookshelf/dialogs.py:116 +#: bookworm/gui/book_viewer/__init__.py:412 msgid "Search" msgstr "Hae" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:116 +#. Translators: title of a group of controls to select which document field to +#. search in when searching bookshelf +#: bookworm/bookshelf/local_bookshelf/dialogs.py:120 msgid "Search Field" msgstr "Hakukenttä" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:120 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:186 -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:229 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:342 +#. Translators: label of a check box that enables/disables searching document +#. title when searching the bookshelf +#. Translators: header of a column in a list control in a dialog showing a list +#. of search results of matching document titles +#. Translators: title of a list control colum showing the document titles of +#. documents not bundled due to errors when bundling documents +#: bookworm/bookshelf/local_bookshelf/dialogs.py:124 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:190 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:233 +#: bookworm/gui/book_viewer/core_dialogs.py:351 msgid "Title" msgstr "Nimeke" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:154 +#. Translators: label of a list showing search results of documents with title +#. matching the given search query +#: bookworm/bookshelf/local_bookshelf/dialogs.py:158 msgid "Title matches" msgstr "Nimekeosumat" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:157 +#. Translators: the label of a tab in a tabl control in a dialog showing a list +#. of search results in the bookshelf +#: bookworm/bookshelf/local_bookshelf/dialogs.py:161 msgid "Title Matches" msgstr "Nimeke täsmää" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:164 +#. Translators: label of a list showing search results of content matching the +#. given search query +#: bookworm/bookshelf/local_bookshelf/dialogs.py:168 msgid "Content matches" msgstr "Sisältöosumat" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:167 +#. Translators: the label of a tab in a tabl control in a dialog showing a list +#. of search results in the bookshelf +#: bookworm/bookshelf/local_bookshelf/dialogs.py:171 msgid "Content Matches" msgstr "Sisältöosumat" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:183 +#: bookworm/bookshelf/local_bookshelf/dialogs.py:187 msgid "Snippet" msgstr "Katkelma" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:227 +#. Translators: title of a list control colum showing the file names of files +#. not bundled due to errors when bundling documents +#: bookworm/bookshelf/local_bookshelf/dialogs.py:231 msgid "File Name" msgstr "Tiedostonimi" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:232 +#. Translators: label of a list control showing file copy errors +#: bookworm/bookshelf/local_bookshelf/dialogs.py:236 msgid "Errors" msgstr "Virheet" -#: ..\..\..\../bookshelf/local_bookshelf/dialogs.py:235 +#. Translators: label shown in a list control indicating the failure to copy +#. the document when bundling documents +#: bookworm/bookshelf/local_bookshelf/dialogs.py:239 msgid "Failed to copy document" msgstr "Asiakirjan kopiointi epäonnistui" -#: ..\..\..\../bookshelf/viewer_integration.py:41 -msgid "Automatically add opened books to the local bookshelf" -msgstr "Lisää avatut kirjat automaattisesti paikalliseen kirjahyllyyn" - -#: ..\..\..\../bookshelf/viewer_integration.py:54 -msgid "&Open Bookshelf" -msgstr "&Avaa kirjahylly" - -#: ..\..\..\../bookshelf/viewer_integration.py:56 -msgid "Open your bookshelf" -msgstr "Avaa kirjahylly" - -#: ..\..\..\../bookshelf/viewer_integration.py:61 -msgid "&Add to local bookshelf..." -msgstr "Lisää p&aikalliseen kirjahyllyyn..." - -#: ..\..\..\../bookshelf/viewer_integration.py:63 -msgid "Add the current book to the local bookshelf" -msgstr "Lisää nykyinen kirja paikalliseen kirjahyllyyn" - -#: ..\..\..\../bookshelf/viewer_integration.py:94 -msgid "" -"You can not add this document to Bookshelf.\n" -"The document should exist locally in your computer." -msgstr "" -"Tätä asiakirjaa ei voi lisätä kirjahyllyyn.\n" -"Asiakirjan on oltava tietokoneella paikallisesti." - -#: ..\..\..\../bookshelf/viewer_integration.py:97 -msgid "Can not add document" -msgstr "Asiakirjaa ei voi lisätä" - -#: ..\..\..\../bookshelf/viewer_integration.py:104 -msgid "Reading list and collections" -msgstr "Lukulista ja kokoelmat" - -#: ..\..\..\../bookshelf/window.py:51 -#, python-brace-format -msgid "{name} ({count})" -msgstr "{name} ({count})" - -#: ..\..\..\../bookshelf/window.py:74 -msgid "Filter documents..." -msgstr "Suodata asiakirjoja..." - -#: ..\..\..\../bookshelf/window.py:80 -msgid "Loading items" -msgstr "Ladataan kohteita" - -#: ..\..\..\../bookshelf/window.py:190 -msgid "" -"Failed to retrieve documents.\n" -"Please try again." -msgstr "" -"Asiakirjojen hakeminen epäonnistui.\n" -"Ole hyvä ja yritä uudelleen." - -#: ..\..\..\../bookshelf/window.py:232 -#: ..\..\..\../gui/book_viewer/core_dialogs.py:388 -msgid "&Open" -msgstr "&Avaa" - -#: ..\..\..\../bookshelf/window.py:237 -msgid "Open in &system viewer" -msgstr "Avaa &järjestelmän katseluohjelmassa" - -#: ..\..\..\../bookshelf/window.py:242 -msgid "Edit &title" -msgstr "Muokkaa &nimekettä" - -#: ..\..\..\../bookshelf/window.py:295 -msgid "No matching documents" -msgstr "Ei vastaavia asiakirjoja" - -#: ..\..\..\../bookshelf/window.py:349 ..\..\..\../bookshelf/window.py:361 -msgid "Retrieving items..." -msgstr "Haetaan kohteita..." - -#: ..\..\..\../bookshelf/window.py:386 -msgid "Document &info..." -msgstr "Asiakirjan t&iedot..." - -#: ..\..\..\../bookshelf/window.py:417 -msgid "Provider" -msgstr "Tarjoaja" - -#: ..\..\..\../bookshelf/window.py:424 ..\..\..\../bookshelf/window.py:430 -#: ..\..\..\../gui/settings.py:622 -msgid "Categories" -msgstr "Kategoriat" - -#: ..\..\..\../bookshelf/window.py:467 -#, python-brace-format -msgid "Bookworm Bookshelf: {name}" -msgstr "Bookwormin kirjahylly: {name}" - -#: ..\..\..\../bookshelf/window.py:491 -msgid "&Exit" -msgstr "&Lopeta" - -#: ..\..\..\../bookshelf/window.py:494 -#: ..\..\..\../gui/book_viewer/menubar.py:883 -msgid "&File" -msgstr "&Tiedosto" - -#: ..\..\..\../document/features.py:53 +#: bookworm/document/features.py:53 msgid "Default reading mode" msgstr "Lukemisen oletustila" -#: ..\..\..\../document/features.py:54 +#: bookworm/document/features.py:54 msgid "Reading order" msgstr "Lukemisjärjestys" -#: ..\..\..\../document/features.py:55 +#: bookworm/document/features.py:55 msgid "Physical layout" msgstr "Fyysinen asettelu" -#: ..\..\..\../document/features.py:56 +#: bookworm/document/features.py:56 msgid "Paginated" msgstr "Sivutettu" -#: ..\..\..\../document/features.py:57 +#: bookworm/document/features.py:57 msgid "Chapter by chapter" msgstr "Luku kerrallaan" -#: ..\..\..\../document/features.py:58 +#: bookworm/document/features.py:58 msgid "Clean text" msgstr "Puhdas teksti" -#: ..\..\..\../document/features.py:59 +#: bookworm/document/features.py:59 msgid "Full text" msgstr "Koko teksti" -#: ..\..\..\../document/formats/archive.py:42 +#. Translators: the name of a document file format +#: bookworm/document/formats/archive.py:45 msgid "Archive File" msgstr "Pakattu tiedosto" -#: ..\..\..\../document/formats/epub.py:48 +#. Translators: the name of a document file format +#: bookworm/document/formats/epub.py:46 msgid "Electronic Publication (EPUB)" msgstr "Elektroninen julkaisu (ePub)" -#: ..\..\..\../document/formats/fb2.py:23 -#: ..\..\..\../document/formats/fb2.py:34 +#. Translators: the name of a document file format +#: bookworm/document/formats/fb2.py:23 bookworm/document/formats/fb2.py:34 msgid "Fiction Book (FB2)" msgstr "Fiction Book (FB2)" -#: ..\..\..\../document/formats/fitz.py:169 +#. Translators: the name of a document file format +#: bookworm/document/formats/fitz.py:174 msgid "XPS Document" msgstr "XPS-asiakirja" -#: ..\..\..\../document/formats/fitz.py:176 +#. Translators: the name of a document file format +#: bookworm/document/formats/fitz.py:181 msgid "Comic Book Archive" msgstr "Comic Book -arkisto" -#: ..\..\..\../document/formats/html.py:174 -#: ..\..\..\../document/formats/html.py:243 +#. Translators: the name of a document file format +#: bookworm/document/formats/html.py:189 bookworm/document/formats/html.py:258 msgid "HTML Document" msgstr "HTML-asiakirja" -#: ..\..\..\../document/formats/markdown.py:19 +#. Translators: the name of a document file format +#: bookworm/document/formats/markdown.py:19 msgid "Markdown File" msgstr "Markdown-tiedosto" -#: ..\..\..\../document/formats/mobi.py:39 +#. Translators: the name of a document file format +#: bookworm/document/formats/mobi.py:39 msgid "Kindle eBook" msgstr "Kindle-e-kirja" -#: ..\..\..\../document/formats/odf.py:82 +#. Translators: the name of a document file format +#: bookworm/document/formats/odf.py:81 msgid "Open Document Text" msgstr "Open Document Text" -#: ..\..\..\../document/formats/odf.py:128 +#. Translators: the name of a document file format +#: bookworm/document/formats/odf.py:127 msgid "Open Document Presentation" msgstr "Open Document Presentation" -#: ..\..\..\../document/formats/odf.py:191 -#: ..\..\..\../document/formats/powerpoint.py:155 -#, python-brace-format +#: bookworm/document/formats/odf.py:190 +#: bookworm/document/formats/powerpoint.py:155 msgid "Slide {number}" msgstr "Dia {number}" -#: ..\..\..\../document/formats/pandoc.py:38 +#. Translators: the name of a document file format +#: bookworm/document/formats/pandoc.py:38 msgid "Rich Text Document" msgstr "Rich Text -asiakirja" -#: ..\..\..\../document/formats/pandoc.py:47 +#. Translators: the name of a document file format +#: bookworm/document/formats/pandoc.py:47 msgid "Docbook Document" msgstr "Docbook-asiakirja" -#: ..\..\..\../document/formats/pandoc.py:56 +#. Translators: the name of a document file format +#: bookworm/document/formats/pandoc.py:56 msgid "Jupyter notebook" msgstr "Jupyter-muistikirja" -#: ..\..\..\../document/formats/pandoc.py:65 +#. Translators: the name of a document file format +#: bookworm/document/formats/pandoc.py:65 msgid "LaTeX Document" msgstr "LaTeX-asiakirja" -#: ..\..\..\../document/formats/pandoc.py:74 +#. Translators: the name of a document file format +#: bookworm/document/formats/pandoc.py:74 msgid "Text2Tags Document" msgstr "Text2Tags-asiakirja" -#: ..\..\..\../document/formats/pandoc.py:83 +#. Translators: the name of a document file format +#: bookworm/document/formats/pandoc.py:83 msgid "Unix manual page" msgstr "Unix-käsikirjan sivu" -#: ..\..\..\../document/formats/pdf.py:73 +#. Translators: the name of a document file format +#: bookworm/document/formats/pdf.py:73 msgid "Portable Document (PDF)" msgstr "Siirrettävä asiakirja (PDF)" -#: ..\..\..\../document/formats/plain_text.py:28 +#. Translators: the name of a document file format +#: bookworm/document/formats/plain_text.py:31 msgid "Plain Text File" msgstr "Vain teksti -tiedosto" -#: ..\..\..\../document/formats/powerpoint.py:85 +#: bookworm/document/formats/powerpoint.py:85 msgid "Slide Notes" msgstr "Dian muistiinpanot" -#: ..\..\..\../document/formats/powerpoint.py:115 +#. Translators: the name of a document file format +#: bookworm/document/formats/powerpoint.py:115 msgid "PowerPoint Presentation" msgstr "PowerPoint-esitys" -#: ..\..\..\../document/formats/word.py:44 +#. Translators: the name of a document file format +#: bookworm/document/formats/word.py:44 msgid "Word Document" msgstr "Word-asiakirja" -#: ..\..\..\../document/formats/word.py:134 +#. Translators: the name of a document file format +#: bookworm/document/formats/word.py:134 msgid "Word 97 - 2003 Document" msgstr "Word 97-2003 -asiakirja" -#: ..\..\..\../epub_serve/__init__.py:43 +#: bookworm/epub_serve/__init__.py:43 msgid "Open in &web Viewer" msgstr "Avaa &verkkoselaimessa" -#: ..\..\..\../epub_serve/__init__.py:44 +#: bookworm/epub_serve/__init__.py:44 msgid "Open the current EPUB book in the browser" msgstr "Avaa nykyinen ePub-kirja selaimessa" -#: ..\..\..\../epub_serve/__init__.py:61 +#: bookworm/epub_serve/__init__.py:61 msgid "Openning in web viewer..." msgstr "Avataan selaimessa..." -#: ..\..\..\../epub_serve/__init__.py:81 +#: bookworm/epub_serve/__init__.py:81 msgid "Failed to launch web viewer" msgstr "Selaimen avaaminen epäonnistui" -#: ..\..\..\../epub_serve/__init__.py:82 +#: bookworm/epub_serve/__init__.py:82 msgid "An error occurred while opening the web viewer. Please try again." msgstr "Selainta avattaessa tapahtui virhe. Ole hyvä ja yritä uudelleen." -#: ..\..\..\../epub_serve/webapp.py:140 +#: bookworm/epub_serve/webapp.py:148 msgid "404 Not Found" msgstr "404 - sivua ei löydy" -#: ..\..\..\../epub_serve/webapp.py:142 +#: bookworm/epub_serve/webapp.py:149 msgid "" "The book you are trying to access does not exist or has been closed. Please " "make sure you opened the book from within Bookworm. All URLs are temporary " @@ -1159,63 +1585,504 @@ msgstr "" "kirjan Bookwormista. Kaikki URL-osoitteet ovat tilapäisiä eivätkä " "välttämättä toimi sivun sulkemisen jälkeen." -#: ..\..\..\../epub_serve/webapp.py:180 +#: bookworm/epub_serve/webapp.py:188 msgid "Failed to load content" msgstr "Sisällön lataaminen epäonnistui" -#: ..\..\..\../epub_serve/webapp.py:182 +#: bookworm/epub_serve/webapp.py:189 msgid "Cannot retreive content. Probably the eBook has been closed." msgstr "Sisältöä ei voi hakea. E-kirja on luultavasti suljettu." -#: ..\..\..\../gui/book_viewer/__init__.py:76 -msgid "Failed to open document" -msgstr "Asiakirjan avaaminen ei onnistu" +#. Translators: The title for the dialog used to present general messages in +#. browse mode. +#: bookworm/gui/browseable_message.py:46 +msgid "Message" +msgstr "Ilmoitus" -#: ..\..\..\../gui/book_viewer/__init__.py:78 -msgid "The document you are trying to open could not be opened in Bookworm." -msgstr "Asiakirjaa, jota yrität avata, ei voitu avata Bookwormissa." +#. Translators: the title of a group of controls in the search dialog +#: bookworm/gui/components.py:104 +msgid "Search Range" +msgstr "Hakualue" -#: ..\..\..\../gui/book_viewer/__init__.py:91 -msgid "Opening document, please wait..." -msgstr "Odota, kun asiakirjaa avataan..." +#. Translators: the label of a radio button in the search dialog +#: bookworm/gui/components.py:106 +msgid "Page Range" +msgstr "Sivut väliltä" -#: ..\..\..\../gui/book_viewer/__init__.py:109 -msgid "Document not found" -msgstr "Asiakirjaa ei löydy" +#. Translators: the label of an edit field in the search dialog +#. to enter the page from which the search will start +#: bookworm/gui/components.py:112 +msgid "From:" +msgstr "Mistä:" + +#. Translators: the label of an edit field in the search dialog +#. to enter the page number at which the search will stop +#: bookworm/gui/components.py:118 +msgid "To:" +msgstr "Mihin:" + +#. Translators: the label of a radio button in the search dialog +#: bookworm/gui/components.py:123 +msgid "Specific section" +msgstr "Tietty luku" + +#. Translators: the label of a combobox in the search dialog +#. to choose the section to which the search will be confined +#: bookworm/gui/components.py:126 +msgid "Select section:" +msgstr "Valitse luku:" + +#. Translators: the label of the OK button in a dialog +#: bookworm/gui/components.py:277 bookworm/gui/components.py:318 +#: bookworm/gui/settings.py:690 +msgid "OK" +msgstr "OK" + +#. Translators: the lable of the cancel button in a dialog +#. Translators: the label of the cancel button in a dialog +#: bookworm/gui/components.py:280 bookworm/gui/components.py:321 +#: bookworm/gui/settings.py:693 +msgid "Cancel" +msgstr "Peruuta" -#: ..\..\..\../gui/book_viewer/__init__.py:111 +#. Translators: content of a message to confirm the closing of a progress +#. dialog +#: bookworm/gui/components.py:606 msgid "" -"Could not open Document.\n" -"The document does not exist." +"This will cancel all the operations in progress.\n" +"Are you sure you want to abort?" msgstr "" -"Asiakirjaa ei voitu avata.\n" -"tiedostoa ei ole." +"Tämä peruuttaa kaikki käynnissä olevat toiminnot.\n" +"Haluatko varmasti keskeyttää?" -#: ..\..\..\../gui/book_viewer/__init__.py:123 -msgid "Document Restricted" -msgstr "Rajoitettu asiakirja" +#. Translators: the title of the file associations dialog +#: bookworm/gui/settings.py:47 +msgid "Bookworm File Associations" +msgstr "Bookwormin tiedostokytkennät" -#: ..\..\..\../gui/book_viewer/__init__.py:126 +#: bookworm/gui/settings.py:59 msgid "" -"Could not open Document.\n" -"The document is restricted by the publisher." +"This dialog will help you to set up file associations.\n" +"Associating files with Bookworm means that when you click on a file in " +"Windows Explorer, it will be opened in Bookworm by default." msgstr "" -"Asiakirjaa ei voitu avata.\n" -"Julkaisija on rajoittanut asiakirjan avaamista." +"Tässä valintaikkunassa voit määrittää tiedostokytkennät.\n" +"Tiedostojen kytkeminen Bookwormiin tarkoittaa, että ne avataan " +"oletusarvoisesti Bookwormissa, kun napsautat niitä Windowsin " +"Resurssienhallinnassa." -#: ..\..\..\../gui/book_viewer/__init__.py:137 -msgid "Unsupported Document Format" -msgstr "Asiakirjan muotoa ei tueta" +#: bookworm/gui/settings.py:71 +msgid "Associate all" +msgstr "Kytke kaikki" -#: ..\..\..\../gui/book_viewer/__init__.py:140 +#: bookworm/gui/settings.py:72 +msgid "Use Bookworm to open all supported document formats" +msgstr "Käytä Bookwormia kaikkien tuettujen asiakirjojen avaamiseen" + +#: bookworm/gui/settings.py:86 +msgid "Dissociate all supported file types" +msgstr "Poista kaikkien tuettujen tiedostotyyppien kytkennät" + +#: bookworm/gui/settings.py:87 +msgid "Remove previously associated file types" +msgstr "Poista aiemmin kytketyt tiedostotyypit" + +#. Translators: the main label of a button +#: bookworm/gui/settings.py:104 +msgid "Dissociate files of type {format}" +msgstr "Poista kytkentä tiedostoista, joiden tyyppi on {format}" + +#. Translators: the note of a button +#: bookworm/gui/settings.py:106 +msgid "" +"Dissociate files with {ext} extension so they no longer open in Bookworm" +msgstr "" +"Poistaa kytkennän {ext}-päätteisistä tiedostoista, jotta ne eivät enää " +"avaudu Bookwormissa" + +#. Translators: the main label of a button +#: bookworm/gui/settings.py:112 +msgid "Associate files of type {format}" +msgstr "Kytke tiedostot, joiden tyyppi on {format}" + +#. Translators: the note of a button +#: bookworm/gui/settings.py:114 +msgid "Associate files with {ext} extension so they always open in Bookworm" +msgstr "Kytke {ext}-päätteiset tiedostot avautumaan aina Bookwormissa" + +#. Translators: the text of a message indicating successful file association +#: bookworm/gui/settings.py:157 +msgid "Files of type {format} have been associated with Bookworm." +msgstr "Tyypin {format} tiedostot on kytketty Bookwormiin." + +#. Translators: the title of a message indicating successful file association +#. Translators: the title of a message indicating successful removal of file +#. association +#. Translators: title of a message box +#: bookworm/gui/book_viewer/menubar.py:337 bookworm/gui/settings.py:161 +#: bookworm/gui/settings.py:179 bookworm/platforms/win32/pandoc_download.py:45 +#: bookworm/platforms/win32/tesseract_download.py:76 +msgid "Success" +msgstr "Onnistui" + +#. Translators: the text of a message indicating successful removal of file +#. associations +#: bookworm/gui/settings.py:170 +msgid "All supported file types have been set to open by default in Bookworm." +msgstr "" +"Kaikki tuetut tiedostotyypit on määritetty avautumaan oletusarvoisesti " +"Bookwormissa." + +#. Translators: the text of a message indicating successful removal of file +#. associations +#: bookworm/gui/settings.py:175 +msgid "All registered file associations have been removed." +msgstr "Kaikki rekisteröidyt tiedostokytkennät on poistettu." + +#. Translators: the title of a group of controls in the +#. general settings page related to the UI +#: bookworm/gui/settings.py:259 +msgid "User Interface" +msgstr "Käyttöliittymä" + +#. Translators: the label of a combobox containing display languages. +#: bookworm/gui/settings.py:261 +msgid "Display Language:" +msgstr "Näyttökieli:" + +#. Translators: the title of a group of controls shown in the +#. general settings page related to spoken feedback +#: bookworm/gui/settings.py:266 +msgid "Spoken feedback" +msgstr "Puhepalaute" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:271 +msgid "Speak user interface messages" +msgstr "Puhu käyttöliittymän ilmoitukset" + +#. Translators: the title of a group of controls shown in the +#. general settings page related to miscellaneous settings +#: bookworm/gui/settings.py:276 +msgid "Miscellaneous" +msgstr "Sekalaiset" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:281 +msgid "Play pagination sound" +msgstr "Soita sivunvaihdon ääni" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:288 +msgid "Include page label in page title" +msgstr "Lisää sivun tunniste sivun otsikkoon" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:295 +msgid "Use file name instead of book title" +msgstr "Käytä tiedostonimeä kirjan nimen sijaan" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:302 +msgid "Show reading progress percentage" +msgstr "Näytä lukemisen edistymisprosentti" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:309 +msgid "Open recently opened books from the last position" +msgstr "Avaa äskettäin avatut kirjat edellisestä lukukohdasta" + +#. Translators: the label of a checkbox to enable continuous reading +#: bookworm/gui/settings.py:316 +msgid "" +"Try to support the screen reader's continuous reading mode by automatically " +"turning pages (may not work in some cases)" +msgstr "" +"Yritä tukea ruudunlukijan jatkuvan luvun tilaa kääntämällä sivuja " +"automaattisesti (ei välttämättä toimi kaikissa tapauksissa)" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:325 +msgid "Automatically check for updates" +msgstr "Tarkista päivitykset automaattisesti" + +#. Translators: the title of a group of controls shown in the +#. general settings page related to file associations +#: bookworm/gui/settings.py:331 +msgid "File Associations" +msgstr "Tiedostokytkennät" + +#. Translators: the label of a button +#: bookworm/gui/settings.py:336 +msgid "Manage File &Associations" +msgstr "Tiedosto&kytkentöjen hallinta" + +#. Translators: the content of a message asking the user to restart +#: bookworm/gui/settings.py:366 +msgid "" +"You have changed the display language of Bookworm.\n" +"For this setting to fully take effect, you need to restart the application.\n" +"Would you like to restart the application right now?" +msgstr "" +"Olet vaihtanut Bookwormin näyttökieltä.\n" +"Sovellus on käynnistettävä uudelleen, jotta asetus tulee voimaan.\n" +"Haluatko käynnistää sovelluksen uudelleen nyt?" + +#. Translators: the title of a message telling the user +#. that the display language have been changed +#: bookworm/gui/settings.py:373 +msgid "Language Changed" +msgstr "Kieli vaihdettu" + +#. Translators: the title of a group of controls in the +#. appearance settings page related to the UI +#: bookworm/gui/settings.py:395 +msgid "General Appearance" +msgstr "Yleinen ulkonäkö" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:400 +msgid "Maximize the application window upon startup" +msgstr "Suurenna sovellusikkuna käynnistettäessä" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:407 +msgid "Show the application's toolbar" +msgstr "Näytä sovelluksen työkalupalkki" + +#: bookworm/gui/settings.py:410 +msgid "Text Styling" +msgstr "Tekstin tyyli" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:415 +msgid "Apply text styling (when available)" +msgstr "Käytä tekstityylejä (kun käytettävissä)" + +#: bookworm/gui/settings.py:418 +msgid "Text view margins percentage" +msgstr "Tekstinäkymän marginaalien prosenttiosuus" + +#. Translators: the title of a group of controls in the +#. appearance settings page related to the font +#: bookworm/gui/settings.py:422 +msgid "Font" +msgstr "Fontti" + +#. Translators: label of a checkbox +#: bookworm/gui/settings.py:427 +msgid "Use Open-&dyslexic font" +msgstr "Käytä Open-&dyslexic-fonttia" + +#. Translators: label of a combobox +#: bookworm/gui/settings.py:431 +msgid "Font Face" +msgstr "Fontin tyyli" + +#. Translators: label of an static +#: bookworm/gui/settings.py:438 +msgid "Font Size" +msgstr "Fonttikoko" + +#. Translators: the label of a checkbox +#: bookworm/gui/settings.py:444 +msgid "Bold style" +msgstr "Lihavoitu tyyli" + +#. Translators: label of a button +#: bookworm/gui/settings.py:504 +msgid "Download Pandoc: The universal document converter" +msgstr "Lataa Pandoc: yleinen asiakirjamuunnin" + +#. Translators: description of a button +#: bookworm/gui/settings.py:506 +msgid "" +"Add support for additional document formats including RTF and Word 2003 " +"documents." +msgstr "" +"Lisää tuki useammille asiakirjamuodoille, mukaan lukien RTF ja Word 2003." + +#. Translators: label of a button +#: bookworm/gui/settings.py:516 +msgid "Update Pandoc (the universal document converter)" +msgstr "Päivitä Pandoc (yleinen asiakirjamuunnin)" + +#. Translators: description of a button +#: bookworm/gui/settings.py:518 +msgid "" +"Update Pandoc to the latest version to improve performance and conversion " +"quality." +msgstr "" +"Päivitä Pandoc viimeisimpään versioon suorituskyvyn ja muunnoslaadun " +"parantamiseksi." + +#. Translators: the title of a group of controls in the +#. advanced settings page +#. Translators: label of a button +#: bookworm/gui/settings.py:525 bookworm/gui/settings.py:530 +msgid "Reset Settings" +msgstr "Nollaa asetukset" + +#. Translators: description of a button +#: bookworm/gui/settings.py:532 +msgid "Reset Bookworm's settings to their defaults" +msgstr "Nollaa Bookwormin asetukset oletusarvoihinsa" + +#. Translators: title of a progress dialog +#: bookworm/gui/settings.py:540 +msgid "Downloading Pandoc" +msgstr "Ladataan Pandoc" + +#. Translators: message of a progress dialog +#. Translators: content of a progress dialog +#: bookworm/gui/settings.py:542 bookworm/ocr/ocr_dialogs.py:141 +#: bookworm/ocr/ocr_dialogs.py:556 +msgid "Getting download information..." +msgstr "Haetaan lataustietoja..." + +#. Translators: message of a dialog +#: bookworm/gui/settings.py:555 bookworm/ocr/ocr_dialogs.py:174 +msgid "Checking for updates. Please wait..." +msgstr "Odota, kun päivityksiä tarkistetaan..." + +#. Translators: content of a message box +#: bookworm/gui/settings.py:563 +msgid "" +"You will lose all of your custom settings.\n" +"Are you sure you want to restore all settings to their default values?" +msgstr "" +"Menetät kaikki muokkaamasi asetukset.\n" +"Haluatko varmasti palauttaa kaikki asetukset oletusarvoihinsa?" + +#. Translators: title of a message box +#: bookworm/gui/settings.py:567 +msgid "Reset Settings?" +msgstr "Nollataanko asetukset?" + +#. Translators: title of a message box +#: bookworm/gui/settings.py:580 bookworm/ocr/ocr_dialogs.py:161 +msgid "Restart Required" +msgstr "Uudelleenkäynnistys tarvitaan" + +#. Translators: content of a message box +#: bookworm/gui/settings.py:582 +msgid "Bookworm will now restart to complete the installation of Pandoc." +msgstr "" +"Bookworm käynnistyy nyt uudelleen suorittaakseen loppuun Pandocin asennuksen." + +#. Translators: content of a message box +#: bookworm/gui/settings.py:591 +msgid "" +"A new version of Pandoc is available for download.\n" +"It is strongly recommended to update to the latest version for the best " +"performance and conversion quality.\n" +"Would you like to update to the new version?" +msgstr "" +"Pandocin uusi versio on ladattavissa.\n" +"Päivittäminen on erittäin suositeltavaa parhaan suorituskyvyn ja " +"muunnoslaadun saavuttamiseksi.\n" +"Haluatko päivittää uuteen versioon?" + +#. Translators: title of a message box +#: bookworm/gui/settings.py:595 +msgid "Update Pandoc?" +msgstr "Päivitetäänkö Pandoc?" + +#. Translators: message of a dialog +#: bookworm/gui/settings.py:604 +msgid "Removing old Pandoc version. Please wait..." +msgstr "Odota, kun vanhaa Pandoc-versiota poistetaan..." + +#. Translators: content of a message box +#: bookworm/gui/settings.py:610 +msgid "Your version of Pandoc is up to date." +msgstr "Pandocin versio on ajan tasalla." + +#. Translators: title of a message box +#: bookworm/gui/settings.py:612 bookworm/ocr/ocr_dialogs.py:204 +msgid "No updates" +msgstr "Ei päivityksiä" + +#. Translators: content of a message box +#: bookworm/gui/settings.py:619 +msgid "Failed to check for updates. Please check your internet connection." +msgstr "" +"Päivitysten tarkistaminen epäonnistui. Tarkista internet-yhteytesi toimivuus." + +#. Translators: the label of a page in the settings dialog +#: bookworm/gui/settings.py:636 +msgid "Appearance" +msgstr "Ulkoasu" + +#. Translators: the label of a page in the settings dialog +#: bookworm/gui/settings.py:638 +msgid "Advanced" +msgstr "Lisäasetukset" + +#. Translators: the label of the apply button in a dialog +#: bookworm/gui/settings.py:695 +msgid "Apply" +msgstr "Käytä" + +#: bookworm/gui/book_viewer/__init__.py:86 +msgid "Failed to open document" +msgstr "Asiakirjan avaaminen ei onnistu" + +#: bookworm/gui/book_viewer/__init__.py:87 +msgid "The document you are trying to open could not be opened in Bookworm." +msgstr "Asiakirjaa, jota yrität avata, ei voitu avata Bookwormissa." + +#: bookworm/gui/book_viewer/__init__.py:101 +msgid "Opening document, please wait..." +msgstr "Odota, kun asiakirjaa avataan..." + +#. Translators: the title of an error message +#: bookworm/gui/book_viewer/__init__.py:119 +msgid "Document not found" +msgstr "Asiakirjaa ei löydy" + +#. Translators: the content of an error message +#: bookworm/gui/book_viewer/__init__.py:121 +msgid "" +"Could not open Document.\n" +"The document does not exist." +msgstr "" +"Asiakirjaa ei voitu avata.\n" +"tiedostoa ei ole." + +#. Translators: the title of an error message +#: bookworm/gui/book_viewer/__init__.py:133 +msgid "Document Restricted" +msgstr "Rajoitettu asiakirja" + +#. Translators: the content of an error message +#: bookworm/gui/book_viewer/__init__.py:135 +msgid "" +"Could not open Document.\n" +"The document is restricted by the publisher." +msgstr "" +"Asiakirjaa ei voitu avata.\n" +"Julkaisija on rajoittanut asiakirjan avaamista." + +#. Translators: the title of a message shown +#. when the format of the e-book is not supported +#: bookworm/gui/book_viewer/__init__.py:147 +msgid "Unsupported Document Format" +msgstr "Asiakirjan muotoa ei tueta" + +#. Translators: the content of a message shown +#. when the format of the e-book is not supported +#: bookworm/gui/book_viewer/__init__.py:150 msgid "The format of the given document is not supported by Bookworm." msgstr "Bookworm ei tue tätä asiakirjamuotoa." -#: ..\..\..\../gui/book_viewer/__init__.py:149 +#. Translators: the title of an error message +#: bookworm/gui/book_viewer/__init__.py:159 msgid "Archive contains no documents" msgstr "Pakattu tiedosto ei sisällä asiakirjoja" -#: ..\..\..\../gui/book_viewer/__init__.py:152 +#. Translators: the content of an error message +#: bookworm/gui/book_viewer/__init__.py:161 msgid "" "Bookworm cannot open this archive file.\n" "The archive contains no documents." @@ -1223,19 +2090,21 @@ msgstr "" "Bookworm ei voi avata tätä pakattua tiedostoa.\n" "Pakkaus ei sisällä asiakirjoja." -#: ..\..\..\../gui/book_viewer/__init__.py:160 +#: bookworm/gui/book_viewer/__init__.py:170 msgid "Documents" msgstr "Asiakirjat" -#: ..\..\..\../gui/book_viewer/__init__.py:161 +#: bookworm/gui/book_viewer/__init__.py:171 msgid "Multiple documents found" msgstr "Useita asiakirjoja löytyi" -#: ..\..\..\../gui/book_viewer/__init__.py:175 +#. Translators: the title of an error message +#: bookworm/gui/book_viewer/__init__.py:185 msgid "Error Opening Document" msgstr "Virhe avattaessa asiakirjaa" -#: ..\..\..\../gui/book_viewer/__init__.py:178 +#. Translators: the content of an error message +#: bookworm/gui/book_viewer/__init__.py:187 msgid "" "Could not open file\n" ".Either the file has been damaged during download, or it has been corrupted " @@ -1245,11 +2114,13 @@ msgstr "" "Tiedosto on joko vahingoittunut lataamisen aikana tai se on vioittunut " "jollakin muulla tavalla." -#: ..\..\..\../gui/book_viewer/__init__.py:190 +#. Translators: the title of an error message +#: bookworm/gui/book_viewer/__init__.py:200 msgid "Error Openning Document" msgstr "Virhe avattaessa asiakirjaa" -#: ..\..\..\../gui/book_viewer/__init__.py:193 +#. Translators: the content of an error message +#: bookworm/gui/book_viewer/__init__.py:202 msgid "" "Could not open document.\n" "An unknown error occurred while loading the file." @@ -1257,7 +2128,8 @@ msgstr "" "Asiakirjaa ei voitu avata.\n" "Tiedostoa ladattaessa tapahtui tuntematon virhe." -#: ..\..\..\../gui/book_viewer/__init__.py:205 +#. Translators: content of a message +#: bookworm/gui/book_viewer/__init__.py:214 msgid "" "Failed to open document.\n" "Would you like to remove its entry from the 'recent documents' and 'pinned " @@ -1267,43 +2139,58 @@ msgstr "" "Haluatko poistaa sen äskettäin avattujen ja kiinnitettyjen asiakirjojen " "luetteloista?" -#: ..\..\..\../gui/book_viewer/__init__.py:208 +#. Translators: title of a message box +#: bookworm/gui/book_viewer/__init__.py:218 msgid "Remove from lists?" msgstr "Poistetaanko luetteloista?" -#: ..\..\..\../gui/book_viewer/__init__.py:277 +#. Translators: the text of the status bar when no book is currently open. +#. It is being used also as a label for the page content text area when no book +#. is opened. +#: bookworm/gui/book_viewer/__init__.py:287 msgid "Press (Ctrl + O) to open a document" msgstr "Avaa asiakirja painamalla Ctrl+O" -#: ..\..\..\../gui/book_viewer/__init__.py:291 +#. Translators: the label of the table-of-contents tree +#: bookworm/gui/book_viewer/__init__.py:301 msgid "Table of Contents" msgstr "Sisällysluettelo" -#: ..\..\..\../gui/book_viewer/__init__.py:314 +#: bookworm/gui/book_viewer/__init__.py:324 msgid "Reading progress percentage" msgstr "Lukemisen edistymisprosentti" -#: ..\..\..\../gui/book_viewer/__init__.py:399 +#. Translators: the label of a button in the application toolbar +#: bookworm/gui/book_viewer/__init__.py:409 msgid "Open" msgstr "Avaa" -#: ..\..\..\../gui/book_viewer/__init__.py:404 +#. Translators: the label of a button in the application toolbar +#: bookworm/gui/book_viewer/__init__.py:414 msgid "Mode" msgstr "Tila" -#: ..\..\..\../gui/book_viewer/__init__.py:407 +#. Translators: the label of a button in the application toolbar +#: bookworm/gui/book_viewer/__init__.py:417 msgid "Big" msgstr "Suuri" -#: ..\..\..\../gui/book_viewer/__init__.py:409 +#. Translators: the label of a button in the application toolbar +#: bookworm/gui/book_viewer/__init__.py:419 msgid "Small" msgstr "Pieni" -#: ..\..\..\../gui/book_viewer/__init__.py:454 +#. Translators: title of a message telling the user that they entered an +#. incorrect +#. password for opening the book +#: bookworm/gui/book_viewer/__init__.py:464 msgid "Incorrect Password" msgstr "Väärä salasana" -#: ..\..\..\../gui/book_viewer/__init__.py:458 +#. Translators: content of a message telling the user that they entered an +#. incorrect +#. password for opening the book +#: bookworm/gui/book_viewer/__init__.py:467 msgid "" "The password you provided is incorrect.\n" "Please try again with the correct password." @@ -1311,52 +2198,58 @@ msgstr "" "Antamasi salasana on väärä.\n" "Yritä uudelleen kirjoittamalla oikea salasana." -#: ..\..\..\../gui/book_viewer/__init__.py:518 +#. Translators: spoken message when the document has been closed +#: bookworm/gui/book_viewer/__init__.py:528 msgid "Document closed." msgstr "Asiakirja suljettu." -#: ..\..\..\../gui/book_viewer/__init__.py:555 -#, python-brace-format +#. Translators: text of reading progress shown in the status bar +#: bookworm/gui/book_viewer/__init__.py:565 msgid "{percentage} completed" msgstr "{percentage} luettu" -#: ..\..\..\../gui/book_viewer/__init__.py:613 +#. Translators: label of content text control when the currently opened +#. document is a single page document +#: bookworm/gui/book_viewer/__init__.py:623 msgid "Document content" msgstr "Asiakirjan sisältö" -#: ..\..\..\../gui/book_viewer/__init__.py:644 -#, python-brace-format +#: bookworm/gui/book_viewer/__init__.py:654 msgid "{text}: {item_type}" msgstr "{text}: {item_type}" -#: ..\..\..\../gui/book_viewer/__init__.py:661 -#, python-brace-format +#: bookworm/gui/book_viewer/__init__.py:671 msgid "No next {item}" msgstr "Ei seuraavaa {item}" -#: ..\..\..\../gui/book_viewer/__init__.py:663 -#, python-brace-format +#: bookworm/gui/book_viewer/__init__.py:673 msgid "No previous {item}" msgstr "Ei edellistä {item}" -#: ..\..\..\../gui/book_viewer/__init__.py:679 +#. Translators: a message telling the user that the font size has been +#. increased +#: bookworm/gui/book_viewer/__init__.py:689 msgid "The font size has been Increased" msgstr "Fonttikokoa on suurennettu" -#: ..\..\..\../gui/book_viewer/__init__.py:685 +#. Translators: a message telling the user that the font size has been +#. decreased +#: bookworm/gui/book_viewer/__init__.py:695 msgid "The font size has been decreased" msgstr "Fonttikokoa on pienennetty" -#: ..\..\..\../gui/book_viewer/__init__.py:689 +#. Translators: a message telling the user that the font size has been reset +#: bookworm/gui/book_viewer/__init__.py:699 msgid "The font size has been reset" msgstr "Fonttikoko on nollattu" -#: ..\..\..\../gui/book_viewer/__init__.py:719 -#, python-brace-format +#: bookworm/gui/book_viewer/__init__.py:729 msgid "Reading progress: {percentage}" msgstr "Lukemisen edistyminen: {percentage}" -#: ..\..\..\../gui/book_viewer/__init__.py:741 +#. Translators: the content of a dialog asking the user +#. for the password to decrypt the current e-book +#: bookworm/gui/book_viewer/__init__.py:750 msgid "" "This document is encrypted with a password.\n" "You need to provide the password in order to access its content.\n" @@ -1366,101 +2259,113 @@ msgstr "" "Tarvitset salasanan sen lukemiseen.\n" "Kirjoita salasana ja paina Enteriä." -#: ..\..\..\../gui/book_viewer/__init__.py:746 +#. Translators: the title of a dialog asking the user to enter a password to +#. decrypt the e-book +#: bookworm/gui/book_viewer/__init__.py:756 msgid "Enter Password" msgstr "Kirjoita salasana" -#: ..\..\..\../gui/book_viewer/__init__.py:784 -#: ..\..\..\../text_to_speech/__init__.py:167 -#, python-brace-format +#. Translators: the label of the page content text area +#. Translators: a message to announce when navigating to another page +#: bookworm/gui/book_viewer/__init__.py:794 +#: bookworm/text_to_speech/__init__.py:179 msgid "Page {page} of {total}" msgstr "Sivu {page} / {total}" -#: ..\..\..\../gui/book_viewer/__init__.py:869 -#, python-brace-format +#: bookworm/gui/book_viewer/__init__.py:879 msgid "Opening page: {url}" msgstr "Avataan sivua: {url}" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:47 +#. Translators: the label of a list of search results +#: bookworm/gui/book_viewer/core_dialogs.py:56 msgid "Search Results" msgstr "Hakutulokset" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:58 +#. Translators: the title of a column in the search results list showing +#. an excerpt of the text of the search result +#: bookworm/gui/book_viewer/core_dialogs.py:67 msgid "Text" msgstr "Teksti" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:74 +#. Translators: the label of a progress bar indicating the progress of the +#. search process +#: bookworm/gui/book_viewer/core_dialogs.py:83 msgid "Search Progress:" msgstr "Haun edistyminen:" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:148 +#. Translators: the label of a button to close the dialog +#. Translators: the label of an edit field in the search dialog +#: bookworm/gui/book_viewer/core_dialogs.py:157 msgid "Search term:" msgstr "Hakuehto:" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:154 +#. Translators: the label of a checkbox +#: bookworm/gui/book_viewer/core_dialogs.py:163 msgid "Case sensitive" msgstr "Sama kirjainkoko" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:156 +#. Translators: the label of a checkbox +#: bookworm/gui/book_viewer/core_dialogs.py:165 msgid "Match whole word only" msgstr "Vain kokonaiset sanat" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:158 +#. Translators: the label of a checkbox +#: bookworm/gui/book_viewer/core_dialogs.py:167 msgid "Regular expression" msgstr "Sääntölauseke" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:207 -#, python-brace-format +#: bookworm/gui/book_viewer/core_dialogs.py:216 msgid "Page number, of {total}:" msgstr "Sivu (yhteensä {total}):" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:246 +#: bookworm/gui/book_viewer/core_dialogs.py:255 msgid "Element Type" msgstr "Elementin tyyppi" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:251 +#: bookworm/gui/book_viewer/core_dialogs.py:260 msgid "Elements" msgstr "Elementit" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:327 +#. Translators: title of a dialog +#: bookworm/gui/book_viewer/core_dialogs.py:336 msgid "Document Info" msgstr "Asiakirjan tiedot" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:356 +#: bookworm/gui/book_viewer/core_dialogs.py:365 msgid "Author" msgstr "Tekijä" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:360 +#: bookworm/gui/book_viewer/core_dialogs.py:369 msgid "Description" msgstr "Kuvaus" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:369 +#: bookworm/gui/book_viewer/core_dialogs.py:378 msgid "Number of Sections" msgstr "Lukujen määrä" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:373 +#: bookworm/gui/book_viewer/core_dialogs.py:382 msgid "Number of Pages" msgstr "Sivumäärä" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:376 -#: ..\..\..\../ocr/ocr_dialogs.py:484 +#. Translators: the title of a column in the Tesseract language list +#: bookworm/gui/book_viewer/core_dialogs.py:385 bookworm/ocr/ocr_dialogs.py:496 msgid "Language" msgstr "Kieli" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:379 +#: bookworm/gui/book_viewer/core_dialogs.py:388 msgid "Publisher" msgstr "Julkaisija" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:381 +#: bookworm/gui/book_viewer/core_dialogs.py:390 msgid "Created at" msgstr "Luotu" -#: ..\..\..\../gui/book_viewer/core_dialogs.py:384 +#: bookworm/gui/book_viewer/core_dialogs.py:393 msgid "Publication Date" msgstr "Julkaisupäivämäärä" -#: ..\..\..\../gui/book_viewer/menubar.py:47 -#, python-brace-format +#. Translators: the content of the about message +#: bookworm/gui/book_viewer/menubar.py:52 msgid "" "{display_name}\n" "Version: {version}\n" @@ -1499,40 +2404,47 @@ msgstr "" "SOVELTUVUUDESTA TIETTYYN TARKOITUKSEEN.\n" "Saat lisätietoja tarkastelemalla koko lisenssiä Ohje-valikosta.\n" -#: ..\..\..\../gui/book_viewer/menubar.py:59 +#: bookworm/gui/book_viewer/menubar.py:64 msgid "" "This release of Bookworm is generously sponsored by Capeds (www.capeds.net)." msgstr "Bookwormin julkaisua sponsoroi Capeds (www.capeds.net)." -#: ..\..\..\../gui/book_viewer/menubar.py:88 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:94 msgid "Open...\tCtrl-O" msgstr "Avaa...\tCtrl+O" -#: ..\..\..\../gui/book_viewer/menubar.py:90 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:96 msgid "New Window...\tCtrl-N" msgstr "Uusi ikkuna...\tCtrl+N" -#: ..\..\..\../gui/book_viewer/menubar.py:94 +#: bookworm/gui/book_viewer/menubar.py:100 msgid "&Pin\tCtrl-P" msgstr "&Kiinnitä\tCtrl+P" -#: ..\..\..\../gui/book_viewer/menubar.py:97 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:103 msgid "&Save As Plain Text..." msgstr "&Tallenna vain tekstinä..." -#: ..\..\..\../gui/book_viewer/menubar.py:102 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:108 msgid "&Close Current Document\tCtrl-W" msgstr "&Sulje nykyinen asiakirja\tCtrl+W" -#: ..\..\..\../gui/book_viewer/menubar.py:104 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:110 msgid "Close the currently open document" -msgstr "Sulje tällä hetkellä avoinna oleva asiakirja." +msgstr "Sulje avoinna oleva asiakirja" -#: ..\..\..\../gui/book_viewer/menubar.py:110 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:116 msgid "C&lear Documents Cache..." msgstr "T&yhjennä asiakirjavälimuisti..." -#: ..\..\..\../gui/book_viewer/menubar.py:113 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:118 msgid "" "Clear the document cache. Helps in fixing some issues with openning " "documents." @@ -1540,736 +2452,471 @@ msgstr "" "Tyhjennä asiakirjavälimuisti. Auttaa korjaamaan asiakirjojen avaamisessa " "ilmeneviä ongelmia." -#: ..\..\..\../gui/book_viewer/menubar.py:120 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:126 msgid "Pi&nned Documents" msgstr "Kii&nnitetyt asiakirjat" -#: ..\..\..\../gui/book_viewer/menubar.py:122 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:128 msgid "Opens a list of documents you pinned." msgstr "Näyttää listan kiinnittämistäsi asiakirjoista." -#: ..\..\..\../gui/book_viewer/menubar.py:128 -#: ..\..\..\../gui/book_viewer/menubar.py:142 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:134 +#: bookworm/gui/book_viewer/menubar.py:148 msgid "Clear list" msgstr "Tyhjennä lista" -#: ..\..\..\../gui/book_viewer/menubar.py:130 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:136 msgid "Clear the pinned documents list" msgstr "Tyhjennä kiinnitettyjen asiakirjojen lista." -#: ..\..\..\../gui/book_viewer/menubar.py:135 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:141 msgid "&Recently Opened" msgstr "&Äskettäin avatut" -#: ..\..\..\../gui/book_viewer/menubar.py:137 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:143 msgid "Opens a list of recently opened books." msgstr "Näyttää listan äskettäin avatuista kirjoista." -#: ..\..\..\../gui/book_viewer/menubar.py:144 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:150 msgid "Clear the recent books list." msgstr "Tyhjentää äskettäin avattujen kirjojen listan." -#: ..\..\..\../gui/book_viewer/menubar.py:150 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:156 msgid "&Preferences...\tCtrl-Shift-P" msgstr "&Asetukset...\tCtrl+Vaihto+P" -#: ..\..\..\../gui/book_viewer/menubar.py:152 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:158 msgid "Configure application" -msgstr "Muuta sovelluksen asetuksia." +msgstr "Muuta sovelluksen asetuksia" -#: ..\..\..\../gui/book_viewer/menubar.py:156 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:162 msgid "Exit" msgstr "Lopeta" -#: ..\..\..\../gui/book_viewer/menubar.py:207 +#. Translators: the title of a file dialog to browse to a document +#: bookworm/gui/book_viewer/menubar.py:213 msgid "Select a document" msgstr "Valitse asiakirja" -#: ..\..\..\../gui/book_viewer/menubar.py:236 +#: bookworm/gui/book_viewer/menubar.py:242 msgid "Pinned" msgstr "Kiinnitetyt" -#: ..\..\..\../gui/book_viewer/menubar.py:240 +#: bookworm/gui/book_viewer/menubar.py:246 msgid "Unpinned" msgstr "Ei-kiinnitetyt" -#: ..\..\..\../gui/book_viewer/menubar.py:266 +#. Translators: the title of a dialog showing +#. the progress of book export process +#: bookworm/gui/book_viewer/menubar.py:272 msgid "Exporting Document" msgstr "Viedään asiakirjaa" -#: ..\..\..\../gui/book_viewer/menubar.py:268 +#. Translators: the message of a dialog showing the progress of book export +#: bookworm/gui/book_viewer/menubar.py:274 msgid "Converting document to plain text." msgstr "Muunnetaan asiakirjaa vain teksti -muotoon." -#: ..\..\..\../gui/book_viewer/menubar.py:286 -#, python-brace-format +#. Translators: a message shown when the book is being exported +#: bookworm/gui/book_viewer/menubar.py:292 msgid "Exporting Page {current} of {total}..." msgstr "Viedään sivua {current} / {total}..." -#: ..\..\..\../gui/book_viewer/menubar.py:308 -#, python-brace-format +#. Translators: the title of the application preferences dialog +#: bookworm/gui/book_viewer/menubar.py:314 msgid "{app_name} Preferences" msgstr "{app_name}in asetukset" -#: ..\..\..\../gui/book_viewer/menubar.py:319 +#. Translators: content of a message +#: bookworm/gui/book_viewer/menubar.py:325 msgid "Are you sure you want to clear the documents cache?" msgstr "Haluatko varmasti tyhjentää asiakirjavälimuistin?" -#: ..\..\..\../gui/book_viewer/menubar.py:321 +#. Translators: title of a message box +#: bookworm/gui/book_viewer/menubar.py:327 msgid "Clear Documents Cache?" msgstr "Tyhjennetäänkö asiakirjavälimuisti?" -#: ..\..\..\../gui/book_viewer/menubar.py:329 +#. Translators: content of a message box +#: bookworm/gui/book_viewer/menubar.py:335 msgid "Documents cache has been cleared." msgstr "Asiakirjavälimuisti on tyhjennetty." -#: ..\..\..\../gui/book_viewer/menubar.py:331 ..\..\..\../gui/settings.py:117 -#: ..\..\..\../gui/settings.py:135 -#: ..\..\..\../platforms/win32/pandoc_download.py:45 -#: ..\..\..\../platforms/win32/tesseract_download.py:74 -msgid "Success" -msgstr "Onnistui" - -#: ..\..\..\../gui/book_viewer/menubar.py:338 +#. Translators: content of a message in a message box +#: bookworm/gui/book_viewer/menubar.py:344 msgid "Clearing documents cache..." msgstr "Tyhjennetään asiakirjavälimuistia..." -#: ..\..\..\../gui/book_viewer/menubar.py:382 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:388 msgid "(No recent books)" msgstr "(Ei äskettäin avattuja kirjoja)" -#: ..\..\..\../gui/book_viewer/menubar.py:383 +#: bookworm/gui/book_viewer/menubar.py:389 msgid "No recent books" msgstr "Ei äskettäin avattuja kirjoja" -#: ..\..\..\../gui/book_viewer/menubar.py:420 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:426 msgid "Document &Info..." msgstr "Asiakirjan t&iedot..." -#: ..\..\..\../gui/book_viewer/menubar.py:422 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:428 msgid "Show information about number of chapters, word count..etc." msgstr "Näytä kirjan tiedot, kuten lukujen ja sanojen määrä jne." -#: ..\..\..\../gui/book_viewer/menubar.py:427 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:433 msgid "&Element list...\tCtrl+F7" msgstr "&Elementtilista...\tCtrl+F7" -#: ..\..\..\../gui/book_viewer/menubar.py:429 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:435 msgid "Show a list of semantic elements." msgstr "Näytä semanttisten elementtien lista." -#: ..\..\..\../gui/book_viewer/menubar.py:434 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:440 msgid "Change Reading &Mode...\tCtrl-Shift-M" msgstr "Muuta lukut&ilaa...\tCtrl+Vaihto+M" -#: ..\..\..\../gui/book_viewer/menubar.py:436 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:442 msgid "Change the current reading mode." msgstr "Muuta nykyistä lukutilaa." -#: ..\..\..\../gui/book_viewer/menubar.py:441 -#: ..\..\..\../gui/book_viewer/menubar.py:947 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:447 +#: bookworm/gui/book_viewer/menubar.py:953 msgid "&Render Page...\tCtrl-R" msgstr "&Renderöi sivu...\tCtrl+R" -#: ..\..\..\../gui/book_viewer/menubar.py:443 -#: ..\..\..\../gui/book_viewer/menubar.py:948 +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:449 +#: bookworm/gui/book_viewer/menubar.py:954 msgid "View a fully rendered version of this page." msgstr "Näytä tämän sivun täysin renderöity versio." -#: ..\..\..\../gui/book_viewer/menubar.py:485 +#: bookworm/gui/book_viewer/menubar.py:491 msgid "Rendered Page" msgstr "Renderöity sivu" -#: ..\..\..\../gui/book_viewer/menubar.py:502 +#: bookworm/gui/book_viewer/menubar.py:508 msgid "Available reading modes" msgstr "Käytettävissä olevat lukutilat" -#: ..\..\..\../gui/book_viewer/menubar.py:503 +#: bookworm/gui/book_viewer/menubar.py:509 msgid "Select Reading Mode " msgstr "Valitse lukutila" -#: ..\..\..\../gui/book_viewer/menubar.py:528 +#: bookworm/gui/book_viewer/menubar.py:534 msgid "Element List" msgstr "Elementtilista" -#: ..\..\..\../gui/book_viewer/menubar.py:555 -#: ..\..\..\../gui/book_viewer/menubar.py:937 +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:561 +#: bookworm/gui/book_viewer/menubar.py:943 msgid "&Find in Document...\tCtrl-F" msgstr "&Etsi asiakirjasta...\tCtrl+F" -#: ..\..\..\../gui/book_viewer/menubar.py:557 -#: ..\..\..\../gui/book_viewer/menubar.py:938 -msgid "Search this document." -msgstr "Hae tästä asiakirjasta." - -#: ..\..\..\../gui/book_viewer/menubar.py:562 -msgid "Find &Next\tF3" -msgstr "Etsi &seuraava\tF3" - -#: ..\..\..\../gui/book_viewer/menubar.py:564 -msgid "Find next occurrence." -msgstr "Etsi seuraava esiintymä." - -#: ..\..\..\../gui/book_viewer/menubar.py:569 -msgid "Find &Previous\tShift-F3" -msgstr "Etsi e&dellinen\tVaihto+F3" - -#: ..\..\..\../gui/book_viewer/menubar.py:571 -msgid "Find previous occurrence." -msgstr "Etsi edellinen esiintymä." - -#: ..\..\..\../gui/book_viewer/menubar.py:576 -msgid "&Jump to Line...\tCtrl-L" -msgstr "S&iirry riville...\tCtrl+L" - -#: ..\..\..\../gui/book_viewer/menubar.py:578 -msgid "Jump to a line within the current page or document" -msgstr "Jump to a line within the current page or document" - -#: ..\..\..\../gui/book_viewer/menubar.py:583 -#: ..\..\..\../gui/book_viewer/menubar.py:931 -msgid "&Go To Page...\tCtrl-G" -msgstr "S&iirry sivulle...\tCtrl+G" - -#: ..\..\..\../gui/book_viewer/menubar.py:585 -msgid "Go to page" -msgstr "Siirry sivulle" - -#: ..\..\..\../gui/book_viewer/menubar.py:590 -msgid "&Go To Page By Label...\tCtrl-Shift-G" -msgstr "Siirry sivulle t&unnisteen perusteella...\tCtrl+Vaihto+G" - -#: ..\..\..\../gui/book_viewer/menubar.py:592 -msgid "Go to a page using its label" -msgstr "Siirry sivulle sen tunnistetta käyttäen" - -#: ..\..\..\../gui/book_viewer/menubar.py:626 -#, python-brace-format -msgid "" -"You are here: {current_line}\n" -"You can't go further than: {last_line}" -msgstr "" -"Olet tässä: {current_line}\n" -"Et voi siirtyä edemmäs kuin: {last_line}" - -#: ..\..\..\../gui/book_viewer/menubar.py:628 -msgid "Line number" -msgstr "Rivinumero" - -#: ..\..\..\../gui/book_viewer/menubar.py:629 -msgid "Jump to line" -msgstr "Siirry riville" - -#: ..\..\..\../gui/book_viewer/menubar.py:642 -msgid "Go To Page" -msgstr "Siirry sivulle" - -#: ..\..\..\../gui/book_viewer/menubar.py:649 -msgid "Go To Page By Label" -msgstr "Siirry sivulle tunnisteen perusteella" - -#: ..\..\..\../gui/book_viewer/menubar.py:649 -msgid "Page Label" -msgstr "Sivun tunniste" - -#: ..\..\..\../gui/book_viewer/menubar.py:657 -msgid "Search Document" -msgstr "Hae asiakirjasta" - -#: ..\..\..\../gui/book_viewer/menubar.py:683 -#, python-brace-format -msgid "Searching For '{term}'" -msgstr "Haetaan '{term}'" - -#: ..\..\..\../gui/book_viewer/menubar.py:698 -#, python-brace-format -msgid "Results | {total}" -msgstr "Tulokset | {total}" - -#: ..\..\..\../gui/book_viewer/menubar.py:735 -msgid "Search Result" -msgstr "Hakutulos" - -#: ..\..\..\../gui/book_viewer/menubar.py:773 -msgid "&User guide...\tF1" -msgstr "&Käyttöopas...\tF1" - -#: ..\..\..\../gui/book_viewer/menubar.py:775 -msgid "View Bookworm manuals" -msgstr "Näytä Bookwormin käyttöohje" - -#: ..\..\..\../gui/book_viewer/menubar.py:780 -msgid "Bookworm &website..." -msgstr "Bookwormin v&erkkosivu..." - -#: ..\..\..\../gui/book_viewer/menubar.py:782 -msgid "Visit the official website of Bookworm" -msgstr "Käy Bookwormin virallisella verkkosivustolla" - -#: ..\..\..\../gui/book_viewer/menubar.py:787 -msgid "&License" -msgstr "&Lisenssi" - -#: ..\..\..\../gui/book_viewer/menubar.py:789 -msgid "View legal information about this program ." -msgstr "Näytä tämän ohjelman oikeudelliset tiedot." - -#: ..\..\..\../gui/book_viewer/menubar.py:794 -msgid "Con&tributors" -msgstr "&Osallistujat" - -#: ..\..\..\../gui/book_viewer/menubar.py:796 -msgid "View a list of notable contributors to the program." -msgstr "Näytä lista merkittävästi ohjelman kehitykseen osallistuneista." - -#: ..\..\..\../gui/book_viewer/menubar.py:802 -msgid "&Restart with debug-mode enabled" -msgstr "&Käynnistä uudelleen virheenkorjaustilassa" - -#: ..\..\..\../gui/book_viewer/menubar.py:804 -msgid "Restart the program with debug mode enabled to show errors" -msgstr "" -"Käynnistä ohjelma uudelleen virheenkorjaustilassa bugien etsimistä varten" - -#: ..\..\..\../gui/book_viewer/menubar.py:814 -msgid "&About Bookworm" -msgstr "T&ietoa Bookwormista" - -#: ..\..\..\../gui/book_viewer/menubar.py:816 -msgid "Show general information about this program" -msgstr "Näytä tämän ohjelman yleiset tiedot" - -#: ..\..\..\../gui/book_viewer/menubar.py:849 -#, python-brace-format -msgid "About {app_name}" -msgstr "Tietoa {app_name}ista" - -#: ..\..\..\../gui/book_viewer/menubar.py:885 -msgid "&Search" -msgstr "&Haku" - -#: ..\..\..\../gui/book_viewer/menubar.py:887 -msgid "&Document" -msgstr "&Asiakirja" - -#: ..\..\..\../gui/book_viewer/menubar.py:889 -msgid "&Help" -msgstr "&Ohje" - -#: ..\..\..\../gui/book_viewer/menubar.py:932 -msgid "Jump to a page" -msgstr "Siirry sivulle" - -#: ..\..\..\../gui/book_viewer/menubar.py:986 -msgid "Supported document formats" -msgstr "Tuetut asiakirjamuodot" - -#: ..\..\..\../gui/book_viewer/render_view.py:88 -#, python-brace-format -msgid "Zoom is at {factor} percent" -msgstr "Zoomaus on {factor} prosenttia" - -#: ..\..\..\../gui/book_viewer/render_view.py:100 -msgid "Page {}" -msgstr "Sivu {}" - -#: ..\..\..\../gui/browseable_message.py:46 -msgid "Message" -msgstr "Ilmoitus" - -#: ..\..\..\../gui/components.py:104 -msgid "Search Range" -msgstr "Hakualue" - -#: ..\..\..\../gui/components.py:106 -msgid "Page Range" -msgstr "Sivut väliltä" - -#: ..\..\..\../gui/components.py:112 -msgid "From:" -msgstr "Mistä:" - -#: ..\..\..\../gui/components.py:118 -msgid "To:" -msgstr "Mihin:" - -#: ..\..\..\../gui/components.py:123 -msgid "Specific section" -msgstr "Tietty luku" - -#: ..\..\..\../gui/components.py:126 -msgid "Select section:" -msgstr "Valitse luku:" - -#: ..\..\..\../gui/components.py:277 ..\..\..\../gui/components.py:318 -#: ..\..\..\../gui/settings.py:646 -msgid "OK" -msgstr "OK" - -#: ..\..\..\../gui/components.py:280 ..\..\..\../gui/components.py:321 -#: ..\..\..\../gui/settings.py:649 -msgid "Cancel" -msgstr "Peruuta" - -#: ..\..\..\../gui/components.py:607 -msgid "" -"This will cancel all the operations in progress.\n" -"Are you sure you want to abort?" -msgstr "" -"Tämä peruuttaa kaikki käynnissä olevat toiminnot.\n" -"Haluatko varmasti keskeyttää?" - -#: ..\..\..\../gui/settings.py:44 -msgid "Bookworm File Associations" -msgstr "Bookwormin tiedostokytkennät" - -#: ..\..\..\../gui/settings.py:57 -msgid "" -"This dialog will help you to setup file associations.\n" -"Associating files with Bookworm means that when you click on a file in " -"windows explorer, it will be opened in Bookworm by default " -msgstr "" -"Tässä valintaikkunassa voit määrittää tiedostokytkennät.\n" -"Tiedostojen kytkeminen Bookwormiin tarkoittaa, että kun klikkaat tiedostoa " -"Windowsin Resurssienhallinnassa, se avataan oletusarvoisesti Bookwormissa." - -#: ..\..\..\../gui/settings.py:69 -msgid "Associate all" -msgstr "Kytke kaikki" - -#: ..\..\..\../gui/settings.py:71 -msgid "Use Bookworm to open all supported document formats" -msgstr "Käytä Bookwormia kaikkien tuettujen asiakirjojen avaamiseen." - -#: ..\..\..\../gui/settings.py:79 -#, python-brace-format -msgid "Associate files of type {format}" -msgstr "Kytke tiedostot, joiden tyyppi on {format}" - -#: ..\..\..\../gui/settings.py:82 -#, python-brace-format -msgid "Associate files with {ext} extension so they always open in Bookworm" -msgstr "Kytke {ext}-päätteiset tiedostot avautumaan aina Bookwormissa." - -#: ..\..\..\../gui/settings.py:94 -msgid "Dissociate all supported file types" -msgstr "Poista kaikkien tuettujen tiedostotyyppien kytkennät" - -#: ..\..\..\../gui/settings.py:96 -msgid "Remove previously associated file types" -msgstr "Poista aiemmin kytketyt tiedostotyypit" - -#: ..\..\..\../gui/settings.py:113 -#, python-brace-format -msgid "Files of type {format} have been associated with Bookworm." -msgstr "Tyypin {format} tiedostot on kytketty Bookwormiin." - -#: ..\..\..\../gui/settings.py:127 -msgid "All supported file types have been set to open by default in Bookworm." -msgstr "" -"Kaikki tuetut tiedostotyypit on määritetty avautumaan oletusarvoisesti " -"Bookwormissa." - -#: ..\..\..\../gui/settings.py:131 -msgid "All registered file associations have been removed." -msgstr "Kaikki rekisteröidyt tiedostokytkennät on poistettu." - -#: ..\..\..\../gui/settings.py:215 -msgid "User Interface" -msgstr "Käyttöliittymä" - -#: ..\..\..\../gui/settings.py:217 -msgid "Display Language:" -msgstr "Näyttökieli:" - -#: ..\..\..\../gui/settings.py:222 -msgid "Spoken feedback" -msgstr "Puhepalaute" - -#: ..\..\..\../gui/settings.py:227 -msgid "Speak user interface messages" -msgstr "Puhu käyttöliittymän ilmoitukset" - -#: ..\..\..\../gui/settings.py:232 -msgid "Miscellaneous" -msgstr "Sekalaiset" - -#: ..\..\..\../gui/settings.py:237 -msgid "Play pagination sound" -msgstr "Soita sivunvaihdon ääni" - -#: ..\..\..\../gui/settings.py:244 -msgid "Include page label in page title" -msgstr "Lisää sivun tunniste sivun otsikkoon" - -#: ..\..\..\../gui/settings.py:251 -msgid "Use file name instead of book title" -msgstr "Käytä tiedostonimeä kirjan nimen sijaan" - -#: ..\..\..\../gui/settings.py:258 -msgid "Show reading progress percentage" -msgstr "Näytä lukemisen edistymisprosentti" - -#: ..\..\..\../gui/settings.py:265 -msgid "Open recently opened books from the last position" -msgstr "Avaa äskettäin avatut kirjat edellisestä lukukohdasta" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:563 +#: bookworm/gui/book_viewer/menubar.py:944 +msgid "Search this document." +msgstr "Hae tästä asiakirjasta." -#: ..\..\..\../gui/settings.py:273 -msgid "" -"Try to support the screen reader's continuous reading mode by automatically " -"turning pages (may not work in some cases)" -msgstr "" -"Yritä tukea ruudunlukijan jatkuvan luvun tilaa kääntämällä sivuja " -"automaattisesti (ei välttämättä toimi kaikissa tapauksissa)" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:568 +msgid "Find &Next\tF3" +msgstr "Etsi &seuraava\tF3" -#: ..\..\..\../gui/settings.py:281 -msgid "Automatically check for updates" -msgstr "Tarkista päivitykset automaattisesti" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:570 +msgid "Find next occurrence." +msgstr "Etsi seuraava esiintymä." -#: ..\..\..\../gui/settings.py:287 -msgid "File Associations" -msgstr "Tiedostokytkennät" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:575 +msgid "Find &Previous\tShift-F3" +msgstr "Etsi e&dellinen\tVaihto+F3" -#: ..\..\..\../gui/settings.py:292 -msgid "Manage File &Associations" -msgstr "Tiedosto&kytkentöjen hallinta" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:577 +msgid "Find previous occurrence." +msgstr "Etsi edellinen esiintymä." -#: ..\..\..\../gui/settings.py:323 -msgid "" -"You have changed the display language of Bookworm.\n" -"For this setting to fully take effect, you need to restart the application.\n" -"Would you like to restart the application right now?" -msgstr "" -"Olet vaihtanut Bookwormin näyttökieltä.\n" -"Sovellus on käynnistettävä uudelleen, jotta asetus tulee voimaan.\n" -"Haluatko käynnistää sovelluksen uudelleen nyt?" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:582 +msgid "&Jump to Line...\tCtrl-L" +msgstr "S&iirry riville...\tCtrl+L" -#: ..\..\..\../gui/settings.py:329 -msgid "Language Changed" -msgstr "Kieli vaihdettu" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:584 +msgid "Jump to a line within the current page or document" +msgstr "Jump to a line within the current page or document" -#: ..\..\..\../gui/settings.py:351 -msgid "General Appearance" -msgstr "Yleinen ulkonäkö" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:589 +#: bookworm/gui/book_viewer/menubar.py:937 +msgid "&Go To Page...\tCtrl-G" +msgstr "S&iirry sivulle...\tCtrl+G" -#: ..\..\..\../gui/settings.py:356 -msgid "Maximize the application window upon startup" -msgstr "Suurenna sovellusikkuna käynnistettäessä" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:591 +msgid "Go to page" +msgstr "Siirry sivulle" -#: ..\..\..\../gui/settings.py:363 -msgid "Show the application's toolbar" -msgstr "Näytä sovelluksen työkalupalkki" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:596 +msgid "&Go To Page By Label...\tCtrl-Shift-G" +msgstr "Siirry sivulle t&unnisteen perusteella...\tCtrl+Vaihto+G" -#: ..\..\..\../gui/settings.py:366 -msgid "Text Styling" -msgstr "Tekstin tyyli" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:598 +msgid "Go to a page using its label" +msgstr "Siirry sivulle sen tunnistetta käyttäen" -#: ..\..\..\../gui/settings.py:371 -msgid "Apply text styling (when available)" -msgstr "Käytä tekstityylejä (kun käytettävissä)" +#: bookworm/gui/book_viewer/menubar.py:631 +msgid "" +"You are here: {current_line}\n" +"You can't go further than: {last_line}" +msgstr "" +"Olet tässä: {current_line}\n" +"Et voi siirtyä edemmäs kuin: {last_line}" -#: ..\..\..\../gui/settings.py:374 -msgid "Text view margins percentage" -msgstr "Tekstinäkymän marginaalien prosenttiosuus" +#: bookworm/gui/book_viewer/menubar.py:634 +msgid "Line number" +msgstr "Rivinumero" -#: ..\..\..\../gui/settings.py:378 -msgid "Font" -msgstr "Fontti" +#: bookworm/gui/book_viewer/menubar.py:635 +msgid "Jump to line" +msgstr "Siirry riville" -#: ..\..\..\../gui/settings.py:383 -msgid "Use Open-&dyslexic font" -msgstr "Käytä Open-&dyslexic-fonttia" +#. Translators: the title of the go to page dialog +#: bookworm/gui/book_viewer/menubar.py:648 +msgid "Go To Page" +msgstr "Siirry sivulle" -#: ..\..\..\../gui/settings.py:387 -msgid "Font Face" -msgstr "Fontin tyyli " +#: bookworm/gui/book_viewer/menubar.py:655 +msgid "Go To Page By Label" +msgstr "Siirry sivulle tunnisteen perusteella" -#: ..\..\..\../gui/settings.py:394 -msgid "Font Size" -msgstr "Fonttikoko" +#: bookworm/gui/book_viewer/menubar.py:655 +msgid "Page Label" +msgstr "Sivun tunniste" -#: ..\..\..\../gui/settings.py:400 -msgid "Bold style" -msgstr "Lihavoitu tyyli" +#. Translators: the title of the search dialog +#: bookworm/gui/book_viewer/menubar.py:663 +msgid "Search Document" +msgstr "Hae asiakirjasta" -#: ..\..\..\../gui/settings.py:460 -msgid "Download Pandoc: The universal document converter" -msgstr "Lataa Pandoc: yleinen asiakirjamuunnin" +#: bookworm/gui/book_viewer/menubar.py:689 +msgid "Searching For '{term}'" +msgstr "Haetaan '{term}'" -#: ..\..\..\../gui/settings.py:463 -msgid "" -"Add support for additional document formats including RTF and Word 2003 " -"documents." -msgstr "" -"Lisää tuki useammille asiakirjamuodoille, mukaan lukien RTF ja Word 2003." +#. Translators: message to announce the number of search results +#. also used as the final title of the search results dialog +#: bookworm/gui/book_viewer/menubar.py:704 +msgid "Results | {total}" +msgstr "Tulokset | {total}" -#: ..\..\..\../gui/settings.py:472 -msgid "Update Pandoc (the universal document converter)" -msgstr "Päivitä Pandoc (yleinen asiakirjamuunnin)" +#: bookworm/gui/book_viewer/menubar.py:741 +msgid "Search Result" +msgstr "Hakutulos" -#: ..\..\..\../gui/settings.py:475 -msgid "" -"Update Pandoc to the latest version to improve performance and conversion " -"quality." -msgstr "" -"Päivitä Pandoc viimeisimpään versioon suorituskyvyn ja muunnoslaadun " -"parantamiseksi." +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:779 +msgid "&User guide...\tF1" +msgstr "&Käyttöopas...\tF1" -#: ..\..\..\../gui/settings.py:481 ..\..\..\../gui/settings.py:486 -msgid "Reset Settings" -msgstr "Nollaa asetukset" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:781 +msgid "View Bookworm manuals" +msgstr "Näytä Bookwormin käyttöohje" -#: ..\..\..\../gui/settings.py:488 -msgid "Reset Bookworm's settings to their defaults" -msgstr "Nollaa Bookwormin asetukset oletusarvoihinsa" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:786 +msgid "Bookworm &website..." +msgstr "Bookwormin v&erkkosivu..." -#: ..\..\..\../gui/settings.py:496 -msgid "Downloading Pandoc" -msgstr "Ladataan Pandoc" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:788 +msgid "Visit the official website of Bookworm" +msgstr "Käy Bookwormin virallisella verkkosivustolla" -#: ..\..\..\../gui/settings.py:498 ..\..\..\../ocr/ocr_dialogs.py:129 -#: ..\..\..\../ocr/ocr_dialogs.py:544 -msgid "Getting download information..." -msgstr "Haetaan lataustietoja..." +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:793 +msgid "&License" +msgstr "&Lisenssi" -#: ..\..\..\../gui/settings.py:511 ..\..\..\../ocr/ocr_dialogs.py:162 -msgid "Checking for updates. Please wait..." -msgstr "Odota, kun päivityksiä tarkistetaan..." +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:795 +msgid "View legal information about this program ." +msgstr "Näytä tämän ohjelman oikeudelliset tiedot." -#: ..\..\..\../gui/settings.py:520 -msgid "" -"You will lose all of your custom settings.\n" -"Are you sure you want to restore all settings to their default values?" -msgstr "" -"Menetät kaikki muokkaamasi asetukset.\n" -"Haluatko varmasti palauttaa kaikki asetukset oletusarvoihinsa?" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:800 +msgid "Con&tributors" +msgstr "&Osallistujat" -#: ..\..\..\../gui/settings.py:523 -msgid "Reset Settings?" -msgstr "Nollataanko asetukset?" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:802 +msgid "View a list of notable contributors to the program." +msgstr "Näytä lista merkittävästi ohjelman kehitykseen osallistuneista." -#: ..\..\..\../gui/settings.py:536 ..\..\..\../ocr/ocr_dialogs.py:149 -msgid "Restart Required" -msgstr "Uudelleenkäynnistys tarvitaan" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:808 +msgid "&Restart with debug-mode enabled" +msgstr "&Käynnistä uudelleen virheenkorjaustilassa" -#: ..\..\..\../gui/settings.py:538 -msgid "Bookworm will now restart to complete the installation of Pandoc." +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:810 +msgid "Restart the program with debug mode enabled to show errors" msgstr "" -"Bookworm käynnistyy nyt uudelleen suorittaakseen loppuun Pandocin asennuksen." +"Käynnistä ohjelma uudelleen virheenkorjaustilassa bugien etsimistä varten" -#: ..\..\..\../gui/settings.py:548 -msgid "" -"A new version of Pandoc is available for download.\n" -"It is strongly recommended to update to the latest version for the best " -"performance and conversion quality.\n" -"Would you like to update to the new version?" -msgstr "" -"Pandocin uusi versio on ladattavissa.\n" -"Päivittäminen on erittäin suositeltavaa parhaan suorituskyvyn ja " -"muunnoslaadun saavuttamiseksi.\n" -"Haluatko päivittää uuteen versioon?" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:820 +msgid "&About Bookworm" +msgstr "T&ietoa Bookwormista" -#: ..\..\..\../gui/settings.py:551 -msgid "Update Pandoc?" -msgstr "Päivitetäänkö Pandoc?" +#. Translators: the help text of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:822 +msgid "Show general information about this program" +msgstr "Näytä tämän ohjelman yleiset tiedot" -#: ..\..\..\../gui/settings.py:560 -msgid "Removing old Pandoc version. Please wait..." -msgstr "Odota, kun vanhaa Pandoc-versiota poistetaan..." +#. Translators: the title of the about dialog +#: bookworm/gui/book_viewer/menubar.py:855 +msgid "About {app_name}" +msgstr "Tietoa {app_name}ista" -#: ..\..\..\../gui/settings.py:566 -msgid "Your version of Pandoc is up to date." -msgstr "Pandocin versio on ajan tasalla." +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:891 +msgid "&Search" +msgstr "&Haku" -#: ..\..\..\../gui/settings.py:568 ..\..\..\../ocr/ocr_dialogs.py:192 -msgid "No updates" -msgstr "Ei päivityksiä" +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:893 +msgid "&Document" +msgstr "&Asiakirja" -#: ..\..\..\../gui/settings.py:576 -msgid "Failed to check for updates. Please check your internet connection." -msgstr "" -"Päivitysten tarkistaminen epäonnistui. Tarkista internet-yhteytesi toimivuus." +#. Translators: the label of an item in the application menubar +#: bookworm/gui/book_viewer/menubar.py:895 +msgid "&Help" +msgstr "&Ohje" -#: ..\..\..\../gui/settings.py:592 -msgid "Appearance" -msgstr "Ulkoasu" +#: bookworm/gui/book_viewer/menubar.py:938 +msgid "Jump to a page" +msgstr "Siirry sivulle" -#: ..\..\..\../gui/settings.py:594 -msgid "Advanced" -msgstr "Lisäasetukset" +#: bookworm/gui/book_viewer/menubar.py:992 +msgid "Supported document formats" +msgstr "Tuetut asiakirjamuodot" -#: ..\..\..\../gui/settings.py:651 -msgid "Apply" -msgstr "Käytä" +#: bookworm/gui/book_viewer/render_view.py:88 +msgid "Zoom is at {factor} percent" +msgstr "Zoomaus on {factor} prosenttia" + +#: bookworm/gui/book_viewer/render_view.py:100 +msgid "Page {}" +msgstr "Sivu {}" -#: ..\..\..\../http_tools/http_resource.py:43 -#: ..\..\..\../platforms/win32/updater.py:196 -#, python-brace-format +#. Translators: content of a message in a progress dialog +#: bookworm/http_tools/http_resource.py:43 +#: bookworm/platforms/win32/updater.py:195 msgid "Downloaded {downloaded} MB of {total} MB" msgstr "Ladattu {downloaded} Mt / {total} Mt" -#: ..\..\..\../ocr/__init__.py:70 ..\..\..\../ocr/__init__.py:89 -#: ..\..\..\../ocr/__init__.py:92 +#. Translators: the label of a page in the settings dialog +#. Translators: the label of an item in the application menubar +#: bookworm/ocr/__init__.py:75 bookworm/ocr/__init__.py:94 +#: bookworm/ocr/__init__.py:97 msgid "OCR" msgstr "Tekstintunnistus" -#: ..\..\..\../ocr/ocr_dialogs.py:51 ..\..\..\../ocr/ocr_menu.py:207 +#. Translators: the label of a group of controls in the reading page +#: bookworm/ocr/ocr_dialogs.py:63 bookworm/ocr/ocr_menu.py:209 msgid "OCR Options" msgstr "Tekstintunnistuksen asetukset" -#: ..\..\..\../ocr/ocr_dialogs.py:58 +#. Translators: the title of a group of radio buttons in the OCR page +#. in the application settings. +#: bookworm/ocr/ocr_dialogs.py:70 msgid "Default OCR Engine" msgstr "Tekstintunnistuksen oletusmoottori" -#: ..\..\..\../ocr/ocr_dialogs.py:65 -#: ..\..\..\../ocr_engines/tesseract_ocr_engine/__init__.py:25 -#: ..\..\..\../ocr_engines/tesseract_ocr_engine/alt_tess.py:29 +#. Translators: the label of a group of controls in the OCR page +#. of the settings related to Tesseract OCR engine +#: bookworm/ocr/ocr_dialogs.py:77 +#: bookworm/ocr_engines/tesseract_ocr_engine/__init__.py:25 +#: bookworm/ocr_engines/tesseract_ocr_engine/alt_tess.py:29 msgid "Tesseract OCR Engine" msgstr "Tesseract" -#: ..\..\..\../ocr/ocr_dialogs.py:70 +#: bookworm/ocr/ocr_dialogs.py:82 msgid "Download Tesseract OCR Engine" msgstr "Lataa Tesseract-tekstintunnistusmoottori" -#: ..\..\..\../ocr/ocr_dialogs.py:72 +#: bookworm/ocr/ocr_dialogs.py:83 msgid "Get a free, high-quality OCR engine that supports over 100 languages." msgstr "" "Hanki ilmainen ja korkealaatuinen tekstintunnistusmoottori, joka tukee yli " "100 kieltä." -#: ..\..\..\../ocr/ocr_dialogs.py:81 +#. Translators: label of a button +#: bookworm/ocr/ocr_dialogs.py:93 msgid "Manage Tesseract OCR Languages" msgstr "Hallitse Tesseractin tekstintunnistuskieliä" -#: ..\..\..\../ocr/ocr_dialogs.py:83 +#. Translators: description of a button +#: bookworm/ocr/ocr_dialogs.py:95 msgid "Add support for new languages, and /or remove installed languages." msgstr "Lisää tuki uusille kielille ja/tai poista asennettuja kieliä." -#: ..\..\..\../ocr/ocr_dialogs.py:89 +#. Translators: label of a button +#: bookworm/ocr/ocr_dialogs.py:101 msgid "Update Tesseract OCr Engine" msgstr "Päivitä Tesseract-tekstintunnistusmoottori" -#: ..\..\..\../ocr/ocr_dialogs.py:91 +#. Translators: description of a button +#: bookworm/ocr/ocr_dialogs.py:103 msgid "Check for and install updates for Tesseract OCR Engine" msgstr "Tarkista ja asenna Tesseract-tekstintunnistusmoottorin päivitykset" -#: ..\..\..\../ocr/ocr_dialogs.py:97 +#. Translators: the label of a group of controls in the reading page +#. of the settings related to image enhancement +#: bookworm/ocr/ocr_dialogs.py:109 msgid "Image processing" msgstr "Kuvan käsittely" -#: ..\..\..\../ocr/ocr_dialogs.py:103 +#. Translators: the label of a checkbox +#: bookworm/ocr/ocr_dialogs.py:115 msgid "Enable default image enhancement filters" msgstr "Ota käyttöön oletusarvoiset kuvanparannussuodattimet" -#: ..\..\..\../ocr/ocr_dialogs.py:127 +#. Translators: title of a progress dialog +#: bookworm/ocr/ocr_dialogs.py:139 msgid "Downloading Tesseract OCR Engine" msgstr "Ladataan Tesseract-tekstintunnistusmoottoria" -#: ..\..\..\../ocr/ocr_dialogs.py:140 +#. Translators: title of a dialog to manage Tesseract OCR engine languages +#: bookworm/ocr/ocr_dialogs.py:152 msgid "Manage Tesseract OCR Engine Languages" msgstr "Hallitse Tesseract-tekstintunnistusmoottorin kieliä" -#: ..\..\..\../ocr/ocr_dialogs.py:152 +#. Translators: content of a message box +#: bookworm/ocr/ocr_dialogs.py:163 msgid "" "Bookworm will now restart to complete the installation of the Tesseract OCR " "Engine." @@ -2277,7 +2924,8 @@ msgstr "" "Bookworm käynnistyy nyt uudelleen suorittaakseen loppuun Tesseract-" "tekstintunnistusmoottorin asennuksen." -#: ..\..\..\../ocr/ocr_dialogs.py:172 +#. Translators: content of a message box +#: bookworm/ocr/ocr_dialogs.py:183 msgid "" "A new version of Tesseract OCr engine is available for download.\n" "It is strongly recommended to update to the latest version for the best " @@ -2289,137 +2937,147 @@ msgstr "" "saavuttamiseksi.\n" "Haluatko päivittää uuteen versioon?" -#: ..\..\..\../ocr/ocr_dialogs.py:175 +#. Translators: title of a message box +#: bookworm/ocr/ocr_dialogs.py:187 msgid "Update Tesseract OCr Engine?" msgstr "Päivitä Tesseract-tekstintunnistusmoottori?" -#: ..\..\..\../ocr/ocr_dialogs.py:184 +#. Translators: message of a dialog +#: bookworm/ocr/ocr_dialogs.py:196 msgid "Removing old Tesseract version. Please wait..." msgstr "Odota, kun vanhaa Tesseract-versiota poistetaan..." -#: ..\..\..\../ocr/ocr_dialogs.py:190 +#. Translators: content of a message box +#: bookworm/ocr/ocr_dialogs.py:202 msgid "Your version of Tesseract OCR engine is up to date." msgstr "Tesseract-tekstintunnistusmoottorin versio on ajan tasalla." -#: ..\..\..\../ocr/ocr_dialogs.py:201 +#. Translators: content of a message box +#: bookworm/ocr/ocr_dialogs.py:213 msgid "Failed to check for updates for Tesseract OCr engine." msgstr "" "Tesseract-tekstintunnistusmoottorin päivitysten tarkistaminen epäonnistui." -#: ..\..\..\../ocr/ocr_dialogs.py:235 +#. Translators: title of a group of controls +#: bookworm/ocr/ocr_dialogs.py:247 msgid "Recognition Language" msgstr "Tunnistuskieli" -#: ..\..\..\../ocr/ocr_dialogs.py:237 +#. Translators: the label of a combobox +#: bookworm/ocr/ocr_dialogs.py:249 msgid "Primary recognition Language" msgstr "Ensisijainen tunnistuskieli" -#: ..\..\..\../ocr/ocr_dialogs.py:244 +#: bookworm/ocr/ocr_dialogs.py:256 msgid "Add a secondary recognition language" msgstr "Lisää toissijainen tunnistuskieli" -#: ..\..\..\../ocr/ocr_dialogs.py:248 +#: bookworm/ocr/ocr_dialogs.py:260 msgid "Secondary recognition Language" msgstr "Toissijainen tunnistuskieli" -#: ..\..\..\../ocr/ocr_dialogs.py:256 -#: ..\..\..\../structured_text/structural_elements.py:71 +#: bookworm/ocr/ocr_dialogs.py:268 +#: bookworm/structured_text/structural_elements.py:71 msgid "Image" msgstr "Kuva" -#: ..\..\..\../ocr/ocr_dialogs.py:257 +#: bookworm/ocr/ocr_dialogs.py:269 msgid "Supplied Image resolution::" msgstr "Saatu kuvan resoluutio:" -#: ..\..\..\../ocr/ocr_dialogs.py:261 +#: bookworm/ocr/ocr_dialogs.py:273 msgid "Enable image enhancements" msgstr "Ota käyttöön kuvanparannukset" -#: ..\..\..\../ocr/ocr_dialogs.py:266 +#: bookworm/ocr/ocr_dialogs.py:278 msgid "Available image pre-processing filters:" msgstr "Käytettävissä olevat kuvan esikäsittelysuodattimet:" -#: ..\..\..\../ocr/ocr_dialogs.py:281 +#. Translators: the label of a checkbox +#: bookworm/ocr/ocr_dialogs.py:293 msgid "&Save these options until I close the current book" msgstr "T&allenna nämä asetukset nykyisen kirjan sulkemiseen saakka" -#: ..\..\..\../ocr/ocr_dialogs.py:362 +#: bookworm/ocr/ocr_dialogs.py:374 msgid "Increase image resolution" msgstr "Suurenna kuvan resoluutiota" -#: ..\..\..\../ocr/ocr_dialogs.py:363 +#: bookworm/ocr/ocr_dialogs.py:375 msgid "Binarization" msgstr "Binarisointi" -#: ..\..\..\../ocr/ocr_dialogs.py:366 +#: bookworm/ocr/ocr_dialogs.py:378 msgid "Split two-in-one scans to individual pages" msgstr "Jaa vastakkaiset sivut yksittäisiksi" -#: ..\..\..\../ocr/ocr_dialogs.py:369 +#: bookworm/ocr/ocr_dialogs.py:381 msgid "Combine images" msgstr "Yhdistä kuvat" -#: ..\..\..\../ocr/ocr_dialogs.py:370 +#: bookworm/ocr/ocr_dialogs.py:382 msgid "Blurring" msgstr "Sumennus" -#: ..\..\..\../ocr/ocr_dialogs.py:371 +#: bookworm/ocr/ocr_dialogs.py:383 msgid "Deskewing" msgstr "Suoristus" -#: ..\..\..\../ocr/ocr_dialogs.py:372 +#: bookworm/ocr/ocr_dialogs.py:384 msgid "Erosion" msgstr "Eroosio" -#: ..\..\..\../ocr/ocr_dialogs.py:373 +#: bookworm/ocr/ocr_dialogs.py:385 msgid "Dilation" msgstr "Laajennus" -#: ..\..\..\../ocr/ocr_dialogs.py:374 +#: bookworm/ocr/ocr_dialogs.py:386 msgid "Sharpen image" msgstr "Terävöitä kuva" -#: ..\..\..\../ocr/ocr_dialogs.py:375 +#: bookworm/ocr/ocr_dialogs.py:387 msgid "Invert colors" msgstr "Käänteiset värit" -#: ..\..\..\../ocr/ocr_dialogs.py:378 +#: bookworm/ocr/ocr_dialogs.py:390 msgid "Debug" msgstr "Virheenkorjaus" -#: ..\..\..\../ocr/ocr_dialogs.py:397 +#: bookworm/ocr/ocr_dialogs.py:409 msgid "Installed Languages" msgstr "Asennetut kielet" -#: ..\..\..\../ocr/ocr_dialogs.py:401 +#: bookworm/ocr/ocr_dialogs.py:413 msgid "Downloadable Languages" msgstr "Ladattavat kielet" -#: ..\..\..\../ocr/ocr_dialogs.py:432 +#. Translators: label of a list control containing bookmarks +#: bookworm/ocr/ocr_dialogs.py:444 msgid "Tesseract Languages" msgstr "Tesseractin kielet" -#: ..\..\..\../ocr/ocr_dialogs.py:445 +#: bookworm/ocr/ocr_dialogs.py:457 msgid "Download &Best Model" msgstr "Lataa ¶s malli" -#: ..\..\..\../ocr/ocr_dialogs.py:449 +#: bookworm/ocr/ocr_dialogs.py:461 msgid "Download &Fast Model" msgstr "Lataa &nopea malli" -#: ..\..\..\../ocr/ocr_dialogs.py:491 +#. Translators: the title of a column in the Tesseract language list +#: bookworm/ocr/ocr_dialogs.py:503 msgid "Installed" msgstr "Asennettu" -#: ..\..\..\../ocr/ocr_dialogs.py:494 +#: bookworm/ocr/ocr_dialogs.py:506 msgid "Yes" msgstr "Kyllä" -#: ..\..\..\../ocr/ocr_dialogs.py:494 +#: bookworm/ocr/ocr_dialogs.py:506 msgid "No" msgstr "Ei" -#: ..\..\..\../ocr/ocr_dialogs.py:525 +#. Translators: content of a messagebox +#: bookworm/ocr/ocr_dialogs.py:536 msgid "" "A version of the selected language model already exists.\n" "Are you sure you want to replace it?" @@ -2427,12 +3085,13 @@ msgstr "" "Valitun kielimallin versio on jo olemassa.\n" "Haluatko varmasti korvata sen?" -#: ..\..\..\../ocr/ocr_dialogs.py:542 +#. Translators: title of a progress dialog +#: bookworm/ocr/ocr_dialogs.py:554 msgid "Downloading Language" msgstr "Ladataan kieltä" -#: ..\..\..\../ocr/ocr_dialogs.py:567 -#, python-brace-format +#. Translators: content of a messagebox +#: bookworm/ocr/ocr_dialogs.py:579 msgid "" "Are you sure you want to remove language:\n" "{lang}?" @@ -2440,22 +3099,27 @@ msgstr "" "Haluatko varmasti poistaa kielen:\n" "{lang}?" -#: ..\..\..\../ocr/ocr_dialogs.py:592 +#. Translators: title of a messagebox +#: bookworm/ocr/ocr_dialogs.py:604 msgid "Language Added" msgstr "Kieli lisätty" -#: ..\..\..\../ocr/ocr_dialogs.py:594 +#. Translators: content of a message box +#: bookworm/ocr/ocr_dialogs.py:606 msgid "The Language Model was downloaded successfully." msgstr "Kielimallin lataus onnistui." -#: ..\..\..\../ocr/ocr_dialogs.py:602 -#: ..\..\..\../platforms/win32/pandoc_download.py:54 -#: ..\..\..\../platforms/win32/tesseract_download.py:83 -#: ..\..\..\../webservices/wikiworm.py:135 +#. Translators: title of a message box +#. Translators: title of a messagebox +#: bookworm/ocr/ocr_dialogs.py:614 +#: bookworm/platforms/win32/pandoc_download.py:54 +#: bookworm/platforms/win32/tesseract_download.py:85 +#: bookworm/webservices/wikiworm.py:135 msgid "Connection Error" msgstr "Yhteysvirhe" -#: ..\..\..\../ocr/ocr_dialogs.py:605 +#. Translators: content of a message box +#: bookworm/ocr/ocr_dialogs.py:616 msgid "" "Failed to download language data.\n" "Please check your internet connection." @@ -2463,7 +3127,8 @@ msgstr "" "Kielidatan lataaminen epäonnistui.\n" "Tarkista internet-yhteytesi." -#: ..\..\..\../ocr/ocr_dialogs.py:615 +#. Translators: content of a messagebox +#: bookworm/ocr/ocr_dialogs.py:627 msgid "" "Failed to install language data.\n" "Please try again later." @@ -2471,52 +3136,64 @@ msgstr "" "Kielidatan asentaminen epäonnistui.\n" "Yritä myöhemmin uudelleen." -#: ..\..\..\../ocr/ocr_menu.py:84 -#, python-brace-format +#: bookworm/ocr/ocr_menu.py:86 msgid "Recognition Result: {image_name}" msgstr "Tunnistuksen tulos: {image_name}" -#: ..\..\..\../ocr/ocr_menu.py:119 +#. Translators: the label of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:121 msgid "&Scan Current Page...\tF4" msgstr "&Skannaa nykyinen sivu...\tF4" -#: ..\..\..\../ocr/ocr_menu.py:121 +#. Translators: the help text of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:123 msgid "Run OCR on the current page" msgstr "Suorita tekstintunnistus nykyiselle sivulle" -#: ..\..\..\../ocr/ocr_menu.py:126 +#. Translators: the label of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:128 msgid "&Automatic OCR\tCtrl-F4" msgstr "&Automaattinen tekstintunnistus\tCtrl+F4" -#: ..\..\..\../ocr/ocr_menu.py:128 +#. Translators: the help text of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:130 msgid "Auto run OCR when turning pages." msgstr "Suorita tekstintunnistus automaattisesti sivua käännettäessä." -#: ..\..\..\../ocr/ocr_menu.py:134 +#. Translators: the label of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:136 msgid "&Change OCR Options..." msgstr "Muuta tekstintunnistuksen asetuksia..." -#: ..\..\..\../ocr/ocr_menu.py:136 +#. Translators: the help text of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:138 msgid "Change OCR options" msgstr "Muuta tekstintunnistuksen asetuksia" -#: ..\..\..\../ocr/ocr_menu.py:141 +#. Translators: the label of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:143 msgid "Scan To &Text File..." msgstr "Skannaa &tekstitiedostoon..." -#: ..\..\..\../ocr/ocr_menu.py:143 +#. Translators: the help text of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:145 msgid "Scan pages and save the text to a .txt file." msgstr "Skannaa sivuja ja tallenna teksti .txt-tiedostoon." -#: ..\..\..\../ocr/ocr_menu.py:148 +#. Translators: the label of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:150 msgid "Image To Text..." msgstr "Kuva tekstiksi..." -#: ..\..\..\../ocr/ocr_menu.py:150 +#. Translators: the help text of an item in the application menubar +#: bookworm/ocr/ocr_menu.py:152 msgid "Run OCR on an image." msgstr "Suorita tekstintunnistus kuvalle." -#: ..\..\..\../ocr/ocr_menu.py:198 +#. Translators: the label of the OCR menu in the application menubar +#. Event handlers +#. Translators: content of a message +#: bookworm/ocr/ocr_menu.py:199 msgid "" "No language for OCR is present.\n" "Please checkout Bookworm user manual to learn how to add new languages." @@ -2524,40 +3201,44 @@ msgstr "" "Tekstintunnistuksen kieltä ei ole.\n" "Katso Bookwormin käyttöoppaasta, miten tekstintunnistuksen kieliä lisätään." -#: ..\..\..\../ocr/ocr_menu.py:201 +#. Translators: title for a message +#: bookworm/ocr/ocr_menu.py:203 msgid "No Languages for OCR" msgstr "Tekstintunnistuksen kieliä ei ole" -#: ..\..\..\../ocr/ocr_menu.py:220 +#: bookworm/ocr/ocr_menu.py:222 msgid "Canceled" msgstr "Peruutettu" -#: ..\..\..\../ocr/ocr_menu.py:256 +#: bookworm/ocr/ocr_menu.py:258 msgid "Running OCR, please wait..." msgstr "Odota, kun tekstintunnistusta suoritetaan..." -#: ..\..\..\../ocr/ocr_menu.py:266 +#: bookworm/ocr/ocr_menu.py:268 msgid "Automatic OCR is enabled" msgstr "Automaattinen tekstintunnistus on käytössä" -#: ..\..\..\../ocr/ocr_menu.py:268 +#: bookworm/ocr/ocr_menu.py:270 msgid "Automatic OCR is disabled" msgstr "Automaattinen tekstintunnistus ei ole käytössä" -#: ..\..\..\../ocr/ocr_menu.py:281 +#. Translators: the title of a save file dialog asking the user for a filename +#. to export notes to +#: bookworm/ocr/ocr_menu.py:283 msgid "Save as" msgstr "Tallenna nimellä" -#: ..\..\..\../ocr/ocr_menu.py:298 +#. Translators: the title of a progress dialog +#: bookworm/ocr/ocr_menu.py:300 msgid "Scanning Pages" msgstr "Skannataan sivuja" -#: ..\..\..\../ocr/ocr_menu.py:300 +#. Translators: the message of a progress dialog +#: bookworm/ocr/ocr_menu.py:302 msgid "Preparing book" msgstr "Valmistellaan kirjaa" -#: ..\..\..\../ocr/ocr_menu.py:320 -#, python-brace-format +#: bookworm/ocr/ocr_menu.py:327 msgid "" "Successfully processed {total} pages.\n" "Extracted text was written to: {file}" @@ -2565,36 +3246,37 @@ msgstr "" "{total} sivua käsitelty onnistuneesti.\n" "Purettu teksti tallennettiin tiedostoon: {file}" -#: ..\..\..\../ocr/ocr_menu.py:322 +#: bookworm/ocr/ocr_menu.py:330 msgid "OCR Completed" msgstr "Tekstintunnistus suoritettu" -#: ..\..\..\../ocr/ocr_menu.py:339 +#: bookworm/ocr/ocr_menu.py:344 msgid "Portable Network Graphics" msgstr "Portable Network Graphics" -#: ..\..\..\../ocr/ocr_menu.py:340 +#: bookworm/ocr/ocr_menu.py:345 msgid "JPEG images" msgstr "JPEG-kuvat" -#: ..\..\..\../ocr/ocr_menu.py:341 +#: bookworm/ocr/ocr_menu.py:346 msgid "Bitmap images" msgstr "Bittikarttakuvat" -#: ..\..\..\../ocr/ocr_menu.py:342 +#: bookworm/ocr/ocr_menu.py:347 msgid "Tiff graphics" msgstr "Tiff-kuvat" -#: ..\..\..\../ocr/ocr_menu.py:348 +#: bookworm/ocr/ocr_menu.py:353 msgid "All supported image formats" msgstr "Kaikki tuetut kuvamuodot" -#: ..\..\..\../ocr/ocr_menu.py:352 +#. Translators: the title of a file dialog to browse to an image +#: bookworm/ocr/ocr_menu.py:357 msgid "Choose image file" msgstr "Valitse kuvatiedosto" -#: ..\..\..\../ocr/ocr_menu.py:368 -#, python-brace-format +#. Translators: content of a message box +#: bookworm/ocr/ocr_menu.py:372 msgid "" "Could not load image from\n" "{filename}.\n" @@ -2604,63 +3286,22 @@ msgstr "" "{filename}.\n" "Varmista, että tiedosto on olemassa ja ettei se ole vahingoittunut." -#: ..\..\..\../ocr/ocr_menu.py:372 +#. Translators: title of a message box +#: bookworm/ocr/ocr_menu.py:377 msgid "Could not load image file" msgstr "Kuvatiedostoa ei voitu ladata" -#: ..\..\..\../ocr/ocr_menu.py:418 +#: bookworm/ocr/ocr_menu.py:423 msgid "Scan finished." msgstr "Skannaus valmis." -#: ..\..\..\../ocr/ocr_menu.py:424 +#: bookworm/ocr/ocr_menu.py:429 msgid "OCR canceled" msgstr "Tekstintunnistus peruutettu" -#: ..\..\..\../otau.py:76 -msgid "We couldn't access the internet right now. Please try again later." -msgstr "Internet-yhteys ei ole käytettävissä. Yritä myöhemmin uudelleen." - -#: ..\..\..\../otau.py:78 ..\..\..\../platforms/win32/updater.py:120 -msgid "Network Error" -msgstr "Verkkovirhe" - -#: ..\..\..\../otau.py:89 -msgid "" -"We have faced a technical problem while checking for updates. Please try " -"again later." -msgstr "" -"Päivityksiä tarkistettaessa ilmeni tekninen ongelma. Yritä myöhemmin " -"uudelleen." - -#: ..\..\..\../otau.py:92 -msgid "Error Checking For Updates" -msgstr "Virhe päivityksiä tarkistettaessa" - -#: ..\..\..\../otau.py:110 -msgid "" -"Congratulations, you have already got the latest version of Bookworm.\n" -"We are working day and night on making Bookworm better. The next version of " -"Bookworm is on its way, so wait for it. Rest assured, we will notify you " -"when it is released." -msgstr "" -"Onneksi olkoon, sinulla on jo viimeisin versio.\n" -"Bookwormia parannellaan yötä päivää. Seuraava versio on jo tulossa. Voit " -"olla varma, että saat ilmoituksen, kun se julkaistaan." - -#: ..\..\..\../otau.py:116 -msgid "No Update" -msgstr "Ei päivitystä" - -#: ..\..\..\../otau.py:141 -msgid "&Check for updates" -msgstr "&Tarkista päivitykset" - -#: ..\..\..\../otau.py:143 -msgid "Update the application" -msgstr "Päivitä sovellus" - -#: ..\..\..\../platforms/linux/updater.py:15 -#, python-brace-format +#. Translators: the content of a message indicating the availability of an +#. update +#: bookworm/platforms/linux/updater.py:14 msgid "" "A new update for Bookworm is available.\n" "\tInstalled Version: {current}\n" @@ -2673,24 +3314,26 @@ msgstr "" "\tUusi versio: {new}\n" "Tarkista Bookwormin dokumentaatiosta, miten päivitys tehdään." -#: ..\..\..\../platforms/linux/updater.py:22 +#. Translators: the title of a message indicating the availability of an update +#: bookworm/platforms/linux/updater.py:22 msgid "Update Available" msgstr "Päivitys saatavilla" -#: ..\..\..\../platforms/win32/docr_engine.py:28 +#: bookworm/platforms/win32/docr_engine.py:28 msgid "Windows 10 OCR" msgstr "Windows 10:n tekstintunnistus" -#: ..\..\..\../platforms/win32/pandoc_download.py:39 -#: ..\..\..\../platforms/win32/tesseract_download.py:68 +#: bookworm/platforms/win32/pandoc_download.py:39 +#: bookworm/platforms/win32/tesseract_download.py:70 msgid "Extracting file..." msgstr "Puretaan tiedostoa..." -#: ..\..\..\../platforms/win32/pandoc_download.py:47 +#. Translators: content of a messagebox +#: bookworm/platforms/win32/pandoc_download.py:47 msgid "Pandoc downloaded successfully" msgstr "Pandoc ladattu onnistuneesti" -#: ..\..\..\../platforms/win32/pandoc_download.py:56 +#: bookworm/platforms/win32/pandoc_download.py:55 msgid "" "Could not download Pandoc.\n" "Please check your internet connection and try again." @@ -2698,7 +3341,7 @@ msgstr "" "Pandocinn lataaminen epäonnistui.\n" "Tarkista internet-yhteytesi toimivuus ja yritä sitten uudelleen." -#: ..\..\..\../platforms/win32/pandoc_download.py:64 +#: bookworm/platforms/win32/pandoc_download.py:64 msgid "" "Could not add Pandoc.\n" "Please try again." @@ -2706,15 +3349,12 @@ msgstr "" "Pandocia ei voitu lisätä.\n" "Ole hyvä ja yritä uudelleen." -#: ..\..\..\../platforms/win32/speech_engines/onecore.py:74 -msgid "One-core Synthesizer" -msgstr "OneCore-syntetisaattori" - -#: ..\..\..\../platforms/win32/tesseract_download.py:76 +#. Translators: content of a messagebox +#: bookworm/platforms/win32/tesseract_download.py:78 msgid "Tesseract engine downloaded successfully" msgstr "Tesseract-tekstintunnistusmoottori ladattu onnistuneesti" -#: ..\..\..\../platforms/win32/tesseract_download.py:85 +#: bookworm/platforms/win32/tesseract_download.py:86 msgid "" "Could not download Tesseract OCR Engine.\n" "Please check your internet and try again." @@ -2722,7 +3362,7 @@ msgstr "" "Tesseract-tekstintunnistusmoottoria ei voitu ladata.\n" "Tarkista internet-yhteytesi toimivuus ja yritä sitten uudelleen." -#: ..\..\..\../platforms/win32/tesseract_download.py:95 +#: bookworm/platforms/win32/tesseract_download.py:97 msgid "" "Could not install the Tesseract OCR engine.\n" "Please try again." @@ -2730,8 +3370,9 @@ msgstr "" "Tesseract-tekstintunnistusmoottoria ei voitu asentaa.\n" "Yritä myöhemmin uudelleen." -#: ..\..\..\../platforms/win32/updater.py:76 -#, python-brace-format +#. Translators: the content of a message indicating the availability of an +#. update +#: bookworm/platforms/win32/updater.py:74 msgid "" "A new update for Bookworm has been released.\n" "Would you like to download and install it?\n" @@ -2743,19 +3384,26 @@ msgstr "" "Asennettu versio: {current}\n" "Uusi versio: {new}\n" -#: ..\..\..\../platforms/win32/updater.py:82 +#. Translators: the title of a message indicating the availability of an update +#: bookworm/platforms/win32/updater.py:81 msgid "Bookworm Update" msgstr "Bookwormin päivitys" -#: ..\..\..\../platforms/win32/updater.py:92 +#. Translators: the title of a message indicating the progress of downloading +#. an update +#: bookworm/platforms/win32/updater.py:91 msgid "Downloading Update" msgstr "Ladataan päivitystä" -#: ..\..\..\../platforms/win32/updater.py:94 +#. Translators: a message indicating the progress of downloading an update +#. bundle +#: bookworm/platforms/win32/updater.py:93 msgid "Downloading update bundle" msgstr "Ladataan päivityspakettia" -#: ..\..\..\../platforms/win32/updater.py:115 +#. Translators: the content of a message indicating a failure in downloading an +#. update +#: bookworm/platforms/win32/updater.py:113 msgid "" "A network error was occured when trying to download the update.\n" "Make sure you are connected to the internet, or try again at a later time." @@ -2763,7 +3411,8 @@ msgstr "" "Päivitystä ladattaessa tapahtui verkkovirhe.\n" "Varmista, että olet yhteydessä internetiin, tai yritä myöhemmin uudelleen." -#: ..\..\..\../platforms/win32/updater.py:135 +#. Translators: the content of a message indicating a corrupted file +#: bookworm/platforms/win32/updater.py:133 msgid "" "The update file has been downloaded, but it has been corrupted during " "download.\n" @@ -2772,15 +3421,16 @@ msgstr "" "Päivitystiedosto on ladattu, mutta se on vahingoittunut latauksen aikana.\n" "Haluatko ladata sen uudelleen?" -#: ..\..\..\../platforms/win32/updater.py:139 +#. Translators: the title of a message indicating a corrupted file +#: bookworm/platforms/win32/updater.py:138 msgid "Download Error" msgstr "Latausvirhe" -#: ..\..\..\../platforms/win32/updater.py:150 +#: bookworm/platforms/win32/updater.py:149 msgid "Extracting update bundle..." msgstr "Puretaan päivityspakettia..." -#: ..\..\..\../platforms/win32/updater.py:156 +#: bookworm/platforms/win32/updater.py:154 msgid "" "A problem has occured when installing the update.\n" "Please check the logs for more info." @@ -2788,11 +3438,13 @@ msgstr "" "Päivitystä asennettaessa ilmeni ongelma.\n" "Katso lisätietoja lokista." -#: ..\..\..\../platforms/win32/updater.py:158 +#: bookworm/platforms/win32/updater.py:157 msgid "Error installing update" msgstr "Virhe asennettaessa päivitystä" -#: ..\..\..\../platforms/win32/updater.py:168 +#. Translators: the content of a message indicating successful download of the +#. update bundle +#: bookworm/platforms/win32/updater.py:166 msgid "" "The update has been downloaded successfully, and it is ready to be " "installed.\n" @@ -2803,111 +3455,129 @@ msgstr "" "Sovellus käynnistetään uudelleen, jotta päivitys voidaan suorittaa loppuun.\n" "Jatka napsauttamalla OK-painiketta." -#: ..\..\..\../platforms/win32/updater.py:173 +#. Translators: the title of a message indicating successful download of the +#. update bundle +#: bookworm/platforms/win32/updater.py:172 msgid "Download Completed" msgstr "Lataus suoritettu" -#: ..\..\..\../reader.py:426 -#, python-brace-format -msgid "{title} — by {author}" -msgstr "{title} — {author}" +#: bookworm/platforms/win32/speech_engines/onecore.py:73 +msgid "One-core Synthesizer" +msgstr "OneCore-syntetisaattori" -#: ..\..\..\../reader.py:443 -msgid "Table View" -msgstr "Taulukkonäkymä" +#: bookworm/platforms/win32/speech_engines/espeak/__init__.py:74 +msgid "eSpeak NG" +msgstr "eSpeak NG" + +#. Translators: name of the default espeak varient. +#: bookworm/platforms/win32/speech_engines/espeak/_espeak.py:442 +msgctxt "espeakVarient" +msgid "none" +msgstr "ei mikään" + +#: bookworm/platforms/win32/speech_engines/piper/__init__.py:203 +msgid "Piper Neural TTS" +msgstr "Piper Neural TTS" -#: ..\..\..\../speechdriver/__init__.py:16 +#: bookworm/speechdriver/__init__.py:16 msgid "No Speech" msgstr "Ei puhetta" -#: ..\..\..\../structured_text/structural_elements.py:60 +#: bookworm/structured_text/structural_elements.py:60 msgid "Heading" msgstr "Otsikko" -#: ..\..\..\../structured_text/structural_elements.py:61 +#: bookworm/structured_text/structural_elements.py:61 msgid "Heading level 1" msgstr "Otsikkotaso 1" -#: ..\..\..\../structured_text/structural_elements.py:62 +#: bookworm/structured_text/structural_elements.py:62 msgid "Heading level 2" msgstr "Otsikkotaso 2" -#: ..\..\..\../structured_text/structural_elements.py:63 +#: bookworm/structured_text/structural_elements.py:63 msgid "Heading level 3" msgstr "Otsikkotaso 3" -#: ..\..\..\../structured_text/structural_elements.py:64 +#: bookworm/structured_text/structural_elements.py:64 msgid "Heading level 4" msgstr "Otsikkotaso 4" -#: ..\..\..\../structured_text/structural_elements.py:65 +#: bookworm/structured_text/structural_elements.py:65 msgid "Heading level 5" msgstr "Otsikkotaso 5" -#: ..\..\..\../structured_text/structural_elements.py:66 +#: bookworm/structured_text/structural_elements.py:66 msgid "Heading level 6" msgstr "Otsikkotaso 6" -#: ..\..\..\../structured_text/structural_elements.py:67 +#: bookworm/structured_text/structural_elements.py:67 msgid "Link" msgstr "Linkki" -#: ..\..\..\../structured_text/structural_elements.py:68 +#: bookworm/structured_text/structural_elements.py:68 msgid "List" msgstr "Luettelo" -#: ..\..\..\../structured_text/structural_elements.py:69 +#: bookworm/structured_text/structural_elements.py:69 msgid "Quote" msgstr "Sisennetty lainaus" -#: ..\..\..\../structured_text/structural_elements.py:70 +#: bookworm/structured_text/structural_elements.py:70 msgid "Table" msgstr "Taulukko" -#: ..\..\..\../text_to_speech/__init__.py:94 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/__init__.py:106 msgid "S&peech" msgstr "P&uhe" -#: ..\..\..\../text_to_speech/__init__.py:99 +#. Translators: the label of a page in the settings dialog +#: bookworm/text_to_speech/__init__.py:111 msgid "Reading" msgstr "Lukeminen" -#: ..\..\..\../text_to_speech/__init__.py:101 -#: ..\..\..\../text_to_speech/__init__.py:112 -#: ..\..\..\../text_to_speech/tts_gui.py:137 +#. Translators: the label of a page in the settings dialog +#. Translators: the label of a group of controls in the +#. speech settings page related to voice selection +#: bookworm/text_to_speech/__init__.py:113 +#: bookworm/text_to_speech/__init__.py:124 +#: bookworm/text_to_speech/tts_gui.py:140 msgid "Voice" msgstr "Ääni" -#: ..\..\..\../text_to_speech/__init__.py:109 +#: bookworm/text_to_speech/__init__.py:121 msgid "Back" msgstr "Edellinen" -#: ..\..\..\../text_to_speech/__init__.py:110 +#: bookworm/text_to_speech/__init__.py:122 msgid "Play" msgstr "Toista" -#: ..\..\..\../text_to_speech/__init__.py:111 +#: bookworm/text_to_speech/__init__.py:123 msgid "Forward" msgstr "Seuraava" -#: ..\..\..\../text_to_speech/__init__.py:202 +#: bookworm/text_to_speech/__init__.py:214 msgid "End of document." msgstr "Asiakirjan loppu." -#: ..\..\..\../text_to_speech/__init__.py:223 -#, python-brace-format +#: bookworm/text_to_speech/__init__.py:235 msgid "End of section: {chapter}." msgstr "Luvun {chapter} loppu." -#: ..\..\..\../text_to_speech/__init__.py:256 +#. Translators: spoken message at the end of the document +#: bookworm/text_to_speech/__init__.py:268 msgid "End of document" msgstr "Asiakirjan loppu" -#: ..\..\..\../text_to_speech/__init__.py:409 +#. Translators: the title of a message telling the user that no TTS voice found +#: bookworm/text_to_speech/__init__.py:422 msgid "No TTS Voices" msgstr "Teksti puheeksi -ääniä ei ole" -#: ..\..\..\../text_to_speech/__init__.py:412 +#. Translators: a message telling the user that no TTS voice found +#: bookworm/text_to_speech/__init__.py:424 msgid "" "A valid Text-to-speech voice was not found for the current speech engine.\n" "Text-to-speech functionality will be disabled." @@ -2915,176 +3585,225 @@ msgstr "" "Nykyiselle puhemoottorille ei löytynyt kelvollista teksti puheeksi -ääntä.\n" "Teksti puheeksi -toiminto poistetaan käytöstä." -#: ..\..\..\../text_to_speech/__init__.py:430 +#. Translators: a message telling the user that the TTS voice has been changed +#: bookworm/text_to_speech/__init__.py:442 msgid "" "Bookworm has noticed that the currently configured Text-to-speech voice " -"speaks a language different from that of this book.\n" +"speaks a language different from that of this document.\n" "Do you want to temporary switch to another voice that speaks a language " -"similar to the language of the currently opened document?" +"similar to the language of the currently opened document?\n" +"\n" +"Voice language: {voice_lang}\n" +"Document language: {document_lang}" msgstr "" "Bookworm on havainnut, että nykyisen teksti puheeksi -äänen puhuma kieli " "eroaa tämän kirjan kielestä .\n" "Haluatko vaihtaa tilapäisesti toiseen ääneen, joka puhuu nykyisen asiakirjan " -"kieltä?" +"kieltä?\n" +"\n" +"Puheäänen kieli: {voice_lang}\n" +"Asiakirjan kieli: {document_lang}" -#: ..\..\..\../text_to_speech/__init__.py:436 +#. Translators: the title of a message telling the user that the TTS voice has +#. been changed +#: bookworm/text_to_speech/__init__.py:455 msgid "Incompatible TTS Voice Detected" msgstr "Yhteensopimaton teksti puheeksi -ääni havaittu" -#: ..\..\..\../text_to_speech/tts_config.py:125 +#. Translators: the name of a built-in voice profile +#: bookworm/text_to_speech/tts_config.py:125 msgid "Human-like" msgstr "Ihmismäinen" -#: ..\..\..\../text_to_speech/tts_config.py:136 +#. Translators: the name of a built-in voice profile +#: bookworm/text_to_speech/tts_config.py:136 msgid "Deep Reading" msgstr "Syväluku" -#: ..\..\..\../text_to_speech/tts_config.py:147 +#. Translators: the name of a built-in voice profile +#: bookworm/text_to_speech/tts_config.py:147 msgid "Express" msgstr "Pikaluku" -#: ..\..\..\../text_to_speech/tts_gui.py:48 +#. Translators: the label of a group of controls in the reading page +#: bookworm/text_to_speech/tts_gui.py:51 msgid "Reading Options" msgstr "Lukemisen asetukset" -#: ..\..\..\../text_to_speech/tts_gui.py:54 +#. Translators: the title of a group of radio buttons in the reading page +#. in the application settings related to how to read. +#: bookworm/text_to_speech/tts_gui.py:57 msgid "When Pressing Play:" msgstr "Kun Toista-painiketta painetaan:" -#: ..\..\..\../text_to_speech/tts_gui.py:59 +#. Translators: the label of a radio button +#: bookworm/text_to_speech/tts_gui.py:62 msgid "Read the entire book" msgstr "Lue koko kirja" -#: ..\..\..\../text_to_speech/tts_gui.py:61 +#. Translators: the label of a radio button +#: bookworm/text_to_speech/tts_gui.py:64 msgid "Read the current section" msgstr "Lue nykyinen luku" -#: ..\..\..\../text_to_speech/tts_gui.py:63 +#. Translators: the label of a radio button +#: bookworm/text_to_speech/tts_gui.py:66 msgid "Read the current page" msgstr "Lue nykyinen sivu" -#: ..\..\..\../text_to_speech/tts_gui.py:71 +#. Translators: the title of a group of radio buttons in the reading page +#. in the application settings related to where to start reading from. +#: bookworm/text_to_speech/tts_gui.py:74 msgid "Start reading from:" msgstr "Aloita lukeminen:" -#: ..\..\..\../text_to_speech/tts_gui.py:75 +#. Translators: the label of a radio button +#: bookworm/text_to_speech/tts_gui.py:78 msgid "Cursor position" msgstr "Kohdistimen sijainnista" -#: ..\..\..\../text_to_speech/tts_gui.py:75 +#: bookworm/text_to_speech/tts_gui.py:78 msgid "Beginning of page" msgstr "Sivun alusta" -#: ..\..\..\../text_to_speech/tts_gui.py:79 +#. Translators: the label of a group of controls in the reading page +#. of the settings related to behavior during reading aloud +#: bookworm/text_to_speech/tts_gui.py:82 msgid "During Reading Aloud" msgstr "Ääneeen luettaessa" -#: ..\..\..\../text_to_speech/tts_gui.py:84 +#: bookworm/text_to_speech/tts_gui.py:87 msgid "Speak page number" msgstr "Puhu sivunumero" -#: ..\..\..\../text_to_speech/tts_gui.py:91 +#. Translators: the label of a checkbox +#: bookworm/text_to_speech/tts_gui.py:94 msgid "Announce the end of sections" msgstr "Ilmoita lukujen loppumisesta" -#: ..\..\..\../text_to_speech/tts_gui.py:98 +#. Translators: the label of a checkbox +#: bookworm/text_to_speech/tts_gui.py:101 msgid "Ask to switch to a voice that speaks the language of the current book" msgstr "Pyydä vaihtamaan ääneen, joka puhuu nykyisen kirjan kieltä" -#: ..\..\..\../text_to_speech/tts_gui.py:105 +#. Translators: the label of a checkbox +#: bookworm/text_to_speech/tts_gui.py:108 msgid "Highlight spoken text" msgstr "Korosta puhuttu teksti" -#: ..\..\..\../text_to_speech/tts_gui.py:112 +#. Translators: the label of a checkbox +#: bookworm/text_to_speech/tts_gui.py:115 msgid "Select spoken text" msgstr "Valitse puhuttu teksti" -#: ..\..\..\../text_to_speech/tts_gui.py:140 +#. Translators: the label of a combobox containing a list of tts engines +#: bookworm/text_to_speech/tts_gui.py:143 msgid "Speech Engine:" msgstr "Puhemoottori:" -#: ..\..\..\../text_to_speech/tts_gui.py:145 +#. Translators: the label of a button that opens a dialog to change the speech +#. engine +#: bookworm/text_to_speech/tts_gui.py:148 msgid "Change..." msgstr "Muuta..." -#: ..\..\..\../text_to_speech/tts_gui.py:148 +#. Translators: the label of a combobox containing a list of tts voices +#: bookworm/text_to_speech/tts_gui.py:151 msgid "Select Voice:" msgstr "Valitse ääni:" -#: ..\..\..\../text_to_speech/tts_gui.py:151 +#. Translators: the label of the speech rate slider +#: bookworm/text_to_speech/tts_gui.py:154 msgid "Speech Rate:" msgstr "Puhenopeus:" -#: ..\..\..\../text_to_speech/tts_gui.py:157 +#. Translators: the label of the voice pitch slider +#: bookworm/text_to_speech/tts_gui.py:160 msgid "Voice Pitch:" msgstr "Äänenkorkeus:" -#: ..\..\..\../text_to_speech/tts_gui.py:163 +#. Translators: the label of the speech volume slider +#: bookworm/text_to_speech/tts_gui.py:166 msgid "Speech Volume:" msgstr "Puheen voimakkuus:" -#: ..\..\..\../text_to_speech/tts_gui.py:170 +#. Translators: the label of a group of controls in the speech +#. settings page related to speech pauses +#: bookworm/text_to_speech/tts_gui.py:173 msgid "Pauses" msgstr "Tauot" -#: ..\..\..\../text_to_speech/tts_gui.py:173 +#. Translators: the label of an edit field +#: bookworm/text_to_speech/tts_gui.py:176 msgid "Additional Pause At Sentence End (Ms)" msgstr "Lisätauko virkkeen lopussa (Ms)" -#: ..\..\..\../text_to_speech/tts_gui.py:178 +#. Translators: the label of an edit field +#: bookworm/text_to_speech/tts_gui.py:181 msgid "Additional Pause At Paragraph End (Ms)" msgstr "Lisätauko kappaleen lopussa (Ms)" -#: ..\..\..\../text_to_speech/tts_gui.py:183 +#. Translators: the label of an edit field +#: bookworm/text_to_speech/tts_gui.py:186 msgid "End of Page Pause (ms)" msgstr "Tauko sivun lopussa (ms)" -#: ..\..\..\../text_to_speech/tts_gui.py:192 +#. Translators: the label of an edit field +#: bookworm/text_to_speech/tts_gui.py:195 msgid "End of Section Pause (ms)" msgstr "Tauko luvun lopussa (ms)" -#: ..\..\..\../text_to_speech/tts_gui.py:236 +#: bookworm/text_to_speech/tts_gui.py:239 msgid "Speech Engine" msgstr "Puhemoottori" -#: ..\..\..\../text_to_speech/tts_gui.py:285 -#, python-brace-format +#. Translators: the title of a dialog to edit a voice profile +#: bookworm/text_to_speech/tts_gui.py:288 msgid "Voice Profile: {profile}" msgstr "Ääniprofiili: {profile}" -#: ..\..\..\../text_to_speech/tts_gui.py:312 +#. Translators: the label of a combobox to select a voice profile +#: bookworm/text_to_speech/tts_gui.py:315 msgid "Select Voice Profile:" msgstr "Valitse ääniprofiili:" -#: ..\..\..\../text_to_speech/tts_gui.py:318 +#. Translators: the label of a button to activate a voice profile +#: bookworm/text_to_speech/tts_gui.py:321 msgid "&Activate" msgstr "&Ota käyttöön" -#: ..\..\..\../text_to_speech/tts_gui.py:324 +#. Translators: the label of a button to create a new voice profile +#: bookworm/text_to_speech/tts_gui.py:327 msgid "&New Profile..." msgstr "&Uusi profiili..." -#: ..\..\..\../text_to_speech/tts_gui.py:358 -#, python-brace-format +#. Translators: the entry of the active voice profile in the voice profiles +#. list +#: bookworm/text_to_speech/tts_gui.py:361 msgid "{profile} (active)" msgstr "{profile} (käytössä)" -#: ..\..\..\../text_to_speech/tts_gui.py:408 +#. Translators: the label of an edit field to enter the voice profile name +#: bookworm/text_to_speech/tts_gui.py:411 msgid "Profile Name:" msgstr "Profiilin nimi:" -#: ..\..\..\../text_to_speech/tts_gui.py:410 +#. Translators: the title of a dialog to enter the name of a new voice profile +#: bookworm/text_to_speech/tts_gui.py:413 msgid "New Voice Profile" msgstr "Uusi ääniprofiili" -#: ..\..\..\../text_to_speech/tts_gui.py:423 +#. Translators: the content of a message notifying the user +#. user of the existence of a voice profile with the same name +#: bookworm/text_to_speech/tts_gui.py:425 msgid "" "A voice profile with the same name already exists. Please select another " "name." msgstr "Samanniminen ääniprofiili on jo olemassa. Valitse toinen nimi." -#: ..\..\..\../text_to_speech/tts_gui.py:449 -#, python-brace-format +#. Translators: the content of a message telling the user that the voice +#. profile he is removing is the active one +#: bookworm/text_to_speech/tts_gui.py:451 msgid "" "Voice profile {profile} is the active profile.\n" "Please deactivate it first by clicking 'Deactivate Active Voice Profile` " @@ -3094,12 +3813,15 @@ msgstr "" "Poista se ensin käytöstä valitsemalla Puhe-valikosta Poista käytöstä " "nykyinen ääniprofiili." -#: ..\..\..\../text_to_speech/tts_gui.py:455 +#. Translators: the title of a message telling the user that +#. it is not possible to remove this voice profile +#: bookworm/text_to_speech/tts_gui.py:458 msgid "Cannot Remove Profile" msgstr "Profiilia ei voi poistaa" -#: ..\..\..\../text_to_speech/tts_gui.py:462 -#, python-brace-format +#. Translators: the title of a message to confirm the removal of the voice +#. profile +#: bookworm/text_to_speech/tts_gui.py:464 msgid "" "Are you sure you want to remove voice profile {profile}?\n" "This cannot be undone." @@ -3107,127 +3829,151 @@ msgstr "" "Haluatko varmasti poistaa ääniprofiilin {profile}?\n" "Poistoa ei voi peruuttaa." -#: ..\..\..\../text_to_speech/tts_gui.py:466 +#. Translators: the title of a message to confirm the removal of a voice +#. profile +#: bookworm/text_to_speech/tts_gui.py:469 msgid "Remove Voice Profile?" msgstr "Poistetaanko ääniprofiili?" -#: ..\..\..\../text_to_speech/tts_gui.py:489 +#. Translators: the label of a combobox +#: bookworm/text_to_speech/tts_gui.py:492 msgid "Select Speech Engine:" msgstr "Valitse puhemoottori:" -#: ..\..\..\../text_to_speech/tts_gui.py:518 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:521 msgid "&Play\tF5" msgstr "&Toista\tF5" -#: ..\..\..\../text_to_speech/tts_gui.py:520 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:523 msgid "Start reading aloud" msgstr "Aloita ääneen lukeminen" -#: ..\..\..\../text_to_speech/tts_gui.py:525 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:528 msgid "Pa&use/Resume\tF6" msgstr "Keske&ytä/jatka\tF6" -#: ..\..\..\../text_to_speech/tts_gui.py:527 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:530 msgid "Pause/Resume reading aloud" msgstr "Keskeytä/jatka ääneen lukemista" -#: ..\..\..\../text_to_speech/tts_gui.py:532 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:535 msgid "&Stop\tF7" msgstr "&Pysäytä\tF7" -#: ..\..\..\../text_to_speech/tts_gui.py:534 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:537 msgid "Stop reading aloud" msgstr "Pysäytä ääneen lukeminen" -#: ..\..\..\../text_to_speech/tts_gui.py:539 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:542 msgid "&Rewind\tAlt-LeftArrow" msgstr "Kelaa t&aaksepäin\tAlt+Vasen nuoli" -#: ..\..\..\../text_to_speech/tts_gui.py:541 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:544 msgid "Skip to previous paragraph" msgstr "Siirry edelliseen kappaleeseen" -#: ..\..\..\../text_to_speech/tts_gui.py:546 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:549 msgid "&Fast Forward\tAlt-RightArrow" msgstr "Kelaa &eteenpäin\tAlt+Oikea nuoli" -#: ..\..\..\../text_to_speech/tts_gui.py:548 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:551 msgid "Skip to next paragraph" msgstr "Siirry seuraavaan kappaleeseen" -#: ..\..\..\../text_to_speech/tts_gui.py:553 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:556 msgid "&Voice Profiles\tCtrl-Shift-V" msgstr "&Ääniprofiilit\tCtrl+Vaihto+V" -#: ..\..\..\../text_to_speech/tts_gui.py:555 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:558 msgid "Manage voice profiles." msgstr "Hallitse ääniprofiileja." -#: ..\..\..\../text_to_speech/tts_gui.py:560 +#. Translators: the label of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:563 msgid "&Deactivate Active Voice Profile" msgstr "P&oista käytöstä nykyinen ääniprofiili" -#: ..\..\..\../text_to_speech/tts_gui.py:562 +#. Translators: the help text of an item in the application menubar +#: bookworm/text_to_speech/tts_gui.py:565 msgid "Deactivate the active voice profile." msgstr "Poista käytöstä nykyinen ääniprofiili." -#: ..\..\..\../text_to_speech/tts_gui.py:624 +#. Translators: a message that is announced when the speech is paused +#: bookworm/text_to_speech/tts_gui.py:627 msgid "Paused" msgstr "Keskeytetty" -#: ..\..\..\../text_to_speech/tts_gui.py:628 +#. Translators: a message that is announced when the speech is resumed +#: bookworm/text_to_speech/tts_gui.py:631 msgid "Resumed" msgstr "Jatketaan" -#: ..\..\..\../text_to_speech/tts_gui.py:638 +#. Translators: a message that is announced when the speech is stopped +#: bookworm/text_to_speech/tts_gui.py:641 msgid "Stopped" msgstr "Pysäytetty" -#: ..\..\..\../text_to_speech/tts_gui.py:643 +#. Translators: the title of the voice profiles dialog +#: bookworm/text_to_speech/tts_gui.py:646 msgid "Voice Profiles" msgstr "Ääniprofiilit" -#: ..\..\..\../webservices/__init__.py:23 +#. Translators: the label of an item in the application menubar +#: bookworm/webservices/__init__.py:23 msgid "&Web Services" msgstr "&Verkkopalvelut" -#: ..\..\..\../webservices/url_open.py:34 +#: bookworm/webservices/url_open.py:34 msgid "&Open URL\tCtrl+U" msgstr "&Avaa URL\tCtrl+U" -#: ..\..\..\../webservices/url_open.py:36 +#: bookworm/webservices/url_open.py:36 msgid "&Open URL From Clipboard\tCtrl+Shift+U" msgstr "A&vaa URL leikepöydältä\tCtrl+Vaihto+U" -#: ..\..\..\../webservices/url_open.py:49 +#. Translators: title of a dialog for entering a URL +#: bookworm/webservices/url_open.py:49 msgid "Enter URL" msgstr "Kirjoita URL" -#: ..\..\..\../webservices/url_open.py:51 +#. Translators: label of a textbox in a dialog for entering a URL +#: bookworm/webservices/url_open.py:51 msgid "URL" msgstr "URL" -#: ..\..\..\../webservices/wikiworm.py:57 +#: bookworm/webservices/wikiworm.py:57 msgid "&Wikipedia quick search" msgstr "&Wikipedia-pikahaku" -#: ..\..\..\../webservices/wikiworm.py:58 +#: bookworm/webservices/wikiworm.py:58 msgid "Get a quick definition from Wikipedia" msgstr "Hae pikamääritelmä Wikipediasta" -#: ..\..\..\../webservices/wikiworm.py:70 +#: bookworm/webservices/wikiworm.py:70 msgid "Define using Wikipedia" msgstr "Hae määritelmä Wikipediaa käyttäen" -#: ..\..\..\../webservices/wikiworm.py:71 +#: bookworm/webservices/wikiworm.py:71 msgid "Define the selected text using Wikipedia" msgstr "Hae valitun tekstin määritelmä Wikipediaa käyttäen" -#: ..\..\..\../webservices/wikiworm.py:105 +#: bookworm/webservices/wikiworm.py:105 msgid "Retrieving information, please wait..." msgstr "Odota, kun tietoja haetaan..." -#: ..\..\..\../webservices/wikiworm.py:137 +#: bookworm/webservices/wikiworm.py:136 msgid "" "Could not connect to Wikipedia at the moment.\\Please make sure that you're " "connected to the internet or try again later." @@ -3235,55 +3981,105 @@ msgstr "" "Wikipediaan ei tällä hetkellä saada yhteyttä.\\Varmista, että olet " "yhteydessä internetiin tai yritä myöhemmin uudelleen." -#: ..\..\..\../webservices/wikiworm.py:147 +#. Translators: title of a message box +#: bookworm/webservices/wikiworm.py:147 msgid "Page not found" msgstr "Sivua ei löydy" -#: ..\..\..\../webservices/wikiworm.py:149 +#. Translators: content of a message box +#: bookworm/webservices/wikiworm.py:149 msgid "Could not find a Wikipedia page for the given term.." msgstr "Annetulla hakusanalla ei löytynyt Wikipedia-sivua." -#: ..\..\..\../webservices/wikiworm.py:155 +#: bookworm/webservices/wikiworm.py:155 msgid "Matches" msgstr "Osumat" -#: ..\..\..\../webservices/wikiworm.py:156 +#: bookworm/webservices/wikiworm.py:156 msgid "Multiple Matches Found" msgstr "Useita osumia löytyi" -#: ..\..\..\../webservices/wikiworm.py:171 +#: bookworm/webservices/wikiworm.py:171 msgid "Failed to get term definition from Wikipedia." msgstr "Hakusanan määritelmää ei voitu hakea Wikipediasta." -#: ..\..\..\../webservices/wikiworm.py:188 -#, python-brace-format +#: bookworm/webservices/wikiworm.py:188 msgid "{term} — Wikipedia" msgstr "{term} — Wikipedia" -#: ..\..\..\../webservices/wikiworm.py:194 +#. Translators: label of a read only edit control showing Wikipedia article +#. summary +#: bookworm/webservices/wikiworm.py:194 msgid "Summary" msgstr "Yhteenveto" -#: ..\..\..\../webservices/wikiworm.py:205 +#: bookworm/webservices/wikiworm.py:205 msgid "Open in &Bookworm" msgstr "Avaa &Bookwormissa" -#: ..\..\..\../webservices/wikiworm.py:206 +#: bookworm/webservices/wikiworm.py:206 msgid "&Open in Browser" msgstr "&Avaa selaimessa" -#: ..\..\..\../webservices/wikiworm.py:238 +#. Translators: the title of a dialog to search for a term in Wikipedia +#: bookworm/webservices/wikiworm.py:238 msgid "Wikipedia Quick Search" msgstr "Wikipedia-pikahaku" -#: ..\..\..\../webservices/wikiworm.py:244 +#. Translators: label of an edit control in the search Wikipedia dialog +#: bookworm/webservices/wikiworm.py:244 msgid "Enter term" msgstr "Syötä hakuehto" -#: ..\..\..\../webservices/wikiworm.py:250 +#. Translators: label of a combobox that shows a list of languages to search +#. in Wikipedia +#: bookworm/webservices/wikiworm.py:250 msgid "Choose Wikipedia language" msgstr "Valitse Wikipedian kieli" +#~ msgid "CloseAboutDialog" +#~ msgstr "CloseAboutDialog" + +#~ msgid "NoOriginalForm" +#~ msgstr "NoOriginalForm" + +#~ msgid "EqSource" +#~ msgstr "EqSource" + +#~| msgid "&Close" +#~ msgid "Close" +#~ msgstr "Sulje" + +#~ msgid "ScaleMath" +#~ msgstr "ScaleMath" + +#~ msgid "NonZeroScale" +#~ msgstr "NonZeroScale" + +#~ msgid "PercentScale" +#~ msgstr "PercentScale" + +#~ msgid "SwitchAnyway" +#~ msgstr "SwitchAnyway" + +#~ msgid "LoadURL" +#~ msgstr "LoadURL" + +#~ msgid "BadURL" +#~ msgstr "BadURL" + +#~ msgid "BadData" +#~ msgstr "BadData" + +#~ msgid "HelpDialog" +#~ msgstr "HelpDialog" + +#~ msgid "UnknownNodeType" +#~ msgstr "UnknownNodeType" + +#~ msgid "CantCreateXMLParser" +#~ msgstr "CantCreateXMLParser" + #~ msgid "Speak section title" #~ msgstr "Puhu luvun otsikko" diff --git a/bookworm/resources/userguide/en/bookworm.md b/bookworm/resources/userguide/en/bookworm.md index 62225187..1a37e71f 100644 --- a/bookworm/resources/userguide/en/bookworm.md +++ b/bookworm/resources/userguide/en/bookworm.md @@ -216,4 +216,4 @@ To keep yourself updated with the latest news about Bookworm, you can visit Book ## License -**Bookworm** is copyright (c) 2019-2023 Musharraf Omer and Bookworm Contributors. It is licensed under the [MIT License](https://github.com/blindpandas/bookworm/blob/master/LICENSE). +**Bookworm** is copyright (c) 2019-2024 Musharraf Omer and Bookworm Contributors. It is licensed under the [MIT License](https://github.com/blindpandas/bookworm/blob/master/LICENSE). diff --git a/bookworm/resources/userguide/ru/bookworm.md b/bookworm/resources/userguide/ru/bookworm.md index 27a5b3a5..6ca54a84 100644 --- a/bookworm/resources/userguide/ru/bookworm.md +++ b/bookworm/resources/userguide/ru/bookworm.md @@ -216,4 +216,4 @@ Bookworm позволяет просматривать полностью обр ## Лицензия -**Bookworm** является авторским правом (c) 2019-2023 Musharraf Omer и Bookworm Contributors. Он распространяется под лицензией [MIT License](https://github.com/blindpandas/bookworm/blob/master/LICENSE). +**Bookworm** является авторским правом (c) 2019-2024 Musharraf Omer и Bookworm Contributors. Он распространяется под лицензией [MIT License](https://github.com/blindpandas/bookworm/blob/master/LICENSE). diff --git a/readme.md b/readme.md index c1a67d87..b6f661bd 100644 --- a/readme.md +++ b/readme.md @@ -16,14 +16,15 @@ ## **IMPORTANT** Bookworm's official website is currently no more. The domain which has worked up until now has currently not been renewed, and as such bookworm will no longer be provided there until further notice. We urge you not to interact with that domain, as we're no longer in charge of it. You can keep downloading bookworm from the [releases page](https://github.com/blindpandas/bookworm/releases) for the most recent ones. + ## Resources -* Telegram group: [Bookworm Official group](https://t.me/bookworm_official) -* Telegram channel: [Bookworm news](https://t.me/bookworm_news) +* [Bookworm official Telegram group](https://t.me/bookworm_official) +* [Bookworm official Telegram channel](https://t.me/bookworm_news) ## Development -If you would like to contribute to *Bookworm's* development, please follow the following steps to get bookworm up and running on your computer: +If you would like to contribute to the development of *Bookworm*, follow these steps to run Bookworm on your computer: ### Required Binaries @@ -80,7 +81,7 @@ As an example, to build Bookworm, issue the following command: ```shell invoke build ``` -* If you've found a bug, or you want to contribute your changes back to bookworm, please create an issue or submit a pull request. We welcome any contribution, no matter how small it is. +* If you've found a bug, or you want to contribute your changes back to bookworm, please create an issue or submit a pull request. We welcome any contribution. ### Telegram group @@ -89,9 +90,9 @@ You can discuss Bookworm, help others or make suggestions in the official Telegr ### Telegram channel -The [Telegram channel](https://t.me/bookworm_news) will be dedicated to publishing new features, changes and fixes will be posted. All discussions will continue in the main group and files will also be available for download from the main group. +The [Telegram channel](https://t.me/bookworm_news) will be dedicated to publishing new features, changes and fixes. All discussions will continue in the main group and files will also be available for download from the main group. ## License -**Bookworm** is copyright (c) 2019-2023 Blind Pandas Team. It is licensed under the [GNU General Public License](https://github.com/blindpandas/bookworm/blob/master/LICENSE). +**Bookworm** is copyright (c) 2019-2024 Blind Pandas Team. It is licensed under the [GNU General Public License](https://github.com/blindpandas/bookworm/blob/master/LICENSE). diff --git a/tests/test_epub.py b/tests/test_epub.py index 442f9607..a298692f 100644 --- a/tests/test_epub.py +++ b/tests/test_epub.py @@ -1,14 +1,57 @@ +from pathlib import Path + +from ebooklib import epub import pytest from bookworm.document.uri import DocumentUri from bookworm.document.formats.epub import EpubDocument +def temp_book(title: str = 'Sample book') -> epub.EpubBook: + book = epub.EpubBook() + book.set_title("test book") + book.set_language('en') + c1 = epub.EpubHtml(title="Intro", file_name="chap_01.xhtml", lang="en") + c1.content = ( + "

This is a test

" + ) + book.add_item(c1) + book.toc = ( + epub.Link("chap_01.xhtml", "Introduction", "intro"), + (epub.Section("Simple book"), (c1,)), + ) + + book.add_item(epub.EpubNcx()) + book.add_item(epub.EpubNav()) + book.spine = ["nav", c1] + return book + def test_chapter_order_is_unchanged_with_roman_numbers(asset): - epub = EpubDocument(DocumentUri.from_filename(asset('roman.epub'))) - epub.read() - spine = [x[0] for x in epub.epub.spine] - items = [x.file_name.split('/')[-1] for x in epub.epub_html_items] - print(items) - print(spine) + doc = EpubDocument(DocumentUri.from_filename(asset('roman.epub'))) + doc.read() + spine = [x[0] for x in doc.epub.spine] + items = [x.file_name.split('/')[-1] for x in doc.epub_html_items] assert spine == items + +def test_modified_epub_modifies_cache(asset): + book = temp_book() + epub.write_epub(asset("test.epub"), book, {}) + doc = EpubDocument(DocumentUri.from_filename(asset('test.epub'))) + doc.read() + content = doc.html_content + + # Let's now add a second chapter, and see whether the document read modifies its cache + c2 = epub.EpubHtml(title="Second chapter", file_name="chap_02.xhtml", lang="en") + c2.content = ( + "

This is another test

" + ) + book.add_item(c2) + book.spine.append(c2) + epub.write_epub(asset("test.epub"), book, {}) + + # read the book once more, and verify that the content is different + doc = EpubDocument(DocumentUri.from_filename(asset('test.epub'))) + doc.read() + new_content = doc.html_content + Path(asset("test.epub")).unlink() + assert content != new_content