diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 89b0b34c..92266035 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -889,5 +889,44 @@ "Only for TTS:": "فقط لـ TTS:", "Uploaded": "تم الرفع", "Downloaded": "تم التنزيل", - "Deleted": "تم الحذف" + "Deleted": "تم الحذف", + "Note:": "ملاحظة:", + "Time:": "الوقت:", + "Format Options": "خيارات التنسيق", + "Export Date": "تاريخ التصدير", + "Chapter Titles": "عناوين الفصول", + "Chapter Separator": "فاصل الفصول", + "Highlights": "التمييزات", + "Note Date": "تاريخ الملاحظة", + "Advanced": "متقدم", + "Hide": "إخفاء", + "Show": "إظهار", + "Use Custom Template": "استخدام قالب مخصص", + "Export Template": "قالب التصدير", + "Template Syntax:": "بناء جملة القالب:", + "Insert value": "إدراج قيمة", + "Format date (locale)": "تنسيق التاريخ (محلي)", + "Format date (custom)": "تنسيق التاريخ (مخصص)", + "Conditional": "شرطي", + "Loop": "حلقة", + "Available Variables:": "المتغيرات المتاحة:", + "Book title": "عنوان الكتاب", + "Book author": "مؤلف الكتاب", + "Export date": "تاريخ التصدير", + "Array of chapters": "مصفوفة الفصول", + "Chapter title": "عنوان الفصل", + "Array of annotations": "مصفوفة التعليقات", + "Highlighted text": "النص المميز", + "Annotation note": "ملاحظة التعليق", + "Update time": "وقت التحديث", + "Date Format Tokens:": "رموز تنسيق التاريخ:", + "Year (4 digits)": "السنة (4 أرقام)", + "Month (01-12)": "الشهر (01-12)", + "Day (01-31)": "اليوم (01-31)", + "Hour (00-23)": "الساعة (00-23)", + "Minute (00-59)": "الدقيقة (00-59)", + "Second (00-59)": "الثانية (00-59)", + "Show Source": "إظهار المصدر", + "No content to preview": "لا يوجد محتوى للمعاينة", + "Export": "تصدير" } diff --git a/apps/readest-app/public/locales/bn/translation.json b/apps/readest-app/public/locales/bn/translation.json index 0c8df43d..e442e25c 100644 --- a/apps/readest-app/public/locales/bn/translation.json +++ b/apps/readest-app/public/locales/bn/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "শুধুমাত্র TTS-এর জন্য:", "Uploaded": "আপলোড হয়েছে", "Downloaded": "ডাউনলোড হয়েছে", - "Deleted": "মুছে ফেলা হয়েছে" + "Deleted": "মুছে ফেলা হয়েছে", + "Note:": "নোট:", + "Time:": "সময়:", + "Format Options": "বিন্যাস বিকল্প", + "Export Date": "রপ্তানি তারিখ", + "Chapter Titles": "অধ্যায়ের শিরোনাম", + "Chapter Separator": "অধ্যায় বিভাজক", + "Highlights": "হাইলাইট", + "Note Date": "নোট তারিখ", + "Advanced": "উন্নত", + "Hide": "লুকান", + "Show": "দেখান", + "Use Custom Template": "কাস্টম টেমপ্লেট ব্যবহার করুন", + "Export Template": "রপ্তানি টেমপ্লেট", + "Template Syntax:": "টেমপ্লেট সিনট্যাক্স:", + "Insert value": "মান সন্নিবেশ করুন", + "Format date (locale)": "তারিখ বিন্যাস (স্থানীয়)", + "Format date (custom)": "তারিখ বিন্যাস (কাস্টম)", + "Conditional": "শর্তসাপেক্ষ", + "Loop": "লুপ", + "Available Variables:": "উপলব্ধ ভেরিয়েবল:", + "Book title": "বইয়ের শিরোনাম", + "Book author": "বইয়ের লেখক", + "Export date": "রপ্তানি তারিখ", + "Array of chapters": "অধ্যায়ের তালিকা", + "Chapter title": "অধ্যায়ের শিরোনাম", + "Array of annotations": "টীকাগুলির তালিকা", + "Highlighted text": "হাইলাইট করা পাঠ্য", + "Annotation note": "টীকা নোট", + "Update time": "আপডেট সময়", + "Date Format Tokens:": "তারিখ বিন্যাস টোকেন:", + "Year (4 digits)": "বছর (4 সংখ্যা)", + "Month (01-12)": "মাস (01-12)", + "Day (01-31)": "দিন (01-31)", + "Hour (00-23)": "ঘণ্টা (00-23)", + "Minute (00-59)": "মিনিট (00-59)", + "Second (00-59)": "সেকেন্ড (00-59)", + "Show Source": "উৎস দেখান", + "No content to preview": "প্রিভিউ করার জন্য কোনো কন্টেন্ট নেই", + "Export": "রপ্তানি" } diff --git a/apps/readest-app/public/locales/bo/translation.json b/apps/readest-app/public/locales/bo/translation.json index 899c3f26..782a221f 100644 --- a/apps/readest-app/public/locales/bo/translation.json +++ b/apps/readest-app/public/locales/bo/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "TTS ལ་ཁོ་ན།:", "Uploaded": "ཡར་སྐྱེལ་བྱས་ཟིན།", "Downloaded": "མར་ལེན་བྱས་ཟིན།", - "Deleted": "བསུབས་ཟིན།" + "Deleted": "བསུབས་ཟིན།", + "Note:": "གསལ་བཤད།:", + "Time:": "དུས་ཚོད།:", + "Format Options": "རྣམ་གཞག་གདམ་ག", + "Export Date": "ཕྱིར་འདོན་ཚེས་གྲངས།", + "Chapter Titles": "ལེའུའི་མཚན།", + "Chapter Separator": "ལེའུའི་དབར་མཚམས།", + "Highlights": "གཙོ་གནད།", + "Note Date": "གསལ་བཤད་ཚེས་གྲངས།", + "Advanced": "མཐོ་རིམ།", + "Hide": "སྦས་པ།", + "Show": "མངོན་པ།", + "Use Custom Template": "རང་བཟོའི་དཔེ་གཞི་བེད་སྤྱོད།", + "Export Template": "ཕྱིར་འདོན་དཔེ་གཞི།", + "Template Syntax:": "དཔེ་གཞིའི་སྒྲིག་གཞི།:", + "Insert value": "གྲངས་ཐང་བཙུགས་པ།", + "Format date (locale)": "ཚེས་གྲངས་རྣམ་གཞག (ས་གནས།)", + "Format date (custom)": "ཚེས་གྲངས་རྣམ་གཞག (རང་བཟོ།)", + "Conditional": "དམིགས་བསལ།", + "Loop": "འཁོར་ལོ།", + "Available Variables:": "བེད་སྤྱད་རུང་བའི་འགྱུར་ཅན།:", + "Book title": "དེབ་མཚན།", + "Book author": "དེབ་རྩོམ་པ་པོ།", + "Export date": "ཕྱིར་འདོན་ཚེས་གྲངས།", + "Array of chapters": "ལེའུའི་ལེབ་ངོས།", + "Chapter title": "ལེའུའི་མཚན།", + "Array of annotations": "གསལ་བཤད་ལེབ་ངོས།", + "Highlighted text": "གཙོ་གནད་ཡིག་རྐྱང་།", + "Annotation note": "གསལ་བཤད་ཟིན་བྲིས།", + "Update time": "གསར་བཅོས་དུས་ཚོད།", + "Date Format Tokens:": "ཚེས་གྲངས་རྣམ་གཞག་རྟགས།:", + "Year (4 digits)": "ལོ། (གྲངས་ཐང་4)", + "Month (01-12)": "ཟླ། (01-12)", + "Day (01-31)": "ཚེས། (01-31)", + "Hour (00-23)": "ཆུ་ཚོད། (00-23)", + "Minute (00-59)": "སྐར་མ། (00-59)", + "Second (00-59)": "སྐར་ཆ། (00-59)", + "Show Source": "འབྱུང་ཁུངས་མངོན་པ།", + "No content to preview": "སྔོན་ལྟ་བྱེད་པའི་དོན་རྐྱེན་མེད།", + "Export": "ཕྱིར་འདོན།" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index 80a46dfa..359b5fb7 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "Nur für TTS:", "Uploaded": "Hochgeladen", "Downloaded": "Heruntergeladen", - "Deleted": "Gelöscht" + "Deleted": "Gelöscht", + "Note:": "Notiz:", + "Time:": "Zeit:", + "Format Options": "Formatoptionen", + "Export Date": "Exportdatum", + "Chapter Titles": "Kapiteltitel", + "Chapter Separator": "Kapiteltrennzeichen", + "Highlights": "Markierungen", + "Note Date": "Notizdatum", + "Advanced": "Erweitert", + "Hide": "Ausblenden", + "Show": "Anzeigen", + "Use Custom Template": "Benutzerdefinierte Vorlage verwenden", + "Export Template": "Exportvorlage", + "Template Syntax:": "Vorlagensyntax:", + "Insert value": "Wert einfügen", + "Format date (locale)": "Datum formatieren (Gebietsschema)", + "Format date (custom)": "Datum formatieren (benutzerdefiniert)", + "Conditional": "Bedingung", + "Loop": "Schleife", + "Available Variables:": "Verfügbare Variablen:", + "Book title": "Buchtitel", + "Book author": "Buchautor", + "Export date": "Exportdatum", + "Array of chapters": "Array von Kapiteln", + "Chapter title": "Kapiteltitel", + "Array of annotations": "Array von Anmerkungen", + "Highlighted text": "Markierter Text", + "Annotation note": "Anmerkungsnotiz", + "Update time": "Aktualisierungszeit", + "Date Format Tokens:": "Datumsformat-Token:", + "Year (4 digits)": "Jahr (4 Ziffern)", + "Month (01-12)": "Monat (01-12)", + "Day (01-31)": "Tag (01-31)", + "Hour (00-23)": "Stunde (00-23)", + "Minute (00-59)": "Minute (00-59)", + "Second (00-59)": "Sekunde (00-59)", + "Show Source": "Quelle anzeigen", + "No content to preview": "Kein Inhalt zur Vorschau", + "Export": "Exportieren" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index f5230dba..f45bc8d6 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "Μόνο για TTS:", "Uploaded": "Μεταφορτώθηκε", "Downloaded": "Λήφθηκε", - "Deleted": "Διαγράφηκε" + "Deleted": "Διαγράφηκε", + "Note:": "Σημείωση:", + "Time:": "Ώρα:", + "Format Options": "Επιλογές μορφοποίησης", + "Export Date": "Ημερομηνία εξαγωγής", + "Chapter Titles": "Τίτλοι κεφαλαίων", + "Chapter Separator": "Διαχωριστικό κεφαλαίων", + "Highlights": "Επισημάνσεις", + "Note Date": "Ημερομηνία σημείωσης", + "Advanced": "Για προχωρημένους", + "Hide": "Απόκρυψη", + "Show": "Εμφάνιση", + "Use Custom Template": "Χρήση προσαρμοσμένου προτύπου", + "Export Template": "Πρότυπο εξαγωγής", + "Template Syntax:": "Σύνταξη προτύπου:", + "Insert value": "Εισαγωγή τιμής", + "Format date (locale)": "Μορφοποίηση ημερομηνίας (τοπική)", + "Format date (custom)": "Μορφοποίηση ημερομηνίας (προσαρμοσμένη)", + "Conditional": "Υπό όρους", + "Loop": "Βρόχος", + "Available Variables:": "Διαθέσιμες μεταβλητές:", + "Book title": "Τίτλος βιβλίου", + "Book author": "Συγγραφέας βιβλίου", + "Export date": "Ημερομηνία εξαγωγής", + "Array of chapters": "Πίνακας κεφαλαίων", + "Chapter title": "Τίτλος κεφαλαίου", + "Array of annotations": "Πίνακας σχολιασμών", + "Highlighted text": "Επισημασμένο κείμενο", + "Annotation note": "Σημείωση σχολιασμού", + "Update time": "Ώρα ενημέρωσης", + "Date Format Tokens:": "Σύμβολα μορφοποίησης ημερομηνίας:", + "Year (4 digits)": "Έτος (4 ψηφία)", + "Month (01-12)": "Μήνας (01-12)", + "Day (01-31)": "Ημέρα (01-31)", + "Hour (00-23)": "Ώρα (00-23)", + "Minute (00-59)": "Λεπτό (00-59)", + "Second (00-59)": "Δευτερόλεπτο (00-59)", + "Show Source": "Εμφάνιση πηγής", + "No content to preview": "Δεν υπάρχει περιεχόμενο για προεπισκόπηση", + "Export": "Εξαγωγή" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index 88976bcc..c3edc676 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -859,5 +859,44 @@ "Only for TTS:": "Solo para TTS:", "Uploaded": "Subido", "Downloaded": "Descargado", - "Deleted": "Eliminado" + "Deleted": "Eliminado", + "Note:": "Nota:", + "Time:": "Hora:", + "Format Options": "Opciones de formato", + "Export Date": "Fecha de exportación", + "Chapter Titles": "Títulos de capítulos", + "Chapter Separator": "Separador de capítulos", + "Highlights": "Resaltados", + "Note Date": "Fecha de nota", + "Advanced": "Avanzado", + "Hide": "Ocultar", + "Show": "Mostrar", + "Use Custom Template": "Usar plantilla personalizada", + "Export Template": "Plantilla de exportación", + "Template Syntax:": "Sintaxis de plantilla:", + "Insert value": "Insertar valor", + "Format date (locale)": "Formatear fecha (regional)", + "Format date (custom)": "Formatear fecha (personalizado)", + "Conditional": "Condicional", + "Loop": "Bucle", + "Available Variables:": "Variables disponibles:", + "Book title": "Título del libro", + "Book author": "Autor del libro", + "Export date": "Fecha de exportación", + "Array of chapters": "Lista de capítulos", + "Chapter title": "Título del capítulo", + "Array of annotations": "Lista de anotaciones", + "Highlighted text": "Texto resaltado", + "Annotation note": "Nota de anotación", + "Update time": "Hora de actualización", + "Date Format Tokens:": "Tokens de formato de fecha:", + "Year (4 digits)": "Año (4 dígitos)", + "Month (01-12)": "Mes (01-12)", + "Day (01-31)": "Día (01-31)", + "Hour (00-23)": "Hora (00-23)", + "Minute (00-59)": "Minuto (00-59)", + "Second (00-59)": "Segundo (00-59)", + "Show Source": "Mostrar fuente", + "No content to preview": "Sin contenido para previsualizar", + "Export": "Exportar" } diff --git a/apps/readest-app/public/locales/fa/translation.json b/apps/readest-app/public/locales/fa/translation.json index a339b5f3..cbb9b69e 100644 --- a/apps/readest-app/public/locales/fa/translation.json +++ b/apps/readest-app/public/locales/fa/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "فقط برای TTS:", "Uploaded": "بارگذاری شد", "Downloaded": "دانلود شد", - "Deleted": "حذف شد" + "Deleted": "حذف شد", + "Note:": "یادداشت:", + "Time:": "زمان:", + "Format Options": "گزینه‌های قالب", + "Export Date": "تاریخ خروجی", + "Chapter Titles": "عناوین فصل", + "Chapter Separator": "جداکننده فصل", + "Highlights": "برجسته‌ها", + "Note Date": "تاریخ یادداشت", + "Advanced": "پیشرفته", + "Hide": "پنهان کردن", + "Show": "نمایش", + "Use Custom Template": "استفاده از الگوی سفارشی", + "Export Template": "الگوی خروجی", + "Template Syntax:": "نحو الگو:", + "Insert value": "درج مقدار", + "Format date (locale)": "قالب‌بندی تاریخ (محلی)", + "Format date (custom)": "قالب‌بندی تاریخ (سفارشی)", + "Conditional": "شرطی", + "Loop": "حلقه", + "Available Variables:": "متغیرهای موجود:", + "Book title": "عنوان کتاب", + "Book author": "نویسنده کتاب", + "Export date": "تاریخ خروجی", + "Array of chapters": "آرایه فصل‌ها", + "Chapter title": "عنوان فصل", + "Array of annotations": "آرایه یادداشت‌ها", + "Highlighted text": "متن برجسته‌شده", + "Annotation note": "یادداشت حاشیه", + "Update time": "زمان به‌روزرسانی", + "Date Format Tokens:": "نشانه‌های قالب تاریخ:", + "Year (4 digits)": "سال (۴ رقم)", + "Month (01-12)": "ماه (۰۱-۱۲)", + "Day (01-31)": "روز (۰۱-۳۱)", + "Hour (00-23)": "ساعت (۰۰-۲۳)", + "Minute (00-59)": "دقیقه (۰۰-۵۹)", + "Second (00-59)": "ثانیه (۰۰-۵۹)", + "Show Source": "نمایش منبع", + "No content to preview": "محتوایی برای پیش‌نمایش وجود ندارد", + "Export": "خروجی" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index 9930cf7a..720c2ef8 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -859,5 +859,44 @@ "Only for TTS:": "Uniquement pour TTS :", "Uploaded": "Téléversé", "Downloaded": "Téléchargé", - "Deleted": "Supprimé" + "Deleted": "Supprimé", + "Note:": "Note :", + "Time:": "Heure :", + "Format Options": "Options de format", + "Export Date": "Date d'export", + "Chapter Titles": "Titres de chapitres", + "Chapter Separator": "Séparateur de chapitres", + "Highlights": "Surlignages", + "Note Date": "Date de note", + "Advanced": "Avancé", + "Hide": "Masquer", + "Show": "Afficher", + "Use Custom Template": "Utiliser un modèle personnalisé", + "Export Template": "Modèle d'export", + "Template Syntax:": "Syntaxe du modèle :", + "Insert value": "Insérer une valeur", + "Format date (locale)": "Formater la date (locale)", + "Format date (custom)": "Formater la date (personnalisé)", + "Conditional": "Conditionnel", + "Loop": "Boucle", + "Available Variables:": "Variables disponibles :", + "Book title": "Titre du livre", + "Book author": "Auteur du livre", + "Export date": "Date d'export", + "Array of chapters": "Liste de chapitres", + "Chapter title": "Titre du chapitre", + "Array of annotations": "Liste d'annotations", + "Highlighted text": "Texte surligné", + "Annotation note": "Note d'annotation", + "Update time": "Heure de mise à jour", + "Date Format Tokens:": "Jetons de format de date :", + "Year (4 digits)": "Année (4 chiffres)", + "Month (01-12)": "Mois (01-12)", + "Day (01-31)": "Jour (01-31)", + "Hour (00-23)": "Heure (00-23)", + "Minute (00-59)": "Minute (00-59)", + "Second (00-59)": "Seconde (00-59)", + "Show Source": "Afficher la source", + "No content to preview": "Aucun contenu à prévisualiser", + "Export": "Exporter" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index 0d8592fa..6c1a69fe 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "केवल TTS के लिए:", "Uploaded": "अपलोड किया गया", "Downloaded": "डाउनलोड किया गया", - "Deleted": "हटाया गया" + "Deleted": "हटाया गया", + "Note:": "नोट:", + "Time:": "समय:", + "Format Options": "प्रारूप विकल्प", + "Export Date": "निर्यात तिथि", + "Chapter Titles": "अध्याय शीर्षक", + "Chapter Separator": "अध्याय विभाजक", + "Highlights": "हाइलाइट्स", + "Note Date": "नोट तिथि", + "Advanced": "उन्नत", + "Hide": "छिपाएं", + "Show": "दिखाएं", + "Use Custom Template": "कस्टम टेम्पलेट उपयोग करें", + "Export Template": "निर्यात टेम्पलेट", + "Template Syntax:": "टेम्पलेट सिंटैक्स:", + "Insert value": "मान डालें", + "Format date (locale)": "तिथि फ़ॉर्मेट करें (स्थानीय)", + "Format date (custom)": "तिथि फ़ॉर्मेट करें (कस्टम)", + "Conditional": "सशर्त", + "Loop": "लूप", + "Available Variables:": "उपलब्ध चर:", + "Book title": "पुस्तक शीर्षक", + "Book author": "पुस्तक लेखक", + "Export date": "निर्यात तिथि", + "Array of chapters": "अध्यायों की सूची", + "Chapter title": "अध्याय शीर्षक", + "Array of annotations": "एनोटेशन की सूची", + "Highlighted text": "हाइलाइट किया गया पाठ", + "Annotation note": "एनोटेशन नोट", + "Update time": "अपडेट समय", + "Date Format Tokens:": "तिथि प्रारूप टोकन:", + "Year (4 digits)": "वर्ष (4 अंक)", + "Month (01-12)": "माह (01-12)", + "Day (01-31)": "दिन (01-31)", + "Hour (00-23)": "घंटा (00-23)", + "Minute (00-59)": "मिनट (00-59)", + "Second (00-59)": "सेकंड (00-59)", + "Show Source": "स्रोत दिखाएं", + "No content to preview": "पूर्वावलोकन के लिए कोई सामग्री नहीं", + "Export": "निर्यात करें" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index d067993a..3f18788a 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "Hanya untuk TTS:", "Uploaded": "Diunggah", "Downloaded": "Diunduh", - "Deleted": "Dihapus" + "Deleted": "Dihapus", + "Note:": "Catatan:", + "Time:": "Waktu:", + "Format Options": "Opsi Format", + "Export Date": "Tanggal Ekspor", + "Chapter Titles": "Judul Bab", + "Chapter Separator": "Pemisah Bab", + "Highlights": "Sorotan", + "Note Date": "Tanggal Catatan", + "Advanced": "Lanjutan", + "Hide": "Sembunyikan", + "Show": "Tampilkan", + "Use Custom Template": "Gunakan Template Kustom", + "Export Template": "Template Ekspor", + "Template Syntax:": "Sintaks Template:", + "Insert value": "Masukkan nilai", + "Format date (locale)": "Format tanggal (lokal)", + "Format date (custom)": "Format tanggal (kustom)", + "Conditional": "Kondisional", + "Loop": "Loop", + "Available Variables:": "Variabel yang Tersedia:", + "Book title": "Judul buku", + "Book author": "Penulis buku", + "Export date": "Tanggal ekspor", + "Array of chapters": "Daftar bab", + "Chapter title": "Judul bab", + "Array of annotations": "Daftar anotasi", + "Highlighted text": "Teks yang disorot", + "Annotation note": "Catatan anotasi", + "Update time": "Waktu pembaruan", + "Date Format Tokens:": "Token Format Tanggal:", + "Year (4 digits)": "Tahun (4 digit)", + "Month (01-12)": "Bulan (01-12)", + "Day (01-31)": "Hari (01-31)", + "Hour (00-23)": "Jam (00-23)", + "Minute (00-59)": "Menit (00-59)", + "Second (00-59)": "Detik (00-59)", + "Show Source": "Tampilkan Sumber", + "No content to preview": "Tidak ada konten untuk dipratinjau", + "Export": "Ekspor" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index 826b6f07..e02fd1c0 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -859,5 +859,44 @@ "Only for TTS:": "Solo per TTS:", "Uploaded": "Caricato", "Downloaded": "Scaricato", - "Deleted": "Eliminato" + "Deleted": "Eliminato", + "Note:": "Nota:", + "Time:": "Ora:", + "Format Options": "Opzioni formato", + "Export Date": "Data esportazione", + "Chapter Titles": "Titoli capitoli", + "Chapter Separator": "Separatore capitoli", + "Highlights": "Evidenziazioni", + "Note Date": "Data nota", + "Advanced": "Avanzate", + "Hide": "Nascondi", + "Show": "Mostra", + "Use Custom Template": "Usa modello personalizzato", + "Export Template": "Modello esportazione", + "Template Syntax:": "Sintassi modello:", + "Insert value": "Inserisci valore", + "Format date (locale)": "Formatta data (locale)", + "Format date (custom)": "Formatta data (personalizzato)", + "Conditional": "Condizionale", + "Loop": "Ciclo", + "Available Variables:": "Variabili disponibili:", + "Book title": "Titolo libro", + "Book author": "Autore libro", + "Export date": "Data esportazione", + "Array of chapters": "Elenco capitoli", + "Chapter title": "Titolo capitolo", + "Array of annotations": "Elenco annotazioni", + "Highlighted text": "Testo evidenziato", + "Annotation note": "Nota annotazione", + "Update time": "Ora aggiornamento", + "Date Format Tokens:": "Token formato data:", + "Year (4 digits)": "Anno (4 cifre)", + "Month (01-12)": "Mese (01-12)", + "Day (01-31)": "Giorno (01-31)", + "Hour (00-23)": "Ora (00-23)", + "Minute (00-59)": "Minuto (00-59)", + "Second (00-59)": "Secondo (00-59)", + "Show Source": "Mostra sorgente", + "No content to preview": "Nessun contenuto da visualizzare", + "Export": "Esporta" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index 2fd17f2f..cae689ab 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "TTSのみ:", "Uploaded": "アップロード済み", "Downloaded": "ダウンロード済み", - "Deleted": "削除済み" + "Deleted": "削除済み", + "Note:": "ノート:", + "Time:": "時刻:", + "Format Options": "形式オプション", + "Export Date": "エクスポート日", + "Chapter Titles": "章タイトル", + "Chapter Separator": "章区切り", + "Highlights": "ハイライト", + "Note Date": "ノート日付", + "Advanced": "詳細設定", + "Hide": "非表示", + "Show": "表示", + "Use Custom Template": "カスタムテンプレート使用", + "Export Template": "エクスポートテンプレート", + "Template Syntax:": "テンプレート構文:", + "Insert value": "値を挿入", + "Format date (locale)": "日付形式(ロケール)", + "Format date (custom)": "日付形式(カスタム)", + "Conditional": "条件分岐", + "Loop": "ループ", + "Available Variables:": "利用可能な変数:", + "Book title": "本のタイトル", + "Book author": "著者", + "Export date": "エクスポート日", + "Array of chapters": "章の配列", + "Chapter title": "章タイトル", + "Array of annotations": "注釈の配列", + "Highlighted text": "ハイライトテキスト", + "Annotation note": "注釈ノート", + "Update time": "更新時刻", + "Date Format Tokens:": "日付形式トークン:", + "Year (4 digits)": "年(4桁)", + "Month (01-12)": "月(01-12)", + "Day (01-31)": "日(01-31)", + "Hour (00-23)": "時(00-23)", + "Minute (00-59)": "分(00-59)", + "Second (00-59)": "秒(00-59)", + "Show Source": "ソース表示", + "No content to preview": "プレビューするコンテンツがありません", + "Export": "エクスポート" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index a2b20235..67cd04ba 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "TTS 전용:", "Uploaded": "업로드됨", "Downloaded": "다운로드됨", - "Deleted": "삭제됨" + "Deleted": "삭제됨", + "Note:": "노트:", + "Time:": "시간:", + "Format Options": "형식 옵션", + "Export Date": "내보내기 날짜", + "Chapter Titles": "챕터 제목", + "Chapter Separator": "챕터 구분 기호", + "Highlights": "하이라이트", + "Note Date": "노트 날짜", + "Advanced": "고급", + "Hide": "숨기기", + "Show": "표시", + "Use Custom Template": "사용자 지정 템플릿 사용", + "Export Template": "내보내기 템플릿", + "Template Syntax:": "템플릿 구문:", + "Insert value": "값 삽입", + "Format date (locale)": "날짜 형식 (로케일)", + "Format date (custom)": "날짜 형식 (사용자 지정)", + "Conditional": "조건부", + "Loop": "반복", + "Available Variables:": "사용 가능한 변수:", + "Book title": "책 제목", + "Book author": "책 저자", + "Export date": "내보내기 날짜", + "Array of chapters": "챕터 배열", + "Chapter title": "챕터 제목", + "Array of annotations": "주석 배열", + "Highlighted text": "하이라이트된 텍스트", + "Annotation note": "주석 노트", + "Update time": "업데이트 시간", + "Date Format Tokens:": "날짜 형식 토큰:", + "Year (4 digits)": "연도 (4자리)", + "Month (01-12)": "월 (01-12)", + "Day (01-31)": "일 (01-31)", + "Hour (00-23)": "시 (00-23)", + "Minute (00-59)": "분 (00-59)", + "Second (00-59)": "초 (00-59)", + "Show Source": "소스 표시", + "No content to preview": "미리 볼 내용 없음", + "Export": "내보내기" } diff --git a/apps/readest-app/public/locales/ms/translation.json b/apps/readest-app/public/locales/ms/translation.json index 23260e64..4a729232 100644 --- a/apps/readest-app/public/locales/ms/translation.json +++ b/apps/readest-app/public/locales/ms/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "Hanya untuk TTS:", "Uploaded": "Dimuat naik", "Downloaded": "Dimuat turun", - "Deleted": "Dipadam" + "Deleted": "Dipadam", + "Note:": "Nota:", + "Time:": "Masa:", + "Format Options": "Pilihan Format", + "Export Date": "Tarikh Eksport", + "Chapter Titles": "Tajuk Bab", + "Chapter Separator": "Pemisah Bab", + "Highlights": "Serlahan", + "Note Date": "Tarikh Nota", + "Advanced": "Lanjutan", + "Hide": "Sembunyikan", + "Show": "Tunjukkan", + "Use Custom Template": "Gunakan Templat Tersuai", + "Export Template": "Templat Eksport", + "Template Syntax:": "Sintaks Templat:", + "Insert value": "Masukkan nilai", + "Format date (locale)": "Format tarikh (tempatan)", + "Format date (custom)": "Format tarikh (tersuai)", + "Conditional": "Bersyarat", + "Loop": "Gelung", + "Available Variables:": "Pembolehubah Tersedia:", + "Book title": "Tajuk buku", + "Book author": "Pengarang buku", + "Export date": "Tarikh eksport", + "Array of chapters": "Senarai bab", + "Chapter title": "Tajuk bab", + "Array of annotations": "Senarai anotasi", + "Highlighted text": "Teks yang diserlahkan", + "Annotation note": "Nota anotasi", + "Update time": "Masa kemas kini", + "Date Format Tokens:": "Token Format Tarikh:", + "Year (4 digits)": "Tahun (4 digit)", + "Month (01-12)": "Bulan (01-12)", + "Day (01-31)": "Hari (01-31)", + "Hour (00-23)": "Jam (00-23)", + "Minute (00-59)": "Minit (00-59)", + "Second (00-59)": "Saat (00-59)", + "Show Source": "Tunjukkan Sumber", + "No content to preview": "Tiada kandungan untuk pratonton", + "Export": "Eksport" } diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json index 45f3bd03..248f2343 100644 --- a/apps/readest-app/public/locales/nl/translation.json +++ b/apps/readest-app/public/locales/nl/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "Alleen voor TTS:", "Uploaded": "Geüpload", "Downloaded": "Gedownload", - "Deleted": "Verwijderd" + "Deleted": "Verwijderd", + "Note:": "Notitie:", + "Time:": "Tijd:", + "Format Options": "Formaatopties", + "Export Date": "Exportdatum", + "Chapter Titles": "Hoofdstuktitels", + "Chapter Separator": "Hoofdstukscheiding", + "Highlights": "Markeringen", + "Note Date": "Notitiedatum", + "Advanced": "Geavanceerd", + "Hide": "Verbergen", + "Show": "Tonen", + "Use Custom Template": "Aangepast sjabloon gebruiken", + "Export Template": "Exportsjabloon", + "Template Syntax:": "Sjabloonsyntaxis:", + "Insert value": "Waarde invoegen", + "Format date (locale)": "Datum opmaken (lokaal)", + "Format date (custom)": "Datum opmaken (aangepast)", + "Conditional": "Voorwaardelijk", + "Loop": "Lus", + "Available Variables:": "Beschikbare variabelen:", + "Book title": "Boektitel", + "Book author": "Boekauteur", + "Export date": "Exportdatum", + "Array of chapters": "Reeks hoofdstukken", + "Chapter title": "Hoofdstuktitel", + "Array of annotations": "Reeks annotaties", + "Highlighted text": "Gemarkeerde tekst", + "Annotation note": "Annotatienotitie", + "Update time": "Updatetijd", + "Date Format Tokens:": "Datumformaattokens:", + "Year (4 digits)": "Jaar (4 cijfers)", + "Month (01-12)": "Maand (01-12)", + "Day (01-31)": "Dag (01-31)", + "Hour (00-23)": "Uur (00-23)", + "Minute (00-59)": "Minuut (00-59)", + "Second (00-59)": "Seconde (00-59)", + "Show Source": "Bron tonen", + "No content to preview": "Geen inhoud om te bekijken", + "Export": "Exporteren" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index cdc3e8ec..f7a431c0 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -869,5 +869,44 @@ "Only for TTS:": "Tylko dla TTS:", "Uploaded": "Przesłano", "Downloaded": "Pobrano", - "Deleted": "Usunięto" + "Deleted": "Usunięto", + "Note:": "Notatka:", + "Time:": "Czas:", + "Format Options": "Opcje formatu", + "Export Date": "Data eksportu", + "Chapter Titles": "Tytuły rozdziałów", + "Chapter Separator": "Separator rozdziałów", + "Highlights": "Zaznaczenia", + "Note Date": "Data notatki", + "Advanced": "Zaawansowane", + "Hide": "Ukryj", + "Show": "Pokaż", + "Use Custom Template": "Użyj własnego szablonu", + "Export Template": "Szablon eksportu", + "Template Syntax:": "Składnia szablonu:", + "Insert value": "Wstaw wartość", + "Format date (locale)": "Formatuj datę (lokalizacja)", + "Format date (custom)": "Formatuj datę (własny)", + "Conditional": "Warunkowy", + "Loop": "Pętla", + "Available Variables:": "Dostępne zmienne:", + "Book title": "Tytuł książki", + "Book author": "Autor książki", + "Export date": "Data eksportu", + "Array of chapters": "Tablica rozdziałów", + "Chapter title": "Tytuł rozdziału", + "Array of annotations": "Tablica adnotacji", + "Highlighted text": "Zaznaczony tekst", + "Annotation note": "Notatka adnotacji", + "Update time": "Czas aktualizacji", + "Date Format Tokens:": "Tokeny formatu daty:", + "Year (4 digits)": "Rok (4 cyfry)", + "Month (01-12)": "Miesiąc (01-12)", + "Day (01-31)": "Dzień (01-31)", + "Hour (00-23)": "Godzina (00-23)", + "Minute (00-59)": "Minuta (00-59)", + "Second (00-59)": "Sekunda (00-59)", + "Show Source": "Pokaż źródło", + "No content to preview": "Brak treści do podglądu", + "Export": "Eksportuj" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index 83f138d3..06006802 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -859,5 +859,44 @@ "Only for TTS:": "Apenas para TTS:", "Uploaded": "Enviado", "Downloaded": "Baixado", - "Deleted": "Excluído" + "Deleted": "Excluído", + "Note:": "Nota:", + "Time:": "Hora:", + "Format Options": "Opções de formato", + "Export Date": "Data de exportação", + "Chapter Titles": "Títulos dos capítulos", + "Chapter Separator": "Separador de capítulos", + "Highlights": "Destaques", + "Note Date": "Data da nota", + "Advanced": "Avançado", + "Hide": "Ocultar", + "Show": "Mostrar", + "Use Custom Template": "Usar modelo personalizado", + "Export Template": "Modelo de exportação", + "Template Syntax:": "Sintaxe do modelo:", + "Insert value": "Inserir valor", + "Format date (locale)": "Formatar data (local)", + "Format date (custom)": "Formatar data (personalizado)", + "Conditional": "Condicional", + "Loop": "Loop", + "Available Variables:": "Variáveis disponíveis:", + "Book title": "Título do livro", + "Book author": "Autor do livro", + "Export date": "Data de exportação", + "Array of chapters": "Lista de capítulos", + "Chapter title": "Título do capítulo", + "Array of annotations": "Lista de anotações", + "Highlighted text": "Texto destacado", + "Annotation note": "Nota de anotação", + "Update time": "Hora de atualização", + "Date Format Tokens:": "Tokens de formato de data:", + "Year (4 digits)": "Ano (4 dígitos)", + "Month (01-12)": "Mês (01-12)", + "Day (01-31)": "Dia (01-31)", + "Hour (00-23)": "Hora (00-23)", + "Minute (00-59)": "Minuto (00-59)", + "Second (00-59)": "Segundo (00-59)", + "Show Source": "Mostrar fonte", + "No content to preview": "Sem conteúdo para visualizar", + "Export": "Exportar" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index d778cb0c..836bc73e 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -869,5 +869,44 @@ "Only for TTS:": "Только для TTS:", "Uploaded": "Загружено", "Downloaded": "Скачано", - "Deleted": "Удалено" + "Deleted": "Удалено", + "Note:": "Примечание:", + "Time:": "Время:", + "Format Options": "Параметры формата", + "Export Date": "Дата экспорта", + "Chapter Titles": "Названия глав", + "Chapter Separator": "Разделитель глав", + "Highlights": "Выделения", + "Note Date": "Дата примечания", + "Advanced": "Дополнительно", + "Hide": "Скрыть", + "Show": "Показать", + "Use Custom Template": "Использовать свой шаблон", + "Export Template": "Шаблон экспорта", + "Template Syntax:": "Синтаксис шаблона:", + "Insert value": "Вставить значение", + "Format date (locale)": "Форматировать дату (локаль)", + "Format date (custom)": "Форматировать дату (свой)", + "Conditional": "Условный", + "Loop": "Цикл", + "Available Variables:": "Доступные переменные:", + "Book title": "Название книги", + "Book author": "Автор книги", + "Export date": "Дата экспорта", + "Array of chapters": "Массив глав", + "Chapter title": "Название главы", + "Array of annotations": "Массив примечаний", + "Highlighted text": "Выделенный текст", + "Annotation note": "Примечание аннотации", + "Update time": "Время обновления", + "Date Format Tokens:": "Токены формата даты:", + "Year (4 digits)": "Год (4 цифры)", + "Month (01-12)": "Месяц (01-12)", + "Day (01-31)": "День (01-31)", + "Hour (00-23)": "Час (00-23)", + "Minute (00-59)": "Минута (00-59)", + "Second (00-59)": "Секунда (00-59)", + "Show Source": "Показать источник", + "No content to preview": "Нет содержимого для просмотра", + "Export": "Экспортировать" } diff --git a/apps/readest-app/public/locales/si/translation.json b/apps/readest-app/public/locales/si/translation.json index 5657a0cd..700409c6 100644 --- a/apps/readest-app/public/locales/si/translation.json +++ b/apps/readest-app/public/locales/si/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "TTS සඳහා පමණක්:", "Uploaded": "උඩුගත කරන ලදී", "Downloaded": "බාගත කරන ලදී", - "Deleted": "මකා දමන ලදී" + "Deleted": "මකා දමන ලදී", + "Note:": "සටහන:", + "Time:": "කාලය:", + "Format Options": "ආකෘති විකල්ප", + "Export Date": "අපනයන දිනය", + "Chapter Titles": "කොටස් මාතෘකා", + "Chapter Separator": "කොටස් වෙන්කරු", + "Highlights": "ඉස්මතු කිරීම්", + "Note Date": "සටහන දිනය", + "Advanced": "උසස්", + "Hide": "සඟවන්න", + "Show": "පෙන්වන්න", + "Use Custom Template": "අභිරුචි සැකිල්ල භාවිතා කරන්න", + "Export Template": "අපනයන සැකිල්ල", + "Template Syntax:": "සැකිල්ලේ ව්‍යවස්ථාව:", + "Insert value": "වටිනාකම ඇතුළත් කරන්න", + "Format date (locale)": "දිනය ආකෘතිය (දේශීය)", + "Format date (custom)": "අභිරුචි දිනය ආකෘතිය", + "Conditional": "ශර්තමය", + "Loop": "ලූප්", + "Available Variables:": "ලබා ගත හැකි විචල්‍ය:", + "Book title": "පොත් මාතෘකාව", + "Book author": "පොත් රචකයා", + "Export date": "අපනයන දිනය", + "Array of chapters": "කොටස් අරය", + "Chapter title": "කොටස් මාතෘකාව", + "Array of annotations": "අනුසටහන් අරය", + "Highlighted text": "ඉස්මතු කළ පෙළ", + "Annotation note": "අනුසටහන් සටහන", + "Update time": "යාවත්කාලීන කාලය", + "Date Format Tokens:": "දිනය ආකෘති ටෝකන:", + "Year (4 digits)": "වසර (අංක 4)", + "Month (01-12)": "මාසය (01-12)", + "Day (01-31)": "දින (01-31)", + "Hour (00-23)": "පැය (00-23)", + "Minute (00-59)": "මිනිත්තු (00-59)", + "Second (00-59)": "තත්පර (00-59)", + "Show Source": "මූලාශ්‍රය පෙන්වන්න", + "No content to preview": "පෙරදසුන සඳහා අන්තර්ගතයක් නැත", + "Export": "අපනයනය කරන්න" } diff --git a/apps/readest-app/public/locales/sv/translation.json b/apps/readest-app/public/locales/sv/translation.json index 3cb1f507..903b1d73 100644 --- a/apps/readest-app/public/locales/sv/translation.json +++ b/apps/readest-app/public/locales/sv/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "Endast för TTS:", "Uploaded": "Uppladdad", "Downloaded": "Nedladdad", - "Deleted": "Borttagen" + "Deleted": "Borttagen", + "Note:": "Anteckning:", + "Time:": "Tid:", + "Format Options": "Formatalternativ", + "Export Date": "Exportdatum", + "Chapter Titles": "Kapiteltitlar", + "Chapter Separator": "Kapitelavgränsare", + "Highlights": "Markeringar", + "Note Date": "Anteckningsdatum", + "Advanced": "Avancerat", + "Hide": "Dölj", + "Show": "Visa", + "Use Custom Template": "Använd anpassad mall", + "Export Template": "Exportmall", + "Template Syntax:": "Mallsyntax:", + "Insert value": "Infoga värde", + "Format date (locale)": "Formatera datum (lokal)", + "Format date (custom)": "Formatera datum (anpassad)", + "Conditional": "Villkorlig", + "Loop": "Loop", + "Available Variables:": "Tillgängliga variabler:", + "Book title": "Boktitel", + "Book author": "Bokförfattare", + "Export date": "Exportdatum", + "Array of chapters": "Lista med kapitel", + "Chapter title": "Kapiteltitel", + "Array of annotations": "Lista med anteckningar", + "Highlighted text": "Markerad text", + "Annotation note": "Anteckningsnotering", + "Update time": "Uppdateringstid", + "Date Format Tokens:": "Datumformattecken:", + "Year (4 digits)": "År (4 siffror)", + "Month (01-12)": "Månad (01-12)", + "Day (01-31)": "Dag (01-31)", + "Hour (00-23)": "Timme (00-23)", + "Minute (00-59)": "Minut (00-59)", + "Second (00-59)": "Sekund (00-59)", + "Show Source": "Visa källa", + "No content to preview": "Inget innehåll att förhandsgranska", + "Export": "Exportera" } diff --git a/apps/readest-app/public/locales/ta/translation.json b/apps/readest-app/public/locales/ta/translation.json index 5427c12a..73d047bb 100644 --- a/apps/readest-app/public/locales/ta/translation.json +++ b/apps/readest-app/public/locales/ta/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "TTS க்கு மட்டும்:", "Uploaded": "பதிவேற்றப்பட்டது", "Downloaded": "பதிவிறக்கப்பட்டது", - "Deleted": "நீக்கப்பட்டது" + "Deleted": "நீக்கப்பட்டது", + "Note:": "குறிப்பு:", + "Time:": "நேரம்:", + "Format Options": "வடிவமைப்பு விருப்பங்கள்", + "Export Date": "ஏற்றுமதி தேதி", + "Chapter Titles": "அத்தியாயத் தலைப்புகள்", + "Chapter Separator": "அத்தியாய பிரிப்பான்", + "Highlights": "சிறப்பம்சங்கள்", + "Note Date": "குறிப்பு தேதி", + "Advanced": "மேம்பட்ட", + "Hide": "மறை", + "Show": "காட்டு", + "Use Custom Template": "தனிப்பயன் வார்ப்புரு பயன்படுத்து", + "Export Template": "ஏற்றுமதி வார்ப்புரு", + "Template Syntax:": "வார்ப்புரு தொடரியல்:", + "Insert value": "மதிப்பு செருகு", + "Format date (locale)": "தேதி வடிவமைப்பு (உள்ளூர்)", + "Format date (custom)": "தேதி வடிவமைப்பு (தனிப்பயன்)", + "Conditional": "நிபந்தனை", + "Loop": "சுழற்சி", + "Available Variables:": "கிடைக்கும் மாறிகள்:", + "Book title": "புத்தகத் தலைப்பு", + "Book author": "புத்தக ஆசிரியர்", + "Export date": "ஏற்றுமதி தேதி", + "Array of chapters": "அத்தியாயங்களின் பட்டியல்", + "Chapter title": "அத்தியாய தலைப்பு", + "Array of annotations": "குறிப்புகளின் பட்டியல்", + "Highlighted text": "முன்னிலைப்படுத்தப்பட்ட உரை", + "Annotation note": "குறிப்பு குறிப்பு", + "Update time": "புதுப்பிப்பு நேரம்", + "Date Format Tokens:": "தேதி வடிவமைப்பு டோக்கன்கள்:", + "Year (4 digits)": "ஆண்டு (4 இலக்கங்கள்)", + "Month (01-12)": "மாதம் (01-12)", + "Day (01-31)": "நாள் (01-31)", + "Hour (00-23)": "மணி (00-23)", + "Minute (00-59)": "நிமிடம் (00-59)", + "Second (00-59)": "விநாடி (00-59)", + "Show Source": "மூலத்தைக் காட்டு", + "No content to preview": "முன்னோட்டத்திற்கு உள்ளடக்கம் இல்லை", + "Export": "ஏற்றுமதி" } diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json index a31df248..925731ed 100644 --- a/apps/readest-app/public/locales/th/translation.json +++ b/apps/readest-app/public/locales/th/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "สำหรับ TTS เท่านั้น:", "Uploaded": "อัปโหลดแล้ว", "Downloaded": "ดาวน์โหลดแล้ว", - "Deleted": "ลบแล้ว" + "Deleted": "ลบแล้ว", + "Note:": "หมายเหตุ:", + "Time:": "เวลา:", + "Format Options": "ตัวเลือกรูปแบบ", + "Export Date": "วันที่ส่งออก", + "Chapter Titles": "ชื่อบท", + "Chapter Separator": "ตัวคั่นบท", + "Highlights": "ไฮไลต์", + "Note Date": "วันที่หมายเหตุ", + "Advanced": "ขั้นสูง", + "Hide": "ซ่อน", + "Show": "แสดง", + "Use Custom Template": "ใช้เทมเพลตที่กำหนดเอง", + "Export Template": "เทมเพลตส่งออก", + "Template Syntax:": "ไวยากรณ์เทมเพลต:", + "Insert value": "แทรกค่า", + "Format date (locale)": "จัดรูปแบบวันที่ (ท้องถิ่น)", + "Format date (custom)": "จัดรูปแบบวันที่ (กำหนดเอง)", + "Conditional": "เงื่อนไข", + "Loop": "ลูป", + "Available Variables:": "ตัวแปรที่พร้อมใช้งาน:", + "Book title": "ชื่อหนังสือ", + "Book author": "ผู้แต่งหนังสือ", + "Export date": "วันที่ส่งออก", + "Array of chapters": "อาร์เรย์ของบท", + "Chapter title": "ชื่อบท", + "Array of annotations": "อาร์เรย์ของคำอธิบาย", + "Highlighted text": "ข้อความที่ไฮไลต์", + "Annotation note": "หมายเหตุคำอธิบาย", + "Update time": "เวลาอัปเดต", + "Date Format Tokens:": "โทเค็นรูปแบบวันที่:", + "Year (4 digits)": "ปี (4 หลัก)", + "Month (01-12)": "เดือน (01-12)", + "Day (01-31)": "วัน (01-31)", + "Hour (00-23)": "ชั่วโมง (00-23)", + "Minute (00-59)": "นาที (00-59)", + "Second (00-59)": "วินาที (00-59)", + "Show Source": "แสดงซอร์ส", + "No content to preview": "ไม่มีเนื้อหาให้แสดงตัวอย่าง", + "Export": "ส่งออก" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index ec0b144a..22cb1a4c 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -849,5 +849,44 @@ "Only for TTS:": "Sadece TTS için:", "Uploaded": "Yüklendi", "Downloaded": "İndirildi", - "Deleted": "Silindi" + "Deleted": "Silindi", + "Note:": "Not:", + "Time:": "Saat:", + "Format Options": "Format Seçenekleri", + "Export Date": "Dışa Aktarma Tarihi", + "Chapter Titles": "Bölüm Başlıkları", + "Chapter Separator": "Bölüm Ayracı", + "Highlights": "Vurgular", + "Note Date": "Not Tarihi", + "Advanced": "Gelişmiş", + "Hide": "Gizle", + "Show": "Göster", + "Use Custom Template": "Özel Şablon Kullan", + "Export Template": "Dışa Aktarma Şablonu", + "Template Syntax:": "Şablon Sözdizimi:", + "Insert value": "Değer ekle", + "Format date (locale)": "Tarihi biçimlendir (yerel)", + "Format date (custom)": "Tarihi biçimlendir (özel)", + "Conditional": "Koşullu", + "Loop": "Döngü", + "Available Variables:": "Kullanılabilir Değişkenler:", + "Book title": "Kitap başlığı", + "Book author": "Kitap yazarı", + "Export date": "Dışa aktarma tarihi", + "Array of chapters": "Bölümler dizisi", + "Chapter title": "Bölüm başlığı", + "Array of annotations": "Notlar dizisi", + "Highlighted text": "Vurgulanan metin", + "Annotation note": "Not açıklaması", + "Update time": "Güncelleme zamanı", + "Date Format Tokens:": "Tarih Biçimi Belirteçleri:", + "Year (4 digits)": "Yıl (4 basamak)", + "Month (01-12)": "Ay (01-12)", + "Day (01-31)": "Gün (01-31)", + "Hour (00-23)": "Saat (00-23)", + "Minute (00-59)": "Dakika (00-59)", + "Second (00-59)": "Saniye (00-59)", + "Show Source": "Kaynağı Göster", + "No content to preview": "Önizlenecek içerik yok", + "Export": "Dışa Aktar" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index ebd636eb..7400a3a6 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -869,5 +869,44 @@ "Only for TTS:": "Тільки для TTS:", "Uploaded": "Завантажено", "Downloaded": "Звантажено", - "Deleted": "Видалено" + "Deleted": "Видалено", + "Note:": "Примітка:", + "Time:": "Час:", + "Format Options": "Параметри формату", + "Export Date": "Дата експорту", + "Chapter Titles": "Назви розділів", + "Chapter Separator": "Роздільник розділів", + "Highlights": "Виділення", + "Note Date": "Дата примітки", + "Advanced": "Розширені", + "Hide": "Сховати", + "Show": "Показати", + "Use Custom Template": "Використовувати власний шаблон", + "Export Template": "Шаблон експорту", + "Template Syntax:": "Синтаксис шаблону:", + "Insert value": "Вставити значення", + "Format date (locale)": "Форматувати дату (локаль)", + "Format date (custom)": "Форматувати дату (власний)", + "Conditional": "Умовний", + "Loop": "Цикл", + "Available Variables:": "Доступні змінні:", + "Book title": "Назва книги", + "Book author": "Автор книги", + "Export date": "Дата експорту", + "Array of chapters": "Масив розділів", + "Chapter title": "Назва розділу", + "Array of annotations": "Масив приміток", + "Highlighted text": "Виділений текст", + "Annotation note": "Примітка анотації", + "Update time": "Час оновлення", + "Date Format Tokens:": "Токени формату дати:", + "Year (4 digits)": "Рік (4 цифри)", + "Month (01-12)": "Місяць (01-12)", + "Day (01-31)": "День (01-31)", + "Hour (00-23)": "Година (00-23)", + "Minute (00-59)": "Хвилина (00-59)", + "Second (00-59)": "Секунда (00-59)", + "Show Source": "Показати джерело", + "No content to preview": "Немає вмісту для перегляду", + "Export": "Експортувати" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index 44e8cd7a..af8e1a73 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "Chỉ dành cho TTS:", "Uploaded": "Đã tải lên", "Downloaded": "Đã tải xuống", - "Deleted": "Đã xóa" + "Deleted": "Đã xóa", + "Note:": "Ghi chú:", + "Time:": "Thời gian:", + "Format Options": "Tùy chọn định dạng", + "Export Date": "Ngày xuất", + "Chapter Titles": "Tiêu đề chương", + "Chapter Separator": "Dấu phân cách chương", + "Highlights": "Đánh dấu", + "Note Date": "Ngày ghi chú", + "Advanced": "Nâng cao", + "Hide": "Ẩn", + "Show": "Hiển thị", + "Use Custom Template": "Sử dụng mẫu tùy chỉnh", + "Export Template": "Mẫu xuất", + "Template Syntax:": "Cú pháp mẫu:", + "Insert value": "Chèn giá trị", + "Format date (locale)": "Định dạng ngày (địa phương)", + "Format date (custom)": "Định dạng ngày (tùy chỉnh)", + "Conditional": "Điều kiện", + "Loop": "Vòng lặp", + "Available Variables:": "Biến có sẵn:", + "Book title": "Tiêu đề sách", + "Book author": "Tác giả sách", + "Export date": "Ngày xuất", + "Array of chapters": "Danh sách chương", + "Chapter title": "Tiêu đề chương", + "Array of annotations": "Danh sách chú thích", + "Highlighted text": "Văn bản được đánh dấu", + "Annotation note": "Ghi chú chú thích", + "Update time": "Thời gian cập nhật", + "Date Format Tokens:": "Token định dạng ngày:", + "Year (4 digits)": "Năm (4 chữ số)", + "Month (01-12)": "Tháng (01-12)", + "Day (01-31)": "Ngày (01-31)", + "Hour (00-23)": "Giờ (00-23)", + "Minute (00-59)": "Phút (00-59)", + "Second (00-59)": "Giây (00-59)", + "Show Source": "Hiển thị nguồn", + "No content to preview": "Không có nội dung để xem trước", + "Export": "Xuất" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index 9c766d36..250e72e7 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -839,5 +839,44 @@ "Date Published": "出版日期", "Uploaded": "已上传", "Downloaded": "已下载", - "Deleted": "已删除" + "Deleted": "已删除", + "Note:": "笔记:", + "Time:": "时间:", + "Format Options": "格式选项", + "Export Date": "导出日期", + "Chapter Titles": "章节标题", + "Chapter Separator": "章节分隔符", + "Highlights": "高亮", + "Note Date": "笔记日期", + "Advanced": "高级", + "Hide": "隐藏", + "Show": "显示", + "Use Custom Template": "使用自定义模板", + "Export Template": "导出模板", + "Template Syntax:": "模板语法:", + "Insert value": "插入值", + "Format date (locale)": "格式化日期(区域)", + "Format date (custom)": "格式化日期(自定义)", + "Conditional": "条件", + "Loop": "循环", + "Available Variables:": "可用变量:", + "Book title": "书名", + "Book author": "作者", + "Export date": "导出日期", + "Array of chapters": "章节数组", + "Chapter title": "章节标题", + "Array of annotations": "标注数组", + "Highlighted text": "高亮文本", + "Annotation note": "标注笔记", + "Update time": "更新时间", + "Date Format Tokens:": "日期格式标记:", + "Year (4 digits)": "年(4位)", + "Month (01-12)": "月(01-12)", + "Day (01-31)": "日(01-31)", + "Hour (00-23)": "时(00-23)", + "Minute (00-59)": "分(00-59)", + "Second (00-59)": "秒(00-59)", + "Show Source": "显示源码", + "No content to preview": "无内容可预览", + "Export": "导出" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index 9e74ce55..30e0db74 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -839,5 +839,44 @@ "Only for TTS:": "僅用於TTS:", "Uploaded": "已上傳", "Downloaded": "已下載", - "Deleted": "已刪除" + "Deleted": "已刪除", + "Note:": "筆記:", + "Time:": "時間:", + "Format Options": "格式選項", + "Export Date": "匯出日期", + "Chapter Titles": "章節標題", + "Chapter Separator": "章節分隔符", + "Highlights": "標記", + "Note Date": "筆記日期", + "Advanced": "進階", + "Hide": "隱藏", + "Show": "顯示", + "Use Custom Template": "使用自訂模板", + "Export Template": "匯出模板", + "Template Syntax:": "模板語法:", + "Insert value": "插入值", + "Format date (locale)": "格式化日期(區域)", + "Format date (custom)": "格式化日期(自訂)", + "Conditional": "條件", + "Loop": "迴圈", + "Available Variables:": "可用變數:", + "Book title": "書名", + "Book author": "作者", + "Export date": "匯出日期", + "Array of chapters": "章節陣列", + "Chapter title": "章節標題", + "Array of annotations": "標註陣列", + "Highlighted text": "標記文字", + "Annotation note": "標註筆記", + "Update time": "更新時間", + "Date Format Tokens:": "日期格式標記:", + "Year (4 digits)": "年(4位)", + "Month (01-12)": "月(01-12)", + "Day (01-31)": "日(01-31)", + "Hour (00-23)": "時(00-23)", + "Minute (00-59)": "分(00-59)", + "Second (00-59)": "秒(00-59)", + "Show Source": "顯示原始碼", + "No content to preview": "無內容可預覽", + "Export": "匯出" } diff --git a/apps/readest-app/src/app/reader/components/annotator/Annotator.tsx b/apps/readest-app/src/app/reader/components/annotator/Annotator.tsx index c546ad71..0f0a2342 100644 --- a/apps/readest-app/src/app/reader/components/annotator/Annotator.tsx +++ b/apps/readest-app/src/app/reader/components/annotator/Annotator.tsx @@ -38,6 +38,7 @@ import WikipediaPopup from './WikipediaPopup'; import TranslatorPopup from './TranslatorPopup'; import useShortcuts from '@/hooks/useShortcuts'; import ProofreadPopup from './ProofreadPopup'; +import ExportMarkdownDialog from './ExportMarkdownDialog'; const Annotator: React.FC<{ bookKey: string }> = ({ bookKey }) => { const _ = useTranslation(); @@ -76,6 +77,11 @@ const Annotator: React.FC<{ bookKey: string }> = ({ bookKey }) => { const [showAnnotationNotes, setShowAnnotationNotes] = useState(false); const [annotationNotes, setAnnotationNotes] = useState([]); const [editingAnnotation, setEditingAnnotation] = useState(null); + const [showExportDialog, setShowExportDialog] = useState(false); + const [exportData, setExportData] = useState<{ + booknotes: BookNote[]; + booknoteGroups: { [href: string]: BooknoteGroup }; + } | null>(null); const [selectedStyle, setSelectedStyle] = useState( settings.globalReadSettings.highlightStyle, @@ -765,6 +771,8 @@ const Annotator: React.FC<{ bookKey: string }> = ({ bookKey }) => { }); return; } + + // Organize booknotes into groups by chapter const booknoteGroups: { [href: string]: BooknoteGroup } = {}; for (const booknote of booknotes) { const tocItem = findTocItemBS(bookDoc.toc ?? [], booknote.cfi); @@ -783,36 +791,14 @@ const Annotator: React.FC<{ bookKey: string }> = ({ bookKey }) => { }); }); - const sortedGroups = Object.values(booknoteGroups).sort((a, b) => { - return a.id - b.id; - }); + setExportData({ booknotes, booknoteGroups }); + setShowExportDialog(true); + }; - const lines: string[] = []; - lines.push(`# ${book.title}`); - lines.push(`**${_('Author')}**: ${book.author || ''}`); - lines.push(''); - lines.push(`**${_('Exported from Readest')}**: ${new Date().toISOString().slice(0, 10)}`); - lines.push(''); - lines.push('---'); - lines.push(''); - lines.push(`## ${_('Highlights & Annotations')}`); - lines.push(''); + const handleConfirmExport = async (markdownContent: string) => { + const { book } = bookData; + if (!book) return; - for (const group of sortedGroups) { - const chapterTitle = group.label || _('Untitled'); - lines.push(`### ${chapterTitle}`); - for (const note of group.booknotes) { - lines.push(`> "${note.text}"`); - if (note.note) { - lines.push(`**${_('Note')}**:: ${note.note}`); - } - lines.push(''); - } - lines.push('---'); - lines.push(''); - } - - const markdownContent = lines.join('\n'); setTimeout(() => { // Delay to ensure it won't be overridden by system clipboard actions navigator.clipboard?.writeText(markdownContent); @@ -825,6 +811,14 @@ const Annotator: React.FC<{ bookKey: string }> = ({ bookKey }) => { message: saved ? _('Exported successfully') : _('Copied to clipboard'), timeout: 2000, }); + + setShowExportDialog(false); + setExportData(null); + }; + + const handleCancelExport = () => { + setShowExportDialog(false); + setExportData(null); }; const selectionAnnotated = selection?.annotated; @@ -953,6 +947,18 @@ const Annotator: React.FC<{ bookKey: string }> = ({ bookKey }) => { onStartEdit={handleStartEditAnnotation} /> )} + {showExportDialog && exportData && bookData.book && ( + + )} ); }; diff --git a/apps/readest-app/src/app/reader/components/annotator/ExportMarkdownDialog.tsx b/apps/readest-app/src/app/reader/components/annotator/ExportMarkdownDialog.tsx new file mode 100644 index 00000000..fbfd0208 --- /dev/null +++ b/apps/readest-app/src/app/reader/components/annotator/ExportMarkdownDialog.tsx @@ -0,0 +1,636 @@ +import clsx from 'clsx'; +import React, { useState, useMemo, useEffect } from 'react'; +import { marked } from 'marked'; +import { BookNote, BooknoteGroup, NoteExportConfig } from '@/types/book'; +import { useTranslation } from '@/hooks/useTranslation'; +import Dialog from '@/components/Dialog'; +import { useReaderStore } from '@/store/readerStore'; +import { DEFAULT_NOTE_EXPORT_CONFIG } from '@/services/constants'; +import { saveViewSettings } from '@/helpers/settings'; +import { useEnv } from '@/context/EnvContext'; + +interface ExportMarkdownDialogProps { + bookKey: string; + isOpen: boolean; + bookTitle: string; + bookAuthor: string; + booknotes: BookNote[]; + booknoteGroups: { [href: string]: BooknoteGroup }; + onCancel: () => void; + onExport: (markdown: string) => void; +} + +type TemplateData = { + title: string; + author: string; + exportDate: string; + chapters: { + title: string; + annotations: { + text: string; + note?: string; + timestamp?: number; + }[]; + }[]; +}; + +type TemplateVariable = { [key: string]: number | string | TemplateVariable | TemplateVariable[] }; + +const renderTemplate = (template: string, data: TemplateData): string => { + const applyFilter = ( + value: TemplateVariable, + filter: string, + filterArg?: string, + ): TemplateVariable | string => { + if (filter === 'date') { + if (typeof value === 'number') { + const date = new Date(value); + if (filterArg) { + const format = filterArg; + return format + .replace('%Y', date.getFullYear().toString()) + .replace('%m', String(date.getMonth() + 1).padStart(2, '0')) + .replace('%d', String(date.getDate()).padStart(2, '0')) + .replace('%H', String(date.getHours()).padStart(2, '0')) + .replace('%M', String(date.getMinutes()).padStart(2, '0')) + .replace('%S', String(date.getSeconds()).padStart(2, '0')); + } + return date.toLocaleString(); + } + return value; + } + return value; + }; + + const getValue = (path: string, context: TemplateData) => { + const keys = path.trim().split('.'); + let value = context as TemplateVariable; + for (const key of keys) { + value = value?.[key] as TemplateVariable; + } + return value; + }; + + let result = template; + + // Process {% for %} loops - find first occurrence and recurse + const forMatch = result.match(/\{%\s*for\s+(\w+)\s+in\s+(\w+(?:\.\w+)*)\s*%\}/); + if (forMatch) { + const itemName = forMatch[1]!; + const collectionPath = forMatch[2]!; + + // Find matching {% endfor %} by counting nesting + let depth = 0; + let endPos = -1; + const startPos = forMatch.index! + forMatch[0].length; + + for (let i = startPos; i < result.length; i++) { + const remaining = result.slice(i); + if (remaining.startsWith('{% for ')) { + depth++; + i += 6; // skip past "{% for" + } else if (remaining.startsWith('{% endfor %}')) { + if (depth === 0) { + endPos = i; + break; + } + depth--; + i += 11; // skip past "{% endfor %}" + } + } + + if (endPos !== -1) { + const beforeLoop = result.slice(0, forMatch.index); + const loopContent = result.slice(startPos, endPos); + const afterLoop = result.slice(endPos + 13); // 13 = length of "{% endfor %}" + + const collection = getValue(collectionPath, data); + + if (Array.isArray(collection)) { + const renderedItems = collection + .map((item) => { + const loopData = { ...data, [itemName]: item }; + return renderTemplate(loopContent, loopData); + }) + .join(''); + + result = beforeLoop + renderedItems + afterLoop; + return renderTemplate(result, data); + } else { + // Collection not found or not an array, remove the loop + result = beforeLoop + afterLoop; + return renderTemplate(result, data); + } + } + } + + // Process {% if condition %}...{% endif %} + result = result.replace( + /\{%\s*if\s+([^%]+?)\s*%\}([\s\S]*?)\{%\s*endif\s*%\}/g, + (_match, condition, content) => { + const value = getValue(condition, data); + return value ? renderTemplate(content, data) : ''; + }, + ); + + // Replace {{ variable }}, {{ variable | filter }}, and {{ variable | filter('arg') }} + result = result.replace( + /\{\{\s*([^}|]+?)(?:\s*\|\s*(\w+)(?:\s*\((['"]?)([^)'"]*)\3\))?)?\s*\}\}/g, + (_match, path, filter, _quote, filterArg) => { + const value = getValue(path, data); + if (value === undefined || value === null) return ''; + if (filter) { + return applyFilter(value, filter, filterArg) as string; + } + return String(value); + }, + ); + + return result; +}; + +const ExportMarkdownDialog: React.FC = ({ + bookKey, + isOpen, + bookTitle, + bookAuthor, + booknotes, + booknoteGroups, + onCancel, + onExport, +}) => { + const _ = useTranslation(); + const { envConfig } = useEnv(); + const { getViewSettings } = useReaderStore(); + const viewSettings = getViewSettings(bookKey); + + const defaultTemplate = `## {{ title }} +**${_('Author')}**: {{ author }} + +**${_('Exported from Readest')}**: {{ exportDate }} + +--- + +### ${_('Highlights & Annotations')} + +{% for chapter in chapters %} +#### {{ chapter.title }} +{% for annotation in chapter.annotations %} +> {{ annotation.text }} +{% if annotation.note %} +**${_('Note:')}** {{ annotation.note }} +{% endif %} +*${_('Time:')} {{ annotation.timestamp | date('%Y-%m-%d %H:%M') }}* +{% endfor %} + +--- +{% endfor %}`; + + const [exportConfig, setExportConfig] = useState(() => { + const noteExportConfig = viewSettings?.noteExportConfig || DEFAULT_NOTE_EXPORT_CONFIG; + if (!noteExportConfig.customTemplate) { + return { + ...noteExportConfig, + customTemplate: defaultTemplate, + }; + } + return noteExportConfig; + }); + + const [showSource, setShowSource] = useState(false); + const [showAdvanced, setShowAdvanced] = useState(false); + + useEffect(() => { + const customTemplate = exportConfig.customTemplate; + const newExportConfig = { + ...exportConfig, + customTemplate: customTemplate === defaultTemplate ? '' : customTemplate, + }; + saveViewSettings(envConfig, bookKey, 'noteExportConfig', newExportConfig, false, false); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [exportConfig, envConfig, bookKey]); + + // Generate markdown preview based on current format settings + const markdownPreview = useMemo(() => { + if (exportConfig.useCustomTemplate) { + // Prepare data for template rendering + const sortedGroups = Object.values(booknoteGroups).sort((a, b) => a.id - b.id); + + const templateData = { + title: bookTitle, + author: bookAuthor, + exportDate: new Date().toISOString().slice(0, 10), + chapters: sortedGroups.map((group) => ({ + title: group.label || _('Untitled'), + annotations: group.booknotes.map((note) => ({ + text: note.text || '', + note: note.note || '', + style: note.style, + color: note.color, + timestamp: note.updatedAt, + })), + })), + }; + + return renderTemplate(exportConfig.customTemplate, templateData); + } + + // Default formatting (non-template mode) + const sortedGroups = Object.values(booknoteGroups).sort((a, b) => a.id - b.id); + + const lines: string[] = []; + + // Add title + if (exportConfig.includeTitle) { + lines.push(`# ${bookTitle}`); + } + + // Add author + if (exportConfig.includeAuthor && bookAuthor) { + lines.push(`**${_('Author')}**: ${bookAuthor}`); + lines.push(''); + } + + // Add export date + if (exportConfig.includeDate) { + lines.push(`**${_('Exported from Readest')}**: ${new Date().toISOString().slice(0, 10)}`); + lines.push(''); + } + + if (exportConfig.includeTitle || exportConfig.includeAuthor || exportConfig.includeDate) { + lines.push('---'); + lines.push(''); + } + + lines.push(`## ${_('Highlights & Annotations')}`); + lines.push(''); + + for (const group of sortedGroups) { + // Add chapter title + if (exportConfig.includeChapterTitles) { + const chapterTitle = group.label || _('Untitled'); + lines.push(`### ${chapterTitle}`); + } + + for (const note of group.booknotes) { + // Add quote + if (exportConfig.includeQuotes && note.text) { + lines.push(`> ${note.text}`); + } + + // Add note + if (exportConfig.includeNotes && note.note) { + lines.push(''); + lines.push(`**${_('Note')}**:: ${note.note}`); + } + + // Add timestamp + if (exportConfig.includeTimestamp && note.updatedAt) { + const timestamp = new Date(note.updatedAt).toLocaleString(); + lines.push(''); + lines.push(`*${_('Time:')} ${timestamp}*`); + } + + lines.push(exportConfig.noteSeparator); + } + + if (exportConfig.includeChapterSeparator) { + lines.push('---'); + lines.push(''); + } + } + + return lines.join('\n'); + }, [exportConfig, booknoteGroups, bookTitle, bookAuthor, _]); + + // Convert markdown to HTML for preview + const htmlPreview = useMemo(() => { + if (!markdownPreview) return ''; + return marked.parse(markdownPreview); + }, [markdownPreview]); + + const handleToggle = (field: keyof NoteExportConfig) => { + setExportConfig((prev) => ({ + ...prev, + [field]: !prev[field], + })); + }; + + const handleExport = () => { + onExport(markdownPreview); + }; + + return ( + +
+ {/* Format Options */} +
+

{_('Format Options')}

+ +
+ + + + + + + + + + + + + + + +
+
+ + {/* Advanced Options */} +
+
+

{_('Advanced')}

+ +
+ + {showAdvanced && ( +
+ + + {exportConfig.useCustomTemplate && ( + <> +
+ +