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
This commit is contained in:
Aryan 2026-06-14 13:43:49 +05:30 committed by GitHub
parent a13d6599d1
commit 625a4d5d2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
102 changed files with 6012 additions and 687 deletions

View file

@ -201,8 +201,13 @@
<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. -->
@ -480,10 +485,14 @@
<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." -->
@ -1054,6 +1063,8 @@
<!-- 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. -->
@ -1194,6 +1205,7 @@
<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>