From fa66e6fca6d1c9cb8b7bba6ddde72d6fa57cc87f Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 24 Nov 2025 21:37:52 +0800 Subject: [PATCH] feat(pdf): add support for hand tool panning for PDFs, closes #2518 (#2532) --- apps/readest-app/public/locales/ar/translation.json | 4 +++- apps/readest-app/public/locales/bn/translation.json | 4 +++- apps/readest-app/public/locales/bo/translation.json | 4 +++- apps/readest-app/public/locales/de/translation.json | 4 +++- apps/readest-app/public/locales/el/translation.json | 4 +++- apps/readest-app/public/locales/es/translation.json | 4 +++- apps/readest-app/public/locales/fa/translation.json | 4 +++- apps/readest-app/public/locales/fr/translation.json | 4 +++- apps/readest-app/public/locales/hi/translation.json | 4 +++- apps/readest-app/public/locales/id/translation.json | 4 +++- apps/readest-app/public/locales/it/translation.json | 4 +++- apps/readest-app/public/locales/ja/translation.json | 4 +++- apps/readest-app/public/locales/ko/translation.json | 4 +++- apps/readest-app/public/locales/nl/translation.json | 4 +++- apps/readest-app/public/locales/pl/translation.json | 4 +++- apps/readest-app/public/locales/pt/translation.json | 4 +++- apps/readest-app/public/locales/ru/translation.json | 4 +++- apps/readest-app/public/locales/si/translation.json | 4 +++- apps/readest-app/public/locales/sv/translation.json | 4 +++- apps/readest-app/public/locales/ta/translation.json | 4 +++- apps/readest-app/public/locales/th/translation.json | 4 +++- apps/readest-app/public/locales/tr/translation.json | 4 +++- apps/readest-app/public/locales/uk/translation.json | 4 +++- apps/readest-app/public/locales/vi/translation.json | 4 +++- apps/readest-app/public/locales/zh-CN/translation.json | 4 +++- apps/readest-app/public/locales/zh-TW/translation.json | 4 +++- .../src/app/reader/components/footerbar/FooterBar.tsx | 10 +++++----- .../src/components/metadata/BookDetailView.tsx | 4 ++-- apps/readest-app/src/styles/globals.css | 4 ++++ packages/foliate-js | 2 +- 30 files changed, 90 insertions(+), 34 deletions(-) diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 4507e9c6..6f5739af 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -687,5 +687,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "تقليدي (تايوان • عبارات) → مبسّط", "Convert Simplified and Traditional Chinese": "تحويل المبسّط/التقليدي", "Convert Mode": "وضع التحويل", - "Failed to auto-save book cover for lock screen: {{error}}": "فشل في الحفظ التلقائي لغلاف الكتاب لشاشة القفل: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "فشل في الحفظ التلقائي لغلاف الكتاب لشاشة القفل: {{error}}", + "Download from Cloud": "تحميل من السحابة", + "Upload to Cloud": "رفع إلى السحابة" } diff --git a/apps/readest-app/public/locales/bn/translation.json b/apps/readest-app/public/locales/bn/translation.json index f0b0f019..22f7e407 100644 --- a/apps/readest-app/public/locales/bn/translation.json +++ b/apps/readest-app/public/locales/bn/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "প্রথাগত (তাইওয়ান • বাক্য) → সরল", "Convert Simplified and Traditional Chinese": "সরল/প্রথাগত রূপান্তর", "Convert Mode": "রূপান্তর মোড", - "Failed to auto-save book cover for lock screen: {{error}}": "লক স্ক্রিনের জন্য বইয়ের মলাট স্বয়ংক্রিয়ভাবে সংরক্ষণ করতে ব্যর্থ: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "লক স্ক্রিনের জন্য বইয়ের মলাট স্বয়ংক্রিয়ভাবে সংরক্ষণ করতে ব্যর্থ: {{error}}", + "Download from Cloud": "ক্লাউড থেকে ডাউনলোড করুন", + "Upload to Cloud": "ক্লাউডে আপলোড করুন" } diff --git a/apps/readest-app/public/locales/bo/translation.json b/apps/readest-app/public/locales/bo/translation.json index 1e202c27..7fcb0725 100644 --- a/apps/readest-app/public/locales/bo/translation.json +++ b/apps/readest-app/public/locales/bo/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "སྲོལ་རྒྱུན (ཏའི་ཝན • ཚིག་ཕྲེང) → སྟོང་བཟོས", "Convert Simplified and Traditional Chinese": "རྒྱ་ཡིག སྟོང་བཟོས/སྲོལ་རྒྱུན བསྒྱུར་བ", "Convert Mode": "བསྒྱུར་བའི་རྣམ་པ", - "Failed to auto-save book cover for lock screen: {{error}}": "སྒྲོམ་སྒོར་དེབ་གནས་བཅས་པའི་སྤྱོད་བྱས་མ་ཐུབ།: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "སྒྲོམ་སྒོར་དེབ་གནས་བཅས་པའི་སྤྱོད་བྱས་མ་ཐུབ།: {{error}}", + "Download from Cloud": "སྤྲིན་ནས་ཕབ་སྟེ་འབེབས་", + "Upload to Cloud": "སྤྲིན་ལ་ཡར་སྤེལ་" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index fa3bfe15..0eee9856 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Traditionell (Taiwan • Phrasen) → Vereinfacht", "Convert Simplified and Traditional Chinese": "Vereinfach./Traditionell konvertieren", "Convert Mode": "Konvertierungsmodus", - "Failed to auto-save book cover for lock screen: {{error}}": "Automatisches Speichern des Buchcovers für den Sperrbildschirm fehlgeschlagen: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Automatisches Speichern des Buchcovers für den Sperrbildschirm fehlgeschlagen: {{error}}", + "Download from Cloud": "Aus der Cloud herunterladen", + "Upload to Cloud": "In die Cloud hochladen" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index 026f2302..6abcac34 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Παραδ. (Ταϊβάν • φράσεις) → Απλοπ.", "Convert Simplified and Traditional Chinese": "Μετατροπή Απλοπ./Παραδ. Κινέζικων", "Convert Mode": "Λειτουργία μετατροπής", - "Failed to auto-save book cover for lock screen: {{error}}": "Αποτυχία αυτόματης αποθήκευσης εξωφύλλου βιβλίου για την οθόνη κλειδώματος: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Αποτυχία αυτόματης αποθήκευσης εξωφύλλου βιβλίου για την οθόνη κλειδώματος: {{error}}", + "Download from Cloud": "Λήψη από το Cloud", + "Upload to Cloud": "Ανέβασμα στο Cloud" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index cb7be7ed..cf8aa7e5 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -675,5 +675,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Trad. (Taiwan • frases) → Simpl.", "Convert Simplified and Traditional Chinese": "Convertir chino Simpl./Trad.", "Convert Mode": "Modo de conversión", - "Failed to auto-save book cover for lock screen: {{error}}": "Error al guardar automáticamente la portada del libro para la pantalla de bloqueo: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Error al guardar automáticamente la portada del libro para la pantalla de bloqueo: {{error}}", + "Download from Cloud": "Descargar desde la nube", + "Upload to Cloud": "Subir a la nube" } diff --git a/apps/readest-app/public/locales/fa/translation.json b/apps/readest-app/public/locales/fa/translation.json index 1f150016..4529d6a2 100644 --- a/apps/readest-app/public/locales/fa/translation.json +++ b/apps/readest-app/public/locales/fa/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "سنتی (تایوان • عبارات) → ساده", "Convert Simplified and Traditional Chinese": "تبدیل چینی ساده/سنتی", "Convert Mode": "حالت تبدیل", - "Failed to auto-save book cover for lock screen: {{error}}": "ذخیره‌ی خودکار جلد کتاب برای صفحه‌ی قفل ناموفق بود: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "ذخیره‌ی خودکار جلد کتاب برای صفحه‌ی قفل ناموفق بود: {{error}}", + "Download from Cloud": "دانلود از فضای ابری", + "Upload to Cloud": "آپلود به فضای ابری" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index ebf4b013..7b3f21fa 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -675,5 +675,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Trad. (Taïwan • phrases) → Simp.", "Convert Simplified and Traditional Chinese": "Convertir chinois simp./trad.", "Convert Mode": "Mode de conversion", - "Failed to auto-save book cover for lock screen: {{error}}": "Échec de l'enregistrement automatique de la couverture du livre pour l'écran de verrouillage : {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Échec de l'enregistrement automatique de la couverture du livre pour l'écran de verrouillage : {{error}}", + "Download from Cloud": "Télécharger depuis le Cloud", + "Upload to Cloud": "Téléverser vers le Cloud" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index 9e9b23e2..6161551d 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "पारंपरिक (ताइवान • वाक्यांश) → सरलीकृत", "Convert Simplified and Traditional Chinese": "सरलीकृत/पारंपरिक चीनी रूपांतरण", "Convert Mode": "रूपांतरण मोड", - "Failed to auto-save book cover for lock screen: {{error}}": "लॉक स्क्रीन के लिए पुस्तक कवर स्वचालित रूप से सहेजने में विफल: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "लॉक स्क्रीन के लिए पुस्तक कवर स्वचालित रूप से सहेजने में विफल: {{error}}", + "Download from Cloud": "क्लाउड से डाउनलोड करें", + "Upload to Cloud": "क्लाउड पर अपलोड करें" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index b9921b10..79ae01f8 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Tradisional (Taiwan • frasa) → Sederhana", "Convert Simplified and Traditional Chinese": "Konversi Tionghoa Sederhana/Tradisional", "Convert Mode": "Mode Konversi", - "Failed to auto-save book cover for lock screen: {{error}}": "Gagal menyimpan otomatis sampul buku untuk layar kunci: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Gagal menyimpan otomatis sampul buku untuk layar kunci: {{error}}", + "Download from Cloud": "Unduh dari Cloud", + "Upload to Cloud": "Unggah ke Cloud" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index 9c794c9f..5ee1b2aa 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -675,5 +675,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Tradizionale (Taiwan • frasi) → Semplificato", "Convert Simplified and Traditional Chinese": "Converti Cinese Semplificato/Tradizionale", "Convert Mode": "Modalità conversione", - "Failed to auto-save book cover for lock screen: {{error}}": "Impossibile salvare automaticamente la copertina del libro per la schermata di blocco: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Impossibile salvare automaticamente la copertina del libro per la schermata di blocco: {{error}}", + "Download from Cloud": "Scarica dal Cloud", + "Upload to Cloud": "Carica sul Cloud" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index 24b6ca36..52303c32 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "繁体字(台湾) → 簡体字 • フレーズ", "Convert Simplified and Traditional Chinese": "簡体字/繁体字変換", "Convert Mode": "変換モード", - "Failed to auto-save book cover for lock screen: {{error}}": "ロック画面の本のカバーの自動保存に失敗しました:{{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "ロック画面の本のカバーの自動保存に失敗しました:{{error}}", + "Download from Cloud": "クラウドからダウンロード", + "Upload to Cloud": "クラウドにアップロード" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index b781a80f..21082822 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "번체 (대만) → 간체 • 문구", "Convert Simplified and Traditional Chinese": "간체/번체 변환", "Convert Mode": "변환 모드", - "Failed to auto-save book cover for lock screen: {{error}}": "잠금 화면용 책 표지 자동 저장 실패: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "잠금 화면용 책 표지 자동 저장 실패: {{error}}", + "Download from Cloud": "클라우드에서 다운로드", + "Upload to Cloud": "클라우드에 업로드" } diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json index 6dab41b6..c3d59cf1 100644 --- a/apps/readest-app/public/locales/nl/translation.json +++ b/apps/readest-app/public/locales/nl/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Traditioneel (Taiwan • zinnen) → Vereenvoudigd", "Convert Simplified and Traditional Chinese": "Converteer Vereenvoudigd/Traditioneel Chinees", "Convert Mode": "Conversiemodus", - "Failed to auto-save book cover for lock screen: {{error}}": "Automatisch opslaan van boekomslag voor vergrendelscherm mislukt: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Automatisch opslaan van boekomslag voor vergrendelscherm mislukt: {{error}}", + "Download from Cloud": "Downloaden van Cloud", + "Upload to Cloud": "Uploaden naar Cloud" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index 7cab4c68..a6ab25a5 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -679,5 +679,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Tradycyjny (Tajwan • frazy) → Uproszczony", "Convert Simplified and Traditional Chinese": "Konwertuj chiński uproszczony/tradycyjny", "Convert Mode": "Tryb konwersji", - "Failed to auto-save book cover for lock screen: {{error}}": "Nie udało się automatycznie zapisać okładki książki dla ekranu blokady: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Nie udało się automatycznie zapisać okładki książki dla ekranu blokady: {{error}}", + "Download from Cloud": "Pobierz z chmury", + "Upload to Cloud": "Prześlij do chmury" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index fcd27079..2398a8c0 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -675,5 +675,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Tradicional (Taiwan • frases) → Simplificado", "Convert Simplified and Traditional Chinese": "Converter Chinês Simpl./Trad.", "Convert Mode": "Modo de conversão", - "Failed to auto-save book cover for lock screen: {{error}}": "Falha ao salvar automaticamente a capa do livro para a tela de bloqueio: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Falha ao salvar automaticamente a capa do livro para a tela de bloqueio: {{error}}", + "Download from Cloud": "Baixar da Nuvem", + "Upload to Cloud": "Enviar para a Nuvem" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index 1b768795..97bae0c6 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -679,5 +679,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Традиционный (Тайвань • фразы) → Упрощённый", "Convert Simplified and Traditional Chinese": "Преобразовать упрощённый/традиционный китайский", "Convert Mode": "Режим преобразования", - "Failed to auto-save book cover for lock screen: {{error}}": "Не удалось автоматически сохранить обложку книги для экрана блокировки: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Не удалось автоматически сохранить обложку книги для экрана блокировки: {{error}}", + "Download from Cloud": "Скачать из облака", + "Upload to Cloud": "Загрузить в облако" } diff --git a/apps/readest-app/public/locales/si/translation.json b/apps/readest-app/public/locales/si/translation.json index 39256f9b..2243b5ed 100644 --- a/apps/readest-app/public/locales/si/translation.json +++ b/apps/readest-app/public/locales/si/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "සාම්ප්‍රදායික (තායිවාන • වාක්‍ය) → සරල", "Convert Simplified and Traditional Chinese": "සරල/සාම්ප්‍රදායික චීන පරිවර්තනය", "Convert Mode": "පරිවර්තන මෝඩියුලය", - "Failed to auto-save book cover for lock screen: {{error}}": "අගුළු තිරය සඳහා පොත් ආවරණය ස්වයංක්‍රීයව සුරකිීමට අසමත් විය: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "අගුළු තිරය සඳහා පොත් ආවරණය ස්වයංක්‍රීයව සුරකිීමට අසමත් විය: {{error}}", + "Download from Cloud": "කලාඬයෙන් බාගත කරන්න", + "Upload to Cloud": "කලාඬයට උඩුගත කරන්න" } diff --git a/apps/readest-app/public/locales/sv/translation.json b/apps/readest-app/public/locales/sv/translation.json index d39c8606..c4cd865f 100644 --- a/apps/readest-app/public/locales/sv/translation.json +++ b/apps/readest-app/public/locales/sv/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Traditionell (Taiwan • fraser) → Förenklad", "Convert Simplified and Traditional Chinese": "Konvertera förenklad/traditionell kinesiska", "Convert Mode": "Konverteringsläge", - "Failed to auto-save book cover for lock screen: {{error}}": "Kunde inte autospara bokomslag för låsskärm: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Kunde inte autospara bokomslag för låsskärm: {{error}}", + "Download from Cloud": "Ladda ner från molnet", + "Upload to Cloud": "Ladda upp till molnet" } diff --git a/apps/readest-app/public/locales/ta/translation.json b/apps/readest-app/public/locales/ta/translation.json index 90a81f25..4414094c 100644 --- a/apps/readest-app/public/locales/ta/translation.json +++ b/apps/readest-app/public/locales/ta/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "பாரம்பரிய (தைவான் • வசனங்கள்) → எளிய", "Convert Simplified and Traditional Chinese": "எளிய/பாரம்பரிய சீன மொழி மாற்றம்", "Convert Mode": "மாற்ற முறை", - "Failed to auto-save book cover for lock screen: {{error}}": "பூட்டு திரைக்கான புத்தகக் கோப்பை தானாகச் சேமிக்க முடியவில்லை: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "பூட்டு திரைக்கான புத்தகக் கோப்பை தானாகச் சேமிக்க முடியவில்லை: {{error}}", + "Download from Cloud": "மேகத்திலிருந்து பதிவிறக்கு செய்யவும்", + "Upload to Cloud": "மேகத்திற்கு பதிவேற்றவும்" } diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json index 25c97138..3f0ed1ea 100644 --- a/apps/readest-app/public/locales/th/translation.json +++ b/apps/readest-app/public/locales/th/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "ตัวเต็ม (ไต้หวัน • วลี) → ตัวย่อ", "Convert Simplified and Traditional Chinese": "แปลงจีนตัวย่อ/ตัวเต็ม", "Convert Mode": "โหมดแปลงค่า", - "Failed to auto-save book cover for lock screen: {{error}}": "ไม่สามารถบันทึกปกหนังสือสำหรับหน้าจอล็อกโดยอัตโนมัติ: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "ไม่สามารถบันทึกปกหนังสือสำหรับหน้าจอล็อกโดยอัตโนมัติ: {{error}}", + "Download from Cloud": "ดาวน์โหลดจากคลาวด์", + "Upload to Cloud": "อัปโหลดไปยังคลาวด์" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index a1ca7b37..8738115f 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -671,5 +671,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Geleneksel (Tayvan • ifadeler) → Basitleştirilmiş", "Convert Simplified and Traditional Chinese": "Basitleştirilmiş/Geleneksel Çince Dönüştür", "Convert Mode": "Dönüştürme Modu", - "Failed to auto-save book cover for lock screen: {{error}}": "Kitap kapağı kilit ekranı için otomatik kaydedilemedi: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Kitap kapağı kilit ekranı için otomatik kaydedilemedi: {{error}}", + "Download from Cloud": "Buluttan İndir", + "Upload to Cloud": "Buluta Yükle" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index 97428073..e85ac601 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -679,5 +679,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Традиційне (Тайвань • фрази) → Спрощене", "Convert Simplified and Traditional Chinese": "Конвертувати спрощену/традиційну китайську", "Convert Mode": "Режим конвертації", - "Failed to auto-save book cover for lock screen: {{error}}": "Не вдалося автоматично зберегти обкладинку книги для екрана блокування: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Не вдалося автоматично зберегти обкладинку книги для екрана блокування: {{error}}", + "Download from Cloud": "Завантажити з хмари", + "Upload to Cloud": "Завантажити в хмару" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index c9a13934..3381ee4b 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "Phồn thể (Đài Loan • cụm từ) → Giản thể", "Convert Simplified and Traditional Chinese": "Chuyển đổi Trung giản/Phồn thể", "Convert Mode": "Chế độ chuyển đổi", - "Failed to auto-save book cover for lock screen: {{error}}": "Không thể tự động lưu bìa sách cho màn hình khóa: {{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "Không thể tự động lưu bìa sách cho màn hình khóa: {{error}}", + "Download from Cloud": "Tải xuống từ đám mây", + "Upload to Cloud": "Tải lên đám mây" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index 5c6b7cc8..16ee95df 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "繁体(台湾) → 简体习惯用语", "Convert Simplified and Traditional Chinese": "简繁中文转换", "Convert Mode": "转换模式", - "Failed to auto-save book cover for lock screen: {{error}}": "自动保存锁屏书籍封面失败:{{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "自动保存锁屏书籍封面失败:{{error}}", + "Download from Cloud": "从云端下载", + "Upload to Cloud": "上传到云端" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index 23e86213..9eb7022f 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -667,5 +667,7 @@ "Traditional (Taiwan) to Simplified, with phrases": "繁體(台灣) → 簡體慣用語", "Convert Simplified and Traditional Chinese": "簡繁中文轉換", "Convert Mode": "轉換模式", - "Failed to auto-save book cover for lock screen: {{error}}": "自動保存鎖定螢幕書籍封面失敗:{{error}}" + "Failed to auto-save book cover for lock screen: {{error}}": "自動保存鎖定螢幕書籍封面失敗:{{error}}", + "Download from Cloud": "從雲端下載", + "Upload to Cloud": "上傳到雲端" } diff --git a/apps/readest-app/src/app/reader/components/footerbar/FooterBar.tsx b/apps/readest-app/src/app/reader/components/footerbar/FooterBar.tsx index 985b03f9..ce1f8e7b 100644 --- a/apps/readest-app/src/app/reader/components/footerbar/FooterBar.tsx +++ b/apps/readest-app/src/app/reader/components/footerbar/FooterBar.tsx @@ -195,6 +195,10 @@ const FooterBar: React.FC = ({ onSpeakText: handleSpeakText, }; + const needHorizontalScroll = + (viewSettings?.vertical && viewSettings?.scrolled) || + (bookData?.isFixedLayout && viewSettings?.zoomLevel && viewSettings.zoomLevel > 100); + const containerClasses = clsx( 'footer-bar shadow-xs bottom-0 z-10 flex w-full flex-col', 'sm:h-[52px] sm:justify-center', @@ -204,16 +208,12 @@ const FooterBar: React.FC = ({ appService?.hasRoundedWindow && 'rounded-window-bottom-right', !isSideBarVisible && appService?.hasRoundedWindow && 'rounded-window-bottom-left', isHoveredAnim && 'hover-bar-anim', - viewSettings?.vertical && viewSettings?.scrolled && 'sm:!bottom-3 sm:!h-7', + needHorizontalScroll && 'sm:!bottom-3 sm:!h-7', isVisible ? 'pointer-events-auto translate-y-0 opacity-100' : 'pointer-events-none translate-y-full opacity-0 sm:translate-y-0', ); - const needHorizontalScroll = - (viewSettings?.vertical && viewSettings?.scrolled) || - (bookData?.isFixedLayout && viewSettings?.zoomLevel && viewSettings.zoomLevel > 100); - return ( <> {/* Hover trigger area */} diff --git a/apps/readest-app/src/components/metadata/BookDetailView.tsx b/apps/readest-app/src/components/metadata/BookDetailView.tsx index 3707e7d1..44e7e842 100644 --- a/apps/readest-app/src/components/metadata/BookDetailView.tsx +++ b/apps/readest-app/src/components/metadata/BookDetailView.tsx @@ -105,12 +105,12 @@ const BookDetailView: React.FC = ({ )} {book.uploadedAt && onDownload && ( - )} {book.downloadedAt && onUpload && ( - )} diff --git a/apps/readest-app/src/styles/globals.css b/apps/readest-app/src/styles/globals.css index 1f76dcf4..988855f0 100644 --- a/apps/readest-app/src/styles/globals.css +++ b/apps/readest-app/src/styles/globals.css @@ -60,6 +60,10 @@ foliate-view { border: none; } +foliate-fxl { + overflow: scroll; +} + @keyframes scaleUpAndDown { 0% { transform: scale(1); diff --git a/packages/foliate-js b/packages/foliate-js index 56f9822f..1b601ae5 160000 --- a/packages/foliate-js +++ b/packages/foliate-js @@ -1 +1 @@ -Subproject commit 56f9822fb4903cc083e4f13717bf27ec294175bd +Subproject commit 1b601ae548ae9b3e04c3c044fc7c6488bb479fbb