Update v1.0.49 (#330)
* Added PDF top tab strip visibility toggle and fixed WebView hit test NPE * Refactored desktop reader screens and state management into specialized components * Added image gallery to reader sidebar and refactored desktop PDF UI components * Implemented EPUB image gallery * Refactored reader and library models to use shared common types, centralizing file type resolution and texture management while removing redundant mapping logic * Standardized UI styling and refactored app navigation layout * Implemented auto-hiding reader chrome and activity tracking in desktop * Refactored reader panels into distinct left and right modal layers with platform-specific sizing and keyboard navigation support. * Added PPTX support for desktop and refactored parsing into a shared module * Implement paid AI features and account management for the desktop application. * Implement AI Hub and enhanced Cloud TTS integration for Desktop * Implement streaming support for AI definition and summarization features * Implement support for password-protected PDFs and file actions in the desktop reader. * Implement cloud synchronization for desktop using Firestore and Google Drive * Implement PDF reflow and "Text View" for the desktop reader * Refactor OPDS logic to use SharedOpdsController * Optimize PDF tile rendering performance * Implement two-page spread support for PDF pagination * Implement two-page spread support for the PDF viewer * Improved shared spread zoom in PDF viewer * Improve PDF spread navigation with fling support and configurable page gaps * Add brightness control to PDF and EPUB readers * Refactor folder synchronization to use shared logic engine * Implement safe string formatting and validation for localized resources * Implement TTS chunk skip navigation * Implement deep-linking and playback controls for TTS media sessions * Implement start index for TTS playback * Improve TTS navigation, prefetching, and notification duration reporting * Implement TTS mini playback bar for background reading * Implement multi-window reader support for the desktop application * Improve desktop modal window management and visibility syncing * Implement localized string support for Desktop and shared UI * Implement language selection and persistence for Desktop * Implement plural string support for Desktop and migrate hardcoded counts to plurals.xml * Implement localized banner messages and UI strings using resource-backed SharedText * Implement compact badge styling for small book covers * Refactor PDF native interaction and improve HTML import memory safety * fix language persistence * Refactor reader overflow menus to use section-based logic * Refactor PDF layout remapping and improve text box interaction * Improve CFI resolution and TTS resume accuracy using dynamic chunk offsets * Centralize PDF annotation export mapping and improve metadata handling * Add support for threaded comments in PDF highlight annotations * Flatten highlight comments into a single thread for PDF export and allow author editing * Integrate page slider into reader chrome and persist toggle state * Handle fragments and queries in EPUB chapter paths * Implement dynamic, theme-aware coloring for the reader slider * Implement customizable app-wide font preference * Implement one-hand zoom gestures in the PDF viewer * Implement File Information dialog for PDF and EPUB readers * Bump version to 1.0.49 (53) * Refactor PDF reader logic into modular components * Add ProGuard rules to prevent R8 optimization issues in EPUB reader screens * Add option to use PDF filenames as display names * Fix preservation of PDF filename display preference in library projection
This commit is contained in:
parent
dc5196526f
commit
9510293ac3
245 changed files with 37538 additions and 12460 deletions
|
|
@ -59,18 +59,144 @@
|
|||
<item quantity="other">%1$d books removed from library.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Android bulk import progress banner. %1$d = number of selected books being imported. -->
|
||||
<plurals name="banner_importing_books_count">
|
||||
<item quantity="one">Importing %1$d book… It will appear in your Library shortly.</item>
|
||||
<item quantity="other">Importing %1$d books… They will appear in your Library shortly.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Android bulk import result banner. %1$d = number of books imported into the Library tab. -->
|
||||
<plurals name="banner_books_imported_library_tab">
|
||||
<item quantity="one">Imported %1$d book. You can find it in the Library tab.</item>
|
||||
<item quantity="other">Imported %1$d books. You can find them in the Library tab.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Shared library mutation banner. %1$d = number of selected books added to a shelf. -->
|
||||
<plurals name="banner_books_added_to_shelf">
|
||||
<item quantity="one">%1$d book added to shelf.</item>
|
||||
<item quantity="other">%1$d books added to shelf.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Shared library mutation banner. %1$d = number of selected books; %2$s = tag name. -->
|
||||
<plurals name="banner_books_tagged_with_tag">
|
||||
<item quantity="one">%1$d book tagged with "%2$s".</item>
|
||||
<item quantity="other">%1$d books tagged with "%2$s".</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Shared library mutation banner. %1$s = folder name; %2$d = number of books removed with the folder. -->
|
||||
<plurals name="banner_folder_removed_with_book_count">
|
||||
<item quantity="one">Removed folder "%1$s" and %2$d book from the app.</item>
|
||||
<item quantity="other">Removed folder "%1$s" and %2$d books from the app.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Word count for folders shown in shelf subtitles. %1$d = number of folders. -->
|
||||
<plurals name="folder_count">
|
||||
<item quantity="one">%1$d folder</item>
|
||||
<item quantity="other">%1$d folders</item>
|
||||
</plurals>
|
||||
|
||||
<!-- File count label. %1$d = number of files. Use a full count phrase, not a reusable standalone noun. -->
|
||||
<plurals name="file_count">
|
||||
<item quantity="one">%1$d file</item>
|
||||
<item quantity="other">%1$d files</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop drag-and-drop overlay title. %1$d = number of importable files currently dragged over the app. -->
|
||||
<plurals name="desktop_drop_import_file_count">
|
||||
<item quantity="one">Drop to import %1$d file</item>
|
||||
<item quantity="other">Drop to import %1$d files</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop drag-and-drop overlay detail. %1$d = number of unsupported dragged files that will not be imported. -->
|
||||
<plurals name="desktop_unsupported_import_file_count">
|
||||
<item quantity="one">%1$d unsupported file will be skipped.</item>
|
||||
<item quantity="other">%1$d unsupported files will be skipped.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop import progress banner. %1$d = number of files being imported. -->
|
||||
<plurals name="desktop_importing_file_count">
|
||||
<item quantity="one">Importing %1$d file…</item>
|
||||
<item quantity="other">Importing %1$d files…</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop import result banner sentence. %1$d = number of files successfully imported. -->
|
||||
<plurals name="desktop_imported_file_count">
|
||||
<item quantity="one">Imported %1$d file.</item>
|
||||
<item quantity="other">Imported %1$d files.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Legacy desktop import model message. %1$d = number of files imported before reader support is available. -->
|
||||
<plurals name="desktop_imported_file_count_reader_support_later">
|
||||
<item quantity="one">Imported %1$d file. Reader support comes later.</item>
|
||||
<item quantity="other">Imported %1$d files. Reader support comes later.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop import result banner sentence. %1$d = number of files that could not be imported. -->
|
||||
<plurals name="desktop_import_failed_file_count">
|
||||
<item quantity="one">Could not import %1$d file.</item>
|
||||
<item quantity="other">Could not import %1$d files.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop import result banner sentence. %1$d = number of files skipped during import. -->
|
||||
<plurals name="desktop_skipped_file_count">
|
||||
<item quantity="one">Skipped %1$d file.</item>
|
||||
<item quantity="other">Skipped %1$d files.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop remove-folder confirmation body. %1$s = folder name; %2$d = number of books from that folder. -->
|
||||
<plurals name="desktop_remove_folder_desc_with_book_count">
|
||||
<item quantity="one">Remove "%1$s" and its %2$d book from the app? Files on disk will not be deleted.</item>
|
||||
<item quantity="other">Remove "%1$s" and its %2$d books from the app? Files on disk will not be deleted.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop folder-sync result banner. %1$d = number of linked folders whose sync failed. -->
|
||||
<plurals name="desktop_folder_sync_failed_folder_count">
|
||||
<item quantity="one">Folder sync failed for %1$d folder.</item>
|
||||
<item quantity="other">Folder sync failed for %1$d folders.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop folder-sync result banner. %1$d = number of linked folders skipped after a partial sync. -->
|
||||
<plurals name="desktop_folder_sync_skipped_folder_count">
|
||||
<item quantity="one">Folder sync finished with %1$d folder skipped.</item>
|
||||
<item quantity="other">Folder sync finished with %1$d folders skipped.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop OPDS catalog removal banner. %1$d = number of streamed OPDS books removed with the catalog. -->
|
||||
<plurals name="desktop_opds_removed_stream_book_count">
|
||||
<item quantity="one">Removed %1$d streamed OPDS book from that catalog.</item>
|
||||
<item quantity="other">Removed %1$d streamed OPDS books from that catalog.</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Word count for tags shown in filter chips. %1$d = number of tags. -->
|
||||
<plurals name="tag_count">
|
||||
<item quantity="one">%1$d tag</item>
|
||||
<item quantity="other">%1$d tags</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop library tab label with count. %1$d = number of visible books in the tab. -->
|
||||
<plurals name="desktop_library_tab_books_count">
|
||||
<item quantity="one">All Books %1$d</item>
|
||||
<item quantity="other">All Books %1$d</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop library tab label with count. %1$d = number of manual/series shelf groups. -->
|
||||
<plurals name="desktop_library_tab_shelves_count">
|
||||
<item quantity="one">Shelves %1$d</item>
|
||||
<item quantity="other">Shelves %1$d</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop library tab label with count. %1$d = number of tag groups. -->
|
||||
<plurals name="desktop_library_tab_tags_count">
|
||||
<item quantity="one">Tags %1$d</item>
|
||||
<item quantity="other">Tags %1$d</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Desktop library tab label with count. %1$d = number of source folder groups. -->
|
||||
<plurals name="desktop_library_tab_folders_count">
|
||||
<item quantity="one">Folders %1$d</item>
|
||||
<item quantity="other">Folders %1$d</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Parenthetical cache chunk count in TTS cache entries. %1$d = number of cached audio chunks. -->
|
||||
<plurals name="tts_cache_chunk_count_parenthetical">
|
||||
<item quantity="one">(%1$d chunk)</item>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
<!-- Tab label in the multi-tab PDF reader — means the slot is available (unused), NOT "free of cost". -->
|
||||
<string name="tab_free">Free</string>
|
||||
<string name="active_tabs">Active Tabs</string>
|
||||
<string name="pdf_tabs_show_top_app_bar_tabs">Show tabs in top app bar</string>
|
||||
<string name="close_tab">Close Tab</string>
|
||||
<string name="close_all_tabs">Close All Tabs</string>
|
||||
<string name="dialog_close_all_tabs">Close All Tabs?</string>
|
||||
|
|
@ -733,6 +734,10 @@
|
|||
<string name="content_desc_pause_tts">Pause TTS</string>
|
||||
<!-- TTS = Text-to-Speech. Accessibility label. -->
|
||||
<string name="content_desc_resume_tts">Resume TTS</string>
|
||||
<!-- TTS = Text-to-Speech. Accessibility label. -->
|
||||
<string name="content_desc_tts_previous_chunk">Previous TTS chunk</string>
|
||||
<!-- TTS = Text-to-Speech. Accessibility label. -->
|
||||
<string name="content_desc_tts_next_chunk">Next TTS chunk</string>
|
||||
<string name="content_desc_exit_slider">Exit slider navigation</string>
|
||||
<string name="content_desc_start_page_thumbnail">Start page thumbnail</string>
|
||||
<string name="content_desc_expand">Expand</string>
|
||||
|
|
@ -769,10 +774,13 @@
|
|||
<string name="tab_bookmarks">Bookmarks</string>
|
||||
<string name="tab_highlights">Highlights</string>
|
||||
<string name="tab_pages">Pages</string>
|
||||
<string name="tab_images">Images</string>
|
||||
<string name="action_expand_all">Expand All</string>
|
||||
<string name="action_collapse_all">Collapse All</string>
|
||||
<string name="action_locate">Locate</string>
|
||||
<string name="no_bookmarks_yet">You haven\'t added any bookmarks yet.</string>
|
||||
<string name="no_images_found">No images found.</string>
|
||||
<string name="content_desc_download_image">Download image</string>
|
||||
<string name="content_desc_more_options_bookmark">More options for bookmark</string>
|
||||
<string name="dialog_rename_bookmark">Rename Bookmark</string>
|
||||
<string name="label_new_name">New Name</string>
|
||||
|
|
@ -786,6 +794,8 @@
|
|||
<string name="dialog_delete_highlight_desc">Are you sure you want to permanently delete this highlight?</string>
|
||||
|
||||
<!-- EpubReaderScreen.kt -->
|
||||
<string name="saved_image_message">Saved %1$s</string>
|
||||
<string name="error_save_image">Could not save image.</string>
|
||||
<!-- PDF = file format name — do not translate. -->
|
||||
<string name="banner_original_pdf_not_found">Original PDF not found.</string>
|
||||
<!-- Error state shown in the reader. %1$s = the file path that could not be found. -->
|
||||
|
|
@ -833,8 +843,13 @@
|
|||
<string name="no_imported_fonts_yet">No imported fonts yet.</string>
|
||||
<string name="visual_options_title">Visual Options</string>
|
||||
<string name="visual_options_page_layout">Page layout</string>
|
||||
<string name="visual_options_pdf_page_spread">PDF page spread</string>
|
||||
<string name="visual_options_pdf_spread_single">Single page</string>
|
||||
<string name="visual_options_pdf_spread_two">Two pages</string>
|
||||
<string name="visual_options_pdf_first_page_alone">First page alone</string>
|
||||
<string name="visual_options_pdf_first_page_alone_desc">Starts facing-page spreads after the cover page.</string>
|
||||
<string name="visual_options_remove_page_gap">Remove gap between pages</string>
|
||||
<string name="visual_options_remove_page_gap_desc">Applies to vertical reading mode.</string>
|
||||
<string name="visual_options_remove_page_gap_desc">Applies to vertical reading and two-page spreads.</string>
|
||||
<string name="visual_options_hide_page_number_overlay">Hide page number overlay</string>
|
||||
<string name="visual_options_hide_page_number_overlay_desc">Removes the small page count label from each page.</string>
|
||||
<!-- "Status Bar" and "Navigation Bar" are standard Android UI terms — keep consistent with your OS locale if applicable. -->
|
||||
|
|
@ -850,6 +865,12 @@
|
|||
<string name="visual_options_seamless_chapter_desc">Instantly load the next/previous chapter when scrolling past the end, without the pull-to-refresh animation.</string>
|
||||
<string name="visual_options_edge_padding">Remove Edge Padding</string>
|
||||
<string name="visual_options_edge_padding_desc">Removes the horizontal gap on the left and right edges.</string>
|
||||
<string name="reader_brightness_title">Brightness</string>
|
||||
<string name="reader_brightness_system">Use system brightness</string>
|
||||
<string name="reader_brightness_system_desc">Follows the device brightness setting.</string>
|
||||
<string name="reader_brightness_custom">Custom brightness</string>
|
||||
<string name="reader_brightness_custom_desc">Applies while a reader screen is open.</string>
|
||||
<string name="reader_brightness_percent">%1$d%%</string>
|
||||
|
||||
<!-- ExternalDictionaryHelper.kt -->
|
||||
<!-- Label for the "Search" app category in the dictionary settings. -->
|
||||
|
|
@ -877,6 +898,20 @@
|
|||
<string name="about_licenses_desc">Open source libraries used.</string>
|
||||
<!-- %1$d = number of books being imported. -->
|
||||
<string name="banner_importing_multiple">Importing %1$d books… They will appear in your Library shortly.</string>
|
||||
<!-- Shared library mutation banner. %1$s = shelf name. -->
|
||||
<string name="banner_shelf_created">Created shelf "%1$s".</string>
|
||||
<!-- Shared library mutation banner. %1$s = smart shelf name. -->
|
||||
<string name="banner_smart_shelf_created">Created smart shelf "%1$s".</string>
|
||||
<!-- Shared library mutation banner. %1$s = new shelf name. -->
|
||||
<string name="banner_shelf_renamed">Renamed shelf to "%1$s".</string>
|
||||
<!-- Shared library mutation banner. %1$s = shelf name. -->
|
||||
<string name="banner_shelf_deleted">Deleted shelf "%1$s".</string>
|
||||
<!-- Shared library mutation banner. %1$s = book title. -->
|
||||
<string name="banner_book_updated">Updated "%1$s".</string>
|
||||
<!-- Shared import result banner shown when selected files already exist in the library. -->
|
||||
<string name="banner_duplicate_files_already_in_library">Those files are already in the library.</string>
|
||||
<!-- Folder shelf subtitle that joins already-localized count phrases. %1$s = folder count phrase; %2$s = book count phrase. -->
|
||||
<string name="folder_subtitle_folder_book_counts">%1$s - %2$s</string>
|
||||
|
||||
<!-- General / Dialogs -->
|
||||
<string name="dialog_external_link_title">External Link</string>
|
||||
|
|
@ -887,13 +922,21 @@
|
|||
|
||||
<!-- Annotations & Notes -->
|
||||
<string name="action_save_note">Save Note</string>
|
||||
<string name="action_save_annotation">Save</string>
|
||||
<string name="action_save_comment">Save Comment</string>
|
||||
<string name="action_add_comment">Add Comment</string>
|
||||
<string name="action_reply">Reply</string>
|
||||
<string name="placeholder_add_note">Add a note…</string>
|
||||
<string name="placeholder_add_comment">Add a comment…</string>
|
||||
<!-- Short label for the dictionary action in a text-selection popup. -->
|
||||
<string name="label_dict">Dict</string>
|
||||
<!-- Short label for the speak/TTS action in a text-selection popup. -->
|
||||
<string name="label_speak">Speak</string>
|
||||
<!-- Short label for the note action in a text-selection popup. -->
|
||||
<string name="label_note">Note</string>
|
||||
<string name="label_comments">Comments</string>
|
||||
<string name="label_editing_comment">Editing comment</string>
|
||||
<string name="label_replying_to">Replying to %1$s</string>
|
||||
<!-- Short label for the edit action in a text-selection popup. -->
|
||||
<string name="label_edit">Edit</string>
|
||||
|
||||
|
|
@ -1097,6 +1140,8 @@
|
|||
<string name="options_enable_multi_tab_reading">Enable Multi-Tab Reading</string>
|
||||
<!-- Home overflow menu item: uses stricter MIME filters when choosing local files. -->
|
||||
<string name="options_use_strict_file_filter">Use Strict File Filter</string>
|
||||
<!-- Home overflow menu item: prefers the PDF filename over embedded document metadata titles. -->
|
||||
<string name="options_use_pdf_filename_display_name">Use PDF Filenames</string>
|
||||
<string name="options_language">Language</string>
|
||||
<!-- Debug-only menu item that runs local panel detection diagnostics. -->
|
||||
<string name="options_test_panel_ml_detection">Test Panel ML Detection</string>
|
||||
|
|
@ -1175,8 +1220,8 @@
|
|||
<string name="sort_recent">Recent</string>
|
||||
<string name="sort_title_az">Title A-Z</string>
|
||||
<string name="sort_author_az">Author A-Z</string>
|
||||
<string name="sort_percent_asc">Percent complete 0-100</string>
|
||||
<string name="sort_percent_desc">Percent complete 100-0</string>
|
||||
<string name="sort_percent_asc">Percent complete 0–100</string>
|
||||
<string name="sort_percent_desc">Percent complete 100–0</string>
|
||||
<string name="sort_size_smallest">Size (Smallest)</string>
|
||||
<string name="sort_size_biggest">Size (Biggest)</string>
|
||||
<string name="read_status_all">All</string>
|
||||
|
|
@ -1243,9 +1288,9 @@
|
|||
<string name="credits_count">%1$d Credits</string>
|
||||
<string name="credits_estimated_cost_breakdown">Estimated Cost Breakdown</string>
|
||||
<string name="credits_cloud_tts_title">Cloud TTS</string>
|
||||
<string name="credits_cloud_tts_desc">Cost: ~3-4 credits per minute of audio generated.\nTo enable: Reader Screen > More > TTS Voice Settings.</string>
|
||||
<string name="credits_cloud_tts_desc">Cost: ~3–4 credits per minute of audio generated.\nTo enable: Reader Screen > More > TTS Voice Settings.</string>
|
||||
<string name="credits_ai_summaries_title">AI Summaries & Recap</string>
|
||||
<string name="credits_ai_summaries_desc">Cost: ~1-4 credits per request based on chapter length.\nPro Users get 10 free summaries daily.</string>
|
||||
<string name="credits_ai_summaries_desc">Cost: ~1–4 credits per request based on chapter length.\nPro Users get 10 free summaries daily.</string>
|
||||
<string name="legal_by_purchasing">By purchasing,</string>
|
||||
<string name="dialog_out_of_credits_title">Out of Credits</string>
|
||||
<string name="dialog_out_of_credits_desc">You don\'t have enough credits. Get Episteme Pro for 10 free Summaries per day, or add more credits to use Summaries, Cloud TTS and Story Recap.</string>
|
||||
|
|
@ -1511,6 +1556,7 @@
|
|||
<string name="content_desc_drag_to_reorder">Drag to reorder</string>
|
||||
<string name="tool_external_apps">External Apps</string>
|
||||
<string name="tool_navigation_slider">Navigation Slider</string>
|
||||
<string name="tool_brightness">Brightness</string>
|
||||
<string name="tool_sidebar">Sidebar</string>
|
||||
<string name="tool_highlight_selectable_text">Highlight selectable text</string>
|
||||
<string name="tool_edit_mode">Edit Mode</string>
|
||||
|
|
@ -1561,4 +1607,403 @@
|
|||
<string name="language_dutch">Nederlands (Dutch)</string>
|
||||
<string name="language_ukrainian">Українська (Ukrainian)</string>
|
||||
<string name="language_indonesian">Bahasa Indonesia (Indonesian)</string>
|
||||
<!-- Desktop localization. Desktop reuses this Android string file as its source of truth. -->
|
||||
<string name="desktop_about">About</string>
|
||||
<string name="desktop_about_subtitle">Desktop reader</string>
|
||||
<string name="desktop_access">Desktop access</string>
|
||||
<string name="desktop_account">Account</string>
|
||||
<string name="desktop_ai_hub">AI hub</string>
|
||||
<string name="desktop_ai_settings_summaries_desc">Used for EPUB summaries and PDF page summaries.</string>
|
||||
<string name="desktop_author_text">Author text</string>
|
||||
<!-- %1$s = voice/cache label. -->
|
||||
<string name="desktop_cache_format">Cache: %1$s</string>
|
||||
<string name="desktop_cached">Cached</string>
|
||||
<string name="desktop_cached_summary">Cached summary</string>
|
||||
<string name="desktop_choose_cloud_tts_voice">Choose the Gemini voice used for cloud read aloud.</string>
|
||||
<string name="desktop_clear_book_cache_desc">Delete generated desktop book and EPUB pagination cache files? They will be recreated the next time books are opened.</string>
|
||||
<string name="desktop_clear_voice_cache">Clear voice cache</string>
|
||||
<string name="desktop_close_tools">Close tools</string>
|
||||
<string name="desktop_cloud_tts_needs_gemini">Cloud TTS needs Gemini</string>
|
||||
<string name="desktop_cloud_tts_needs_signed_in_credits">Cloud TTS needs signed-in credits</string>
|
||||
<string name="desktop_cloud_tts_ready">Cloud TTS ready</string>
|
||||
<string name="desktop_cloud_tts_settings">Cloud TTS settings</string>
|
||||
<string name="desktop_cloud_tts_unavailable">Cloud TTS unavailable</string>
|
||||
<string name="desktop_cloud_tts_voice">Cloud TTS voice</string>
|
||||
<string name="desktop_contains">Contains</string>
|
||||
<string name="desktop_cost_calculating">Cost calculating</string>
|
||||
<string name="desktop_create_recap_current_position">Create a recap up to your current position.</string>
|
||||
<string name="desktop_create_smart_shelf">Create smart shelf</string>
|
||||
<!-- %1$d = integer credit count. -->
|
||||
<string name="desktop_credits_available_format">%1$d credits available</string>
|
||||
<!-- %1$s = decimal credit cost. -->
|
||||
<string name="desktop_credits_decimal_format">%1$s credits</string>
|
||||
<string name="desktop_custom_fonts_desc">Imported fonts for the reader</string>
|
||||
<string name="desktop_delete_font">Delete font</string>
|
||||
<!-- %1$s = font display name. -->
|
||||
<string name="desktop_delete_font_desc">Delete %1$s? Books using it will fall back to the default font.</string>
|
||||
<!-- %1$s = shelf name. -->
|
||||
<string name="desktop_delete_shelf_desc">Delete \"%1$s\"? Books stay in your library.</string>
|
||||
<string name="desktop_delete_summary">Delete summary</string>
|
||||
<string name="desktop_disabled">Disabled</string>
|
||||
<string name="desktop_drop_files_to_import">Drop files to import</string>
|
||||
<string name="desktop_drop_supported_files_to_import">Drop supported files to import</string>
|
||||
<string name="desktop_email_support_desc">Contact us directly by email for anything else.</string>
|
||||
<string name="desktop_equals">Equals</string>
|
||||
<string name="desktop_extras">Extras</string>
|
||||
<string name="desktop_feedback">Feedback</string>
|
||||
<string name="desktop_field">Field</string>
|
||||
<string name="desktop_folder_path">Folder path</string>
|
||||
<string name="desktop_from_here">From here</string>
|
||||
<string name="desktop_full_scan">Full scan</string>
|
||||
<!-- %1$d = number of free uses remaining. -->
|
||||
<string name="desktop_free_remaining_format">Free, %1$d left</string>
|
||||
<string name="desktop_generate_recap">Generate recap</string>
|
||||
<string name="desktop_generate_summary">Generate summary</string>
|
||||
<string name="desktop_get_in_touch_desc">Report bugs, request features, or contact support directly.</string>
|
||||
<string name="desktop_github_sponsors">GitHub Sponsors</string>
|
||||
<string name="desktop_github_sponsors_desc">Support development through GitHub Sponsors.</string>
|
||||
<string name="desktop_google_sign_in_not_configured">Google sign-in is not configured for this desktop build.</string>
|
||||
<string name="desktop_greater_than">Greater than</string>
|
||||
<string name="desktop_help_feedback_desc">Bug reports, feature requests, and support</string>
|
||||
<string name="desktop_hide">Hide</string>
|
||||
<string name="desktop_import_files">Import files</string>
|
||||
<string name="desktop_issues">Issues</string>
|
||||
<string name="desktop_issues_desc">Open the issue tracker for bugs and feature requests.</string>
|
||||
<string name="desktop_less_than">Less than</string>
|
||||
<string name="desktop_library_and_reader">Library and reader</string>
|
||||
<string name="desktop_match_any">Any</string>
|
||||
<string name="desktop_no_cached_summaries_book">No cached summaries for this book yet.</string>
|
||||
<string name="desktop_no_custom_fonts_desc">Import TTF, OTF, or WOFF2 files to use them in books.</string>
|
||||
<!-- %1$s = search query. -->
|
||||
<string name="desktop_no_fonts_matching">No fonts found matching \"%1$s\"</string>
|
||||
<string name="desktop_no_google_account_connected">No Google account is connected.</string>
|
||||
<string name="desktop_no_summary_cached_section">No summary cached for this section.</string>
|
||||
<string name="desktop_open_readers">Open readers</string>
|
||||
<!-- %1$s = book or section title. -->
|
||||
<string name="desktop_opening_title">Opening %1$s</string>
|
||||
<string name="desktop_opening_your_library">Opening your library</string>
|
||||
<string name="desktop_operator">Operator</string>
|
||||
<string name="desktop_page">Page</string>
|
||||
<string name="desktop_password_protected_pdf">Password protected PDF</string>
|
||||
<string name="desktop_patreon">Patreon</string>
|
||||
<string name="desktop_patreon_desc">Support the project on Patreon.</string>
|
||||
<string name="desktop_paused">Paused</string>
|
||||
<!-- %1$s = PDF title. -->
|
||||
<string name="desktop_pdf_password_required_desc">%1$s requires a password before it can be opened.</string>
|
||||
<string name="desktop_pdf_password_required_or_incorrect">Password is required or incorrect.</string>
|
||||
<!-- %1$s = PDF title. -->
|
||||
<string name="desktop_pdf_password_retry_desc">That password did not open %1$s. Enter the PDF password and try again.</string>
|
||||
<string name="desktop_percent">Percent</string>
|
||||
<string name="desktop_preparing_audio">Preparing audio</string>
|
||||
<string name="desktop_pro">Pro</string>
|
||||
<string name="desktop_pro_and_credits">Pro and credits</string>
|
||||
<string name="desktop_pro_not_unlocked_account">Pro is not unlocked for this account.</string>
|
||||
<string name="desktop_pro_purchase_android_desc">Pro and credits can only be purchased from the Android app. Desktop checks the same signed-in account and uses those credits for cloud TTS, summaries, recaps, and other paid AI features.</string>
|
||||
<string name="desktop_pro_sign_in_desc">Sign in to check your account status on desktop.</string>
|
||||
<string name="desktop_pro_unlocked_account">Pro is unlocked for this account.</string>
|
||||
<string name="desktop_progress">Progress</string>
|
||||
<string name="desktop_project">Project</string>
|
||||
<string name="desktop_reader">Reader</string>
|
||||
<string name="desktop_refresh">Refresh</string>
|
||||
<string name="desktop_release_add_library">Release to add to your library.</string>
|
||||
<string name="desktop_secure_key_storage_unavailable">Secure key storage is unavailable on this operating system. Keys entered here will be used for this session but will not be persisted.</string>
|
||||
<string name="desktop_settings_hub">Settings hub</string>
|
||||
<string name="desktop_show_ai_in_reader_desc">Matches the Android hide toggle for smart dictionary, summaries, and recaps.</string>
|
||||
<string name="desktop_signed_in">Signed in</string>
|
||||
<string name="desktop_source_code">Source code</string>
|
||||
<string name="desktop_source_code_desc">Browse the project source on GitHub.</string>
|
||||
<string name="desktop_stop_reading_change_voices">Stop reading to change voices.</string>
|
||||
<string name="desktop_support">Support</string>
|
||||
<string name="desktop_support_episteme">Support Episteme</string>
|
||||
<string name="desktop_support_episteme_desc">Contributions help keep the reader improving across Android and desktop.</string>
|
||||
<string name="desktop_support_project_desc">Ways to support Episteme development</string>
|
||||
<string name="desktop_sync_folders">Sync folders</string>
|
||||
<string name="desktop_sync_metadata">Sync metadata</string>
|
||||
<string name="desktop_tag_name">Tag name</string>
|
||||
<string name="desktop_tag_selected_books">Tag selected books</string>
|
||||
<string name="desktop_title_text">Title text</string>
|
||||
<string name="desktop_tools">Tools</string>
|
||||
<string name="desktop_tools_desc">Import, sync, and app settings</string>
|
||||
<string name="desktop_type_example_pdf">Type, e.g. PDF</string>
|
||||
<string name="desktop_view">View</string>
|
||||
<string name="desktop_voice_cache">Voice cache</string>
|
||||
<string name="desktop_webview_preparing">Preparing embedded webview…</string>
|
||||
<!-- %1$d = progress percentage. %% is a literal percent sign. -->
|
||||
<string name="desktop_webview_preparing_progress">Preparing bundled embedded webview %1$d%%</string>
|
||||
<string name="desktop_webview_restart_required">Embedded webview installed. Restart Episteme to finish setup.</string>
|
||||
<!-- %1$s = startup error detail. -->
|
||||
<string name="desktop_webview_start_error">Embedded webview could not start: %1$s</string>
|
||||
<string name="desktop_working">Working…</string>
|
||||
<string name="desktop_workspace">Workspace</string>
|
||||
<!-- Desktop action/dialog title for adding selected books to a manual shelf. -->
|
||||
<string name="desktop_add_to_shelf">Add to shelf</string>
|
||||
<string name="desktop_create_shelf_first">Create a shelf first, then add selected books to it.</string>
|
||||
<string name="desktop_create_theme">Create theme</string>
|
||||
<!-- %1$s = comma-separated existing tag names. -->
|
||||
<string name="desktop_existing_tags_format">Existing: %1$s</string>
|
||||
<string name="desktop_external_link_desc">You clicked an external link.</string>
|
||||
<string name="desktop_edit_epub_metadata">Edit EPUB metadata</string>
|
||||
<string name="desktop_less">Less</string>
|
||||
<string name="desktop_more">…more</string>
|
||||
<string name="desktop_no_custom_themes_yet">No custom themes yet</string>
|
||||
<string name="desktop_rename_in_app">Rename in app</string>
|
||||
<string name="desktop_tags_comma_separated">Tags, comma separated</string>
|
||||
<string name="unknown">Unknown</string>
|
||||
<string name="action_define">Define</string>
|
||||
<string name="desktop_annotation">Annotation</string>
|
||||
<string name="desktop_annotation_options">Annotation options</string>
|
||||
<string name="desktop_annotation_tools">Annotation tools</string>
|
||||
<string name="desktop_assist">Assist</string>
|
||||
<string name="desktop_choose_pdf_to_save">Choose which PDF to save.</string>
|
||||
<string name="desktop_clear_jump_history">Clear jump history</string>
|
||||
<string name="desktop_cloud_tts_failed">Cloud TTS failed.</string>
|
||||
<string name="desktop_cloud_tts_needs_gemini_key_desc">Add a Gemini key and select Gemini cloud TTS in AI keys and models.</string>
|
||||
<string name="desktop_cloud_tts_not_configured_desc">Cloud TTS is not configured for this desktop build.</string>
|
||||
<string name="desktop_cloud_tts_sign_in_required_desc">Sign in with Google to use cloud TTS.</string>
|
||||
<string name="desktop_cloud_tts_signed_in_credits_required_desc">Cloud TTS needs a signed-in account with credits. Pro and credits can only be purchased from the Android app.</string>
|
||||
<string name="desktop_color">Color</string>
|
||||
<string name="desktop_comment_options">Comment options</string>
|
||||
<string name="desktop_custom_theme_default">Custom</string>
|
||||
<string name="desktop_delete_annotation_desc">This removes the annotation from this PDF.</string>
|
||||
<string name="desktop_delete_annotation_title">Delete annotation?</string>
|
||||
<string name="desktop_document_text">Document text</string>
|
||||
<string name="desktop_embedded_pdf_comment">Embedded PDF comment</string>
|
||||
<string name="desktop_failed_render_page">Failed to render page.</string>
|
||||
<string name="desktop_feature_unavailable">Feature unavailable</string>
|
||||
<string name="desktop_finished">Finished</string>
|
||||
<string name="desktop_fountain_pen">Fountain pen</string>
|
||||
<string name="desktop_hide_search_results">Hide search results</string>
|
||||
<!-- %1$d = highlighter palette slot number. -->
|
||||
<string name="desktop_highlight_color_format">Highlight color %1$d</string>
|
||||
<string name="desktop_highlighter_palette">Highlighter palette</string>
|
||||
<string name="desktop_interaction">Interaction</string>
|
||||
<!-- %1$d = indexed page count; %2$d = total page count. -->
|
||||
<string name="desktop_indexing_pages_format">Indexing %1$d/%2$d pages</string>
|
||||
<string name="desktop_markup">Markup</string>
|
||||
<!-- %1$d = number of search matches. -->
|
||||
<string name="desktop_matches_format">%1$d matches</string>
|
||||
<!-- %1$d = number of search matches found while indexing is still running. -->
|
||||
<string name="desktop_matches_so_far_format">%1$d matches so far</string>
|
||||
<string name="desktop_next_page">Next page</string>
|
||||
<string name="desktop_next_search_result">Next search result</string>
|
||||
<string name="desktop_no_annotations_yet">No annotations yet</string>
|
||||
<string name="desktop_no_bookmarks_yet">No bookmarks yet</string>
|
||||
<string name="desktop_no_comment">No comment</string>
|
||||
<string name="desktop_no_matches">No matches</string>
|
||||
<string name="desktop_no_matches_indexed_pages_yet">No matches in indexed pages yet</string>
|
||||
<string name="desktop_no_table_of_contents">No table of contents</string>
|
||||
<string name="desktop_no_text_here_to_read">There is no text here to read.</string>
|
||||
<string name="desktop_no_text_on_page_to_read">There is no text on this page to read.</string>
|
||||
<string name="desktop_no_text_to_summarize">There is no text to summarize.</string>
|
||||
<string name="desktop_open_comment">Open comment</string>
|
||||
<string name="desktop_out_of_credits_android_purchase_desc">Out of credits. Pro and credits can only be purchased from the Android app.</string>
|
||||
<string name="desktop_out_of_credits_cloud_tts_desc">Using cloud TTS needs credits on desktop. Pro and credits can only be purchased from the Android app.</string>
|
||||
<string name="desktop_out_of_credits_generic_feature_desc">Using this feature needs credits on desktop. Pro and credits can only be purchased from the Android app.</string>
|
||||
<string name="desktop_out_of_credits_recaps_desc">Using recaps needs credits on desktop. Pro and credits can only be purchased from the Android app.</string>
|
||||
<string name="desktop_out_of_credits_summaries_desc">Using summaries needs credits on desktop. Pro and credits can only be purchased from the Android app.</string>
|
||||
<string name="desktop_pan">Pan</string>
|
||||
<string name="desktop_pdf_action_failed">PDF action failed</string>
|
||||
<string name="desktop_pdf_action_failed_desc">The PDF action could not be completed.</string>
|
||||
<string name="desktop_pdf_comment">PDF comment</string>
|
||||
<!-- %1$d = 1-indexed page number. -->
|
||||
<string name="desktop_pdf_compact_page_number">p. %1$d</string>
|
||||
<!-- %1$d = 1-indexed page number. -->
|
||||
<string name="desktop_pdf_page_content_desc">PDF page %1$d</string>
|
||||
<!-- %1$d = 1-indexed page number; %2$s = comment author. -->
|
||||
<string name="desktop_pdf_page_author_format">Page %1$d - %2$s</string>
|
||||
<!-- %1$s = page number or page range; %2$d = total page count. -->
|
||||
<string name="desktop_pdf_page_of_count">Page %1$s of %2$d</string>
|
||||
<!-- %1$s = page range; %2$d = total page count. -->
|
||||
<string name="desktop_pdf_pages_of_count">Pages %1$s of %2$d</string>
|
||||
<string name="desktop_pdf_saved">PDF saved</string>
|
||||
<string name="desktop_pdf_tools">PDF tools</string>
|
||||
<string name="desktop_pencil">Pencil</string>
|
||||
<string name="desktop_preparing_selection">Preparing selection</string>
|
||||
<!-- %1$s = read scope, such as page or chapter. -->
|
||||
<string name="desktop_preparing_scope_format">Preparing %1$s</string>
|
||||
<string name="desktop_previous_page">Previous page</string>
|
||||
<string name="desktop_previous_search_result">Previous search result</string>
|
||||
<string name="desktop_print_dialog_finished">The print dialog has finished.</string>
|
||||
<string name="desktop_pro_required">Pro required</string>
|
||||
<string name="desktop_pro_required_generic_feature_desc">This feature requires Pro. Pro can only be purchased from the Android app, then desktop will use the upgraded account after sign-in.</string>
|
||||
<string name="desktop_pro_required_multi_word_dictionary_desc">Multi-word smart dictionary requires Pro. Pro can only be purchased from the Android app, then desktop will use the upgraded account after sign-in.</string>
|
||||
<string name="desktop_reader_ai_hidden_desc">Reader AI features are hidden.</string>
|
||||
<string name="desktop_ai_not_configured_desc">Desktop AI is not configured for this build.</string>
|
||||
<string name="desktop_remove_gap_between_pages_desc">Applies to vertical reading mode.</string>
|
||||
<string name="desktop_round_highlighter">Round highlighter</string>
|
||||
<!-- %1$s = saved file path. -->
|
||||
<string name="desktop_saved_to_path_format">Saved to %1$s</string>
|
||||
<string name="desktop_scroll">Scroll</string>
|
||||
<string name="desktop_search_in_pdf">Search in PDF</string>
|
||||
<string name="desktop_select_text">Select text</string>
|
||||
<!-- %1$s = localized annotation type. -->
|
||||
<string name="desktop_selected_annotation_format">Selected %1$s</string>
|
||||
<string name="desktop_show_search_results">Show search results</string>
|
||||
<string name="desktop_sign_in_required_generic_feature_desc">Sign in with Google to use this feature on desktop.</string>
|
||||
<string name="desktop_sign_in_required_multi_word_dictionary_desc">Sign in with Google to use multi-word smart dictionary on desktop.</string>
|
||||
<string name="desktop_sign_in_required_recaps_desc">Sign in with Google to use recaps on desktop.</string>
|
||||
<string name="desktop_sign_in_required_summaries_desc">Sign in with Google to use summaries on desktop.</string>
|
||||
<string name="desktop_stopped">Stopped</string>
|
||||
<string name="desktop_text_note">Text note</string>
|
||||
<string name="desktop_text_note_lowercase">text note</string>
|
||||
<string name="desktop_text_style">Text style</string>
|
||||
<!-- %1$s = stroke thickness percentage. -->
|
||||
<string name="desktop_thickness_format">Thickness %1$s</string>
|
||||
<string name="desktop_toc">TOC</string>
|
||||
<string name="desktop_type_to_search_pdf">Type to search this PDF</string>
|
||||
<string name="desktop_untitled">Untitled</string>
|
||||
<string name="desktop_view_pro_and_credits">View Pro and credits</string>
|
||||
<string name="desktop_voice_cache_cleared">Voice cache cleared</string>
|
||||
<string name="desktop_zoom">Zoom</string>
|
||||
<string name="desktop_zoom_in">Zoom in</string>
|
||||
<string name="desktop_zoom_out">Zoom out</string>
|
||||
<string name="action_choose">Choose</string>
|
||||
<string name="action_continue_reading">Continue reading</string>
|
||||
<string name="action_dismiss">Dismiss</string>
|
||||
<string name="action_down">Down</string>
|
||||
<string name="action_up">Up</string>
|
||||
<string name="desktop_ai">AI</string>
|
||||
<string name="desktop_align_center">Center</string>
|
||||
<string name="desktop_authors">Authors</string>
|
||||
<string name="desktop_back_to_library">Back to library</string>
|
||||
<string name="desktop_book_actions">Book actions</string>
|
||||
<!-- Small badge shown on a book card when the book comes from a synced/local folder. -->
|
||||
<string name="desktop_book_badge_folder">Folder</string>
|
||||
<string name="desktop_browse">Browse</string>
|
||||
<string name="desktop_categories">Categories</string>
|
||||
<!-- %1$d = 1-indexed chapter number. -->
|
||||
<string name="desktop_chapter_short_format">Ch. %1$d</string>
|
||||
<string name="desktop_chapter_turns">Chapter Turns</string>
|
||||
<string name="desktop_choose_font">Choose font</string>
|
||||
<string name="desktop_choose_reader_texture">Choose reader texture</string>
|
||||
<string name="desktop_clear_file_types">Clear file types</string>
|
||||
<string name="desktop_clear_page_annotations">Clear page annotations</string>
|
||||
<string name="desktop_clear_sources">Clear sources</string>
|
||||
<string name="desktop_clear_status">Clear status</string>
|
||||
<string name="desktop_clear_tags">Clear tags</string>
|
||||
<string name="desktop_close_reader">Close reader</string>
|
||||
<string name="desktop_continuous">Continuous</string>
|
||||
<string name="desktop_cover_view">Covers</string>
|
||||
<string name="desktop_custom_colors">Custom colors</string>
|
||||
<string name="desktop_custom_theme_preview">Custom theme preview</string>
|
||||
<!-- %1$s = setting label. -->
|
||||
<string name="desktop_decrease_format">Decrease %1$s</string>
|
||||
<string name="desktop_define_page">Define page</string>
|
||||
<string name="desktop_delete_highlight_desc">This removes the highlight and its note.</string>
|
||||
<string name="desktop_enter_full_screen">Enter full screen</string>
|
||||
<string name="desktop_exit_full_screen">Exit full screen</string>
|
||||
<string name="desktop_external_lookup">External lookup</string>
|
||||
<!-- Standalone file-type filter group label for book formats such as EPUB and MOBI. Do not reuse for counts or sentences. -->
|
||||
<string name="desktop_file_type_group_books">Books</string>
|
||||
<string name="desktop_file_type_group_comics">Comics</string>
|
||||
<string name="desktop_file_type_group_documents">Documents</string>
|
||||
<string name="desktop_file_type_group_other">Other</string>
|
||||
<string name="desktop_file_type_group_text_web">Text and web</string>
|
||||
<string name="desktop_fill">Fill</string>
|
||||
<string name="desktop_fixed_layout_appearance">Fixed-layout appearance</string>
|
||||
<string name="desktop_folder_empty">Folder is empty</string>
|
||||
<string name="desktop_folder_empty_desc">No supported files or subfolders are available here.</string>
|
||||
<!-- Desktop folder shelf subtitle that joins already-localized count phrases. %1$s = folder count phrase; %2$s = file count phrase. -->
|
||||
<string name="desktop_folder_subtitle_folder_file_counts">%1$s, %2$s</string>
|
||||
<!-- %1$s = first label; %2$s = second label. -->
|
||||
<string name="desktop_label_pair_format">%1$s - %2$s</string>
|
||||
<string name="desktop_hide_filters">Hide filters</string>
|
||||
<string name="desktop_hide_reader_tools">Hide reader tools</string>
|
||||
<string name="desktop_highlight_palette_hint">Tap a slot, then pick a color.</string>
|
||||
<string name="desktop_home_subtitle">Continue reading and recent books</string>
|
||||
<string name="desktop_import_books">Import books</string>
|
||||
<string name="desktop_import_folder">Import folder</string>
|
||||
<string name="desktop_imported_fonts">Imported fonts</string>
|
||||
<!-- Desktop import banner that joins two complete status sentences. %1$s = imported-count sentence; %2$s = skipped-count sentence. -->
|
||||
<string name="desktop_import_result_pair">%1$s %2$s</string>
|
||||
<!-- %1$s = setting label. -->
|
||||
<string name="desktop_increase_format">Increase %1$s</string>
|
||||
<string name="desktop_jump_history">Jump history</string>
|
||||
<string name="desktop_layout_spacing">Layout and Spacing</string>
|
||||
<string name="desktop_library_empty_desc">Import files into app storage or add a folder to read files in place.</string>
|
||||
<string name="desktop_library_subtitle">Browse your collection</string>
|
||||
<!-- Desktop library tab label with count. %1$d = number of smart shelves. Keep as a full tab phrase, not a reusable noun. -->
|
||||
<string name="desktop_library_tab_smart_shelves_count">Smart %1$d</string>
|
||||
<!-- Desktop library tab label with count. %1$d = number of unread books. Keep as a full tab phrase. -->
|
||||
<string name="desktop_library_tab_unread_count">Unread %1$d</string>
|
||||
<!-- Desktop library tab label with count. %1$d = number of in-progress books. Keep as a full tab phrase. -->
|
||||
<string name="desktop_library_tab_in_progress_count">In progress %1$d</string>
|
||||
<!-- Desktop library tab label with count. %1$d = number of completed books. Keep as a full tab phrase. -->
|
||||
<string name="desktop_library_tab_completed_count">Complete %1$d</string>
|
||||
<string name="desktop_list_view">List</string>
|
||||
<string name="desktop_navigation">Navigation</string>
|
||||
<string name="desktop_no_book_open">No book open</string>
|
||||
<string name="desktop_no_folders_desc">Add a folder to read files from that folder in place.</string>
|
||||
<string name="desktop_no_folders_yet">No folders yet</string>
|
||||
<string name="desktop_no_navigation_items">No navigation items</string>
|
||||
<string name="desktop_no_page_content">No page content</string>
|
||||
<string name="desktop_no_settings_found">No settings found</string>
|
||||
<string name="desktop_no_shelves_desc">Manual shelves and series collections will appear here.</string>
|
||||
<string name="desktop_no_shelves_yet">No shelves yet</string>
|
||||
<string name="desktop_no_smart_shelves_desc">Create smart shelves to collect books by rules.</string>
|
||||
<string name="desktop_no_smart_shelves_yet">No smart shelves yet</string>
|
||||
<string name="desktop_no_tags_desc">Tags added to books will appear here.</string>
|
||||
<string name="desktop_no_tags_yet">No tags yet</string>
|
||||
<!-- Desktop import result banner shown when every selected file is unsupported. -->
|
||||
<string name="desktop_no_supported_files_imported">No supported files were imported.</string>
|
||||
<string name="desktop_opds_catalog">Catalog</string>
|
||||
<!-- %1$s = catalog title. -->
|
||||
<string name="desktop_opds_delete_catalog_desc">Delete "%1$s"? Streamed books from this catalog may stop opening if credentials change later.</string>
|
||||
<string name="desktop_opds_no_catalogs">No catalogs</string>
|
||||
<string name="desktop_opds_no_catalogs_desc">Add an OPDS catalog to browse remote books.</string>
|
||||
<string name="desktop_opds_subtitle">Browse catalogs, streams, and downloads</string>
|
||||
<string name="desktop_open_book">Open Book</string>
|
||||
<string name="desktop_open_folder">Open folder</string>
|
||||
<string name="desktop_open_pdf">Open PDF</string>
|
||||
<string name="desktop_page_and_text_colors">Page and text colors</string>
|
||||
<string name="desktop_page_info">Page Info</string>
|
||||
<string name="desktop_page_width">Page width</string>
|
||||
<string name="desktop_pdf_appearance_defaults_desc">These defaults apply where the platform supports shared PDF appearance. Per-book PDF overrides stay in the PDF reader.</string>
|
||||
<string name="desktop_pdf_file_actions">PDF file actions</string>
|
||||
<string name="desktop_pdf_highlighter">PDF highlighter</string>
|
||||
<string name="desktop_pdf_highlighter_alpha_desc">Saved with reader highlight transparency.</string>
|
||||
<string name="desktop_pin">Pin</string>
|
||||
<string name="desktop_reader_managed_pdf_tools">Reader-managed PDF tools</string>
|
||||
<string name="desktop_reader_managed_pdf_tools_desc">Auto-scroll, OCR, annotation defaults, and PDF-only tool visibility are managed inside the active PDF reader.</string>
|
||||
<!-- %1$s = page mode; %2$s = page or spread label; %3$d = total pages; %4$d = progress percentage. -->
|
||||
<string name="desktop_reader_page_info_format">%1$s %2$s of %3$d (%4$d%%)</string>
|
||||
<string name="desktop_reader_toolbar_managed_in_reader">Reader toolbar defaults are managed from the reader on this platform.</string>
|
||||
<string name="desktop_reader_tools">Reader tools</string>
|
||||
<string name="desktop_save_image">Save image</string>
|
||||
<!-- %1$s = current search query. -->
|
||||
<string name="desktop_search_filter_format">Search: %1$s</string>
|
||||
<string name="desktop_search_in_reader">Search in reader</string>
|
||||
<string name="desktop_search_settings">Search settings</string>
|
||||
<string name="desktop_selection">Selection</string>
|
||||
<string name="desktop_selection_end_handle">Selection end handle</string>
|
||||
<string name="desktop_selection_start_handle">Selection start handle</string>
|
||||
<!-- Empty-state body for the top-level shelves screen that includes shelves, tags, and folder metadata. -->
|
||||
<string name="desktop_shelves_overview_empty_desc">Add shelves, tags, or folder metadata to organize your library.</string>
|
||||
<string name="desktop_shelves_subtitle">Collections, series, tags, and folders</string>
|
||||
<string name="desktop_show_reader_tools">Show reader tools</string>
|
||||
<!-- Desktop smart-shelf rule field label for matching a source folder path. -->
|
||||
<string name="desktop_smart_field_folder">Folder</string>
|
||||
<string name="desktop_smart_shelves">Smart</string>
|
||||
<string name="desktop_solid">Solid</string>
|
||||
<string name="desktop_speed">Speed</string>
|
||||
<string name="desktop_start_auto_scroll">Start auto scroll</string>
|
||||
<string name="desktop_stop_auto_scroll">Stop auto scroll</string>
|
||||
<string name="desktop_stop_read_aloud">Stop read aloud</string>
|
||||
<string name="desktop_texture_strength">Texture strength</string>
|
||||
<string name="desktop_type_to_search_book">Type to search this book</string>
|
||||
<string name="desktop_typography">Typography</string>
|
||||
<string name="desktop_undo_annotation">Undo annotation</string>
|
||||
<string name="desktop_unpin">Unpin</string>
|
||||
<string name="desktop_use_dark_theme">Use dark theme</string>
|
||||
<string name="desktop_use_light_theme">Use light theme</string>
|
||||
<string name="font_mono">Mono</string>
|
||||
<string name="font_sans">Sans</string>
|
||||
<string name="font_serif">Serif</string>
|
||||
<string name="library_search_placeholder">Search books, authors, or tags</string>
|
||||
<string name="toolbar_no_tools">No tools</string>
|
||||
<string name="toolbar_visible">Visible</string>
|
||||
<string name="tts_replacements_replace_only_spoken">Replace only what is spoken</string>
|
||||
<string name="tts_replacements_replace_only_spoken_desc">Reader text, highlights, and locations stay unchanged.</string>
|
||||
<!-- %1$s = replacement source; %2$s = spoken replacement. -->
|
||||
<string name="tts_replacements_summary_format">%1$s -> %2$s</string>
|
||||
</resources>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue