book-reader/app/src/main/res/values/strings.xml
Aryan 625a4d5d2e
Linux support (#381)
* Add desktop release CI and support for Arch Linux packaging

* Make Gradle wrapper executable in desktop-release workflow

* Make Gradle wrapper executable in desktop-release workflow

* Make Gradle wrapper executable in desktop-release workflow

* Configure Gradle and update Java environment in desktop-release workflow

* Update Java setup and AUR packaging in desktop release workflow

* Update Java setup and AUR packaging in desktop release workflow

* Add MSIX packaging support for Windows desktop distribution

* Update AUR packaging metadata and validation

* Use spine toc attribute for NCX resolution

* crash fixes

* Implement automatic discovery and injection of EPUB font face siblings

* Enhance custom font support with family grouping and variable font handling

* Optimize metadata loading and improve TTS highlighting

* Add keyboard navigation support for EPUB reader

* Refine PDF spread page sizing to respect aspect ratios

* Implement responsive maximum height for reader popups and sheets

* Handle TTS generation failures by skipping problematic chunks

* Refactor PDF tile rendering logic and zoom indicator behavior

* Prefer block and offset locators over page index in native vertical flow

* Implement save and share actions for original book files

* Add Estonian language support

* Implement temporary viewing mode for external files

* Implement direct opening for temporary external files without library persistence

* fix failing tests

* Import SharedFileCapabilities in DesktopLibraryUi

* Improve native vertical reader progress, persistence, and image support

* Center target in viewport for native vertical reader and support animated scrolling
2026-06-14 13:43:49 +05:30

2069 lines
154 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<resources>
<!-- App name — brand name, must not be translated. -->
<string name="app_name" translatable="false">Episteme</string>
<!-- General Actions & Words -->
<string name="action_cancel">Cancel</string>
<string name="action_save">Save</string>
<string name="action_delete">Delete</string>
<string name="action_remove">Remove</string>
<string name="action_ok">OK</string>
<string name="action_close">Close</string>
<string name="action_add">Add</string>
<string name="action_rename">Rename</string>
<string name="action_back">Back</string>
<string name="action_search">Search</string>
<string name="action_clear">Clear</string>
<string name="action_apply">Apply</string>
<string name="action_enable">Enable</string>
<!-- Generic error label. %1$s = the error message. Example: "Error: File not found." -->
<string name="error_message_format">Error: %1$s</string>
<string name="action_go_back">Go Back</string>
<!-- 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>
<string name="dialog_close_all_tabs_desc">Are you sure you want to close all active tabs?</string>
<!-- Shared Composables & Dialogs -->
<!-- Full legal agreement sentence. %1$s = introductory phrase such as "By signing in,"; %2$s = hyperlinked "Terms of Service"; %3$s = hyperlinked "Privacy Policy". Example: "By signing in, you agree to our Terms of Service and acknowledge you have read our Privacy Policy." -->
<string name="legal_agreement_full">%1$s you agree to our %2$s and acknowledge you have read our %3$s.</string>
<string name="legal_terms_of_service">Terms of Service</string>
<string name="legal_privacy_policy">Privacy Policy</string>
<string name="legal_licenses">Licenses</string>
<!-- Shown in the multi-select top bar. %1$d = number of items the user has selected. Example: "3 selected". -->
<string name="items_selected_count">%1$d selected</string>
<string name="clear_selection">Clear Selection</string>
<!-- Combined toggle label for a pin/unpin action on a book. -->
<string name="pin_unpin">Pin/Unpin</string>
<string name="info">Info</string>
<string name="select_all">Select All</string>
<string name="dialog_remove_from_recents">Remove from Recents</string>
<string name="dialog_warning_folder_sync_delete">Warning: Some selected items are synced from a local folder. Proceeding will delete the actual files from your device storage.\n\nThis action cannot be undone.</string>
<string name="file_information">File Information</string>
<string name="book_name">Book Name</string>
<string name="copy_name">Copy Name</string>
<!-- Shown in the file information dialog. %1$s = the original filename before the user renamed it. Example: "Original Name: Notes.epub". -->
<string name="original_name">Original Name: %1$s</string>
<string name="revert_to_original">Revert to Original</string>
<!-- Shown in the file information dialog. %1$s = the file\'s name on disk. Example: "File Name: Notes.epub". -->
<string name="file_name">File Name: %1$s</string>
<string name="author">Author</string>
<string name="format">Format</string>
<string name="size">Size</string>
<string name="added">Added</string>
<string name="location">Location</string>
<!-- "OPDS" is a technical protocol name and must not be translated. -->
<string name="source_opds">Source: OPDS Stream</string>
<string name="source_in_app">In-App Storage</string>
<string name="internal_storage">Internal storage</string>
<!-- "Episteme" is the app brand name and must not be translated. -->
<string name="about_title">About Episteme</string>
<!-- Shown in the About dialog header. %1$s = version string; %2$d = integer build number. Example: "Version: 1.0.41 (Build: 1041)". -->
<string name="about_version">Version: %1$s (Build: %2$d)</string>
<string name="empty_select_file">Select a File</string>
<string name="clear_cloud_data_title">Clear All Synced Data?</string>
<string name="clear_cloud_data_desc">Are you sure you want to permanently delete all of your book data from the cloud? This will also wipe your local library to prevent re-syncing. This action cannot be undone.</string>
<!-- Destructive action button, intentionally styled in all-caps. -->
<string name="delete_all_data">DELETE ALL DATA</string>
<!-- Navigation & Home -->
<string name="nav_home">Home</string>
<string name="nav_library">Library</string>
<string name="recent_files">Recent Files</string>
<string name="your_library_empty">Your Library is Empty</string>
<string name="your_library_empty_desc">Select a file to read, or sync a local folder to automatically import books.</string>
<string name="no_recent_files">No Recent Files</string>
<string name="no_recent_files_desc">Open a file from your library to see it here.</string>
<string name="setup_folder_sync">Setup Folder Sync</string>
<string name="sync_folder">Sync Folder</string>
<string name="local_folder">Local Folder</string>
<!-- "OPDS" is the name of a catalog protocol — do not translate. -->
<string name="opds_stream" translatable="false">OPDS</string>
<string name="pinned">Pinned</string>
<!-- Reading progress shown on a book card. %1$d = percentage from 0 to 100. %% is a literal percent sign. Example: "42% complete". -->
<string name="progress_complete">%1$d%% complete</string>
<string name="not_available_locally">Not available locally</string>
<!-- Drawer Menu -->
<!-- "Google" is a brand name — keep as-is. -->
<string name="drawer_sign_in">Sign in with Google</string>
<string name="drawer_by_signing_in">By signing in,</string>
<!-- "Episteme Pro" is a product tier name — do not translate "Episteme". -->
<string name="drawer_pro_unlocked">Episteme Pro</string>
<!-- "Episteme Pro" is a product tier name — do not translate "Episteme". -->
<string name="drawer_upgrade_pro">Upgrade to Episteme Pro</string>
<string name="drawer_sync_library">Sync Library</string>
<!-- "Google Drive" is a brand name — do not translate. -->
<string name="drawer_backup_local_folders">Cloud sync for Local Folders</string>
<!-- "Google Drive" is a brand name — do not translate. -->
<string name="drawer_backup_desc">Upload books from your synced folders to Google Drive.</string>
<string name="drawer_custom_fonts">Custom Fonts</string>
<string name="drawer_support_project">Support the Project</string>
<string name="drawer_help_feedback">Help &amp; Feedback</string>
<string name="drawer_sign_out">Sign Out</string>
<!-- Top Bar Options -->
<string name="options_recent_limit">Recent Files Limit</string>
<string name="options_no_limit">No limit</string>
<!-- Shown as a selectable recent-file limit option. %1$d = number of files. Example: "25 files". -->
<string name="options_files_limit">%1$d files</string>
<string name="options_clear_book_cache">Clear Book Cache</string>
<string name="options_clear_reflow_cache">Clear Reflow Cache</string>
<!-- Library Screen -->
<string name="library_title">Library</string>
<!-- Placeholder text inside the library search field. -->
<string name="search_placeholder">Search title or author…</string>
<!-- Active file-type filter chip label. %1$s = comma-separated list of active types. Example: "Types: PDF, EPUB". -->
<string name="filter_types">Types: %1$s</string>
<!-- Active folder filter chip label. %1$d = number of folder filters currently active. Example: "Folders: 2". -->
<string name="filter_folders">Folders: %1$d</string>
<!-- Active read-status filter chip label. %1$s = status name. Example: "Status: In Progress". -->
<string name="filter_status">Status: %1$s</string>
<string name="tab_all_books">All Books</string>
<string name="tab_shelves">Shelves</string>
<string name="tab_folders">Folders</string>
<string name="tab_catalogs">Catalogs</string>
<!-- Shown when the library search has no matches. %1$s = the user\'s search query. Example: "No results found for \"hobbit\"". -->
<string name="no_results_found">No results found for \"%1$s\"</string>
<string name="library_empty_desc">Select a PDF, EPUB, MOBI, or AZW3 file from your device to get started.</string>
<!-- Floating action button label to add a file to the library. -->
<string name="fab_add_file">Add file</string>
<!-- Floating action button label to create a new shelf. -->
<string name="fab_new_shelf">New shelf</string>
<string name="create_new_shelf">Create New Shelf</string>
<string name="shelf_name_hint">Shelf Name</string>
<string name="action_create">Create</string>
<string name="menu_rename_shelf">Rename shelf</string>
<string name="menu_delete_shelf">Delete shelf</string>
<!-- Floating action button label shown inside a shelf to add books to it. -->
<string name="fab_add_books">Add books</string>
<string name="shelf_empty">This shelf is empty</string>
<!-- FAB label shown while adding books. %1$s = the name of the target shelf. Example: "Add to Favorites". -->
<string name="add_to_shelf">Add to %1$s</string>
<!-- FAB button label showing count of selected books. %1$d = number selected. Intentionally all-caps. Example: "ADD (3)". -->
<string name="fab_add_count">ADD (%1$d)</string>
<string name="no_unshelved_books">No unshelved books to add</string>
<string name="all_books_in_shelf">All books are already in this shelf</string>
<string name="dialog_rename_shelf">Rename Shelf</string>
<string name="dialog_delete_shelf">Delete Shelf?</string>
<!-- Confirmation dialog. %1$s = name of the shelf being deleted. Example: "Are you sure you want to delete the 'Favorites' shelf? All books will be moved to Unshelved." -->
<string name="dialog_delete_shelf_desc">Are you sure you want to delete the \'%1$s\' shelf? All books will be moved to Unshelved.</string>
<string name="dialog_remove_from_shelf">Remove from Shelf?</string>
<!-- Dialog title when deleting multiple shelves. %1$s = localized shelf count phrase such as "3 shelves". Example: "Delete 3 shelves?" -->
<string name="dialog_delete_shelves">Delete %1$s?</string>
<!-- Dialog body when deleting multiple shelves. %1$d = selected shelf count; %2$s = localized shelf noun such as "shelves" (do not include the number). Example: "Are you sure you want to delete the 3 selected shelves? All books within will be moved to Unshelved." -->
<string name="dialog_delete_shelves_desc">Are you sure you want to delete the %1$d selected %2$s? All books within will be moved to Unshelved.</string>
<!-- Folder Sync -->
<string name="sync_local_folders">Sync Local Folders</string>
<!-- "Episteme" is the app brand name — do not translate. -->
<string name="sync_folders_desc">Connect local folders to create a live library. Episteme will monitor files and sync progress.</string>
<string name="fab_add_folder">Add Folder</string>
<string name="scan_all">Scan All</string>
<string name="scanning">Scanning…</string>
<!-- Button label on a folder sync card — triggers syncing only the metadata (not the actual files). -->
<string name="sync_meta">Sync Meta</string>
<!-- Small uppercase label on a folder sync card, followed by a date/time stamp. -->
<string name="last_sync">LAST SYNC</string>
<!-- Small uppercase label on a folder sync card, followed by the count of synced books. -->
<string name="books_count">BOOKS</string>
<string name="menu_edit_filters">Edit Filters</string>
<string name="menu_remove_folder">Remove Folder</string>
<string name="menu_disable_folder_local_sync">Disable local sync</string>
<string name="menu_enable_folder_local_sync">Enable local sync</string>
<string name="folder_local_sync_disabled">Local sync disabled</string>
<string name="dialog_disable_folder_local_sync_title">Disable local folder sync?</string>
<!-- Confirmation body for disabling local folder sync. %1$s = sync metadata folder name. Example: "Episteme will stop scanning this folder and stop writing JSON sync files. Remove the EpistemeSyncData folder from this folder too?" -->
<string name="dialog_disable_folder_local_sync_desc">Episteme will stop scanning this folder and stop writing JSON sync files. Remove the %1$s folder from this folder too?</string>
<string name="action_disable_keep_sync_data">Keep sync data</string>
<string name="action_disable_remove_sync_data">Remove sync data</string>
<string name="filter_file_types">Filter File Types</string>
<string name="filter_file_types_desc">Select the file types you want to sync from this folder:</string>
<string name="filter_library">Filter Library</string>
<string name="filter_file_type">File Type</string>
<string name="filter_source_folder">Source Folder</string>
<string name="filter_read_status">Read Status</string>
<string name="clear_all">Clear All</string>
<string name="filter_in_app_storage">In-App Storage</string>
<!-- External File Behavior -->
<string name="external_file_prompt_title">Save File?</string>
<string name="external_file_prompt_desc">Do you want to save this external file in the app\'s library? If not, it will be removed.\n\n(You can change this default behavior anytime from the Home Screen &gt; More Options &gt; External File Behavior).</string>
<!-- Checkbox label — "Don\'t ask again" for the external file save prompt. -->
<string name="external_file_dont_ask">Don\'t ask again</string>
<string name="external_file_keep">Keep in Library</string>
<string name="external_file_delete">Remove</string>
<string name="external_file_behavior_ask">Ask Every Time</string>
<string name="external_file_behavior_ask_desc">After closing an externally opened file, ask whether to keep it in the library or remove it.</string>
<string name="external_file_behavior_keep">Always Keep</string>
<string name="external_file_behavior_keep_desc">Externally opened files are copied into the library and kept after closing.</string>
<string name="external_file_behavior_delete">Always Remove</string>
<string name="external_file_behavior_delete_desc">Externally opened files are copied for reading, then removed after closing.</string>
<string name="external_file_behavior_temporary">Open Temporarily</string>
<string name="external_file_behavior_temporary_desc">Open directly from the source app in a temporary reader. Back returns to that app without adding the file to the library.</string>
<string name="options_external_file_behavior">External File Behavior</string>
<!-- OPDS — "OPDS" is a technical protocol name, do not translate it. -->
<string name="fab_add_catalog">Add Catalog</string>
<string name="search_catalog_placeholder">Search catalog…</string>
<string name="feed_empty">This feed is empty.</string>
<string name="status_downloading">Downloading…</string>
<string name="status_loading">Loading…</string>
<!-- Button label — "Stream" means to read directly from an OPDS catalog without downloading the file first. -->
<string name="action_stream">Stream</string>
<string name="action_unavailable">Unavailable</string>
<string name="action_download">Download</string>
<string name="download_format">Download Format</string>
<!-- Button label — starts streaming the book immediately from the OPDS catalog. -->
<string name="action_stream_now">Stream Now</string>
<string name="action_read">Read</string>
<string name="no_supported_formats">No supported formats available.</string>
<!-- Uppercase section label in the OPDS book detail screen. -->
<string name="publisher">PUBLISHER</string>
<!-- Uppercase section label in the OPDS book detail screen. -->
<string name="published">PUBLISHED</string>
<!-- Uppercase section label in the OPDS book detail screen. -->
<string name="language">LANGUAGE</string>
<string name="synopsis">Synopsis</string>
<string name="edit_catalog">Edit Catalog</string>
<!-- "OPDS" is a technical protocol name — do not translate. -->
<string name="add_opds_catalog">Add OPDS Catalog</string>
<string name="catalog_name">Catalog Name</string>
<string name="url">URL</string>
<!-- Placeholder text for the catalog URL input field. This is an example address — do not translate. -->
<string name="url_placeholder" translatable="false">http://192.168.1.50:8080/opds</string>
<string name="auth_optional">Authentication (Optional)</string>
<string name="username">Username</string>
<string name="password">Password</string>
<string name="delete_catalog">Delete Catalog</string>
<!-- Confirmation dialog. %1$s = the name of the catalog being deleted. Example: "Are you sure you want to delete 'Project Gutenberg'?" -->
<string name="delete_catalog_desc">Are you sure you want to delete \'%1$s\'?</string>
<!-- Warning shown when deleting a catalog that has associated streaming books. %1$d = number of streaming books that will also be removed from the library. Example: "Deleting this catalog will also permanently remove 4 streaming books associated with it from your library." -->
<string name="delete_catalog_warning">Deleting this catalog will also permanently remove %1$d streaming books associated with it from your library.</string>
<!-- Label for a preset badge/chip shown on OPDS catalog entries. -->
<string name="preset_label">Preset</string>
<!-- Pro Screen -->
<string name="free_plan">Free Plan</string>
<!-- Price displayed on the free plan card — "$0" should remain as-is. -->
<string name="price_free" translatable="false">$0</string>
<string name="forever_free">Forever free</string>
<string name="feature_multiple_formats">Multiple Formats</string>
<!-- File format names (PDF, EPUB, MOBI, AZW3) are technical identifiers — do not translate them. -->
<string name="feature_multiple_formats_desc">Supports PDF, EPUB, MOBI, AZW3</string>
<!-- "Android" is a brand name — do not translate. TTS = Text-to-Speech (keep as abbreviation). -->
<string name="feature_tts">Android Text-to-Speech</string>
<string name="feature_tts_desc">Listen to your books with built-in TTS</string>
<string name="feature_dict">Basic Dictionary</string>
<string name="feature_dict_desc">Look up single words quickly</string>
<string name="current_plan">Current Plan</string>
<!-- Promotional badge displayed on the Pro plan card. % is a literal percent sign. -->
<string name="pro_sale_off" translatable="false">50% OFF</string>
<string name="loading_price">Loading price…</string>
<string name="one_time_payment">One-time payment</string>
<string name="lifetime_access">Lifetime Access</string>
<string name="early_access_sale">Early Access Sale</string>
<string name="pro_includes">Features:</string>
<string name="feature_cloud_sync">Cloud Sync Across Devices</string>
<!-- "Google Drive" is a brand name — do not translate. -->
<string name="feature_cloud_sync_desc">Keep your entire library, including book files and reading progress, synced across up to 4 devices.</string>
<!-- "Summarization" is a Pro AI feature name. -->
<string name="feature_summarize">Summarization</string>
<string name="feature_summarize_desc">Get 10 free summaries of chapters or pages per day</string>
<!-- "Smart Dictionary" is a Pro AI feature name. -->
<string name="feature_smart_dict">Smart Dictionary</string>
<string name="feature_smart_dict_desc">Search phrases and even paragraphs, not just single words</string>
<string name="feature_priority">Priority Feature Requests</string>
<string name="feature_priority_desc">Your suggestions get prioritized</string>
<!-- "Pro" refers to the Episteme Pro product tier. -->
<string name="pro_unlocked">Pro Features Unlocked!</string>
<string name="sign_in_required">Sign in Required</string>
<string name="verifying_purchase">Verifying purchase…</string>
<string name="existing_purchase_found">Existing Purchase Found</string>
<string name="get_lifetime_access">Get Lifetime Access</string>
<string name="upgrade_unavailable">Upgrade currently unavailable. Please check your internet and try again.</string>
<!-- "Google" is a brand name. "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="sign_in_to_purchase">Please sign in to your Google account to purchase Episteme Pro.</string>
<string name="sign_in_to_purchase_credits">Please sign in to your Google account to purchase credits.</string>
<string name="verifying_purchase_desc">This may take a few moments. Your Pro status will be updated automatically.</string>
<!-- "Pro" refers to the Episteme Pro product tier. -->
<string name="dialog_existing_purchase_desc">This device already has a Pro purchase, but it\'s linked to a different account. Please sign in to the account that was used for the original purchase to restore your Pro features.</string>
<!-- "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="dialog_early_access_desc">You\'re getting Episteme Pro at a special discounted price during our early access period! This is a limited-time offer.</string>
<!-- "Google" is a brand name. "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="dialog_sign_in_required_desc">Please sign in to your Google account to purchase Episteme Pro and unlock all premium features.</string>
<!-- Dismissal button label for various pro-upgrade prompt dialogs. -->
<string name="action_not_now">Not Now</string>
<!-- Confirmation button label for informational dialogs. -->
<string name="action_got_it">Got It!</string>
<!-- Fonts -->
<string name="custom_fonts">Custom Fonts</string>
<string name="import_font">Import Font</string>
<string name="google_fonts">Google Fonts</string>
<string name="action_browse_google_fonts">Browse Google Fonts</string>
<string name="google_fonts_search_placeholder">Search 1900+ fonts…</string>
<string name="google_fonts_popular_choices">Popular Choices</string>
<!-- Empty state in the Google Fonts browser. %1$s = the user-entered search query. Example: "No fonts found matching 'Roboto'". -->
<string name="google_fonts_no_matches">No fonts found matching \'%1$s\'</string>
<string name="content_desc_already_downloaded">Already Downloaded</string>
<string name="no_custom_fonts">No Custom Fonts</string>
<!-- TTF and OTF are font file format names — do not translate. -->
<string name="import_fonts_desc">Import TTF or OTF files to use them in your books.</string>
<!-- English pangram used to preview all letters in a font. Translating this defeats the purpose — keep in English. -->
<string name="font_preview_text" translatable="false">Grumpy wizards make toxic brew for the evil queen! 1234567890 ?.,;:</string>
<string name="font_preview_error">Preview unavailable (Invalid font file)</string>
<string name="dialog_delete_font">Delete Font?</string>
<!-- Confirmation dialog. %1$s = display name of the font being deleted. Example: "Are you sure you want to delete 'Merriweather'? This will remove it from all your devices if sync is on." -->
<string name="dialog_delete_font_desc">Are you sure you want to delete \'%1$s\'? This will remove it from all your devices if sync is on.</string>
<string name="dialog_delete_fonts">Delete Fonts?</string>
<!-- Confirmation dialog. %1$d = number of selected fonts being deleted. Example: "Are you sure you want to delete 3 selected fonts? This will remove them from all your devices if sync is on." -->
<string name="dialog_delete_fonts_desc">Are you sure you want to delete %1$d selected fonts? This will remove them from all your devices if sync is on.</string>
<!-- Feedback -->
<string name="get_in_touch">Get in Touch</string>
<string name="feedback_desc">Found a bug, have a feature request, or just want to say hi? Let us know on GitHub or email us.</string>
<string name="github_issues">GitHub Issues</string>
<string name="github_issues_desc">Report bugs, request features, and track development progress.</string>
<string name="email_support">Email Support</string>
<string name="email_support_desc">Contact us directly via email for any other inquiries.</string>
<!-- Support Project -->
<string name="support_project_title">Support the Project</string>
<string name="support_project_heading">Help keep Episteme moving</string>
<string name="support_project_desc">Your support helps me keep maintaining and Improving Episteme for everyone!!!</string>
<string name="support_github_sponsor">Sponsor on GitHub</string>
<string name="support_github_sponsor_desc">Support development directly through GitHub Sponsors. As a thank you, you get a README shoutout in the project repo.</string>
<string name="support_patreon">Join on Patreon</string>
<string name="support_patreon_desc">As a thank you for backing the app, Patreon supporters get extra content and benefits: sneak peeks at what I am working on, early screenshots and updates, votes that help shape how new features should look and work, and a README shoutout in the project repo.</string>
<!-- Dialogs -->
<!-- "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="dialog_unlock_pro">Unlock Episteme Pro</string>
<!-- "Pro" refers to the Episteme Pro product tier. -->
<string name="dialog_unlock_pro_desc">Sync across devices is a Pro feature. Unlock all pro features with a single, one-time purchase.</string>
<string name="action_upgrade">Upgrade</string>
<string name="dialog_confirm_sign_out">Confirm Sign Out</string>
<string name="dialog_confirm_sign_out_desc">Are you sure you want to sign out?</string>
<string name="device_limit_reached">Device Limit Reached</string>
<!-- "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="device_limit_reached_desc">To use Episteme Pro on this device, please remove one of your existing registered devices.</string>
<!-- Shown in the device management list. %1$s = a formatted relative date/time string. Example: "Last seen: 2 days ago". -->
<string name="last_seen">Last seen: %1$s</string>
<string name="dialog_destructive_action">Confirm Destructive Action</string>
<!-- "Google Drive" is a brand name — do not translate. -->
<string name="dialog_destructive_action_desc">This will permanently delete all your books and reading progress from this device AND from your Google Drive account. This action cannot be undone. Are you sure?</string>
<string name="dialog_clear_book_cache">Clear Book Cache</string>
<string name="dialog_clear_book_cache_desc">This will clear all processed pages in pagination mode. This helps fix layout issues but will require books to be re-processed next time you open them.</string>
<string name="action_confirm_clear">Confirm &amp; Clear</string>
<string name="dialog_clear_reflow_cache">Clear Reflow Cache</string>
<!-- "Text View" is the name of the PDF reflow feature in this app — keep consistent. -->
<string name="dialog_clear_reflow_cache_desc">This will delete all generated \'Text View\' versions of your PDFs and clear their associated images/HTML cache. Your original PDFs will remain untouched.</string>
<!-- Tooltip titles -->
<string name="tooltip_back">Back</string>
<string name="tooltip_dictionary">Dictionary</string>
<string name="tooltip_more_options">More Options</string>
<string name="tooltip_slider">Page Slider</string>
<!-- TOC = Table of Contents. -->
<string name="tooltip_toc">Table of Contents</string>
<string name="tooltip_format">Text Format</string>
<string name="tooltip_search">Search</string>
<!-- AI = Artificial Intelligence. This is a toolbar icon tooltip. -->
<string name="tooltip_ai">AI Features</string>
<!-- TTS = Text-to-Speech. -->
<string name="tooltip_tts_start">Start Text-to-Speech</string>
<!-- TTS = Text-to-Speech. -->
<string name="tooltip_tts_stop">Stop Text-to-Speech</string>
<string name="tooltip_tts_pause">Pause</string>
<string name="tooltip_tts_resume">Resume</string>
<string name="tooltip_dark_mode_on">Enable Dark Mode</string>
<string name="tooltip_dark_mode_off">Disable Dark Mode</string>
<string name="tooltip_lock_pan">Lock Panning</string>
<string name="tooltip_unlock_pan">Unlock Panning</string>
<string name="tooltip_fullscreen">Full Screen</string>
<string name="tooltip_highlights">Show Highlights</string>
<string name="tooltip_highlights_off">Hide Highlights</string>
<string name="tooltip_edit_mode">Annotation Mode</string>
<string name="tooltip_edit_mode_exit">Exit Annotation Mode</string>
<string name="tooltip_close_search">Close Search</string>
<string name="tooltip_clear_search">Clear Search</string>
<string name="tooltip_show_results">Show Results</string>
<string name="tooltip_hide_results">Hide Results</string>
<string name="tooltip_prev_result">Previous Result</string>
<string name="tooltip_next_result">Next Result</string>
<!-- Tooltip descriptions -->
<string name="tooltip_back_desc">Exit the reader and return to the home screen</string>
<string name="tooltip_dictionary_desc">Choose your preferred app for word lookups</string>
<string name="tooltip_more_options_desc">Access reading mode, bookmarks, and advanced settings</string>
<string name="tooltip_slider_desc">Drag to jump quickly to any page in the document</string>
<string name="tooltip_toc_desc">Browse chapters and navigate to any section</string>
<string name="tooltip_format_desc">Adjust font, size, line height, alignment, and custom fonts</string>
<string name="tooltip_search_desc">Find any word or phrase in this book</string>
<!-- AI = Artificial Intelligence. -->
<string name="tooltip_ai_desc">Summarize the current chapter or page using AI</string>
<string name="tooltip_tts_start_desc">Read the book aloud using your device\'s voice engine</string>
<string name="tooltip_tts_stop_desc">Stop the current read-aloud session</string>
<string name="tooltip_tts_pause_desc">Pause the current read-aloud playback</string>
<string name="tooltip_tts_resume_desc">Resume paused read-aloud playback</string>
<!-- PDF = Portable Document Format (file format name — do not translate). -->
<string name="tooltip_dark_mode_on_desc">Invert PDF colors for dark mode</string>
<!-- PDF = Portable Document Format (file format name — do not translate). -->
<string name="tooltip_dark_mode_off_desc">Disable dark mode and restore the original PDF colors</string>
<string name="tooltip_lock_pan_desc">Lock horizontal panning on the page</string>
<string name="tooltip_unlock_pan_desc">Unlock panning to re-enable pinch-to-zoom and drag gestures</string>
<string name="tooltip_fullscreen_desc">Hide all UI controls for an immersive, distraction-free reading view</string>
<string name="tooltip_highlights_desc">Visually mark selectable text regions across the current page</string>
<string name="tooltip_highlights_off_desc">Remove the selectable text overlay from the page</string>
<string name="tooltip_edit_mode_desc">Add ink or text annotations</string>
<string name="tooltip_edit_mode_exit_desc">Finish editing and return to normal reading view</string>
<string name="tooltip_close_search_desc">Exit search and go back to the reader</string>
<string name="tooltip_clear_search_desc">Erase your current search query and start over</string>
<string name="tooltip_show_results_desc">Expand the panel to see all search matches</string>
<string name="tooltip_hide_results_desc">Collapse the search results panel</string>
<string name="tooltip_prev_result_desc">Jump to the previous search match in the document</string>
<string name="tooltip_next_result_desc">Jump to the next search match in the document</string>
<string name="action_sign_in">Sign In</string>
<string name="action_select_folder">Select Folder</string>
<string name="action_select">Select</string>
<!-- Footer combining Privacy Policy, Terms of Service, and Licenses links separated by bullet points. "•" is punctuation — keep as-is or adapt spacing to your language. -->
<string name="legal_footer_combined">Privacy Policy • Terms of Service • Licenses</string>
<!-- OSS = Open Source Software. "Episteme" is the app brand name — do not translate. -->
<string name="app_name_oss" translatable="false">Episteme OSS</string>
<!-- Debug-only menu item, not shown to regular users. -->
<string name="debug_show_device_management" translatable="false">[Debug] Show Device Management</string>
<!-- Debug-only menu item, not shown to regular users. -->
<string name="debug_clear_cloud_local_data" translatable="false">[Debug] Clear Cloud &amp; Local Data</string>
<!-- Debug overlay showing frames per second. %1$d = integer FPS value. Not shown to regular users. Example: "FPS: 60". -->
<string name="debug_fps" translatable="false">FPS: %1$d</string>
<string name="error_folder_selection_unsupported">Your device doesn\'t support folder selection. You can still import files individually.</string>
<string name="error_no_file_manager">No file manager found. Please install a file manager app.</string>
<!-- Email subject line for user feedback. "Episteme Reader" is the app name — do not translate. -->
<string name="feedback_email_subject" translatable="false">Feedback: Episteme Reader</string>
<!-- Banner shown after a file is downloaded from an OPDS catalog. %1$s = the downloaded filename. Example: "Downloaded Dracula.epub". -->
<string name="banner_downloaded">Downloaded %1$s</string>
<!-- Generic compound filter label. %1$s = filter category name; %2$s = filter value. Example: "Type: PDF". -->
<string name="filter_facet">%1$s: %2$s</string>
<!-- Shown in the folder sync card\'s "Last Sync" field when the folder has never been scanned. -->
<string name="never">Never</string>
<!-- Folder filter chip label. %1$s = folder display name; %2$d = number of books in that folder. Example: "Downloads: 12". -->
<string name="folder_filter_count">%1$s: %2$d</string>
<!-- ViewModel Messages: Banners & Errors -->
<!-- Catalog deletion banner. %1$d = count of streaming books removed with the catalog. Example: "Removed 5 streaming books." -->
<string name="banner_removed_streaming_books">Removed %1$d streaming books.</string>
<!-- Font import error. %1$s = error reason/message from the system. Example: "Failed to import font: Unsupported format". -->
<string name="error_import_font">Failed to import font: %1$s</string>
<!-- "Text view" is the name of the PDF reflow/text feature in this app. -->
<string name="banner_text_view_deleted">Text view deleted.</string>
<!-- "Google Drive" is a brand name — do not translate. -->
<string name="error_sync_drive_permission">Sync requires Google Drive permission.</string>
<string name="error_purchase_general">An error occurred with the purchase.</string>
<!-- "Pro" refers to the Episteme Pro product tier. -->
<string name="banner_upgrade_success">Upgrade successful! Welcome to Pro.</string>
<string name="error_purchase_verification">Purchase verification failed. Please contact support if you were charged.</string>
<string name="banner_device_removed">This device was removed from your account.</string>
<string name="error_verify_device">Could not verify this device. Please check your connection.</string>
<string name="error_update_devices">Failed to update devices. Please try again.</string>
<!-- PDF = file format name — do not translate. -->
<string name="banner_saving_pdf">Saving PDF…</string>
<!-- PDF = file format name — do not translate. -->
<string name="banner_pdf_saved">PDF saved successfully.</string>
<string name="error_open_file_saving">Failed to open file for saving.</string>
<!-- PDF save error. PDF = file format name; keep it as-is. %1$s = error message from the system. Example: "Error saving PDF: Storage permission denied". -->
<string name="error_saving_pdf">Error saving PDF: %1$s</string>
<!-- PDF = file format name — do not translate. -->
<string name="banner_saving_original_pdf">Saving original PDF…</string>
<!-- PDF = file format name — do not translate. -->
<string name="banner_original_pdf_saved">Original PDF saved successfully.</string>
<string name="banner_saving_original_file">Saving original file...</string>
<string name="banner_original_file_saved">Original file saved successfully.</string>
<string name="error_saving_file">Error saving file: %1$s</string>
<!-- Email/share subject line. %1$s = the name of the file being shared. Example: "Sharing: Dracula.pdf". -->
<string name="share_subject">Sharing: %1$s</string>
<!-- PDF = file format name — do not translate. -->
<string name="share_chooser_title">Share PDF</string>
<string name="share_file_chooser_title">Share file</string>
<!-- Share failure banner. %1$s = error reason string from the system. Example: "Share failed: No app found". -->
<string name="error_share_failed">Share failed: %1$s</string>
<!-- Folder sync limit error. %1$d = the maximum number of folders allowed. Example: "Limit reached: Maximum 3 folders allowed." -->
<string name="error_folder_limit_reached">Limit reached: Maximum %1$d folders allowed.</string>
<string name="error_folder_already_synced">This folder is already synced.</string>
<!-- Folder sync success banner. %1$s = the display name or path of the folder that was added. Example: "Folder added: Downloads". -->
<string name="banner_folder_added">Folder added: %1$s</string>
<string name="error_access_folder_permissions">Failed to access folder permissions.</string>
<string name="banner_folder_removed">Folder removed.</string>
<string name="banner_folder_sync_updating">Folder Sync: Updating metadata…</string>
<string name="banner_folder_sync_scanning">Scanning folder for new books…</string>
<string name="banner_folder_sync_complete">Folder Sync: Scan complete.</string>
<string name="error_sync_failed">Sync failed.</string>
<string name="error_no_enabled_folder_sync">No local folders have sync enabled.</string>
<string name="banner_folder_local_sync_disabled">Local folder sync disabled.</string>
<string name="banner_folder_local_sync_disabled_removed_data">Local folder sync disabled. Sync data folder removed.</string>
<string name="banner_folder_sync_data_remove_failed">Local folder sync disabled, but the sync data folder could not be removed.</string>
<string name="banner_folder_local_sync_enabled">Local folder sync enabled.</string>
<string name="error_enable_sync_download">Enable sync to download files.</string>
<!-- Download failure error. %1$s = the filename that failed to download. Example: "Failed to download Dracula.epub." -->
<string name="error_download_failed">Failed to download %1$s.</string>
<string name="error_enable_sync_clear_cloud">Enable sync to clear cloud data.</string>
<string name="error_not_signed_in_clear_cloud">Not signed in, cannot clear cloud data.</string>
<string name="banner_clearing_cloud_local_data">Clearing all cloud and local data…</string>
<string name="banner_cloud_local_data_cleared">All cloud and local data cleared successfully.</string>
<string name="error_clear_all_data">Error: Failed to clear all data.</string>
<string name="banner_local_data_cleared">All local data cleared.</string>
<string name="error_sign_in_failed">Sign in failed. Please try again.</string>
<string name="error_no_google_account">Could not find a Google account. This can happen on a fresh install, please try again in a moment.</string>
<string name="error_sign_in_internet">An error occurred during sign in. Please check your internet connection.</string>
<!-- Debug/developer message. -->
<string name="error_sign_in_device_management">Please sign in to test device management.</string>
<!-- "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="error_sync_pro_feature">Sync is an Episteme Pro feature.</string>
<string name="error_not_signed_in_sync">Not signed in, cannot sync.</string>
<string name="banner_cloud_sync_checking">Cloud Sync: Checking for updates…</string>
<string name="banner_cloud_sync_complete">Cloud Sync: Complete.</string>
<string name="error_sync_library_failed">Failed to sync library.</string>
<string name="error_recent_item_not_found">Could not find recent item.</string>
<string name="error_import_file_failed">Failed to import file.</string>
<string name="error_file_location_not_found">Could not find file location.</string>
<string name="error_unsupported_file_type">This file type is not supported.</string>
<!-- "Text view" is the name of the PDF reflow feature in this app. -->
<string name="error_load_generated_text_view">Failed to load generated text view.</string>
<!-- "Text view" is the name of the PDF reflow feature in this app. -->
<string name="error_text_view_generation_failed">Text view generation failed.</string>
<!-- FB2 is a file format name; keep it as-is. %1$s = error message from the system. Example: "Failed to load FB2: File is corrupt". -->
<string name="error_load_fb2">Failed to load FB2: %1$s</string>
<!-- Generic file load error. %1$s = error message from the system. Example: "Failed to load file: Permission denied". -->
<string name="error_load_file">Failed to load file: %1$s</string>
<!-- MOBI is a file format name; keep it as-is. %1$s = error message from the system. Example: "Failed to load MOBI: Unsupported compression". -->
<string name="error_load_mobi">Failed to load MOBI: %1$s</string>
<!-- EPUB is a file format name; keep it as-is. %1$s = error message from the system. Example: "Failed to load EPUB: Missing container file". -->
<string name="error_load_epub">Failed to load EPUB: %1$s</string>
<string name="banner_file_deleted_from_folder">File deleted from folder. Removed from library.</string>
<string name="error_shelf_exists">A shelf with that name already exists.</string>
<string name="banner_deleting_all_devices">Deleting from all devices…</string>
<string name="banner_deletion_complete">Deletion complete.</string>
<string name="error_cloud_sync_failed_deleted_locally">Cloud sync failed, deleted locally.</string>
<!-- "Text views" are PDF reflow versions of documents. -->
<string name="banner_reflow_cache_cleared">Reflow cache &amp; generated text views cleared.</string>
<!-- Common.kt: SearchTopBar & SearchNavigationControls -->
<string name="search_in_book">Search in book…</string>
<string name="search_no_results_simple">No results found.</string>
<!-- Common.kt: AI feature status. -->
<string name="generating_summary">Generating summary…</string>
<string name="action_stop">Stop</string>
<string name="action_read_aloud">Read aloud</string>
<string name="action_copy">Copy</string>
<string name="action_copy_thread">Copy Thread</string>
<string name="no_summary_generated">No summary could be generated.</string>
<!-- Common.kt: AiDefinitionPopup — AI feature strings. -->
<string name="ai_thinking">Thinking…</string>
<string name="content_desc_open_dictionary">Open in Dictionary App</string>
<string name="ai_no_definition">AI could not provide a definition.</string>
<!-- AI feature status. %1$s = the word or phrase the user selected. Example: "Asking AI about 'metaphor'..." -->
<string name="ai_asking_about">Asking AI about \'%1$s\'…</string>
<!-- Common.kt: TtsSettingsSheet -->
<!-- TTS = Text-to-Speech. -->
<string name="tts_settings">Text-to-Speech Settings</string>
<string name="tts_stop_to_change_settings">Please stop playback to change settings.</string>
<!-- TTS synthesis mode refers to whether speech is generated on the device or in the cloud. -->
<string name="tts_synthesis_mode">Synthesis Mode</string>
<!-- On-Device TTS mode — speech is generated locally without internet. -->
<string name="tts_mode_on_device">On-Device</string>
<!-- Cloud TTS mode — speech is generated remotely for higher quality. -->
<string name="tts_mode_cloud_hq">Cloud (HQ)</string>
<string name="tts_voice_selection">Voice Selection</string>
<string name="tts_play_sample">Play Sample</string>
<!-- Common.kt: DeviceVoiceSettingsSheet -->
<!-- TTS = Text-to-Speech; "On-Device" = locally generated. -->
<string name="tts_device_voice_settings">On-Device Voice Settings</string>
<string name="content_desc_close_settings">Close Settings</string>
<string name="tts_system_default">System Default</string>
<!-- "Android" is a brand name — do not translate. -->
<string name="tts_system_default_desc">Matches your Android system settings</string>
<string name="content_desc_selected">Selected</string>
<string name="tts_loading_voices">Loading voices…</string>
<string name="tts_no_voices">No voices available on this device.</string>
<string name="tts_specific_voices">Specific Voices</string>
<!-- TTS voice list heading. %1$d = total number of TTS voices available on this device. Example: "Available Voices (12)". -->
<string name="tts_available_voices_count">Available Voices (%1$d)</string>
<string name="tts_no_voices_for_language">No voices found for this language.</string>
<!-- TTS voice metadata row. %1$s = the variant label provided by the TTS engine, such as "Male" or a locale variant. Example: "Variant: Female". -->
<string name="tts_voice_variant">Variant: %1$s</string>
<!-- Sample sentence spoken aloud to preview a TTS voice. %1$s = voice name from the TTS engine. Example: "This is a sample of en-us-x-tpf-local." -->
<string name="tts_voice_sample_text">This is a sample of %1$s.</string>
<!-- Common.kt: ReaderThemePanel & ThemeBuilderView -->
<string name="reading_themes">Reading Themes</string>
<string name="theme_presets">Presets</string>
<string name="theme_textured_presets">Textured Presets</string>
<string name="theme_my_themes">My Themes</string>
<string name="theme_my_textured_themes">My Textured Themes</string>
<!-- "+" is a literal plus icon reference in the description. -->
<string name="theme_no_custom">No custom themes yet. Tap \'+\' to create one.</string>
<string name="theme_no_textured_custom">No custom textured themes yet.</string>
<string name="theme_new">New Theme</string>
<string name="theme_new_textured">New Textured Theme</string>
<string name="theme_edit">Edit Theme</string>
<string name="theme_name">Theme Name</string>
<!-- Short motivational quote used as preview text in the theme builder. -->
<string name="theme_preview_quote">So many books, so little time.</string>
<!-- Attribution for the preview quote. "Frank Zappa" is a proper name — do not translate the name. The leading dash and formatting should be kept. -->
<string name="theme_preview_author" translatable="false">- Frank Zappa</string>
<!-- Warning shown when the chosen background/text color combination has low contrast. ⚠️ is an emoji — keep it. -->
<string name="theme_low_contrast_warning">⚠️ Low contrast! This might cause eye strain.</string>
<string name="theme_page_color">Page Color</string>
<string name="theme_text_color">Text Color</string>
<string name="theme_texture">Texture</string>
<string name="theme_texture_none">None</string>
<string name="theme_texture_upload">Upload</string>
<string name="theme_texture_transparency">Texture Transparency</string>
<string name="theme_color_live_preview">Live Preview</string>
<!-- Short phrase shown in the live color preview area of the theme builder. -->
<string name="theme_color_preview_text">Reading is dreaming.</string>
<!-- "Hex" = hexadecimal color notation (e.g. #FF5733). Technical abbreviation — do not translate. -->
<string name="theme_color_hex" translatable="false">Hex</string>
<!-- Common.kt: RGB Inputs — R, G, B are universal color-channel abbreviations, do not translate. -->
<string name="color_r" translatable="false">R</string>
<string name="color_g" translatable="false">G</string>
<string name="color_b" translatable="false">B</string>
<!-- Common.kt: fetchAiDefinition — AI feature errors. -->
<string name="error_text_empty">Text is empty.</string>
<string name="error_ai_empty_definition">AI returned an empty definition.</string>
<string name="error_could_not_get_definition">Could not get definition.</string>
<string name="error_unknown_server">An unknown server error occurred.</string>
<string name="error_network_check_connection">Network error. Check connection.</string>
<!-- Common.kt: fetchRecap — Recap feature errors. -->
<string name="error_not_enough_context">Not enough context for a recap.</string>
<string name="error_parse_recap">Failed to parse recap.</string>
<string name="error_network_recap">Network error during recap generation.</string>
<!-- DictionarySettingsDialog.kt -->
<string name="dict_lookup_settings">Lookup Settings</string>
<string name="dict_dictionary_engine">Dictionary Engine</string>
<!-- "AI" = Artificial Intelligence. Engine option label. -->
<string name="dict_smart_ai">Smart (AI)</string>
<string name="dict_external_app">External App</string>
<!-- "AI" = Artificial Intelligence. Describes the Smart AI dictionary engine behavior. -->
<string name="dict_ai_description">Uses AI for definitions. Will fall back to the external app below if offline or if the selected phrase is too long.</string>
<string name="dict_external_description">Uses the selected app for dictionary lookups.</string>
<string name="dict_fallback_app">Fallback App</string>
<string name="dict_dictionary_app">Dictionary App</string>
<string name="dict_select_app">Select an app</string>
<string name="dict_translate">Translate</string>
<string name="dict_translate_description">App used for translating selected text.</string>
<string name="dict_search_app">Search App</string>
<string name="dict_search_app_description">App used for web searches.</string>
<string name="dict_none">None</string>
<!-- EpubReaderAi.kt — AI feature strings. -->
<string name="ai_error_book_content_empty">The book content is empty.</string>
<string name="ai_error_parse_summary">Failed to parse summary from server response.</string>
<string name="ai_error_fetch_summary">Could not fetch summary.</string>
<!-- AI/server error. %1$d = HTTP or server error code; %2$s = human-readable error message from the server. Example: "Error: 500. Server unavailable". -->
<string name="ai_error_with_code">Error: %1$d. %2$s</string>
<string name="ai_error_network_server">Network error. Please check connection and server status.</string>
<!-- AI chapter-summary progress. %1$d = chapter number being analyzed. Example: "Analyzing Chapter 4..." -->
<string name="ai_analyzing_chapter">Analyzing Chapter %1$d…</string>
<string name="ai_reading_position">Reading current position…</string>
<string name="ai_generating_recap">Generating Recap…</string>
<string name="ai_chapter_summary">Chapter Summary</string>
<!-- "(Beta)" indicates this feature is in beta — keep the label consistent. -->
<string name="ai_story_recap_beta">Story Recap (Beta)</string>
<string name="ai_unlock_summarization">Unlock Chapter Summarization</string>
<!-- "Episteme Pro" is the product tier name. -->
<string name="ai_unlock_summarization_desc">Get concise summaries of any chapter with Episteme Pro. Upgrade to start using this feature.</string>
<string name="action_learn_more">Learn More</string>
<string name="ai_unlock_smart_dict">Unlock Smart Dictionary</string>
<!-- "Pro" refers to the Episteme Pro product tier. -->
<string name="ai_unlock_smart_dict_desc">Defining entire phrases and paragraphs up to 2000 characters is a Pro feature. Upgrade to get instant definitions for any selected text.</string>
<!-- EpubReaderAnnotations.kt -->
<string name="content_desc_bookmark_icon">Bookmark</string>
<!-- Accessibility label for the currently selected color slot in the annotation palette. -->
<string name="content_desc_selected_slot">Selected Slot</string>
<string name="dialog_customize_palette">Customize Palette</string>
<string name="palette_tap_slot_to_edit">Tap a slot to edit:</string>
<string name="palette_select_color_for_slot">Select a color for the slot:</string>
<!-- EpubReaderContent.kt -->
<string name="chapter_empty">This chapter is empty.</string>
<string name="chapter_not_found">Chapter not found</string>
<string name="error_loading_chapter">Error loading chapter</string>
<!-- EpubReaderControls.kt -->
<string name="content_desc_dictionary_settings">Dictionary Settings</string>
<string name="tooltip_theme">Theme</string>
<string name="tooltip_theme_desc">Theme Settings</string>
<string name="content_desc_more_options">More Options</string>
<!-- PDF = file format name — do not translate. -->
<string name="menu_view_original_pdf">View Original PDF</string>
<!-- "Text View" is the name of the PDF reflow feature in this app — keep consistent. -->
<string name="menu_delete_text_view">Delete Text View</string>
<!-- Menu item inside the reading mode submenu. -->
<string name="menu_reading_mode_vertical">Vertical</string>
<string name="menu_reading_mode_vertical_webview">Vertical (WebView)</string>
<string name="menu_reading_mode_vertical_native">Vertical (Native Beta)</string>
<!-- Menu item inside the reading mode submenu. -->
<string name="menu_reading_mode_paginated">Paginated (left-to-right)</string>
<!-- Accessibility label for a menu item that is currently active/checked. -->
<string name="content_desc_enabled">Enabled</string>
<string name="menu_remove_bookmark">Remove bookmark</string>
<string name="menu_bookmark_this_page">Bookmark this page</string>
<string name="menu_tap_to_turn_pages">Tap to Turn Pages</string>
<string name="menu_volume_button_scrolling">Volume Button Scrolling</string>
<string name="menu_volume_button_page_turn">Volume Button Page Turn</string>
<string name="menu_realistic_page_turns">Realistic Page Turns</string>
<string name="menu_keep_screen_on">Keep Screen On</string>
<string name="menu_visual_options">Visual Options</string>
<string name="menu_screen_orientation">Screen Orientation</string>
<string name="menu_change_reading_mode">Change Reading Mode</string>
<string name="menu_right_to_left_pagination">Paginated (right-to-left)</string>
<string name="menu_auto_scroll">Auto Scroll</string>
<!-- TTS = Text-to-Speech. -->
<string name="menu_tts_settings">TTS Settings</string>
<!-- TTS = Text-to-Speech. -->
<string name="menu_tts_voice_settings">TTS Voice Settings</string>
<!-- TTS = Text-to-Speech. -->
<string name="menu_tts_word_replacements">TTS Word Replacements</string>
<string name="menu_book_word_replacements">Book Word Replacements</string>
<string name="menu_share_save_print">Share, Save or Print</string>
<!-- TTS = Text-to-Speech. Debug-only menu item. -->
<string name="menu_tts_settings_debug">TTS Settings (Debug)</string>
<string name="content_desc_navigate_slider">Navigate with slider</string>
<string name="content_desc_chapters_menu">Chapters Menu</string>
<string name="content_desc_text_formatting">Text Formatting</string>
<!-- AI chapter summarization feature menu item. -->
<string name="menu_chapter_summarization">Chapter Summarization</string>
<!-- Recap is an AI feature. "(Beta)" indicates it is in beta — keep consistent. -->
<string name="menu_recap_beta">Recap (Beta)</string>
<!-- TTS = Text-to-Speech. Accessibility label. -->
<string name="content_desc_stop_tts">Stop TTS</string>
<!-- TTS = Text-to-Speech. Accessibility label. -->
<string name="content_desc_start_tts">Start TTS</string>
<!-- TTS = Text-to-Speech. Accessibility label. -->
<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>
<string name="content_desc_collapse">Collapse</string>
<string name="content_desc_start_playback">Play</string>
<!-- "Local Speed" = auto-scroll speed saved for the current file only. -->
<string name="auto_scroll_local_speed">Local Speed</string>
<!-- "Global Speed" = auto-scroll speed that applies to all files. -->
<string name="auto_scroll_global_speed">Global Speed</string>
<!-- Accessibility label for the text-selection mode toggle in the PDF reader. -->
<string name="content_desc_select_mode">Select Mode</string>
<string name="auto_scroll_applies_all_files">Applies to all files</string>
<string name="auto_scroll_saved_for_file">Saved for this file only</string>
<!-- Musician Mode locks the reading position to allow hands-free page-reading while playing an instrument. -->
<string name="content_desc_disable_musician_mode">Disable Musician Mode</string>
<!-- Musician Mode locks the reading position to allow hands-free page-reading while playing an instrument. -->
<string name="content_desc_enable_musician_mode">Enable Musician Mode</string>
<!-- Accessibility label to swap the positions of playback control buttons (e.g., TTS/auto-scroll controls). -->
<string name="content_desc_swap_controls">Swap Controls</string>
<!-- Min endpoint label for the auto-scroll speed slider. -->
<string name="label_min">Min</string>
<!-- Max endpoint label for the auto-scroll speed slider. -->
<string name="label_max">Max</string>
<string name="content_desc_slower">Slower</string>
<string name="content_desc_faster">Faster</string>
<string name="content_desc_decrease">Decrease</string>
<string name="content_desc_increase">Increase</string>
<!-- Shown in the PDF reader header. %1$d = current page number; %2$d = total page count. Example: "Page 12 of 240". -->
<string name="page_of_pages">Page %1$d of %2$d</string>
<!-- EpubReaderDrawer.kt -->
<string name="tab_chapters">Chapters</string>
<string name="tab_tabs">Tabs</string>
<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>
<string name="label_new_title">New Title</string>
<string name="dialog_delete_bookmark">Delete Bookmark?</string>
<string name="dialog_delete_bookmark_desc">Are you sure you want to permanently delete this bookmark?</string>
<string name="no_highlights_yet">No highlights yet.</string>
<string name="unknown_chapter">Unknown Chapter</string>
<string name="content_desc_options">Options</string>
<string name="dialog_delete_highlight">Delete Highlight?</string>
<string name="dialog_delete_highlight_desc">Are you sure you want to permanently delete this highlight?</string>
<!-- EpubReaderScreen.kt -->
<!-- Toast shown after saving an image from a book. %1$s = saved image filename. Example: "Saved cover.jpg". -->
<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. Example: "Error: Book content not found. Path: /books/Dracula.epub". -->
<string name="error_book_content_not_found">Error: Book content not found. Path: %1$s</string>
<string name="toast_select_dictionary_first">Please select a dictionary app first.</string>
<string name="toast_select_translate_first">Please select a translate app first.</string>
<string name="toast_select_search_first">Please select a search app first.</string>
<string name="no_chapters_available">No chapters available for this book.</string>
<string name="navigating_to_position">Navigating to position…</string>
<string name="dialog_permission_required">Permission Required</string>
<string name="dialog_permission_notification_desc">To show playback controls while the app is in the background, please grant the notification permission.</string>
<string name="action_continue">Continue</string>
<!-- "Paginated Mode" is a reading mode name — keep consistent. -->
<string name="dialog_justified_text_limitation">Justified Text Limitation</string>
<!-- "Paginated Mode" is a reading mode name — keep consistent. -->
<string name="dialog_justified_text_limitation_desc">Using Justified alignment in Paginated Mode may cause text selection and highlights to be inaccurate due to layout limitations.</string>
<string name="action_i_understand">I Understand</string>
<string name="navigating_to_chapter">Navigating to chapter…</string>
<string name="toast_select_offline_dict_first">Select an offline dictionary first.</string>
<string name="banner_book_not_paginated">Book is not paginated yet.</string>
<string name="banner_wait_for_load">Wait for book to load fully.</string>
<string name="release_for_previous_chapter">Release for Previous Chapter</string>
<string name="release_for_next_chapter">Release for Next Chapter</string>
<!-- Shown while the user is pulling to navigate to another chapter. %1$d = current pull percentage from 0 to 100. %% is a literal percent sign. Example: "Pull further... (45%)". -->
<string name="pull_further_percent">Pull further… (%1$d%%)</string>
<string name="chapter">Chapter</string>
<string name="error_could_not_get_chapter_content">Could not get chapter content.</string>
<string name="error_could_not_determine_chapter">Could not determine current chapter.</string>
<string name="error_webview_not_available">WebView not available.</string>
<!-- Shown in the chapter navigation overlay. %1$d = current page within the chapter; %2$d = total pages in the chapter. Example: "Page 3/18". -->
<string name="page_number_of_total">Page %1$d/%2$d</string>
<!-- EpubReaderSettings.kt -->
<!-- "Local Format" = text formatting settings saved for the current book only. -->
<string name="format_local">Local Format</string>
<!-- "Global Format" = text formatting settings that apply to all books. -->
<string name="format_global">Global Format</string>
<string name="action_reset">Reset</string>
<string name="label_size">Size</string>
<string name="label_spacing">Spacing</string>
<string name="select_font">Select Font</string>
<string name="tab_presets">Presets</string>
<string name="tab_imported">Imported</string>
<string name="button_import_from_files">Import from Files</string>
<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 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. -->
<string name="visual_options_system_ui">System UI (Status &amp; Navigation Bars)</string>
<string name="visual_options_system_ui_desc">Control the visibility of the device\'s system bars.</string>
<string name="visual_options_screen_orientation">Screen Orientation</string>
<string name="visual_options_screen_orientation_desc">Choose whether the reader follows the system orientation or prefers portrait or landscape when Android allows it.</string>
<string name="visual_options_progress_bar">Progress Bar</string>
<string name="visual_options_progress_bar_desc">The reading progress and chapter indicator on the reading screen.</string>
<string name="visual_options_progress_bar_position">Position</string>
<!-- "Seamless Chapter Transition" is a reading feature name. -->
<string name="visual_options_seamless_chapter">Seamless Chapter Transition</string>
<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>
<!-- Brightness value label. %1$d = brightness percentage. %% is a literal percent sign. Example: "70%". -->
<string name="reader_brightness_percent">%1$d%%</string>
<!-- ExternalDictionaryHelper.kt -->
<!-- Label for the "Search" app category in the dictionary settings. -->
<string name="dict_app_label_search">Search</string>
<string name="error_opening_dictionary">Error opening dictionary</string>
<string name="error_opening_translate">Error opening translate app</string>
<string name="error_opening_search">Error opening search app</string>
<!-- About Section -->
<!-- "Episteme" is the app brand name — do not translate. -->
<string name="about_app_name" translatable="false">Episteme</string>
<!-- OSS = Open Source Software. -->
<string name="about_oss_version">Open Source Version</string>
<string name="about_play_version">Playstore Version</string>
<!-- About screen version label. %1$s = version string. Example: "Version 1.0.41". -->
<string name="about_version_name">Version %1$s</string>
<!-- About screen build label. %1$s = build code string. Example: "Build 1041". -->
<string name="about_build_code">Build %1$s</string>
<!-- "GitHub" is a brand name — do not translate. -->
<string name="about_github" translatable="false">GitHub</string>
<!-- "GitHub" is a brand name — do not translate. -->
<string name="about_github_desc">Browse source code, star, fork, and report issues.</string>
<string name="about_privacy_desc">How we handle your data.</string>
<string name="about_terms_desc">Usage terms and conditions.</string>
<string name="about_licenses_desc">Open source libraries used.</string>
<!-- Import progress banner. %1$d = number of books being imported. Example: "Importing 3 books... They will appear in your Library shortly." -->
<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. Example: "Created shelf \"Favorites\"." -->
<string name="banner_shelf_created">Created shelf &quot;%1$s&quot;.</string>
<!-- Shared library mutation banner. %1$s = smart shelf name. Example: "Created smart shelf \"Unread PDFs\"." -->
<string name="banner_smart_shelf_created">Created smart shelf &quot;%1$s&quot;.</string>
<!-- Shared library mutation banner. %1$s = new shelf name. Example: "Renamed shelf to \"Classics\"." -->
<string name="banner_shelf_renamed">Renamed shelf to &quot;%1$s&quot;.</string>
<!-- Shared library mutation banner. %1$s = shelf name. Example: "Deleted shelf \"Old Notes\"." -->
<string name="banner_shelf_deleted">Deleted shelf &quot;%1$s&quot;.</string>
<!-- Shared library mutation banner. %1$s = book title. Example: "Updated \"Dracula\"." -->
<string name="banner_book_updated">Updated &quot;%1$s&quot;.</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. Example: "2 folders - 12 books". -->
<string name="folder_subtitle_folder_book_counts">%1$s - %2$s</string>
<!-- General / Dialogs -->
<string name="dialog_external_link_title">External Link</string>
<!-- External link warning body. %1$s = the full URL of the external link the user tapped. Example: "You clicked on an external link:\n\nhttps://example.com\n\nWhat would you like to do?" -->
<string name="dialog_external_link_desc">You clicked on an external link:\n\n%1$s\n\nWhat would you like to do?</string>
<string name="action_open">Open</string>
<string name="error_no_browser">No browser found to open the link.</string>
<!-- 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>
<!-- Reply header for a PDF comment thread. %1$s = author or commenter name. Example: "Replying to Aryan". -->
<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>
<!-- Reader Settings & Formatting -->
<!-- All-caps section header in the reader settings sheet. -->
<string name="section_font_alignment">FONT &amp; ALIGNMENT</string>
<!-- All-caps section header in the reader settings sheet. -->
<string name="section_layout_spacing">LAYOUT &amp; SPACING</string>
<string name="label_font_size">Font Size</string>
<string name="label_line_height">Line Height</string>
<string name="label_paragraph_gap">Paragraph Gap</string>
<string name="label_image_size">Image Size</string>
<string name="label_horizontal_margin">Horizontal Margin</string>
<string name="label_vertical_margin">Vertical Margin</string>
<string name="label_none">None</string>
<!-- Short label for the "Original" font option in the reader settings. "Orig" is an abbreviation. -->
<string name="label_original">Orig</string>
<!-- Typographic sample label shown in the font size picker — "Aa" represents text size visually. Do not translate. -->
<string name="label_aa_preview" translatable="false">Aa</string>
<!-- TTS & AutoScroll Controls -->
<!-- TTS = Text-to-Speech. -->
<string name="tts_voice_adjustments">Voice Adjustments</string>
<!-- Speed multiplier label. %1$s = speed float value; the trailing "x" is a speed multiplier suffix. Example: "Speed (1.5x)". -->
<string name="tts_speed_label">Speed (%1$sx)</string>
<!-- Pitch multiplier label. %1$s = pitch float value; the trailing "x" is a multiplier suffix. Example: "Pitch (1.0x)". -->
<string name="tts_pitch_label">Pitch (%1$sx)</string>
<string name="tts_sample_text">This is how your current voice settings sound.</string>
<string name="tts_pause_book">Pause Book</string>
<string name="tts_resume_book">Resume Book</string>
<!-- Opens the Android system TTS/voice engine settings. "System" refers to the Android OS settings. -->
<string name="tts_system_settings">System Voice / Engine Settings</string>
<!-- Auto Scroll -->
<!-- "Global Speed" = speed that applies to all files. -->
<string name="auto_scroll_global_label">Global Speed</string>
<!-- "Local Speed" = speed saved for the current file only. -->
<string name="auto_scroll_local_label">Local Speed</string>
<string name="auto_scroll_desc_global">Applies to all files</string>
<string name="auto_scroll_desc_local">Saved for this file only</string>
<string name="action_scroll_to_top">Scroll to Top</string>
<!-- Customize Toolbar -->
<string name="title_customize_toolbar">Customize Toolbar</string>
<string name="desc_customize_toolbar">Select the tools you want to keep visible. Unchecking a tool hides it from the UI to give you a distraction-free reading space.</string>
<!-- Navigation & Drawer -->
<string name="tab_annotations">Annotations</string>
<!-- Filter option label to show all annotations. -->
<string name="filter_all">All</string>
<!-- Filter option label to show only annotations that have attached notes. -->
<string name="filter_with_notes">With Notes</string>
<string name="menu_add_note">Add Note</string>
<string name="menu_edit_note">Edit Note</string>
<!-- Page Info -->
<!-- Compact page indicator. %1$d = current page; %2$d = total pages. Example: "3 / 18". -->
<string name="page_format">%1$d / %2$d</string>
<!-- Full page indicator shown in the reader. %1$d = current page; %2$d = total pages. Example: "Page 3 of 18". -->
<string name="page_of_format">Page %1$d of %2$d</string>
<!-- AnnotationDock -->
<string name="content_desc_close_edit_mode">Close Edit Mode</string>
<!-- Toggle that shows or hides the annotation dock. -->
<string name="content_desc_toggle_visibility">Toggle Visibility</string>
<!-- Stylus Only Mode restricts drawing input to a stylus, ignoring finger touches. -->
<string name="content_desc_stylus_only_mode">Stylus Only Mode</string>
<string name="content_desc_pen">Pen</string>
<string name="content_desc_highlighter">Highlighter</string>
<string name="content_desc_text">Text</string>
<string name="content_desc_eraser">Eraser</string>
<string name="content_desc_undo">Undo</string>
<string name="content_desc_redo">Redo</string>
<string name="content_desc_show_dock">Show Dock</string>
<string name="content_desc_select_font_family">Select Font Family</string>
<string name="content_desc_select_font_size">Select Font Size</string>
<string name="content_desc_font_background">Font Background</string>
<string name="content_desc_bold">Bold</string>
<string name="content_desc_italic">Italic</string>
<string name="content_desc_underline">Underline</string>
<string name="content_desc_strikethrough">Strikethrough</string>
<string name="content_desc_insert_text_box">Insert Text Box</string>
<!-- PdfPageComposable -->
<!-- OCR = Optical Character Recognition. %1$s = error reason string. Example: "OCR selection error: No text detected". -->
<string name="error_ocr_selection">OCR selection error: %1$s</string>
<!-- Selection engine error. %1$s = error reason string from the selection engine. Example: "Selection error: Region is outside page bounds". -->
<string name="error_selection">Selection error: %1$s</string>
<!-- Page rendering error. %1$s = error reason string from the rendering engine. Example: "Error processing page: Bitmap allocation failed". -->
<string name="error_processing_page">Error processing page: %1$s</string>
<!-- Page rendering error. %1$d = the page number (1-indexed) that could not be rendered. Example: "Unable to display page 7." -->
<string name="error_unable_to_display_page">Unable to display page %1$d.</string>
<!-- PdfViewerScreen & General Reader -->
<string name="error_open_print_settings">Could not open print settings</string>
<string name="error_copy_to_clipboard">Could not copy to clipboard</string>
<string name="error_print_password_protected">Password protected PDF files cannot be printed</string>
<!-- PDF = file format name — do not translate. -->
<string name="loading_pdf">Loading PDF…</string>
<!-- PDF = file format name — do not translate. -->
<string name="error_loading_pdf">Error loading PDF</string>
<string name="loading_page">Loading page…</string>
<!-- PDF = file format name — do not translate. "Viewer" = the screen/component name. -->
<string name="pdf_viewer">PDF Viewer</string>
<!-- "Pen Playground" is the name of a developer/debug canvas for testing the annotation pen tool. -->
<string name="pen_playground">Pen Playground</string>
<!-- SVG = Scalable Vector Graphics (file format name — do not translate). -->
<string name="import_svg">Import SVG</string>
<!-- SVG import result. %1$d = number of SVG stroke paths that were successfully imported. Example: "Imported 14 SVG strokes!" -->
<string name="msg_imported_svg_strokes">Imported %1$d SVG strokes!</string>
<!-- SVG = Scalable Vector Graphics (file format name — do not translate). -->
<string name="error_import_svg_failed">Failed to import SVG or empty.</string>
<!-- OCR = Optical Character Recognition. -->
<string name="menu_ocr_language">OCR Language</string>
<string name="menu_insert_blank_page">Insert Blank Page</string>
<string name="menu_delete_page">Delete Page</string>
<!-- Progress indicator while generating a text/reflow view. %1$d = percentage complete from 0 to 100. %% is a literal percent sign. Example: "Generating... 50%". -->
<string name="generating_reflow_progress">Generating… %1$d%%</string>
<!-- "Text View" is the name of the PDF reflow feature — keep consistent. -->
<string name="action_open_text_view">Open Text View</string>
<!-- "Text View" is the name of the PDF reflow feature — keep consistent. -->
<string name="action_generate_text_view">Generate Text View</string>
<string name="action_share">Share</string>
<string name="action_save_copy_to_device">Save copy to device</string>
<string name="action_print">Print</string>
<!-- "Text View" is the name of the PDF reflow feature — keep consistent. -->
<string name="generating_text_view">Generating Text View…</string>
<!-- PDF search indexing progress. %1$d = indexing completion percentage from 0 to 100. Example: "Indexing pages... 75% done. Search results will update automatically." -->
<string name="msg_indexing_pages_progress">Indexing pages… %1$d%% done. Search results will update automatically.</string>
<!-- PDF search summary. %1$d = number of pages that contain at least one search result. The "+" indicates "or more". Example: "Results found on 10+ pages". -->
<string name="msg_results_found_pages">Results found on %1$d+ pages</string>
<!-- Search position indicator. %1$d = current result index; %2$d = total result count. Example: "Result 2 / 14". -->
<string name="msg_search_result_index">Result %1$d / %2$d</string>
<!-- PDF search page-count label. %1$d = number of pages containing results. The "+" indicates "or more". Example: "10+ Pages". -->
<string name="msg_search_pages_count">%1$d+ Pages</string>
<!-- Overflow menu item in the PDF reader. %1$d = the current page number. Example: "Summarize Page (Page 12)". -->
<string name="action_summarize_page">Summarize Page (Page %1$d)</string>
<!-- OCR = Optical Character Recognition. %1$s = the language/locale name being downloaded. Example: "Downloading Chinese (Simplified) language pack...". -->
<string name="msg_downloading_language_pack">Downloading %1$s language pack…</string>
<!-- OCR = Optical Character Recognition. -->
<string name="title_select_ocr_language">Select OCR Language</string>
<!-- OCR = Optical Character Recognition. -->
<string name="desc_select_ocr_language">Choose the primary language/script of this document for better text recognition results.</string>
<!-- OCR = Optical Character Recognition. "More Options" is a UI menu name — keep consistent. -->
<string name="desc_ocr_language_change_later">You can change this later in More Options &gt; OCR Language.</string>
<!-- OCR = Optical Character Recognition. -->
<string name="title_reindex_document">Re-index Document?</string>
<!-- OCR = Optical Character Recognition. %1$s = the name of the new OCR script/language selected by the user. Example: "You are changing the OCR script to Chinese.\n\nTo ensure search accuracy, we need to clear the existing index and re-scan pages that require OCR using this new language.\n\nThis will happen in the background." -->
<string name="desc_reindex_document_warning">You are changing the OCR script to %1$s.\n\nTo ensure search accuracy, we need to clear the existing index and re-scan pages that require OCR using this new language.\n\nThis will happen in the background.</string>
<!-- OCR = Optical Character Recognition. Button to confirm re-indexing. -->
<string name="action_reindex">Re-index</string>
<string name="title_password_protected">Password Protected</string>
<string name="desc_password_protected">This document is encrypted. Please enter the password to view it.</string>
<string name="label_password">Password</string>
<string name="error_incorrect_password">Incorrect password</string>
<string name="content_desc_hide_password">Hide password</string>
<string name="content_desc_show_password">Show password</string>
<!-- Warning dialog shown before navigating to a URL from within a PDF. %1$s = the full destination URL. Example: "You are about to navigate to:\nhttps://example.com". -->
<string name="desc_external_link_warning">You are about to navigate to:\n%1$s</string>
<string name="action_visit">Visit</string>
<string name="title_save_to_device">Save to Device</string>
<string name="desc_choose_format_save">Choose format to save:</string>
<string name="action_with_annotations">With Annotations</string>
<string name="action_original">Original</string>
<string name="desc_choose_format_share">Choose format to share:</string>
<!-- PDF = file format name — do not translate. -->
<string name="msg_preparing_pdf">Preparing PDF…</string>
<!-- PDF = file format name — do not translate. -->
<string name="title_add_pdf_to_tab">Add PDF to Tab</string>
<!-- PDF = file format name — do not translate. -->
<string name="msg_no_other_pdfs_found">No other PDFs found in your library.</string>
<!-- PDF = file format name — do not translate. -->
<string name="msg_pdf_empty_or_error">PDF is empty or could not be displayed.</string>
<!-- PDF page-management result. %1$d = the page index (1-indexed) where the blank page was inserted. Example: "Page added at 5". -->
<string name="msg_page_added_at">Page added at %1$d</string>
<string name="msg_page_deleted">Page deleted</string>
<string name="msg_extra_page_removed">Extra page removed</string>
<string name="msg_chapters_not_available">Chapters are not available for this book.</string>
<!-- Default name for a new highlighted section when no text label is provided. -->
<string name="msg_highlighted_section_default">Highlighted section</string>
<!-- ToolSettingsPopup -->
<!-- Toggle in the PDF annotation tools to snap drawn lines to a straight angle. -->
<string name="label_straight_line">Straight Line</string>
<!-- Color picker tab/slider label — "Spectrum" = full color spectrum picker. -->
<string name="label_spectrum">Spectrum</string>
<string name="action_done">Done</string>
<string name="color_red">Red</string>
<string name="color_green">Green</string>
<string name="color_blue">Blue</string>
<!-- TextAnnotationDock -->
<!-- Default system font option in the annotation font picker. -->
<string name="font_default_system">Default System Font</string>
<string name="action_import">Import</string>
<string name="msg_no_fonts_imported">No fonts imported</string>
<string name="label_font_color">Font color</string>
<!-- Label for the highlight color picker in text annotations. -->
<string name="label_highlight_color">Highlight</string>
<!-- Hardcoded UI String Cleanup -->
<!-- Home overflow menu item: enables the multi-tab reader mode. -->
<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>
<!-- Debug-only menu item that runs local speech bubble detection diagnostics. -->
<string name="options_test_speech_bubble_ml_detection">Test Speech Bubble ML Detection</string>
<!-- Debug-only menu item. %1$d = maximum number of log lines included. Example: "Export Logs (Last 500 lines)". -->
<string name="options_export_logs_last_lines">Export Logs (Last %1$d lines)</string>
<string name="dialog_strict_file_filter_title">Enable Strict File Filter</string>
<!-- Warning shown before enabling stricter Android file picker MIME filtering. File extensions should remain uppercase. -->
<string name="dialog_strict_file_filter_desc">If you enable this, some supported file types like AZW3, CB7, and FB2 might not show up depending on your file manager.\n\nAre you sure you want to enable this filter?</string>
<!-- App language picker. Language names are shown in their own language followed by an English hint. -->
<string name="language_system_default">System default</string>
<string name="language_english">English</string>
<string name="language_english_default">English (Default)</string>
<string name="language_arabic">العربية (Arabic)</string>
<string name="language_german">Deutsch (German)</string>
<string name="language_turkish">Türkçe (Turkish)</string>
<string name="language_french">Français (French)</string>
<string name="language_russian">Русский (Russian)</string>
<string name="language_belarusian">Беларуская (Belarusian)</string>
<string name="language_spanish">Español (Spanish)</string>
<string name="language_portuguese_brazilian">Português (Brasil)</string>
<string name="language_italian">Italiano (Italian)</string>
<string name="language_polish">Polski (Polish)</string>
<string name="language_vietnamese">Tiếng Việt (Vietnamese)</string>
<string name="language_japanese">日本語 (Japanese)</string>
<string name="language_korean">한국어 (Korean)</string>
<string name="language_hindi">हिन्दी (Hindi)</string>
<string name="language_chinese_simplified">简体中文 (Chinese, Simplified)</string>
<string name="language_estonian">Eesti (Estonian)</string>
<!-- App-wide theme controls in HomeScreen.kt. -->
<string name="app_theme_title">App Theme</string>
<string name="app_theme_appearance">Appearance</string>
<string name="app_theme_contrast">Contrast</string>
<string name="app_theme_text_brightness">Text Brightness</string>
<string name="app_theme_color_scheme">Color Scheme</string>
<string name="app_theme_dynamic">Dynamic</string>
<string name="app_theme_create_title">Create App Theme</string>
<!-- Fallback name when the user saves a custom app theme without entering a name. -->
<string name="app_theme_custom_default_name">Custom Theme</string>
<string name="app_theme_preset_ocean">Ocean</string>
<string name="app_theme_preset_mint">Mint</string>
<string name="app_theme_preset_rose">Rose</string>
<string name="app_theme_preset_sepia">Sepia</string>
<string name="app_theme_preset_amethyst">Amethyst</string>
<string name="app_theme_preset_amber">Amber</string>
<string name="app_theme_preset_sapphire">Sapphire</string>
<string name="content_desc_add_custom_theme">Add Custom Theme</string>
<string name="content_desc_app_theme">App Theme</string>
<string name="content_desc_app_icon">App Icon</string>
<string name="content_desc_device">Device</string>
<string name="content_desc_open_drawer">Open Drawer</string>
<string name="content_desc_profile_picture">Profile picture</string>
<string name="content_desc_profile">Profile</string>
<string name="content_desc_pro_feature">Pro Feature</string>
<string name="content_desc_filter">Filter</string>
<string name="content_desc_sort">Sort</string>
<string name="content_desc_close_search">Close search</string>
<string name="content_desc_clear_query">Clear query</string>
<string name="content_desc_search_shelf">Search shelf</string>
<!-- Accessibility label. %1$s = shelf name. Example: "Favorites shelf cover". -->
<string name="content_desc_shelf_cover">%1$s shelf cover</string>
<string name="theme_preserve_image_colors">Preserve Image Colors</string>
<string name="theme_preserve_image_colors_desc">Keep original image colors when theme changes</string>
<!-- Enum labels used by library filters, sorting, and app theme controls. -->
<string name="add_books_source_unshelved">Unshelved</string>
<string name="add_books_source_all_books">All Books</string>
<string name="app_theme_mode_system">System</string>
<string name="app_theme_mode_light">Light</string>
<string name="app_theme_mode_dark">Dark</string>
<string name="app_contrast_standard">Standard</string>
<string name="app_contrast_medium">Medium</string>
<string name="app_contrast_high">High</string>
<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 0100</string>
<string name="sort_percent_desc">Percent complete 1000</string>
<string name="sort_size_smallest">Size (Smallest)</string>
<string name="sort_size_biggest">Size (Biggest)</string>
<string name="read_status_all">All</string>
<string name="read_status_unread">Unread</string>
<string name="read_status_in_progress">In Progress</string>
<string name="read_status_completed">Completed</string>
<!-- Active tag filter chip label. %1$s = tag names or a count, already pluralized by code. Example: "Tags: Fiction, Classics". -->
<string name="filter_tags">Tags: %1$s</string>
<string name="section_browse_by_tag">Browse by tag</string>
<string name="section_tags">Tags</string>
<string name="section_folders">Folders</string>
<string name="section_files">Files</string>
<!-- TTS settings sheet labels. TTS = Text-to-Speech. -->
<string name="tts_notification_channel_name">Text to speech</string>
<string name="tts_notification_channel_desc">Playback controls for text to speech.</string>
<string name="tts_notification_preparing">Preparing text to speech</string>
<!-- Notification text. %1$s = chapter title. Example: "Preparing: Chapter 4". -->
<string name="tts_notification_preparing_chapter">Preparing: %1$s</string>
<string name="tts_active_engine">Active TTS Engine</string>
<string name="tts_mode_cloud_ai">Cloud AI</string>
<string name="tts_mode_device_native">Device Native</string>
<string name="tts_tab_cloud_voices">Cloud Voices</string>
<string name="tts_tab_device_voices">Device Voices</string>
<string name="tts_tab_cloud_cache">Cloud Cache</string>
<string name="tts_select_cloud_voice">Select High-Quality Cloud Voice</string>
<string name="tts_clear_samples">Clear Samples</string>
<string name="tts_system_default_voice">System Default Voice</string>
<string name="tts_uses_device_settings">Uses device settings</string>
<string name="tts_language_filter">Language Filter</string>
<string name="tts_online">Online</string>
<string name="tts_offline">Offline</string>
<string name="tts_voice_filter">Voice Filter</string>
<string name="tts_no_audio_cached_for_voice">No audio cached for this voice.</string>
<!-- Button label. %1$s = selected cloud TTS voice identifier. Example: "Clear Cache for Kore". -->
<string name="tts_clear_cache_for_voice">Clear Cache for %1$s</string>
<string name="tts_voice_sample_generic">This is a voice sample.</string>
<!-- AI hub and Pro credits. AI = Artificial Intelligence. -->
<string name="ai_features_title">AI Features</string>
<string name="ai_tab_summary">Summary</string>
<string name="ai_tab_recap">Recap</string>
<string name="ai_tab_cache">Cache</string>
<!-- AI summary empty state. %1$s = chapter title, lowercased by code. Example: "No summary for chapter 4 yet." -->
<string name="ai_no_summary_for_chapter">No summary for %1$s yet.</string>
<!-- AI summary action. %1$s = chapter title. Example: "Generate Summary for Chapter 4". -->
<string name="ai_generate_summary_for_chapter">Generate Summary for %1$s</string>
<string name="ai_recap_desc">Get a recap of the story up to your current position.</string>
<string name="ai_generate_story_recap">Generate Story Recap</string>
<string name="ai_story_recap">Story Recap</string>
<string name="ai_cache_hit_free">Cache Hit • Free</string>
<!-- AI summary status badge. %1$d = number of free daily summaries remaining. Example: "Generated - Free (7/10 left)". -->
<string name="ai_generated_free_remaining">Generated • Free (%1$d/10 left)</string>
<!-- AI summary status badge. %1$s = credit cost returned by the server. Example: "Generated - Cost: 2 credits". -->
<string name="ai_generated_cost">Generated • Cost: %1$s credits</string>
<string name="ai_generating_cost_calculating">Generating… • Cost: Calculating</string>
<string name="ai_output_title">AI Output</string>
<string name="ai_regenerate">Regenerate</string>
<string name="ai_no_cached_summaries">No cached summaries for this book.</string>
<string name="credits_tab">Credits</string>
<string name="credits_title">AI &amp; Cloud Credits</string>
<string name="credits_available">Credits Available</string>
<!-- Compact account badge. %1$d = remaining credit count. Example: "42 Credits". -->
<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: ~34 credits per minute of audio generated.\nTo enable: Reader Screen &gt; More &gt; TTS Voice Settings.</string>
<string name="credits_ai_summaries_title">AI Summaries &amp; Recap</string>
<string name="credits_ai_summaries_desc">Cost: ~14 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>
<string name="action_get_pro_or_add_credits">Get Pro / Add Credits</string>
<string name="dialog_unlock_page_summarization">Unlock Page Summarization</string>
<string name="dialog_unlock_page_summarization_desc">Get concise summaries of any page with Episteme Pro. Upgrade to start using this feature.</string>
<string name="dialog_download_bubble_zoom_model">Download Bubble Zoom Model</string>
<string name="dialog_download_bubble_zoom_model_desc">To use the Bubble Zoom feature, an AI model needs to be downloaded (~134 MB). Do you want to download it now?</string>
<!-- PDF and annotation helpers. -->
<string name="action_translate">Translate</string>
<!-- Compact return button text in PDF navigation. %1$d = 1-indexed page number. Example: "Back to Pg 12". -->
<string name="pdf_back_to_page_short">Back to Pg %1$d</string>
<!-- Compact page label used in floating PDF search/navigation controls. %1$d = 1-indexed page number. Example: "Page 12". -->
<string name="pdf_page_short">Page %1$d</string>
<!-- Floating PDF search/navigation control. %1$d = current result number; %2$d = total result count. Example: "Result 2 / 14". -->
<string name="pdf_search_result_position">Result %1$d / %2$d</string>
<!-- Error shown when the PDF renderer cannot open a document and did not provide a specific error message. -->
<string name="error_failed_load_pdf">Failed to load PDF.</string>
<!-- Progress banner while downloading the optional Bubble Zoom AI model. %1$d = percentage complete from 0 to 100. %% is a literal percent sign. Example: "Downloading Bubble Zoom model... 42%". -->
<string name="msg_downloading_bubble_zoom_model_progress">Downloading Bubble Zoom model… %1$d%%</string>
<string name="content_desc_exit_slider_navigation">Exit slider navigation</string>
<string name="content_desc_jump_back">Jump Back</string>
<string name="content_desc_jump_forward">Jump Forward</string>
<string name="content_desc_scroll_to_reading_page">Scroll to reading page</string>
<string name="content_desc_annotated_page">Annotated Page</string>
<string name="content_desc_close_image">Close Image</string>
<string name="content_desc_toggle_search_highlights">Toggle search highlights</string>
<string name="content_desc_drag_text_box">Drag to move text box</string>
<string name="content_desc_no_files_icon">No files icon</string>
<!-- Accessibility label. %1$s = visible field label being copied. Example: "Copy Title". -->
<string name="content_desc_copy_value">Copy %1$s</string>
<string name="content_desc_tag">Tag</string>
<string name="content_desc_list_item_marker">List item marker</string>
<string name="content_desc_reset_zoom">Reset Zoom</string>
<string name="content_desc_generate_demo_annotations">Generate Demo Annotations</string>
<string name="tooltip_demo_annotations">Demo Annotations</string>
<string name="content_desc_open_pen_playground">Open Pen Playground</string>
<string name="content_desc_new_tab">New Tab</string>
<string name="content_desc_highlight_all_text">Highlight all text</string>
<string name="content_desc_toggle_editing_mode">Toggle Editing Mode</string>
<string name="content_desc_smart_comic_zoom">Smart Comic Zoom</string>
<string name="highlight_customize_title">Customize Highlights</string>
<string name="ocr_language_latin">English, Spanish, French, etc.</string>
<string name="ocr_language_devanagari">Hindi, Marathi, Sanskrit + English</string>
<string name="ocr_language_chinese">Chinese + English</string>
<string name="ocr_language_japanese">Japanese + English</string>
<string name="ocr_language_korean">Korean + English</string>
<!-- UniversalDocument -->
<string name="msg_page_unavailable">Page Unavailable</string>
<!-- ReflowWorker: generated Text View records. "Text View" is the PDF reflow feature name. -->
<string name="default_document_title">Document</string>
<string name="generated_author">Generated</string>
<!-- Generated display name for a PDF Text View copy. %1$s = original book title. Example: "Dracula (Text View)". -->
<string name="reflow_display_name_format">%1$s (Text View)</string>
<!-- Generated internal title for a reflowed PDF copy. %1$s = original book title. Example: "Dracula (Reflow)". -->
<string name="reflow_title_format">%1$s (Reflow)</string>
<!-- Shared tag management UI. -->
<string name="action_add_edit">Add / Edit</string>
<string name="msg_no_tags_assigned">No tags assigned.</string>
<string name="title_apply_tags">Apply Tags</string>
<string name="placeholder_search_create_tag">Search or create tag…</string>
<!-- Tag creation row. %1$s = tag name typed by the user. Example: "Create \"Research\"". -->
<string name="action_create_tag">Create \"%1$s\"</string>
<!-- EPUB/Paginated reader controls. -->
<string name="setting_pull_distance_change_chapter">Pull Distance to Change Chapter</string>
<string name="label_short">Short</string>
<string name="label_long">Long</string>
<!-- Compact TTS speed label. %1$s = formatted multiplier. Example: "Speed: 1.2x". -->
<string name="tts_speed_short">Speed: %1$sx</string>
<!-- Compact TTS pitch label. %1$s = formatted multiplier. Example: "Pitch: 1.0x". -->
<string name="tts_pitch_short">Pitch: %1$sx</string>
<string name="content_desc_play_pause">Play/Pause</string>
<string name="content_desc_reset_speed">Reset Speed</string>
<string name="content_desc_reset_pitch">Reset Pitch</string>
<string name="dialog_select_color">Select Color</string>
<string name="msg_book_no_content">This book has no content to display.</string>
<string name="clip_label_copied_link">Copied Link</string>
<string name="clip_label_copied_text">Copied Text</string>
<!-- PDF toolbar labels. -->
<string name="content_desc_table_of_contents">Table of Contents</string>
<string name="content_desc_bookmark">Bookmark</string>
<!-- Tooltip/button text. %1$d = 1-indexed page number. Example: "Jump Back to Page 12". -->
<string name="action_jump_back_to_page">Jump Back to Page %1$d</string>
<string name="desc_return_to_previous_page">Return to previous page</string>
<string name="action_exit_smart_zoom">Exit Smart Zoom</string>
<string name="action_smart_comic_zoom">Smart Comic Zoom</string>
<string name="desc_toggle_smart_comic_zoom">Toggle Smart Comic Zoom</string>
<string name="options_screen_capture_protection">Screen capture protection</string>
<string name="banner_screen_capture_protection_on">Screen capture protection is on</string>
<string name="banner_screen_capture_protection_off">Screen capture protection is off</string>
<!-- Android-only hardcoded UI string cleanup. -->
<string name="settings">Settings</string>
<string name="action_edit">Edit</string>
<string name="action_restore">Restore</string>
<!-- Accessibility/status label. %1$s = the selected option label. Example: "Dark selected". -->
<string name="option_selected_format">%1$s selected</string>
<string name="reader_defaults">Reader defaults</string>
<!-- Debug-only placeholder, not shown in normal user flows. -->
<string name="debug_actions_existing_menus" translatable="false">Debug actions remain in their existing menus.</string>
<!-- PDF and OCR are technical feature names; keep the acronyms as-is. -->
<string name="pdf_specific_settings_existing_reader">PDF-specific OCR, annotation, and tool settings remain in the PDF reader.</string>
<!-- Provider/product name. Do not translate. -->
<string name="provider_gemini" translatable="false">Gemini</string>
<!-- Provider/product name. Do not translate. -->
<string name="provider_groq" translatable="false">Groq</string>
<!-- AI = Artificial Intelligence. Keep the acronym "AI" as-is. -->
<string name="ai_definition_title">AI Definition</string>
<!-- Chapter label. %1$d = 1-indexed chapter number. Example: "Chapter 4". -->
<string name="chapter_number_format">Chapter %1$d</string>
<string name="location_generic">Location</string>
<string name="custom_font_fallback">Custom Font</string>
<!-- Raw status/detail format only. %1$d = response code; %2$s = server/system detail. Example: "404. Not found". -->
<string name="error_response_code_with_detail" translatable="false">%1$d. %2$s</string>
<!-- Generic error message. %1$s = error detail from the system. Example: "An error occurred: Permission denied". -->
<string name="error_occurred_format">An error occurred: %1$s</string>
<!-- Document-load error. %1$s = error detail from the document loader. Example: "Error loading document: File is encrypted". -->
<string name="error_loading_document_format">Error loading document: %1$s</string>
<!-- OCR = Optical Character Recognition. Keep the acronym as-is. -->
<string name="error_no_text_on_page_after_ocr">OCR found no text on this page.</string>
<string name="error_page_text_not_extractable">Page seems empty or text not extractable.</string>
<!-- PDF = Portable Document Format. Keep the acronym as-is. -->
<string name="pdf_error_blank_page_summary">Cannot summarize a blank page.</string>
<!-- PDF = Portable Document Format. Keep the acronym as-is. -->
<string name="pdf_error_document_not_loaded">Document not loaded.</string>
<!-- AI = Artificial Intelligence; OSS = Open Source Software. Keep both acronyms as-is. -->
<string name="ai_error_offline_oss">AI features are unavailable in the offline OSS build.</string>
<string name="ai_error_blocked_safety">Blocked for safety reasons.</string>
<!-- AI = Artificial Intelligence. %1$s = feature name such as "Summaries". Example: "Choose a model for Summaries in AI key and model settings." -->
<string name="ai_error_choose_model">Choose a model for %1$s in AI key and model settings.</string>
<!-- API = Application Programming Interface. %1$s = provider name such as Gemini or Groq. Example: "Add a Gemini API key in AI key and model settings." -->
<string name="ai_error_add_provider_key">Add a %1$s API key in AI key and model settings.</string>
<!-- AI = Artificial Intelligence. -->
<string name="ai_error_provider_empty_response">The AI provider returned an empty response.</string>
<!-- AI = Artificial Intelligence. %1$d = HTTP/status code; %2$s = raw provider error body. Example: "AI provider error: 429. Rate limit exceeded". -->
<string name="ai_error_provider_error">AI provider error: %1$d. %2$s</string>
<!-- Gemini and Groq are provider names. PDF = file format; keep all as-is. -->
<string name="ai_error_gemini_required_for_image_summary">This summary needs a Gemini model because the selected Groq models do not support PDF/image input.</string>
<string name="feedback_error_sign_in_required">You must be signed in to use feedback.</string>
<string name="feedback_error_sign_in_submit">You must be signed in to submit feedback.</string>
<string name="feedback_error_ticket_image_limit">Max 3 images allowed for tickets.</string>
<string name="feedback_error_message_image_limit">Max 5 images allowed per message.</string>
<!-- 5MB = five megabytes; keep the unit compact. -->
<string name="feedback_error_images_size_limit">One or more images exceed the 5MB limit.</string>
<!-- Feedback submit error. %1$s = error detail from the feedback backend. Example: "Failed to create ticket: Network timeout". -->
<string name="feedback_error_create_ticket">Failed to create ticket: %1$s</string>
<!-- Feedback submit error. %1$s = error detail from the feedback backend. Example: "Failed to send: Message is empty". -->
<string name="feedback_error_send">Failed to send: %1$s</string>
<!-- OPDS = Open Publication Distribution System; keep the acronym as-is. %1$s = error detail. Example: "Failed to load feed: Unauthorized". -->
<string name="opds_error_load_feed">Failed to load feed: %1$s</string>
<string name="opds_error_empty_response">Empty body</string>
<!-- OPDS = Open Publication Distribution System; keep the acronym as-is. %1$s = server message. Example: "Download failed: File unavailable". -->
<string name="opds_error_download_failed">Download failed: %1$s</string>
<!-- OPDS = Open Publication Distribution System; keep the acronym as-is. %1$s = error detail. Example: "Download error: Connection reset". -->
<string name="opds_error_download_error">Download error: %1$s</string>
<!-- Billing error. %1$s = billing debug message from Google Play Billing. Example: "Purchase failed: Service unavailable". -->
<string name="billing_error_purchase_failed">Purchase failed: %1$s</string>
<string name="billing_error_connect">Could not connect to billing service.</string>
<string name="billing_error_products_not_found">Products not found.</string>
<string name="billing_error_query_products_failed">Failed to query products</string>
<!-- OSS = Open Source Software. Keep the acronym as-is. -->
<string name="billing_error_not_available_oss">Not available in Open Source version</string>
<!-- TTS = Text-to-Speech. -->
<string name="tts_error_no_text">No text to read.</string>
<string name="tts_error_starting_playback">Error starting playback.</string>
<string name="tts_error_load_audio">Failed to load audio.</string>
<!-- TTS = Text-to-Speech. %1$s = playback error detail. Example: "Playback error: Audio file missing". -->
<string name="tts_error_playback">Playback error: %1$s</string>
<!-- TTS = Text-to-Speech. -->
<string name="tts_error_cloud_not_configured">Cloud TTS is not configured.</string>
<!-- Fallback media title when the source book title is unavailable. -->
<string name="tts_unknown_book">Unknown Book</string>
<!-- AI key/model settings. AI = Artificial Intelligence. -->
<string name="ai_settings_title">AI keys and models</string>
<string name="ai_settings_saved_keys">Saved keys</string>
<string name="ai_settings_add_or_replace_key">Add or replace key</string>
<string name="label_provider">Provider</string>
<!-- API = Application Programming Interface. Keep the acronym as-is. -->
<string name="label_api_key">API key</string>
<string name="ai_settings_save_key">Save key</string>
<string name="ai_settings_use_one_model">Use one model for all features</string>
<string name="ai_settings_use_one_model_desc">When off, each reader AI feature uses its own selected model.</string>
<!-- AI = Artificial Intelligence. -->
<string name="ai_settings_all_features">All AI features</string>
<string name="ai_settings_all_features_desc">Smart dictionary, summaries, and recaps all use this model.</string>
<string name="ai_settings_smart_dictionary">Smart dictionary</string>
<string name="ai_settings_smart_dictionary_desc">Used when defining selected words or phrases.</string>
<string name="ai_settings_summaries">Summaries</string>
<!-- EPUB and PDF are file format names. Gemini is a provider name. Keep all as-is. -->
<string name="ai_settings_summaries_desc">Used for EPUB summaries and PDF page summaries. PDF/image summaries need Gemini.</string>
<string name="ai_settings_recaps">Recaps</string>
<string name="ai_settings_recaps_desc">Used for story recap generation.</string>
<!-- TTS = Text-to-Speech. Gemini is a provider name. %1$s = exact model identifier; do not translate the inserted value. Example: "Uses the saved Gemini key. Only gemini-2.5-flash-preview-tts is supported for now." -->
<string name="ai_settings_cloud_tts_desc">Uses the saved Gemini key. Only %1$s is supported for now.</string>
<!-- Provider key confirmation title. %1$s = provider name, such as Gemini or Groq. Example: "Save Gemini key?" -->
<string name="dialog_save_provider_key">Save %1$s key?</string>
<string name="dialog_save_key_desc">After saving, only the first 3 and last 3 characters will be visible. To change it later, replace or delete it.</string>
<!-- Provider key deletion title. %1$s = provider name, such as Gemini or Groq. Example: "Delete Groq key?" -->
<string name="dialog_delete_provider_key">Delete %1$s key?</string>
<string name="dialog_delete_key_desc">Features using this provider will stop working until a new key is saved.</string>
<string name="ai_settings_no_key_saved">No key saved</string>
<!-- Accessibility label for deleting a provider key. %1$s = provider display name. Example: "Delete Gemini key". -->
<string name="content_desc_delete_provider_key">Delete %1$s key</string>
<string name="label_model">Model</string>
<string name="ai_settings_no_model_selected">No model selected</string>
<string name="options_show_ai_in_reader">Show AI in reader</string>
<string name="options_hide_ai_in_reader">Hide AI in reader</string>
<!-- Theme and texture editor. -->
<string name="theme_solid_colors">Solid Colors</string>
<string name="theme_textured">Textured</string>
<string name="theme_custom_solid_default">Custom Solid</string>
<string name="theme_custom_textured_default">Custom Textured</string>
<string name="theme_select_custom_texture">Select Custom Texture</string>
<string name="app_theme_text_brightness_light">Text Brightness (Light)</string>
<string name="app_theme_text_brightness_dark">Text Brightness (Dark)</string>
<string name="label_default">Default</string>
<string name="label_left">Left</string>
<string name="label_right">Right</string>
<string name="label_justify">Justify</string>
<string name="label_always_show">Always Show</string>
<string name="label_sync_with_menus">Sync with Menus</string>
<string name="label_always_hide">Always Hide</string>
<string name="label_top">Top</string>
<string name="label_bottom">Bottom</string>
<!-- File metadata dialog. -->
<string name="dialog_restore_original_metadata">Restore original metadata?</string>
<!-- EPUB is a file format name; keep the acronym as-is. -->
<string name="dialog_restore_original_metadata_desc">This will write the original title, author, series, and summary back into the EPUB file. Reading progress, tags, and notes will not change.</string>
<!-- EPUB is a file format name; keep the acronym as-is. -->
<string name="metadata_provenance_epub_edited">EPUB metadata edited</string>
<!-- EPUB is a file format name; keep the acronym as-is. -->
<string name="metadata_provenance_from_epub">Metadata from EPUB file</string>
<string name="metadata_provenance_display_name_changed">Display name changed in app</string>
<string name="metadata_provenance_from_file">Metadata from file</string>
<string name="section_metadata">Metadata</string>
<string name="section_file">File</string>
<string name="label_title">Title</string>
<string name="label_series">Series</string>
<string name="label_reading">Reading</string>
<string name="label_file_name_simple">File name</string>
<string name="label_modified">Modified</string>
<string name="label_summary">Summary</string>
<string name="label_library_tags">Library tags</string>
<string name="label_editable_metadata">Editable metadata</string>
<string name="label_display_name">Display name</string>
<string name="label_name_shown_in_reader">Name shown in Reader</string>
<!-- File metadata row. %1$s = original file name. Example: "Original file: Dracula.epub". -->
<string name="original_file_format">Original file: %1$s</string>
<!-- Toolbar customization. -->
<string name="toolbar_top_bar">Top Bar</string>
<string name="toolbar_bottom_bar">Bottom Bar</string>
<string name="toolbar_hidden_tools">Hidden Tools</string>
<string name="toolbar_more_menu">More menu</string>
<string name="toolbar_hidden_tools_menu">Hidden tools</string>
<string name="toolbar_drop_tools_here">Drop tools here</string>
<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>
<!-- TTS = Text-to-Speech. Keep the acronym as-is. -->
<string name="tool_tts_controls">TTS Controls</string>
<string name="tool_reading_mode">Reading Mode</string>
<string name="tool_page_management">Page Management</string>
<!-- "Text View" is the PDF reflow feature name. -->
<string name="tool_text_view_reflow">Text View (Reflow)</string>
<!-- TTS word replacement sheet. TTS = Text-to-Speech. -->
<string name="tts_replacements_current_book">Current book</string>
<string name="tts_replacements_tab_global">Global</string>
<string name="tts_replacements_tab_this_book">This book</string>
<string name="tts_replacements_enable">Enable replacements</string>
<string name="tts_replacements_enable_desc">Rules here apply to every book unless disabled for a specific title.</string>
<string name="tts_replacements_add_rule">Add rule</string>
<string name="tts_replacements_add_book_rule">Add book rule</string>
<string name="tts_replacements_empty_global">No global replacement rules yet.</string>
<string name="tts_replacements_empty_book">No book-specific rules yet.</string>
<string name="tts_replacements_use_global_here">Use global rules here</string>
<string name="tts_replacements_use_global_here_desc">Turn this off when a book needs its own pronunciation choices.</string>
<string name="tts_replacements_enable_book_rules">Enable book rules</string>
<string name="tts_replacements_enable_book_rules_desc">Local rules run after global rules.</string>
<string name="tts_replacements_inherited_global_rules">Inherited global rules</string>
<string name="tts_replacements_no_global_rules">No global rules to inherit.</string>
<string name="tts_replacements_allowed_in_book">Allowed in this book</string>
<string name="tts_replacements_disabled_for_book">Disabled for this book</string>
<string name="tts_replacements_suggestions">Suggestions</string>
<!-- English sample input for replacement previews; keep abbreviations as written so built-in examples behave consistently. -->
<string name="tts_replacements_preview_default" translatable="false">Dr. Smith met NASA at 5 p.m.</string>
<string name="tts_replacements_new_replacement">New replacement</string>
<string name="tts_replacements_edit_replacement">Edit replacement</string>
<string name="tts_replacements_label_replace">Replace</string>
<string name="tts_replacements_label_speak_as">Speak as</string>
<string name="tts_replacements_chip_enabled">Enabled</string>
<!-- Regex is a technical term for regular expression; keep as-is. -->
<string name="tts_replacements_chip_regex" translatable="false">Regex</string>
<string name="tts_replacements_chip_whole_word">Whole word</string>
<string name="tts_replacements_chip_match_case">Match case</string>
<string name="tts_replacements_label_preview_input">Preview input</string>
<string name="tts_replacements_rules">Rules</string>
<!-- Lowercase because it is inserted into summaries like "word -> silence". -->
<string name="tts_replacements_silence">silence</string>
<string name="tts_replacements_plain_text">Plain text</string>
<!-- Lowercase because it is joined into a comma-separated option summary. -->
<string name="tts_replacements_case_sensitive">case-sensitive</string>
<string name="book_replacements_current_book">Current book</string>
<string name="book_replacements_add_rule">Add rule</string>
<string name="book_replacements_empty">No replacement rules for this book yet.</string>
<string name="book_replacements_new_replacement">New replacement</string>
<string name="book_replacements_edit_replacement">Edit replacement</string>
<string name="book_replacements_label_with">With</string>
<string name="book_replacements_empty_replacement">empty text</string>
<string name="book_replacements_preview_default" translatable="false">Alice met the White Rabbit.</string>
<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_account_and_credits">Account &amp; credits</string>
<string name="desktop_account_overview">Account overview</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_app_name_oss">Episteme oss</string>
<string name="desktop_author_text">Author text</string>
<!-- Desktop cache label. %1$s = voice/cache label. Example: "Cache: Kore". -->
<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_sync">Cloud sync</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>
<!-- Desktop account/credits label. %1$d = integer credit count. Example: "42 credits available". -->
<string name="desktop_credits_available_format">%1$d credits available</string>
<!-- Desktop credit cost label. %1$s = decimal credit cost. Example: "2.5 credits". -->
<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>
<!-- Desktop delete-font confirmation. %1$s = font display name. Example: "Delete Merriweather? Books using it will fall back to the default font." -->
<string name="desktop_delete_font_desc">Delete %1$s? Books using it will fall back to the default font.</string>
<!-- Desktop delete-shelf confirmation. %1$s = shelf name. Example: "Delete \"Favorites\"? Books stay in your library." -->
<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>
<!-- Desktop AI cost badge. %1$d = number of free uses remaining. Example: "Free, 7 left". -->
<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">Help</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_more_library_actions">Library actions</string>
<string name="desktop_more_menu">More</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>
<!-- Desktop Google Fonts empty state. %1$s = search query. Example: "No fonts found matching \"Roboto\"". -->
<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_offline_oss_reader">Offline desktop reader</string>
<string name="desktop_open_readers">Open readers</string>
<!-- Desktop loading status. %1$s = book or section title. Example: "Opening Dracula". -->
<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>
<!-- Desktop PDF password dialog body. %1$s = PDF title. Example: "Tax Forms.pdf requires a password before it can be opened." -->
<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>
<!-- Desktop PDF password retry body. %1$s = PDF title. Example: "That password did not open Tax Forms.pdf. Enter the PDF password and try again." -->
<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_plan">Plan</string>
<string name="desktop_preparing_audio">Preparing audio</string>
<string name="desktop_preferences">Preferences</string>
<string name="desktop_pro">Account &amp; credits</string>
<string name="desktop_pro_and_credits">Account &amp; 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_reader_tabs_off">Reader tabs off</string>
<string name="desktop_reader_tabs_on">Reader tabs on</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_sign_in_account_header_desc">Sync account, Pro, and credits</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>
<!-- Desktop embedded webview setup progress. %1$d = progress percentage. %% is a literal percent sign. Example: "Preparing bundled embedded webview 40%". -->
<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>
<!-- Desktop embedded webview startup error. %1$s = startup error detail. Example: "Embedded webview could not start: Missing runtime". -->
<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>
<!-- Desktop tag editor helper text. %1$s = comma-separated existing tag names. Example: "Existing: Fiction, Classics". -->
<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>
<!-- Desktop highlighter color accessibility label. %1$d = highlighter palette slot number. Example: "Highlight color 2". -->
<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>
<!-- Desktop PDF search indexing status. %1$d = indexed page count; %2$d = total page count. Example: "Indexing 12/240 pages". -->
<string name="desktop_indexing_pages_format">Indexing %1$d/%2$d pages</string>
<string name="desktop_markup">Markup</string>
<!-- Desktop PDF search result count. %1$d = number of search matches. Example: "14 matches". -->
<string name="desktop_matches_format">%1$d matches</string>
<!-- Desktop PDF search result count while indexing is still running. %1$d = number of search matches found so far. Example: "14 matches so far". -->
<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>
<!-- Desktop compact page label. %1$d = 1-indexed page number. Example: "p. 12". -->
<string name="desktop_pdf_compact_page_number">p. %1$d</string>
<!-- Desktop PDF page accessibility label. %1$d = 1-indexed page number. Example: "PDF page 12". -->
<string name="desktop_pdf_page_content_desc">PDF page %1$d</string>
<!-- Desktop PDF comment location/author label. %1$d = 1-indexed page number; %2$s = comment author. Example: "Page 12 - Aryan". -->
<string name="desktop_pdf_page_author_format">Page %1$d - %2$s</string>
<!-- Desktop PDF single-page progress label. %1$s = page number or page range; %2$d = total page count. Example: "Page 12 of 240". -->
<string name="desktop_pdf_page_of_count">Page %1$s of %2$d</string>
<!-- Desktop PDF spread progress label. %1$s = page range; %2$d = total page count. Example: "Pages 12-13 of 240". -->
<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>
<!-- Desktop read-aloud preparation status. %1$s = read scope, such as page or chapter. Example: "Preparing 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 and two-page spreads.</string>
<string name="desktop_round_highlighter">Round highlighter</string>
<!-- Desktop save result. %1$s = saved file path. Example: "Saved to C:\\Books\\Dracula.pdf". -->
<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>
<!-- Desktop annotation selection status. %1$s = localized annotation type. Example: "Selected highlight". -->
<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>
<!-- Desktop annotation tool label. %1$s = stroke thickness percentage. Example: "Thickness 75%". -->
<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 account &amp; 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>
<!-- Desktop compact chapter label. %1$d = 1-indexed chapter number. Example: "Ch. 4". -->
<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>
<!-- Desktop accessibility label for decrement controls. %1$s = setting label. Example: "Decrease font size". -->
<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. Example: "2 folders, 12 files". -->
<string name="desktop_folder_subtitle_folder_file_counts">%1$s, %2$s</string>
<!-- Desktop two-part label. %1$s = first label; %2$s = second label. Example: "PDF - Page 12". -->
<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. Example: "Imported 3 files. Skipped 1 file." -->
<string name="desktop_import_result_pair">%1$s %2$s</string>
<!-- Desktop accessibility label for increment controls. %1$s = setting label. Example: "Increase font size". -->
<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 primary navigation shortcut for bring-your-own-key AI configuration. -->
<string name="desktop_ai_keys">AI keys</string>
<!-- Desktop library tab label with count. %1$d = number of smart shelves. Keep as a full tab phrase, not a reusable noun. Example: "Smart 4". -->
<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. Example: "Unread 12". -->
<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. Example: "In progress 3". -->
<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. Example: "Complete 9". -->
<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>
<!-- Desktop OPDS catalog deletion body. %1$s = catalog title. Example: "Delete \"Project Gutenberg\"? Streamed books from this catalog may stop opening if credentials change later." -->
<string name="desktop_opds_delete_catalog_desc">Delete &quot;%1$s&quot;? 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>
<!-- Desktop reader page info. %1$s = page mode; %2$s = page or spread label; %3$d = total pages; %4$d = progress percentage. Example: "Page 12 of 240 (5%)". -->
<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>
<!-- Desktop active search filter chip. %1$s = current search query. Example: "Search: hobbit". -->
<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>
<!-- TTS replacement summary. %1$s = replacement source; %2$s = spoken replacement. Example: "Dr. -> Doctor". -->
<string name="tts_replacements_summary_format">%1$s -&gt; %2$s</string>
</resources>