diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index fdad6af1..701c3821 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -220,9 +220,9 @@ "Auto Import on File Open": "استيراد تلقائي عند فتح الملف", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "لم يتم التعرف على أي فصول.", - "Failed to parse the EPUB file.": "فشل في تحليل ملف EPUB.", - "This book format is not supported.": "تنسيق الكتاب هذا غير مدعوم.", + "No chapters detected": "لم يتم التعرف على أي فصول", + "Failed to parse the EPUB file": "فشل في تحليل ملف EPUB", + "This book format is not supported": "تنسيق الكتاب هذا غير مدعوم", "Unable to fetch the translation. Please log in first and try again.": "تعذر جلب الترجمة. يرجى تسجيل الدخول أولاً ثم المحاولة مرة أخرى.", "Group": "تجميع", "Always on Top": "دائمًا في المقدمة", @@ -636,5 +636,8 @@ "Source and Translated": "المصدر والمترجم", "Translated Only": "المترجم فقط", "Source Only": "المصدر فقط", - "TTS Text": "نص تحويل النص إلى كلام" + "TTS Text": "نص تحويل النص إلى كلام", + "The book file is corrupted": "ملف الكتاب تالف", + "The book file is empty": "ملف الكتاب فارغ", + "Failed to open the book file": "فشل في فتح ملف الكتاب" } diff --git a/apps/readest-app/public/locales/bn/translation.json b/apps/readest-app/public/locales/bn/translation.json index 15dfd6d9..8ba8038c 100644 --- a/apps/readest-app/public/locales/bn/translation.json +++ b/apps/readest-app/public/locales/bn/translation.json @@ -105,9 +105,9 @@ "Book Covers": "বইয়ের মলাট", "Sort by...": "সাজানোর ভিত্তি...", "No supported files found. Supported formats: {{formats}}": "কোন সমর্থিত ফাইল পাওয়া যায়নি। সমর্থিত ফরম্যাট: {{formats}}", - "No chapters detected.": "কোন অধ্যায় শনাক্ত হয়নি।", - "Failed to parse the EPUB file.": "EPUB ফাইল পার্স করতে ব্যর্থ।", - "This book format is not supported.": "এই বই ফরম্যাট সমর্থিত নয়।", + "No chapters detected": "কোন অধ্যায় শনাক্ত হয়নি।", + "Failed to parse the EPUB file": "EPUB ফাইল পার্স করতে ব্যর্থ।", + "This book format is not supported": "এই বই ফরম্যাট সমর্থিত নয়।", "Failed to import book(s): {{filenames}}": "বই আমদানি ব্যর্থ: {{filenames}}", "Book uploaded: {{title}}": "বই আপলোড হয়েছে: {{title}}", "Insufficient storage quota": "অপর্যাপ্ত স্টোরেজ কোটা", @@ -620,5 +620,8 @@ "Source and Translated": "উৎস এবং অনূদিত", "Translated Only": "শুধুমাত্র অনূদিত", "Source Only": "শুধুমাত্র উৎস", - "TTS Text": "TTS টেক্সট" + "TTS Text": "TTS টেক্সট", + "The book file is corrupted": "বইয়ের ফাইলটি ক্ষতিগ্রস্ত।", + "The book file is empty": "বইয়ের ফাইলটি খালি।", + "Failed to open the book file": "বইয়ের ফাইল খুলতে ব্যর্থ।" } diff --git a/apps/readest-app/public/locales/bo/translation.json b/apps/readest-app/public/locales/bo/translation.json index 701b4e5c..80afea8a 100644 --- a/apps/readest-app/public/locales/bo/translation.json +++ b/apps/readest-app/public/locales/bo/translation.json @@ -220,9 +220,9 @@ "Auto Import on File Open": "ཡིག་ཆ་ཁ་ཕྱེ་སྐབས་རང་འགུལ་གྱིས་ནང་འདྲེན།", "LXGW WenKai GB Screen": "ཤ་ཝུ་ཝུན་ཁའེ།", "LXGW WenKai TC": "ཤ་ཝུ་ཝུན་ཁའེ།", - "No chapters detected.": "ལེའུ་བརྟག་དཔྱད་བྱུང་མེད།", - "Failed to parse the EPUB file.": "EPUB ཡིག་ཆ་འགྲེལ་བཤད་བྱེད་ཐུབ་མེད།", - "This book format is not supported.": "དཔེ་དེབ་ཀྱི་རྣམ་པ་འདི་རྒྱབ་སྐྱོར་མི་བྱེད།", + "No chapters detected": "ལེའུ་བརྟག་དཔྱད་བྱུང་མེད།", + "Failed to parse the EPUB file": "EPUB ཡིག་ཆ་འགྲེལ་བཤད་བྱེད་ཐུབ་མེད།", + "This book format is not supported": "དཔེ་དེབ་ཀྱི་རྣམ་པ་འདི་རྒྱབ་སྐྱོར་མི་བྱེད།", "Unable to fetch the translation. Please log in first and try again.": "སྒྱུར་བཅོས་ལེན་ཐུབ་མེད། ནང་བསྐྱོད་བྱས་རྗེས་ཡང་བསྐྱར་ཚོད་ལྟ་བྱེད་རོགས།", "Group": "སྡེ་ཚན།", "Always on Top": "སྒེའུ་ཁུང་གནས་སུ་བཀོད་པ།", @@ -616,5 +616,8 @@ "Source and Translated": "ཡིག་སྒྱུར་སྤོ་བ།", "Translated Only": "མདོག་ཚད་ཀྱི་བསྡུར་བ།", "Source Only": "ཡིག་སྒྱུར་སྤོ་བ།", - "TTS Text": "TTS ཡིག" + "TTS Text": "TTS ཡིག", + "The book file is corrupted": "དེབ་གནས་བཅས་པའི་སྤྱོད་བྱས་མ་ཐུབ།", + "The book file is empty": "དེབ་གནས་བཅས་པའི་སྤྱོད་བྱས་མ་ཐུབ།", + "Failed to open the book file": "དེབ་གནས་བཅས་པའི་སྤྱོད་བྱས་མ་ཐུབ།" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index 921329bd..4a13b1bb 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -220,9 +220,9 @@ "Auto Import on File Open": "Automatischer Import beim Öffnen einer Datei", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Keine Kapitel erkannt.", - "Failed to parse the EPUB file.": "Fehler beim Parsen der EPUB-Datei.", - "This book format is not supported.": "Dieses Buchformat wird nicht unterstützt.", + "No chapters detected": "Keine Kapitel erkannt", + "Failed to parse the EPUB file": "Fehler beim Parsen der EPUB-Datei", + "This book format is not supported": "Dieses Buchformat wird nicht unterstützt", "Unable to fetch the translation. Please log in first and try again.": "Übersetzung konnte nicht abgerufen werden. Bitte zuerst anmelden und erneut versuchen.", "Group": "Gruppieren", "Always on Top": "Immer im Vordergrund", @@ -620,5 +620,8 @@ "Source and Translated": "Quell- und Übersetzungstext", "Translated Only": "Nur Übersetzungstext", "Source Only": "Nur Quelltext", - "TTS Text": "TTS-Text" + "TTS Text": "TTS-Text", + "The book file is corrupted": "Die Buchdatei ist beschädigt", + "The book file is empty": "Die Buchdatei ist leer", + "Failed to open the book file": "Fehler beim Öffnen der Buchdatei" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index 53d894a2..fd131b87 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Αυτόματη εισαγωγή κατά το άνοιγμα αρχείου", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Δεν εντοπίστηκαν κεφάλαια.", - "Failed to parse the EPUB file.": "Αποτυχία ανάλυσης του αρχείου EPUB.", - "This book format is not supported.": "Αυτή η μορφή βιβλίου δεν υποστηρίζεται.", + "No chapters detected": "Δεν εντοπίστηκαν κεφάλαια", + "Failed to parse the EPUB file": "Αποτυχία ανάλυσης του αρχείου EPUB", + "This book format is not supported": "Αυτή η μορφή βιβλίου δεν υποστηρίζεται", "Unable to fetch the translation. Please log in first and try again.": "Αδυναμία λήψης της μετάφρασης. Παρακαλώ συνδεθείτε πρώτα και δοκιμάστε ξανά.", "Group": "Ομάδα", "Always on Top": "Πάντα στην κορυφή", @@ -620,5 +620,8 @@ "Source and Translated": "Πηγή και Μεταφρασμένο", "Translated Only": "Μόνο Μεταφρασμένο", "Source Only": "Μόνο πηγή", - "TTS Text": "Κείμενο TTS" + "TTS Text": "Κείμενο TTS", + "The book file is corrupted": "Το αρχείο του βιβλίου είναι κατεστραμμένο", + "The book file is empty": "Το αρχείο του βιβλίου είναι κενό", + "Failed to open the book file": "Αποτυχία ανοίγματος του αρχείου βιβλίου" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index e0dd5a20..2816b928 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -248,9 +248,9 @@ "Auto Import on File Open": "Importación automática al abrir archivo", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "No se detectaron capítulos.", - "Failed to parse the EPUB file.": "Error al analizar el archivo EPUB.", - "This book format is not supported.": "Este formato de libro no es compatible.", + "No chapters detected": "No se detectaron capítulos", + "Failed to parse the EPUB file": "Error al analizar el archivo EPUB", + "This book format is not supported": "Este formato de libro no es compatible", "Unable to fetch the translation. Please log in first and try again.": "No se puede obtener la traducción. Por favor, inicia sesión primero e inténtalo de nuevo.", "Group": "Grupo", "Always on Top": "Siempre en la parte superior", @@ -624,5 +624,8 @@ "Source and Translated": "Fuente y Traducido", "Translated Only": "Solo Traducido", "Source Only": "Solo Fuente", - "TTS Text": "TTS Texto" + "TTS Text": "TTS Texto", + "The book file is corrupted": "El archivo del libro está dañado", + "The book file is empty": "El archivo del libro está vacío", + "Failed to open the book file": "Error al abrir el archivo del libro" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index ee69504c..57f4144c 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -220,9 +220,9 @@ "Auto Import on File Open": "Importation automatique à l'ouverture du fichier", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Aucun chapitre détecté.", - "Failed to parse the EPUB file.": "Échec de l'analyse du fichier EPUB.", - "This book format is not supported.": "Ce format de livre n'est pas pris en charge.", + "No chapters detected": "Aucun chapitre détecté", + "Failed to parse the EPUB file": "Échec de l'analyse du fichier EPUB", + "This book format is not supported": "Ce format de livre n'est pas pris en charge", "Unable to fetch the translation. Please log in first and try again.": "Impossible de récupérer la traduction. Veuillez d'abord vous connecter et réessayer.", "Group": "Groupe", "Always on Top": "Toujours au-dessus", @@ -624,5 +624,8 @@ "Source and Translated": "Source et Traduit", "Translated Only": "Traduit Seulement", "Source Only": "Source Seulement", - "TTS Text": "TTS Texte" + "TTS Text": "TTS Texte", + "The book file is corrupted": "Le fichier du livre est corrompu", + "The book file is empty": "Le fichier du livre est vide", + "Failed to open the book file": "Échec de l'ouverture du fichier du livre" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index d9803581..c6e23023 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "फ़ाइल खोलने पर स्वचालित आयात", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "कोई अध्याय नहीं मिला।", - "Failed to parse the EPUB file.": "EPUB फ़ाइल को पार्स करने में विफल।", - "This book format is not supported.": "यह पुस्तक प्रारूप समर्थित नहीं है।", + "No chapters detected": "कोई अध्याय नहीं मिला।", + "Failed to parse the EPUB file": "EPUB फ़ाइल को पार्स करने में विफल।", + "This book format is not supported": "यह पुस्तक प्रारूप समर्थित नहीं है।", "Unable to fetch the translation. Please log in first and try again.": "अनुवाद प्राप्त करने में असमर्थ। कृपया पहले लॉग इन करें और पुनः प्रयास करें।", "Group": "समूह", "Always on Top": "सर्वोच्च पर हमेशा", @@ -620,5 +620,8 @@ "Source and Translated": "स्रोत और अनुवादित", "Translated Only": "केवल अनुवादित", "Source Only": "केवल स्रोत", - "TTS Text": "TTS टेक्स्ट" + "TTS Text": "TTS टेक्स्ट", + "The book file is corrupted": "पुस्तक फ़ाइल भ्रष्ट है।", + "The book file is empty": "पुस्तक फ़ाइल खाली है।", + "Failed to open the book file": "पुस्तक फ़ाइल खोलने में विफल।" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index 2b9d9f79..f54e577e 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Impor Otomatis saat File Dibuka", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Tidak ada bab yang terdeteksi.", - "Failed to parse the EPUB file.": "Gagal mengurai file EPUB.", - "This book format is not supported.": "Format buku ini tidak didukung.", + "No chapters detected": "Tidak ada bab yang terdeteksi", + "Failed to parse the EPUB file": "Gagal mengurai file EPUB", + "This book format is not supported": "Format buku ini tidak didukung", "Unable to fetch the translation. Please log in first and try again.": "Tidak dapat mengambil terjemahan. Silakan masuk terlebih dahulu dan coba lagi.", "Group": "Grup", "Always on Top": "Selalu di Atas", @@ -616,5 +616,8 @@ "Source and Translated": "Sumber dan Terjemahan", "Translated Only": "Hanya Terjemahan", "Source Only": "Hanya Sumber", - "TTS Text": "Teks TTS" + "TTS Text": "Teks TTS", + "The book file is corrupted": "File buku rusak", + "The book file is empty": "File buku kosong", + "Failed to open the book file": "Gagal membuka file buku" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index cb4a555f..b0a4b451 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Importazione automatica all'apertura del file", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Nessun capitolo rilevato.", - "Failed to parse the EPUB file.": "Impossibile analizzare il file EPUB.", - "This book format is not supported.": "Questo formato di libro non è supportato.", + "No chapters detected": "Nessun capitolo rilevato", + "Failed to parse the EPUB file": "Impossibile analizzare il file EPUB", + "This book format is not supported": "Questo formato di libro non è supportato", "Unable to fetch the translation. Please log in first and try again.": "Impossibile recuperare la traduzione. Accedi prima e riprova.", "Group": "Gruppo", "Always on Top": "Sempre in primo piano", @@ -624,5 +624,8 @@ "Source and Translated": "Fonte e Tradotto", "Translated Only": "Solo Tradotto", "Source Only": "Solo Fonte", - "TTS Text": "Testo TTS" + "TTS Text": "Testo TTS", + "The book file is corrupted": "Il file del libro è danneggiato", + "The book file is empty": "Il file del libro è vuoto", + "Failed to open the book file": "Impossibile aprire il file del libro" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index 50b93c48..ec33f5db 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "ファイルを開くと自動インポート", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "章が検出されません。", - "Failed to parse the EPUB file.": "EPUBファイルの解析に失敗しました。", - "This book format is not supported.": "この書籍形式はサポートされていません。", + "No chapters detected": "章が検出されません", + "Failed to parse the EPUB file": "EPUBファイルの解析に失敗しました", + "This book format is not supported": "この書籍形式はサポートされていません", "Unable to fetch the translation. Please log in first and try again.": "翻訳を取得できません。まずログインして再試行してください。", "Group": "グループ", "Always on Top": "常に最前面", @@ -616,5 +616,8 @@ "Source and Translated": "原文と翻訳", "Translated Only": "翻訳のみ", "Source Only": "原文のみ", - "TTS Text": "TTSテキスト" + "TTS Text": "TTSテキスト", + "The book file is corrupted": "本のファイルが破損しています", + "The book file is empty": "本のファイルが空です", + "Failed to open the book file": "本のファイルを開くことができませんでした" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index be5d9033..acd1f5b8 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "파일 열 때 자동 가져오기", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "장 발견되지 않음.", - "Failed to parse the EPUB file.": "EPUB 파일 구문 분석 실패.", - "This book format is not supported.": "이 책 형식은 지원되지 않습니다.", + "No chapters detected": "장 발견되지 않음", + "Failed to parse the EPUB file": "EPUB 파일 구문 분석 실패", + "This book format is not supported": "이 책 형식은 지원되지 않습니다", "Unable to fetch the translation. Please log in first and try again.": "번역을 가져올 수 없습니다. 먼저 로그인하고 다시 시도하세요.", "Group": "그룹", "Always on Top": "항상 위에", @@ -616,5 +616,8 @@ "Source and Translated": "원본 및 번역", "Translated Only": "번역만", "Source Only": "원본만", - "TTS Text": "TTS 텍스트" + "TTS Text": "TTS 텍스트", + "The book file is corrupted": "책 파일이 손상되었습니다", + "The book file is empty": "책 파일이 비어 있습니다", + "Failed to open the book file": "책 파일을 열지 못했습니다" } diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json index 2ba5acb7..f4f08954 100644 --- a/apps/readest-app/public/locales/nl/translation.json +++ b/apps/readest-app/public/locales/nl/translation.json @@ -81,9 +81,9 @@ "Descending": "Aflopend", "Sort by...": "Sorteren op...", "No supported files found. Supported formats: {{formats}}": "Geen ondersteunde bestanden gevonden. Ondersteunde formaten: {{formats}}", - "No chapters detected.": "Geen hoofdstukken gedetecteerd.", - "Failed to parse the EPUB file.": "EPUB-bestand kon niet worden verwerkt.", - "This book format is not supported.": "Dit boekformaat wordt niet ondersteund.", + "No chapters detected": "Geen hoofdstukken gedetecteerd", + "Failed to parse the EPUB file": "EPUB-bestand kon niet worden verwerkt", + "This book format is not supported": "Dit boekformaat wordt niet ondersteund", "Failed to import book(s): {{filenames}}": "Importeren van boek(en) mislukt: {{filenames}}", "Book uploaded: {{title}}": "Boek geüpload: {{title}}", "Insufficient storage quota": "Onvoldoende opslagruimte", @@ -620,5 +620,8 @@ "Source and Translated": "Bron en Vertaling", "Translated Only": "Alleen Vertaling", "Source Only": "Alleen Bron", - "TTS Text": "TTS Tekst" + "TTS Text": "TTS Tekst", + "The book file is corrupted": "Het boekbestand is beschadigd", + "The book file is empty": "Het boekbestand is leeg", + "Failed to open the book file": "Het openen van het boekbestand is mislukt" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index 64e2096c..7363ce63 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Automatyczne importowanie przy otwieraniu pliku", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Nie wykryto rozdziałów.", - "Failed to parse the EPUB file.": "Nie udało się przeanalizować pliku EPUB.", - "This book format is not supported.": "Ten format książki nie jest obsługiwany.", + "No chapters detected": "Nie wykryto rozdziałów", + "Failed to parse the EPUB file": "Nie udało się przeanalizować pliku EPUB", + "This book format is not supported": "Ten format książki nie jest obsługiwany", "Unable to fetch the translation. Please log in first and try again.": "Nie można pobrać tłumaczenia. Proszę najpierw się zalogować i spróbować ponownie.", "Group": "Grupa", "Always on Top": "Zawsze na wierzchu", @@ -628,5 +628,8 @@ "Source and Translated": "Źródło i Tłumaczenie", "Translated Only": "Tylko Tłumaczenie", "Source Only": "Tylko Źródło", - "TTS Text": "Tekst TTS" + "TTS Text": "Tekst TTS", + "The book file is corrupted": "Plik książki jest uszkodzony", + "The book file is empty": "Plik książki jest pusty", + "Failed to open the book file": "Nie udało się otworzyć pliku książki" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index 4bbdcb5a..d3892421 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Importação Automática ao Abrir Arquivo", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Nenhum capítulo detectado.", - "Failed to parse the EPUB file.": "Falha ao analisar o arquivo EPUB.", - "This book format is not supported.": "Este formato de livro não é suportado.", + "No chapters detected": "Nenhum capítulo detectado", + "Failed to parse the EPUB file": "Falha ao analisar o arquivo EPUB", + "This book format is not supported": "Este formato de livro não é suportado", "Unable to fetch the translation. Please log in first and try again.": "Não foi possível buscar a tradução. Faça login primeiro e tente novamente.", "Group": "Grupo", "Always on Top": "Sempre no Topo", @@ -624,5 +624,8 @@ "Source and Translated": "Fonte e Traduzido", "Translated Only": "Apenas Traduzido", "Source Only": "Apenas Fonte", - "TTS Text": "TTS Texto" + "TTS Text": "TTS Texto", + "The book file is corrupted": "O arquivo do livro está corrompido", + "The book file is empty": "O arquivo do livro está vazio", + "Failed to open the book file": "Falha ao abrir o arquivo do livro" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index dc1fecc7..ceb2d404 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Автоматический импорт при открытии файла", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Не обнаружено глав.", - "Failed to parse the EPUB file.": "Не удалось разобрать файл EPUB.", - "This book format is not supported.": "Этот формат книги не поддерживается.", + "No chapters detected": "Не обнаружено глав", + "Failed to parse the EPUB file": "Не удалось разобрать файл EPUB", + "This book format is not supported": "Этот формат книги не поддерживается", "Unable to fetch the translation. Please log in first and try again.": "Не удалось получить перевод. Пожалуйста, войдите в систему и попробуйте снова.", "Group": "Группа", "Always on Top": "Всегда сверху", @@ -628,5 +628,8 @@ "Source and Translated": "Источник и перевод", "Translated Only": "Только перевод", "Source Only": "Только источник", - "TTS Text": "TTS Текст" + "TTS Text": "TTS Текст", + "The book file is corrupted": "Файл книги поврежден", + "The book file is empty": "Файл книги пуст", + "Failed to open the book file": "Не удалось открыть файл книги" } diff --git a/apps/readest-app/public/locales/si/translation.json b/apps/readest-app/public/locales/si/translation.json index 4b50f24c..8c460425 100644 --- a/apps/readest-app/public/locales/si/translation.json +++ b/apps/readest-app/public/locales/si/translation.json @@ -105,9 +105,9 @@ "Book Covers": "පොත් ආවරණ", "Sort by...": "අනුව සකස් කරන්න...", "No supported files found. Supported formats: {{formats}}": "සහාය දක්වන ගොනු හමුනොවිණි. සහාය දක්වන ආකෘති: {{formats}}", - "No chapters detected.": "කොටස් හඳුනානොගැනිණි.", - "Failed to parse the EPUB file.": "EPUB ගොනුව විග්‍රහ කිරීමට අසමත්.", - "This book format is not supported.": "මෙම පොත ආකෘතියට සහාය නොදක්වයි.", + "No chapters detected": "කොටස් හඳුනානොගැනිණි", + "Failed to parse the EPUB file": "EPUB ගොනුව විග්‍රහ කිරීමට අසමත්", + "This book format is not supported": "මෙම පොත ආකෘතියට සහාය නොදක්වයි", "Failed to import book(s): {{filenames}}": "පොත් ආයාත කිරීමට අසමත්: {{filenames}}", "Book uploaded: {{title}}": "පොත උඩුගත විය: {{title}}", "Insufficient storage quota": "ප්‍රමාණවත් නොවන ගබඩා ප්‍රමාණය", @@ -620,5 +620,8 @@ "Source and Translated": "මූලාශ්‍ර සහ පරිවර්තනය", "Translated Only": "පරිවර්තනය පමණක්", "Source Only": "මූලාශ්‍රය පමණක්", - "TTS Text": "TTS පෙළ" + "TTS Text": "TTS පෙළ", + "The book file is corrupted": "පොතේ ගොනුව අසමත් වී ඇත", + "The book file is empty": "පොතේ ගොනුව හිස් වේ", + "Failed to open the book file": "පොතේ ගොනුව විවෘත කිරීමට අසමත් විය" } diff --git a/apps/readest-app/public/locales/sv/translation.json b/apps/readest-app/public/locales/sv/translation.json index f3900e56..8aa77965 100644 --- a/apps/readest-app/public/locales/sv/translation.json +++ b/apps/readest-app/public/locales/sv/translation.json @@ -135,9 +135,9 @@ "Book Covers": "Bokomslag", "Sort by...": "Sortera efter...", "No supported files found. Supported formats: {{formats}}": "Inga filer hittades. Format som stöds: {{formats}}", - "No chapters detected.": "Inga kapitel hittades.", - "Failed to parse the EPUB file.": "Kunde inte läsa EPUB-filen.", - "This book format is not supported.": "Detta bokformat stöds inte.", + "No chapters detected": "Inga kapitel hittades", + "Failed to parse the EPUB file": "Kunde inte läsa EPUB-filen", + "This book format is not supported": "Detta bokformat stöds inte", "Failed to import book(s): {{filenames}}": "Kunde inte importera bok(er): {{filenames}}", "Book uploaded: {{title}}": "Bok uppladdad: {{title}}", "Insufficient storage quota": "Otillräcklig lagringskvot", @@ -620,5 +620,8 @@ "Source and Translated": "Källa och översatt", "Translated Only": "Översatt endast", "Source Only": "Endast källa", - "TTS Text": "TTS-text" + "TTS Text": "TTS-text", + "The book file is corrupted": "Bokfilen är skadad", + "The book file is empty": "Bokfilen är tom", + "Failed to open the book file": "Kunde inte öppna bokfilen" } diff --git a/apps/readest-app/public/locales/ta/translation.json b/apps/readest-app/public/locales/ta/translation.json index 447cd397..0901dd47 100644 --- a/apps/readest-app/public/locales/ta/translation.json +++ b/apps/readest-app/public/locales/ta/translation.json @@ -105,9 +105,9 @@ "Book Covers": "புத்தக அட்டைகள்", "Sort by...": "வரிசைப்படுத்து...", "No supported files found. Supported formats: {{formats}}": "ஆதரிக்கப்படும் கோப்புகள் இல்லை. ஆதரிக்கப்படும் வடிவங்கள்: {{formats}}", - "No chapters detected.": "அத்தியாயங்கள் கண்டறியப்படவில்லை.", - "Failed to parse the EPUB file.": "EPUB கோப்பை பகுப்பாய்வு செய்ய முடியவில்லை.", - "This book format is not supported.": "இந்த புத்தக வடிவம் ஆதரிக்கப்படவில்லை.", + "No chapters detected": "அத்தியாயங்கள் கண்டறியப்படவில்லை", + "Failed to parse the EPUB file": "EPUB கோப்பை பகுப்பாய்வு செய்ய முடியவில்லை", + "This book format is not supported": "இந்த புத்தக வடிவம் ஆதரிக்கப்படவில்லை", "Failed to import book(s): {{filenames}}": "புத்தகங்களை இறக்குமதி செய்ய முடியவில்லை: {{filenames}}", "Book uploaded: {{title}}": "புத்தகம் பதிவேற்றப்பட்டது: {{title}}", "Insufficient storage quota": "போதுமான சேமிப்பக ஒதுக்கீடு இல்லை", @@ -620,5 +620,8 @@ "Source and Translated": "மூல மற்றும் மொழிபெயர்க்கப்பட்டது", "Translated Only": "மொழிபெயர்க்கப்பட்டது மட்டும்", "Source Only": "மூல மட்டும்", - "TTS Text": "TTS உரை" + "TTS Text": "TTS உரை", + "The book file is corrupted": "பொதுவாக, புத்தகக் கோப்பு சேதமடைந்துள்ளது", + "The book file is empty": "புத்தகக் கோப்பு காலியாக உள்ளது", + "Failed to open the book file": "புத்தகக் கோப்பைத் திறக்க முடியவில்லை" } diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json index df506194..f9514da1 100644 --- a/apps/readest-app/public/locales/th/translation.json +++ b/apps/readest-app/public/locales/th/translation.json @@ -101,9 +101,9 @@ "Book Covers": "ปกหนังสือ", "Sort by...": "เรียงตาม...", "No supported files found. Supported formats: {{formats}}": "ไม่พบไฟล์ที่รองรับ รูปแบบที่รองรับ: {{formats}}", - "No chapters detected.": "ไม่พบบท", - "Failed to parse the EPUB file.": "ไม่สามารถอ่านไฟล์ EPUB", - "This book format is not supported.": "ไม่รองรับรูปแบบหนังสือนี้", + "No chapters detected": "ไม่พบบท", + "Failed to parse the EPUB file": "ไม่สามารถอ่านไฟล์ EPUB", + "This book format is not supported": "ไม่รองรับรูปแบบหนังสือนี้", "Failed to import book(s): {{filenames}}": "ไม่สามารถนำเข้าหนังสือ: {{filenames}}", "Book uploaded: {{title}}": "อัปโหลดหนังสือแล้ว: {{title}}", "Insufficient storage quota": "พื้นที่จัดเก็บไม่เพียงพอ", @@ -616,5 +616,8 @@ "Source and Translated": "ต้นฉบับและแปลแล้ว", "Translated Only": "แปลแล้วเท่านั้น", "Source Only": "ต้นฉบับเท่านั้น", - "TTS Text": "ข้อความ TTS" + "TTS Text": "ข้อความ TTS", + "The book file is corrupted": "ไฟล์หนังสือเสียหาย", + "The book file is empty": "ไฟล์หนังสือว่างเปล่า", + "Failed to open the book file": "ไม่สามารถเปิดไฟล์หนังสือได้" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index d4cdeb5a..16aab9ac 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Dosya Açıldığında Otomatik İçe Aktar", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Bölüm bulunamadı.", - "Failed to parse the EPUB file.": "EPUB dosyası ayrıştırılamadı.", - "This book format is not supported.": "Bu kitap formatı desteklenmiyor.", + "No chapters detected": "Bölüm bulunamadı", + "Failed to parse the EPUB file": "EPUB dosyası ayrıştırılamadı", + "This book format is not supported": "Bu kitap formatı desteklenmiyor", "Unable to fetch the translation. Please log in first and try again.": "Çeviri alınamıyor. Lütfen önce giriş yapın ve tekrar deneyin.", "Group": "Grup", "Always on Top": "Her Zaman Üstte", @@ -620,5 +620,8 @@ "Source and Translated": "Kaynak ve Çeviri", "Translated Only": "Yalnızca Çeviri", "Source Only": "Yalnızca Kaynak", - "TTS Text": "TTS Metni" + "TTS Text": "TTS Metni", + "The book file is corrupted": "Kitap dosyası bozulmuş", + "The book file is empty": "Kitap dosyası boş", + "Failed to open the book file": "Kitap dosyası açılamadı" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index 7ba40c5b..bf9e15d0 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Автоматичний імпорт при відкритті файлу", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Не виявлено жодного розділу.", - "Failed to parse the EPUB file.": "Не вдалося розібрати файл EPUB.", - "This book format is not supported.": "Цей формат книги не підтримується.", + "No chapters detected": "Не виявлено жодного розділу", + "Failed to parse the EPUB file": "Не вдалося розібрати файл EPUB", + "This book format is not supported": "Цей формат книги не підтримується", "Unable to fetch the translation. Please log in first and try again.": "Не вдалося отримати переклад. Будь ласка, спочатку увійдіть у систему та спробуйте ще раз.", "Group": "Група", "Always on Top": "Завжди зверху", @@ -628,5 +628,8 @@ "Source and Translated": "Джерело та переклад", "Translated Only": "Тільки переклад", "Source Only": "Тільки джерело", - "TTS Text": "Текст TTS" + "TTS Text": "Текст TTS", + "The book file is corrupted": "Файл книги пошкоджено", + "The book file is empty": "Файл книги порожній", + "Failed to open the book file": "Не вдалося відкрити файл книги" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index b6948cbc..7e29edd1 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "Tự động nhập khi mở tệp", "LXGW WenKai GB Screen": "LXGW WenKai SC", "LXGW WenKai TC": "LXGW WenKai TC", - "No chapters detected.": "Không phát hiện thấy chương nào.", - "Failed to parse the EPUB file.": "Không thể phân tích tệp EPUB.", - "This book format is not supported.": "Định dạng sách này không được hỗ trợ.", + "No chapters detected": "Không phát hiện thấy chương nào", + "Failed to parse the EPUB file": "Không thể phân tích tệp EPUB", + "This book format is not supported": "Định dạng sách này không được hỗ trợ", "Unable to fetch the translation. Please log in first and try again.": "Không thể tải dịch vụ. Vui lòng đăng nhập trước và thử lại.", "Group": "Nhóm", "Always on Top": "Luôn ở trên cùng", @@ -616,5 +616,8 @@ "Source and Translated": "Nguồn và Đã dịch", "Translated Only": "Chỉ Đã dịch", "Source Only": "Chỉ Nguồn", - "TTS Text": "Văn bản TTS" + "TTS Text": "Văn bản TTS", + "The book file is corrupted": "Tệp sách bị hỏng", + "The book file is empty": "Tệp sách trống", + "Failed to open the book file": "Không thể mở tệp sách" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index 4b132353..3b30445e 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "打开文件时自动导入", "LXGW WenKai GB Screen": "霞鹜文楷", "LXGW WenKai TC": "霞鶩文楷", - "No chapters detected.": "未检测到章节。", - "Failed to parse the EPUB file.": "无法解析 EPUB 文件。", - "This book format is not supported.": "不支持此书籍格式。", + "No chapters detected": "未检测到章节", + "Failed to parse the EPUB file": "无法解析 EPUB 文件", + "This book format is not supported": "不支持此书籍格式", "Unable to fetch the translation. Please log in first and try again.": "无法获取翻译。请登录后重试。", "Group": "分组", "Always on Top": "窗口置顶", @@ -616,5 +616,8 @@ "Source and Translated": "原文和译文", "Translated Only": "仅译文", "Source Only": "仅原文", - "TTS Text": "TTS 文本" + "TTS Text": "TTS 文本", + "The book file is corrupted": "书籍文件已损坏", + "The book file is empty": "书籍文件为空", + "Failed to open the book file": "无法打开书籍文件" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index 39be08fe..fd51ea13 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -221,9 +221,9 @@ "Auto Import on File Open": "打開文件時自動導入", "LXGW WenKai GB Screen": "霞鶩文楷 SC", "LXGW WenKai TC": "霞鶩文楷 TC", - "No chapters detected.": "未檢測到章節。", - "Failed to parse the EPUB file.": "無法解析 EPUB 文件。", - "This book format is not supported.": "不支援此書籍格式。", + "No chapters detected": "未檢測到章節", + "Failed to parse the EPUB file": "無法解析 EPUB 文件", + "This book format is not supported": "不支援此書籍格式", "Unable to fetch the translation. Please log in first and try again.": "無法獲取翻譯。請先登入然後重試。", "Group": "分組", "Always on Top": "視窗置頂", @@ -616,5 +616,8 @@ "Source and Translated": "原文和翻譯", "Translated Only": "僅翻譯", "Source Only": "僅原文", - "TTS Text": "TTS 文字" + "TTS Text": "TTS 文字", + "The book file is corrupted": "書籍文件已損壞", + "The book file is empty": "書籍文件為空", + "Failed to open the book file": "無法打開書籍文件" } diff --git a/apps/readest-app/src/app/library/page.tsx b/apps/readest-app/src/app/library/page.tsx index 6bf5486f..8c614ddb 100644 --- a/apps/readest-app/src/app/library/page.tsx +++ b/apps/readest-app/src/app/library/page.tsx @@ -421,9 +421,12 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP const { library } = useLibraryStore.getState(); const failedImports: Array<{ filename: string; errorMessage: string }> = []; const errorMap: [string, string][] = [ - ['No chapters detected.', _('No chapters detected.')], - ['Failed to parse EPUB.', _('Failed to parse the EPUB file.')], - ['Unsupported format.', _('This book format is not supported.')], + ['No chapters detected', _('No chapters detected')], + ['Failed to parse EPUB', _('Failed to parse the EPUB file')], + ['Unsupported format', _('This book format is not supported')], + ['Failed to open file', _('Failed to open the book file')], + ['Invalid or empty book file', _('The book file is empty')], + ['Unsupported or corrupted book file', _('The book file is corrupted')], ]; const processFile = async (selectedFile: SelectedFile) => { @@ -440,7 +443,7 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP const baseFilename = getFilename(filename); const errorMessage = error instanceof Error - ? errorMap.find(([substring]) => error.message.includes(substring))?.[1] || '' + ? errorMap.find(([str]) => error.message.includes(str))?.[1] || error.message : ''; failedImports.push({ filename: baseFilename, errorMessage }); console.error('Failed to import book:', filename, error); diff --git a/apps/readest-app/src/services/appService.ts b/apps/readest-app/src/services/appService.ts index 683300be..c829fdbf 100644 --- a/apps/readest-app/src/services/appService.ts +++ b/apps/readest-app/src/services/appService.ts @@ -301,7 +301,13 @@ export abstract class BaseAppService implements AppService { const txt2epub = new TxtToEpubConverter(); ({ file: fileobj } = await txt2epub.convert({ file: fileobj })); } + if (!fileobj || fileobj.size === 0) { + throw new Error('Invalid or empty book file'); + } ({ book: loadedBook, format } = await new DocumentLoader(fileobj).open()); + if (!loadedBook) { + throw new Error('Unsupported or corrupted book file'); + } const metadataTitle = formatTitle(loadedBook.metadata.title); if (!metadataTitle || !metadataTitle.trim() || metadataTitle === filename) { loadedBook.metadata.title = getBaseFilename(filename);