From a9e00902759c9596f658a60f61bbab3ec24a0208 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 7 Jul 2025 17:21:41 +0800 Subject: [PATCH] i18n: add Thai (th-TH) translations (#1548) --- apps/readest-app/i18next-scanner.config.js | 1 + .../public/locales/ar/translation.json | 9 +- .../public/locales/de/translation.json | 9 +- .../public/locales/el/translation.json | 9 +- .../public/locales/es/translation.json | 9 +- .../public/locales/fr/translation.json | 9 +- .../public/locales/hi/translation.json | 9 +- .../public/locales/id/translation.json | 9 +- .../public/locales/it/translation.json | 9 +- .../public/locales/ja/translation.json | 9 +- .../public/locales/ko/translation.json | 9 +- .../public/locales/nl/translation.json | 9 +- .../public/locales/pl/translation.json | 9 +- .../public/locales/pt/translation.json | 9 +- .../public/locales/ru/translation.json | 9 +- .../public/locales/th/translation.json | 417 ++++++++++++++++++ .../public/locales/tr/translation.json | 9 +- .../public/locales/uk/translation.json | 9 +- .../public/locales/vi/translation.json | 9 +- .../public/locales/zh-CN/translation.json | 12 +- .../public/locales/zh-TW/translation.json | 9 +- apps/readest-app/src/app/auth/page.tsx | 2 +- apps/readest-app/src/app/library/page.tsx | 12 +- .../src/components/BookDetailModal.tsx | 44 +- apps/readest-app/src/services/constants.ts | 1 + apps/readest-app/src/utils/lang.ts | 1 + 26 files changed, 548 insertions(+), 104 deletions(-) create mode 100644 apps/readest-app/public/locales/th/translation.json diff --git a/apps/readest-app/i18next-scanner.config.js b/apps/readest-app/i18next-scanner.config.js index cdc08171..32b66875 100644 --- a/apps/readest-app/i18next-scanner.config.js +++ b/apps/readest-app/i18next-scanner.config.js @@ -26,6 +26,7 @@ module.exports = { 'id', 'vi', 'ar', + 'th', 'zh-CN', 'zh-TW', ], diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 6f1275f2..7593bb8a 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -156,7 +156,7 @@ "Create a Password": "إنشاء كلمة مرور", "Sign up": "إنشاء حساب", "Signing up...": "يتم الآن إنشاء الحساب...", - "Don’t have an account? Sign up": "ليس لديك حساب؟ قم بالتسجيل", + "Don't have an account? Sign up": "ليس لديك حساب؟ قم بالتسجيل", "Check your email for the confirmation link": "تحقق من بريدك الإلكتروني للحصول على رابط التأكيد", "Signing in ...": "يتم الآن تسجيل الدخول ...", "Send a magic link email": "إرسال رابط سحري إلى بريدك الإلكتروني", @@ -374,8 +374,6 @@ "Upgrade to Plus or Pro": "الترقية إلى Plus أو Pro", "Current Plan": "الخطة الحالية", "Plan Limits": "حدود الخطة", - "Available Plans": "الخطط المتاحة", - "{{current}} of {{all}}": "{{current}} من {{all}}", "Failed to manage subscription. Please try again later.": "فشل في إدارة الاشتراك. يرجى المحاولة مرة أخرى لاحقًا.", "Processing your payment...": "جارٍ معالجة الدفع...", "Please wait while we confirm your subscription.": "يرجى الانتظار بينما نقوم بتأكيد اشتراكك.", @@ -432,5 +430,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "ترجم حتى 500 ألف حرف يوميًا بأدق محرك ترجمة متاح.", "10 GB Cloud Sync Storage": "10 جيجابايت تخزين سحابي", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "احفظ واوصل لمجموعة قراءتك كاملة بـ 2 جيجابايت تخزين سحابي آمن.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "احفظ واوصل لمجموعة قراءتك كاملة بـ 10 جيجابايت تخزين سحابي آمن." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "احفظ واوصل لمجموعة قراءتك كاملة بـ 10 جيجابايت تخزين سحابي آمن.", + "Deleted cloud backup of the book: {{title}}": "تم حذف النسخة الاحتياطية السحابية للكتاب: {{title}}", + "Failed to delete cloud backup of the book": "فشل في حذف النسخة الاحتياطية السحابية للكتاب", + "Are you sure to delete the cloud backup of the selected book?": "هل أنت متأكد من حذف النسخة الاحتياطية السحابية للكتاب المحدد؟" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index d831cc45..4ee82a4f 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -156,7 +156,7 @@ "Create a Password": "Passwort erstellen", "Sign up": "Registrieren", "Signing up...": "Registrierung...", - "Don’t have an account? Sign up": "Kein Konto? Registrieren", + "Don't have an account? Sign up": "Kein Konto? Registrieren", "Check your email for the confirmation link": "Überprüfen Sie Ihre E-Mails auf den Bestätigungslink", "Signing in ...": "Anmeldung ...", "Send a magic link email": "Magic-Link-E-Mail senden", @@ -358,8 +358,6 @@ "Upgrade to Plus or Pro": "Upgrade auf Plus oder Pro", "Current Plan": "Aktueller Tarif", "Plan Limits": "Tariflimits", - "Available Plans": "Verfügbare Tarife", - "{{current}} of {{all}}": "{{current}} von {{all}}", "Failed to manage subscription. Please try again later.": "Verwaltung des Abos fehlgeschlagen. Bitte versuchen Sie es später erneut.", "Processing your payment...": "Zahlung wird verarbeitet...", "Please wait while we confirm your subscription.": "Bitte warten Sie, während wir Ihr Abo bestätigen.", @@ -416,5 +414,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Übersetzen Sie täglich bis zu 500.000 Zeichen mit der genauesten verfügbaren Übersetzungsmaschine.", "10 GB Cloud Sync Storage": "10 GB Cloud-Sync-Speicher", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Speichern und greifen Sie sicher auf Ihre gesamte Lesekollektion mit bis zu 2 GB Cloud-Speicher zu.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Speichern und greifen Sie sicher auf Ihre gesamte Lesekollektion mit bis zu 10 GB Cloud-Speicher zu." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Speichern und greifen Sie sicher auf Ihre gesamte Lesekollektion mit bis zu 10 GB Cloud-Speicher zu.", + "Deleted cloud backup of the book: {{title}}": "Gelöschte Cloud-Sicherung des Buches: {{title}}", + "Failed to delete cloud backup of the book": "Fehler beim Löschen der Cloud-Sicherung des Buches", + "Are you sure to delete the cloud backup of the selected book?": "Sind Sie sicher, dass Sie die Cloud-Sicherung des ausgewählten Buches löschen möchten?" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index 48802076..a3cf8278 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Δημιουργία κωδικού πρόσβασης", "Sign up": "Εγγραφή", "Signing up...": "Εγγραφή...", - "Don’t have an account? Sign up": "Δεν έχετε λογαριασμό; Εγγραφείτε", + "Don't have an account? Sign up": "Δεν έχετε λογαριασμό; Εγγραφείτε", "Check your email for the confirmation link": "Ελέγξτε το email σας για τον σύνδεσμο επιβεβαίωσης", "Signing in ...": "Σύνδεση ...", "Send a magic link email": "Αποστολή email με μαγικό σύνδεσμο", @@ -359,8 +359,6 @@ "Upgrade to Plus or Pro": "Αναβάθμιση σε Plus ή Pro", "Current Plan": "Τρέχον πρόγραμμα", "Plan Limits": "Όρια προγράμματος", - "Available Plans": "Διαθέσιμα προγράμματα", - "{{current}} of {{all}}": "{{current}} από {{all}}", "Failed to manage subscription. Please try again later.": "Αποτυχία διαχείρισης της συνδρομής. Παρακαλώ δοκιμάστε ξανά αργότερα.", "Processing your payment...": "Επεξεργασία πληρωμής...", "Please wait while we confirm your subscription.": "Παρακαλώ περιμένετε όσο επιβεβαιώνουμε τη συνδρομή σας.", @@ -416,5 +414,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Μεταφράστε έως 500.000 χαρακτήρες ημερησίως με τη πιο ακριβή μηχανή μετάφρασης.", "10 GB Cloud Sync Storage": "10 GB Αποθήκευση Cloud Sync", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Αποθηκεύστε και αποκτήστε πρόσβαση στη συλλογή ανάγνωσης με έως 2 GB ασφαλή cloud αποθήκευση.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Αποθηκεύστε και αποκτήστε πρόσβαση στη συλλογή ανάγνωσης με έως 10 GB ασφαλή cloud αποθήκευση." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Αποθηκεύστε και αποκτήστε πρόσβαση στη συλλογή ανάγνωσης με έως 10 GB ασφαλή cloud αποθήκευση.", + "Deleted cloud backup of the book: {{title}}": "Διαγράφηκε το αντίγραφο ασφαλείας του βιβλίου: {{title}}", + "Failed to delete cloud backup of the book": "Αποτυχία διαγραφής του αντιγράφου ασφαλείας του βιβλίου", + "Are you sure to delete the cloud backup of the selected book?": "Είστε σίγουροι ότι θέλετε να διαγράψετε το αντίγραφο ασφαλείας του επιλεγμένου βιβλίου;" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index e7b66e5b..3e2ba74a 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Crear una contraseña", "Sign up": "Registrarse", "Signing up...": "Registrándose...", - "Don’t have an account? Sign up": "¿No tienes una cuenta? Regístrate", + "Don't have an account? Sign up": "¿No tienes una cuenta? Regístrate", "Check your email for the confirmation link": "Revisa tu correo electrónico para el enlace de confirmación", "Signing in ...": "Iniciando sesión ...", "Send a magic link email": "Enviar un enlace mágico por correo", @@ -363,8 +363,6 @@ "Upgrade to Plus or Pro": "Actualizar a Plus o Pro", "Current Plan": "Plan actual", "Plan Limits": "Límites del plan", - "Available Plans": "Planes disponibles", - "{{current}} of {{all}}": "{{current}} de {{all}}", "Failed to manage subscription. Please try again later.": "No se pudo gestionar la suscripción. Por favor, inténtalo de nuevo más tarde.", "Processing your payment...": "Procesando tu pago...", "Please wait while we confirm your subscription.": "Espera mientras confirmamos tu suscripción.", @@ -420,5 +418,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Traduce hasta 500,000 caracteres diarios con el motor de traducción más preciso disponible.", "10 GB Cloud Sync Storage": "10 GB de Almacenamiento en la Nube", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Almacena y accede de forma segura a toda tu colección de lectura con hasta 2 GB de almacenamiento en la nube.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Almacena y accede de forma segura a toda tu colección de lectura con hasta 10 GB de almacenamiento en la nube." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Almacena y accede de forma segura a toda tu colección de lectura con hasta 10 GB de almacenamiento en la nube.", + "Deleted cloud backup of the book: {{title}}": "Respaldo en la nube del libro eliminado: {{title}}", + "Failed to delete cloud backup of the book": "Fallo al eliminar el respaldo en la nube del libro", + "Are you sure to delete the cloud backup of the selected book?": "¿Estás seguro de que deseas eliminar el respaldo en la nube del libro seleccionado?" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index b2c9c6d7..6209de93 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -157,7 +157,6 @@ "Create a Password": "Créer un mot de passe", "Sign up": "S'inscrire", "Signing up...": "Inscription en cours...", - "Don’t have an account? Sign up": "Vous n'avez pas de compte ? Inscrivez-vous", "Check your email for the confirmation link": "Vérifiez votre e-mail pour le lien de confirmation", "Signing in ...": "Connexion en cours ...", "Send a magic link email": "Envoyer un e-mail avec un lien magique", @@ -363,8 +362,6 @@ "Upgrade to Plus or Pro": "Passer à Plus ou Pro", "Current Plan": "Abonnement actuel", "Plan Limits": "Limites de l’abonnement", - "Available Plans": "Abonnements disponibles", - "{{current}} of {{all}}": "{{current}} sur {{all}}", "Failed to manage subscription. Please try again later.": "Échec de la gestion de l’abonnement. Veuillez réessayer plus tard.", "Processing your payment...": "Traitement de votre paiement...", "Please wait while we confirm your subscription.": "Veuillez patienter pendant la confirmation de votre abonnement.", @@ -420,5 +417,9 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Traduisez jusqu'à 500 000 caractères par jour avec le moteur de traduction le plus précis.", "10 GB Cloud Sync Storage": "10 GB de Stockage Cloud Sync", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Stockez et accédez en sécurité à votre collection de lecture avec jusqu'à 2 GB de stockage cloud.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Stockez et accédez en sécurité à votre collection de lecture avec jusqu'à 10 GB de stockage cloud." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Stockez et accédez en sécurité à votre collection de lecture avec jusqu'à 10 GB de stockage cloud.", + "Deleted cloud backup of the book: {{title}}": "Suppression de la sauvegarde cloud du livre : {{title}}", + "Failed to delete cloud backup of the book": "Échec de la suppression de la sauvegarde cloud du livre", + "Are you sure to delete the cloud backup of the selected book?": "Êtes-vous sûr de vouloir supprimer la sauvegarde cloud du livre sélectionné ?", + "Don't have an account? Sign up": "Vous n'avez pas de compte ? Inscrivez-vous" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index ab059d35..81126142 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -157,7 +157,7 @@ "Create a Password": "पासवर्ड बनाएं", "Sign up": "साइन अप करें", "Signing up...": "साइन अप हो रहा है...", - "Don’t have an account? Sign up": "कोई खाता नहीं है? साइन अप करें", + "Don't have an account? Sign up": "कोई खाता नहीं है? साइन अप करें", "Check your email for the confirmation link": "पुष्टि लिंक के लिए अपना ईमेल जांचें", "Signing in ...": "साइन इन हो रहा है ...", "Send a magic link email": "जादू लिंक ईमेल भेजें", @@ -359,8 +359,6 @@ "Upgrade to Plus or Pro": "Plus या Pro में अपग्रेड करें", "Current Plan": "वर्तमान योजना", "Plan Limits": "योजना की सीमाएँ", - "Available Plans": "उपलब्ध योजनाएँ", - "{{current}} of {{all}}": "{{all}} में से {{current}}", "Failed to manage subscription. Please try again later.": "सदस्यता प्रबंधित करने में विफल। कृपया बाद में पुनः प्रयास करें।", "Processing your payment...": "आपका भुगतान संसाधित हो रहा है...", "Please wait while we confirm your subscription.": "कृपया प्रतीक्षा करें, हम आपकी सदस्यता की पुष्टि कर रहे हैं।", @@ -416,5 +414,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "सबसे सटीक अनुवाद इंजन के साथ दैनिक 5 लाख तक अक्षर अनुवाद करें।", "10 GB Cloud Sync Storage": "10 GB क्लाउड सिंक स्टोरेज", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "2 GB सुरक्षित क्लाउड स्टोरेज के साथ अपना संपूर्ण पठन संग्रह संग्रहीत करें।", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "10 GB सुरक्षित क्लाउड स्टोरेज के साथ अपना संपूर्ण पठन संग्रह संग्रहीत करें।" + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "10 GB सुरक्षित क्लाउड स्टोरेज के साथ अपना संपूर्ण पठन संग्रह संग्रहीत करें।", + "Deleted cloud backup of the book: {{title}}": "पुस्तक का क्लाउड बैकअप हटाया गया: {{title}}", + "Failed to delete cloud backup of the book": "पुस्तक का क्लाउड बैकअप हटाने में विफल", + "Are you sure to delete the cloud backup of the selected book?": "क्या आप सुनिश्चित हैं कि आप चयनित पुस्तक का क्लाउड बैकअप हटाना चाहते हैं?" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index 991ed808..1d195bb2 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Buat kata sandi", "Sign up": "Daftar", "Signing up...": "Sedang mendaftar...", - "Don’t have an account? Sign up": "Belum punya akun? Daftar", + "Don't have an account? Sign up": "Belum punya akun? Daftar", "Check your email for the confirmation link": "Periksa email Anda untuk tautan konfirmasi", "Signing in ...": "Sedang masuk ...", "Send a magic link email": "Kirim email tautan ajaib", @@ -355,8 +355,6 @@ "Upgrade to Plus or Pro": "Tingkatkan ke Plus atau Pro", "Current Plan": "Paket Saat Ini", "Plan Limits": "Batas Paket", - "Available Plans": "Paket yang Tersedia", - "{{current}} of {{all}}": "{{current}} dari {{all}}", "Failed to manage subscription. Please try again later.": "Gagal mengelola langganan. Silakan coba lagi nanti.", "Processing your payment...": "Memproses pembayaran Anda...", "Please wait while we confirm your subscription.": "Mohon tunggu saat kami mengonfirmasi langganan Anda.", @@ -412,5 +410,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Terjemahkan hingga 500.000 karakter harian dengan mesin terjemahan paling akurat.", "10 GB Cloud Sync Storage": "Penyimpanan Cloud Sync 10 GB", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Simpan dan akses koleksi bacaan lengkap dengan aman menggunakan penyimpanan cloud 2 GB.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Simpan dan akses koleksi bacaan lengkap dengan aman menggunakan penyimpanan cloud 10 GB." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Simpan dan akses koleksi bacaan lengkap dengan aman menggunakan penyimpanan cloud 10 GB.", + "Deleted cloud backup of the book: {{title}}": "Cadangan cloud buku dihapus: {{title}}", + "Failed to delete cloud backup of the book": "Cadangan cloud buku gagal dihapus", + "Are you sure to delete the cloud backup of the selected book?": "Apakah Anda yakin ingin menghapus cadangan cloud dari buku yang dipilih?" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index 0aeb415c..f04e5a68 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Crea una password", "Sign up": "Registrati", "Signing up...": "Registrazione in corso...", - "Don’t have an account? Sign up": "Non hai un account? Registrati", + "Don't have an account? Sign up": "Non hai un account? Registrati", "Check your email for the confirmation link": "Controlla la tua email per il link di conferma", "Signing in ...": "Accesso in corso ...", "Send a magic link email": "Invia un'email con link magico", @@ -363,8 +363,6 @@ "Upgrade to Plus or Pro": "Aggiorna a Plus o Pro", "Current Plan": "Piano Attuale", "Plan Limits": "Limiti del Piano", - "Available Plans": "Piani Disponibili", - "{{current}} of {{all}}": "{{current}} di {{all}}", "Failed to manage subscription. Please try again later.": "Impossibile gestire l'abbonamento. Riprova più tardi.", "Processing your payment...": "Elaborazione del pagamento...", "Please wait while we confirm your subscription.": "Attendi mentre confermiamo il tuo abbonamento.", @@ -420,5 +418,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Traduci fino a 500.000 caratteri al giorno con il motore di traduzione più accurato.", "10 GB Cloud Sync Storage": "Archiviazione Cloud Sync da 10 GB", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Archivia e accedi in sicurezza alla tua intera collezione di lettura con fino a 2 GB di storage cloud.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Archivia e accedi in sicurezza alla tua intera collezione di lettura con fino a 10 GB di storage cloud." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Archivia e accedi in sicurezza alla tua intera collezione di lettura con fino a 10 GB di storage cloud.", + "Deleted cloud backup of the book: {{title}}": "Backup cloud del libro eliminato: {{title}}", + "Failed to delete cloud backup of the book": "Impossibile eliminare il backup cloud del libro", + "Are you sure to delete the cloud backup of the selected book?": "Sei sicuro di voler eliminare il backup cloud del libro selezionato?" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index 7f30b3d8..d4c04da2 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -157,7 +157,7 @@ "Create a Password": "パスワードを作成", "Sign up": "サインアップ", "Signing up...": "サインアップ中...", - "Don’t have an account? Sign up": "アカウントをお持ちでないですか? サインアップ", + "Don't have an account? Sign up": "アカウントをお持ちでないですか? サインアップ", "Check your email for the confirmation link": "確認リンクのためにメールを確認してください", "Signing in ...": "サインイン中 ...", "Send a magic link email": "マジックリンクメールを送信", @@ -355,8 +355,6 @@ "Upgrade to Plus or Pro": "Plus または Pro にアップグレード", "Current Plan": "現在のプラン", "Plan Limits": "プランの上限", - "Available Plans": "利用可能なプラン", - "{{current}} of {{all}}": "{{all}} 中 {{current}}", "Failed to manage subscription. Please try again later.": "サブスクリプションの管理に失敗しました。後でもう一度お試しください。", "Processing your payment...": "お支払いを処理中...", "Please wait while we confirm your subscription.": "サブスクリプションを確認しています。しばらくお待ちください。", @@ -412,5 +410,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "最も正確な翻訳エンジンで1日最大50万文字を翻訳。", "10 GB Cloud Sync Storage": "10GBクラウド同期ストレージ", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "最大2GBの安全なクラウドストレージで読書コレクション全体を保存・アクセス。", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "最大10GBの安全なクラウドストレージで読書コレクション全体を保存・アクセス。" + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "最大10GBの安全なクラウドストレージで読書コレクション全体を保存・アクセス。", + "Deleted cloud backup of the book: {{title}}": "書籍のクラウドバックアップを削除しました:{{title}}", + "Failed to delete cloud backup of the book": "書籍のクラウドバックアップを削除できませんでした", + "Are you sure to delete the cloud backup of the selected book?": "選択した書籍のクラウドバックアップを削除してもよろしいですか?" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index 0abb6054..c0a0081d 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -157,7 +157,7 @@ "Create a Password": "비밀번호 만들기", "Sign up": "회원가입", "Signing up...": "회원가입 중...", - "Don’t have an account? Sign up": "계정이 없습니까? 회원가입", + "Don't have an account? Sign up": "계정이 없습니까? 회원가입", "Check your email for the confirmation link": "확인 링크를 위해 이메일을 확인하세요", "Signing in ...": "로그인 중 ...", "Send a magic link email": "마법의 링크 이메일 보내기", @@ -355,8 +355,6 @@ "Upgrade to Plus or Pro": "Plus 또는 Pro로 업그레이드", "Current Plan": "현재 요금제", "Plan Limits": "요금제 한도", - "Available Plans": "이용 가능한 요금제", - "{{current}} of {{all}}": "{{all}} 중 {{current}}", "Failed to manage subscription. Please try again later.": "구독 관리에 실패했습니다. 나중에 다시 시도해주세요.", "Processing your payment...": "결제를 처리 중입니다...", "Please wait while we confirm your subscription.": "구독을 확인하는 중입니다. 잠시만 기다려주세요.", @@ -412,5 +410,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "가장 정확한 번역 엔진으로 매일 최대 50만 자를 번역하세요.", "10 GB Cloud Sync Storage": "10GB 클라우드 동기화 저장소", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "최대 2GB의 안전한 클라우드 저장소로 전체 독서 컬렉션을 저장하고 액세스하세요.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "최대 10GB의 안전한 클라우드 저장소로 전체 독서 컬렉션을 저장하고 액세스하세요." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "최대 10GB의 안전한 클라우드 저장소로 전체 독서 컬렉션을 저장하고 액세스하세요.", + "Deleted cloud backup of the book: {{title}}": "책의 클라우드 백업이 삭제됨: {{title}}", + "Failed to delete cloud backup of the book": "책의 클라우드 백업을 삭제하지 못했습니다.", + "Are you sure to delete the cloud backup of the selected book?": "선택한 책의 클라우드 백업을 삭제하시겠습니까?" } diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json index 8c6bec27..104b761d 100644 --- a/apps/readest-app/public/locales/nl/translation.json +++ b/apps/readest-app/public/locales/nl/translation.json @@ -273,7 +273,7 @@ "Reveal in Finder": "Tonen in Finder", "Reveal in File Explorer": "Tonen in Verkenner", "Reveal in Folder": "Tonen in map", - "Don’t have an account? Sign up": "Nog geen account? Registreer u", + "Don't have an account? Sign up": "Nog geen account? Registreer u", "All the world's a stage,\nAnd all the men and women merely players;\nThey have their exits and their entrances,\nAnd one man in his time plays many parts,\nHis acts being seven ages.\n\n— William Shakespeare": "De hele wereld is een toneel,\nEn alle mannen en vrouwen slechts spelers;\nZij hebben hun uitgangen en hun entrees,\nEn één man speelt in zijn tijd vele rollen,\nZijn daden zijnde zeven leeftijden.\n\n— William Shakespeare", "Next Section": "Volgende sectie", "Previous Section": "Vorige sectie", @@ -359,8 +359,6 @@ "Upgrade to Plus or Pro": "Upgrade naar Plus of Pro", "Current Plan": "Huidig abonnement", "Plan Limits": "Abonnementslimieten", - "Available Plans": "Beschikbare abonnementen", - "{{current}} of {{all}}": "{{current}} van {{all}}", "Failed to manage subscription. Please try again later.": "Abonnement beheren is mislukt. Probeer het later opnieuw.", "Processing your payment...": "Je betaling wordt verwerkt...", "Please wait while we confirm your subscription.": "Even geduld terwijl we je abonnement bevestigen.", @@ -416,5 +414,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Vertaal dagelijks tot 500.000 tekens met de meest nauwkeurige vertaalengine.", "10 GB Cloud Sync Storage": "10 GB Cloud Sync Opslag", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Sla je hele leesverzameling veilig op en benader deze met tot 2 GB cloudopslag.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Sla je hele leesverzameling veilig op en benader deze met tot 10 GB cloudopslag." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Sla je hele leesverzameling veilig op en benader deze met tot 10 GB cloudopslag.", + "Deleted cloud backup of the book: {{title}}": "Verwijderde cloudback-up van het boek: {{title}}", + "Failed to delete cloud backup of the book": "Verwijderen van cloudback-up van het boek is mislukt.", + "Are you sure to delete the cloud backup of the selected book?": "Weet je zeker dat je de cloudback-up van het geselecteerde boek wilt verwijderen?" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index 7063b7f7..b55b0342 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Utwórz hasło", "Sign up": "Zarejestruj się", "Signing up...": "Rejestracja...", - "Don’t have an account? Sign up": "Nie masz konta? Zarejestruj się", + "Don't have an account? Sign up": "Nie masz konta? Zarejestruj się", "Check your email for the confirmation link": "Sprawdź swój email, aby uzyskać link potwierdzający", "Signing in ...": "Logowanie ...", "Send a magic link email": "Wyślij link magiczny na email", @@ -367,8 +367,6 @@ "Upgrade to Plus or Pro": "Uaktualnij do Plus lub Pro", "Current Plan": "Obecny plan", "Plan Limits": "Limity planu", - "Available Plans": "Dostępne plany", - "{{current}} of {{all}}": "{{current}} z {{all}}", "Failed to manage subscription. Please try again later.": "Nie udało się zarządzać subskrypcją. Spróbuj ponownie później.", "Processing your payment...": "Przetwarzanie płatności...", "Please wait while we confirm your subscription.": "Proszę czekać, potwierdzamy subskrypcję.", @@ -424,5 +422,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Tłumacz do 500 000 znaków dziennie z najdokładniejszą dostępną maszyną tłumaczeniową.", "10 GB Cloud Sync Storage": "10 GB Pamięci Cloud Sync", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Bezpiecznie przechowuj i uzyskuj dostęp do całej kolekcji czytelniczej z do 2 GB pamięci w chmurze.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Bezpiecznie przechowuj i uzyskuj dostęp do całej kolekcji czytelniczej z do 10 GB pamięci w chmurze." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Bezpiecznie przechowuj i uzyskuj dostęp do całej kolekcji czytelniczej z do 10 GB pamięci w chmurze.", + "Deleted cloud backup of the book: {{title}}": "Usunięto kopię zapasową książki w chmurze: {{title}}", + "Failed to delete cloud backup of the book": "Nie udało się usunąć kopii zapasowej książki w chmurze.", + "Are you sure to delete the cloud backup of the selected book?": "Czy na pewno chcesz usunąć kopię zapasową chmury wybranej książki?" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index e6d6d990..f563a40a 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Criar uma senha", "Sign up": "Cadastrar-se", "Signing up...": "Cadastrando...", - "Don’t have an account? Sign up": "Não tem uma conta? Cadastre-se", + "Don't have an account? Sign up": "Não tem uma conta? Cadastre-se", "Check your email for the confirmation link": "Verifique seu e-mail para o link de confirmação", "Signing in ...": "Entrando ...", "Send a magic link email": "Enviar um link mágico por e-mail", @@ -363,8 +363,6 @@ "Upgrade to Plus or Pro": "Atualizar para Plus ou Pro", "Current Plan": "Plano atual", "Plan Limits": "Limites do plano", - "Available Plans": "Planos disponíveis", - "{{current}} of {{all}}": "{{current}} de {{all}}", "Failed to manage subscription. Please try again later.": "Não foi possível gerenciar a assinatura. Tente novamente mais tarde.", "Processing your payment...": "Processando seu pagamento...", "Please wait while we confirm your subscription.": "Por favor, aguarde enquanto confirmamos sua assinatura.", @@ -420,5 +418,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Traduza até 500.000 caracteres diariamente com o motor de tradução mais preciso disponível.", "10 GB Cloud Sync Storage": "10 GB de Armazenamento na Nuvem", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Armazene e acesse com segurança sua coleção completa de leitura com até 2 GB de armazenamento na nuvem.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Armazene e acesse com segurança sua coleção completa de leitura com até 10 GB de armazenamento na nuvem." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Armazene e acesse com segurança sua coleção completa de leitura com até 10 GB de armazenamento na nuvem.", + "Deleted cloud backup of the book: {{title}}": "Backup na nuvem do livro excluído: {{title}}", + "Failed to delete cloud backup of the book": "Falha ao excluir o backup na nuvem do livro.", + "Are you sure to delete the cloud backup of the selected book?": "Tem certeza de que deseja excluir o backup na nuvem do livro selecionado?" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index e32212ef..d137e748 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Создать пароль", "Sign up": "Зарегистрироваться", "Signing up...": "Регистрация...", - "Don’t have an account? Sign up": "Нет аккаунта? Зарегистрируйтесь", + "Don't have an account? Sign up": "Нет аккаунта? Зарегистрируйтесь", "Check your email for the confirmation link": "Проверьте свою почту для подтверждающей ссылки", "Signing in ...": "Вход ...", "Send a magic link email": "Отправить магическую ссылку по электронной почте", @@ -367,8 +367,6 @@ "Upgrade to Plus or Pro": "Обновить до Plus или Pro", "Current Plan": "Текущий план", "Plan Limits": "Лимиты плана", - "Available Plans": "Доступные планы", - "{{current}} of {{all}}": "{{current}} из {{all}}", "Failed to manage subscription. Please try again later.": "Не удалось управлять подпиской. Пожалуйста, попробуйте позже.", "Processing your payment...": "Обработка платежа...", "Please wait while we confirm your subscription.": "Пожалуйста, подождите, пока мы подтверждаем вашу подписку.", @@ -424,5 +422,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Переводите до 500 000 символов ежедневно с самым точным доступным движком перевода.", "10 GB Cloud Sync Storage": "10 ГБ Облачного Хранилища", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Безопасно храните и получайте доступ ко всей коллекции чтения с до 2 ГБ облачного хранилища.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Безопасно храните и получайте доступ ко всей коллекции чтения с до 10 ГБ облачного хранилища." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Безопасно храните и получайте доступ ко всей коллекции чтения с до 10 ГБ облачного хранилища.", + "Deleted cloud backup of the book: {{title}}": "Удалено облачное резервное копирование книги: {{title}}", + "Failed to delete cloud backup of the book": "Не удалось удалить облачное резервное копирование книги.", + "Are you sure to delete the cloud backup of the selected book?": "Вы уверены, что хотите удалить облачное резервное копирование выбранной книги?" } diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json new file mode 100644 index 00000000..f579645f --- /dev/null +++ b/apps/readest-app/public/locales/th/translation.json @@ -0,0 +1,417 @@ +{ + "Email address": "อีเมล", + "Your Password": "รหัสผ่าน", + "Your email address": "อีเมลของคุณ", + "Your password": "รหัสผ่านของคุณ", + "Sign in": "เข้าสู่ระบบ", + "Signing in...": "กำลังเข้าสู่ระบบ...", + "Sign in with {{provider}}": "เข้าสู่ระบบด้วย {{provider}}", + "Already have an account? Sign in": "มีบัญชีแล้ว? เข้าสู่ระบบ", + "Create a Password": "สร้างรหัสผ่าน", + "Sign up": "สมัครสมาชิก", + "Signing up...": "กำลังสมัครสมาชิก...", + "Check your email for the confirmation link": "ตรวจสอบอีเมลเพื่อยืนยัน", + "Signing in ...": "กำลังเข้าสู่ระบบ...", + "Send a magic link email": "ส่งลิงก์เข้าสู่ระบบ", + "Check your email for the magic link": "ตรวจสอบอีเมลเพื่อรับลิงก์", + "Send reset password instructions": "ส่งคำแนะนำรีเซ็ตรหัส", + "Sending reset instructions ...": "กำลังส่งคำแนะนำ...", + "Forgot your password?": "ลืมรหัสผ่าน?", + "Check your email for the password reset link": "ตรวจสอบอีเมลเพื่อรีเซ็ตรหัส", + "Phone number": "เบอร์โทรศัพท์", + "Your phone number": "เบอร์โทรศัพท์ของคุณ", + "Token": "รหัสยืนยัน", + "Your OTP token": "รหัส OTP ของคุณ", + "Verify token": "ยืนยันรหัส", + "Sign in with Google": "เข้าสู่ระบบด้วย Google", + "Sign in with Apple": "เข้าสู่ระบบด้วย Apple", + "Sign in with GitHub": "เข้าสู่ระบบด้วย GitHub", + "New Password": "รหัสผ่านใหม่", + "Your new password": "รหัสผ่านใหม่ของคุณ", + "Update password": "อัปเดตรหัสผ่าน", + "Updating password ...": "กำลังอัปเดตรหัสผ่าน...", + "Your password has been updated": "รหัสผ่านได้รับการอัปเดตแล้ว", + "Something went wrong. Don't worry, our team has been notified and we're working on a fix.": "เกิดข้อผิดพลาด ทีมงานได้รับแจ้งแล้วและกำลังแก้ไข", + "Error Details:": "รายละเอียดข้อผิดพลาด:", + "Try Again": "ลองใหม่", + "Go Back": "กลับ", + "Your Library": "คลังหนังสือ", + "Need help?": "ต้องการความช่วยเหลือ?", + "Contact Support": "ติดต่อฝ่ายสนับสนุน", + "Open": "เปิด", + "Group": "กลุ่ม", + "Details": "รายละเอียด", + "Delete": "ลบ", + "Cancel": "ยกเลิก", + "Confirm Deletion": "ยืนยันการลบ", + "Are you sure to delete {{count}} selected book(s)?_other": "ยืนยันลบหนังสือ {{count}} เล่ม?", + "Deselect Book": "ยกเลิกเลือกหนังสือ", + "Select Book": "เลือกหนังสือ", + "Show Book Details": "แสดงรายละเอียดหนังสือ", + "Download Book": "ดาวน์โหลดหนังสือ", + "Upload Book": "อัปโหลดหนังสือ", + "Deselect Group": "ยกเลิกเลือกกลุ่ม", + "Select Group": "เลือกกลุ่ม", + "Untitled Group": "กลุ่มไม่มีชื่อ", + "Group Books": "จัดกลุ่มหนังสือ", + "Remove From Group": "ลบออกจากกลุ่ม", + "Create New Group": "สร้างกลุ่มใหม่", + "Save": "บันทึก", + "Confirm": "ยืนยัน", + "From Local File": "จากไฟล์ในเครื่อง", + "Search in {{count}} Book(s)..._other": "ค้นหาใน {{count}} เล่ม...", + "Search Books...": "ค้นหาหนังสือ...", + "Clear Search": "ล้างการค้นหา", + "Import Books": "นำเข้าหนังสือ", + "Select Multiple Books": "เลือกหลายเล่ม", + "Select Books": "เลือกหนังสือ", + "Deselect": "ยกเลิกเลือก", + "Select All": "เลือกทั้งหมด", + "Logged in as {{userDisplayName}}": "เข้าสู่ระบบในชื่อ {{userDisplayName}}", + "Logged in": "เข้าสู่ระบบแล้ว", + "Account": "บัญชี", + "Sign In": "เข้าสู่ระบบ", + "Auto Upload Books to Cloud": "อัปโหลดหนังสืออัตโนมัติ", + "Auto Import on File Open": "นำเข้าอัตโนมัติเมื่อเปิดไฟล์", + "Open Last Book on Start": "เปิดหนังสือล่าสุดเมื่อเริ่มใช้", + "Check Updates on Start": "ตรวจสอบอัปเดตเมื่อเริ่มใช้", + "Fullscreen": "เต็มจอ", + "Always on Top": "แสดงด้านบนเสมอ", + "Always Show Status Bar": "แสดงแถบสถานะเสมอ", + "Keep Screen Awake": "เปิดหน้าจอค้าง", + "Reload Page": "โหลดหน้าใหม่", + "Dark Mode": "โหมดมืด", + "Light Mode": "โหมดสว่าง", + "Auto Mode": "โหมดอัตโนมัติ", + "Upgrade to Readest Premium": "อัปเกรดเป็น Readest Premium", + "Download Readest": "ดาวน์โหลด Readest", + "About Readest": "เกี่ยวกับ Readest", + "Help improve Readest": "ช่วยพัฒนา Readest", + "Sharing anonymized statistics": "แชร์สถิติแบบไม่ระบุตัวตน", + "List": "รายการ", + "Grid": "ตาราง", + "Crop": "ครอบตัด", + "Fit": "ปรับพอดี", + "Title": "ชื่อเรื่อง", + "Author": "ผู้แต่ง", + "Format": "รูปแบบ", + "Date Read": "วันที่อ่าน", + "Date Added": "วันที่เพิ่ม", + "Ascending": "น้อยไปมาก", + "Descending": "มากไปน้อย", + "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.": "ไม่รองรับรูปแบบหนังสือนี้", + "Failed to import book(s): {{filenames}}": "ไม่สามารถนำเข้าหนังสือ: {{filenames}}", + "Book uploaded: {{title}}": "อัปโหลดหนังสือแล้ว: {{title}}", + "Insufficient storage quota": "พื้นที่จัดเก็บไม่เพียงพอ", + "Failed to upload book: {{title}}": "ไม่สามารถอัปโหลดหนังสือ: {{title}}", + "Book downloaded: {{title}}": "ดาวน์โหลดหนังสือแล้ว: {{title}}", + "Failed to download book: {{title}}": "ไม่สามารถดาวน์โหลดหนังสือ: {{title}}", + "Book deleted: {{title}}": "ลบหนังสือแล้ว: {{title}}", + "Failed to delete book: {{title}}": "ไม่สามารถลบหนังสือ: {{title}}", + "Deleted cloud backup of the book: {{title}}": "ลบสำรองบนคลาวด์แล้ว: {{title}}", + "Failed to delete cloud backup of the book": "ไม่สามารถลบสำรองบนคลาวด์", + "Welcome to your library. You can import your books here and read them anytime.": "ยินดีต้อนรับสู่คลังหนังสือ คุณสามารถนำเข้าหนังสือและอ่านได้ตลอดเวลา", + "Copied to notebook": "คัดลอกไปยังสมุดบันทึก", + "No annotations to export": "ไม่มีบันทึกให้ส่งออก", + "Exported from Readest": "ส่งออกจาก Readest", + "Highlights & Annotations": "ไฮไลต์และบันทึก", + "Untitled": "ไม่มีชื่อ", + "Note": "บันทึก", + "Copied to clipboard": "คัดลอกแล้ว", + "Copy": "คัดลอก", + "Delete Highlight": "ลบไฮไลต์", + "Highlight": "ไฮไลต์", + "Annotate": "บันทึก", + "Search": "ค้นหา", + "Dictionary": "พจนานุกรม", + "Wikipedia": "วิกิพีเดีย", + "Translate": "แปล", + "Speak": "อ่านออกเสียง", + "Login Required": "ต้องเข้าสู่ระบบ", + "Quota Exceeded": "เกินโควตา", + "Unable to fetch the translation. Please log in first and try again.": "ไม่สามารถแปลได้ กรุณาเข้าสู่ระบบก่อน", + "Unable to fetch the translation. Try again later.": "ไม่สามารถแปลได้ ลองใหม่ภายหลัง", + "Original Text": "ข้อความต้นฉบับ", + "Auto Detect": "ตรวจสอบอัตโนมัติ", + "(detected)": "(ตรวจพบ)", + "Translated Text": "ข้อความแปล", + "Loading...": "กำลังโหลด...", + "No translation available.": "ไม่มีการแปล", + "Translated by {{provider}}.": "แปลโดย {{provider}}", + "Bookmark": "บุ๊กมาร์ก", + "Next Section": "ส่วนถัดไป", + "Previous Section": "ส่วนก่อนหน้า", + "Next Page": "หน้าถัดไป", + "Previous Page": "หน้าก่อนหน้า", + "Go Forward": "ไปข้างหน้า", + "Small": "เล็ก", + "Large": "ใหญ่", + "Notebook": "สมุดบันทึก", + "No notes match your search": "ไม่พบบันทึกที่ตรงกับการค้นหา", + "Excerpts": "ข้อความที่เลือก", + "Notes": "บันทึก", + "Add your notes here...": "เพิ่มบันทึกที่นี่...", + "Search notes and excerpts...": "ค้นหาบันทึกและข้อความ...", + "{{time}} min left in chapter": "เหลือ {{time}} นาทีในบท", + "{{count}} pages left in chapter_other": "เหลือ {{count}} หน้าในบท", + "Theme Mode": "โหมดธีม", + "Invert Image In Dark Mode": "กลับสีรูปในโหมดมืด", + "Override Book Color": "เขียนทับสีหนังสือ", + "Theme Color": "สีธีม", + "Custom": "กำหนดเอง", + "Code Highlighting": "ไฮไลต์โค้ด", + "Enable Highlighting": "เปิดไฮไลต์", + "Code Language": "ภาษาโค้ด", + "Scroll": "เลื่อน", + "Scrolled Mode": "โหมดเลื่อน", + "Continuous Scroll": "เลื่อนต่อเนื่อง", + "Overlap Pixels": "พิกเซลซ้อน", + "Click": "คลิก", + "Clicks for Page Flip": "คลิกเพื่อพลิกหน้า", + "Swap Clicks Area": "สลับพื้นที่คลิก", + "Volume Keys for Page Flip": "ปุ่มเสียงเพื่อพลิกหน้า", + "Animation": "ภาพเคลื่อนไหว", + "Paging Animation": "ภาพเคลื่อนไหวพลิกหน้า", + "Security": "ความปลอดภัย", + "Allow JavaScript": "อนุญาต JavaScript", + "Enable only if you trust the file.": "เปิดเฉพาะไฟล์ที่เชื่อถือได้", + "Global Settings": "การตั้งค่าทั่วไป", + "Apply to All Books": "ใช้กับหนังสือทั้งหมด", + "Apply to This Book": "ใช้กับหนังสือนี้", + "Reset Settings": "รีเซ็ตการตั้งค่า", + "System Fonts": "ฟอนต์ระบบ", + "Serif Font": "ฟอนต์ Serif", + "Sans-Serif Font": "ฟอนต์ Sans-Serif", + "Override Book Font": "เขียนทับฟอนต์หนังสือ", + "Font Size": "ขนาดฟอนต์", + "Default Font Size": "ขนาดฟอนต์เริ่มต้น", + "Minimum Font Size": "ขนาดฟอนต์ต่ำสุด", + "Font Weight": "น้ำหนักฟอนต์", + "Font Family": "ตระกูลฟอนต์", + "Default Font": "ฟอนต์เริ่มต้น", + "CJK Font": "ฟอนต์ CJK", + "Font Face": "หน้าฟอนต์", + "Monospace Font": "ฟอนต์ Monospace", + "Auto": "อัตโนมัติ", + "System Language": "ภาษาระบบ", + "Language": "ภาษา", + "Interface Language": "ภาษาส่วนติดต่อ", + "Translation": "การแปล", + "Enable Translation": "เปิดการแปล", + "Show Source Text": "แสดงข้อความต้นฉบับ", + "Translation Service": "บริการแปล", + "Translate To": "แปลเป็น", + "Override Book Layout": "เขียนทับเลย์เอาต์หนังสือ", + "Writing Mode": "โหมดการเขียน", + "Default": "เริ่มต้น", + "Horizontal Direction": "ทิศทางแนวนอน", + "Vertical Direction": "ทิศทางแนวตั้ง", + "RTL Direction": "ทิศทาง RTL", + "Border Frame": "กรอบขอบ", + "Double Border": "ขอบคู่", + "Border Color": "สีขอบ", + "Paragraph": "ย่อหน้า", + "Paragraph Margin": "ระยะขอบย่อหน้า", + "Line Spacing": "ระยะห่างบรรทัด", + "Word Spacing": "ระยะห่างคำ", + "Letter Spacing": "ระยะห่างตัวอักษร", + "Text Indent": "การเยื้องข้อความ", + "Full Justification": "จัดแนวเต็มบรรทัด", + "Hyphenation": "การใส่เครื่องหมายยัติภังค์", + "Page": "หน้า", + "Top Margin (px)": "ขอบบน (px)", + "Bottom Margin (px)": "ขอบล่าง (px)", + "Left Margin (px)": "ขอบซ้าย (px)", + "Right Margin (px)": "ขอบขวา (px)", + "Column Gap (%)": "ช่องว่างคอลัมน์ (%)", + "Maximum Number of Columns": "จำนวนคอลัมน์สูงสุด", + "Maximum Column Height": "ความสูงคอลัมน์สูงสุด", + "Maximum Column Width": "ความกว้างคอลัมน์สูงสุด", + "Header & Footer": "หัวกระดาษและท้ายกระดาษ", + "Show Header": "แสดงหัวกระดาษ", + "Show Footer": "แสดงท้ายกระดาษ", + "Show Remaining Time": "แสดงเวลาที่เหลือ", + "Show Remaining Pages": "แสดงหน้าที่เหลือ", + "Show Page Number": "แสดงเลขหน้า", + "Apply also in Scrolled Mode": "ใช้ในโหมดเลื่อนด้วย", + "Screen": "หน้าจอ", + "Orientation": "การวางแนว", + "Portrait": "แนวตั้ง", + "Landscape": "แนวนอน", + "Apply": "ใช้", + "Custom Content CSS": "CSS เนื้อหากำหนดเอง", + "Enter CSS for book content styling...": "ป้อน CSS สำหรับจัดรูปแบบเนื้อหา...", + "Custom Reader UI CSS": "CSS ส่วนติดต่อผู้ใช้", + "Enter CSS for reader interface styling...": "ป้อน CSS สำหรับจัดรูปแบบส่วนติดต่อ...", + "Font": "ฟอนต์", + "Layout": "เลย์เอาต์", + "Color": "สี", + "Behavior": "พฤติกรรม", + "Reset {{settings}}": "รีเซ็ต {{settings}}", + "(from 'As You Like It', Act II)": "(จาก 'As You Like It', องก์ที่ 2)", + "Custom Theme": "ธีมกำหนดเอง", + "Theme Name": "ชื่อธีม", + "Text Color": "สีข้อความ", + "Background Color": "สีพื้นหลัง", + "Link Color": "สีลิงก์", + "Preview": "ดูตัวอย่าง", + "Font & Layout": "ฟอนต์และเลย์เอาต์", + "Book Cover": "ปกหนังสือ", + "More Info": "ข้อมูลเพิ่มเติม", + "Parallel Read": "อ่านคู่ขนาน", + "Disable": "ปิด", + "Enable": "เปิด", + "Export Annotations": "ส่งออกบันทึก", + "Sort TOC by Page": "เรียงสารบัญตามหน้า", + "Edit": "แก้ไข", + "Search...": "ค้นหา...", + "Book": "หนังสือ", + "Chapter": "บท", + "Match Case": "ตรงตามตัวอักษร", + "Match Whole Words": "ตรงทั้งคำ", + "Match Diacritics": "ตรงตามเครื่องหมายวรรณยุกต์", + "TOC": "สารบัญ", + "Sidebar": "แถบข้าง", + "Disable Translation": "ปิดการแปล", + "Translation Not Available": "ไม่มีการแปล", + "TTS not supported for PDF": "ไม่รองรับ TTS สำหรับ PDF", + "TTS not supported in this device": "อุปกรณ์นี้ไม่รองรับ TTS", + "No Timeout": "ไม่จำกัดเวลา", + "{{value}} minute": "{{value}} นาที", + "{{value}} minutes": "{{value}} นาที", + "{{value}} hour": "{{value}} ชั่วโมง", + "{{value}} hours": "{{value}} ชั่วโมง", + "Slow": "ช้า", + "Fast": "เร็ว", + "{{engine}}: {{count}} voices_other": "{{engine}}: {{count}} เสียง", + "Sign in to Sync": "เข้าสู่ระบบเพื่อซิงค์", + "Synced at {{time}}": "ซิงค์เมื่อ {{time}}", + "Never synced": "ไม่เคยซิงค์", + "Reading Progress Synced": "ซิงค์ความคืบหน้าแล้ว", + "Delete Your Account?": "ลบบัญชีของคุณ?", + "This action cannot be undone. All your data in the cloud will be permanently deleted.": "การกระทำนี้ไม่สามารถยกเลิกได้ ข้อมูลทั้งหมดบนคลาวด์จะถูกลบถาวร", + "Delete Permanently": "ลบถาวร", + "Manage Subscription": "จัดการการสมัครสมาชิก", + "Sign Out": "ออกจากระบบ", + "Delete Account": "ลบบัญชี", + "Upgrade to {{plan}}": "อัปเกรดเป็น {{plan}}", + "Complete Your Subscription": "ดำเนินการสมัครสมาชิกให้เสร็จ", + "Coming Soon": "เร็วๆ นี้", + "Upgrade to Plus or Pro": "อัปเกรดเป็น Plus หรือ Pro", + "Current Plan": "แผนปัจจุบัน", + "Plan Limits": "ข้อจำกัดแผน", + "Failed to delete user. Please try again later.": "ไม่สามารถลบผู้ใช้ ลองใหม่ภายหลัง", + "Failed to manage subscription. Please try again later.": "ไม่สามารถจัดการสมาชิก ลองใหม่ภายหลัง", + "Loading profile...": "กำลังโหลดโปรไฟล์...", + "Processing your payment...": "กำลังประมวลผลการชำระเงิน...", + "Please wait while we confirm your subscription.": "กรุณารอสักครู่เพื่อยืนยันการสมัครสมาชิก", + "Payment Processing": "กำลังประมวลผลการชำระเงิน", + "Your payment is being processed. This usually takes a few moments.": "กำลังประมวลผลการชำระเงิน โดยปกติใช้เวลาสักครู่", + "Payment Failed": "การชำระเงินล้มเหลว", + "We couldn't process your subscription. Please try again or contact support if the issue persists.": "ไม่สามารถประมวลผลการสมัครสมาชิก ลองใหม่หรือติดต่อฝ่ายสนับสนุน", + "Back to Profile": "กลับไปที่โปรไฟล์", + "Subscription Successful!": "สมัครสมาชิกสำเร็จ!", + "Thank you for your subscription! Your payment has been processed successfully.": "ขอบคุณสำหรับการสมัครสมาชิก! ชำระเงินเรียบร้อยแล้ว", + "Email:": "อีเมล:", + "Plan:": "แผน:", + "Amount:": "จำนวนเงิน:", + "Subscription ID:": "รหัสสมาชิก:", + "Go to Library": "ไปที่คลังหนังสือ", + "Need help? Contact our support team at support@readest.com": "ต้องการความช่วยเหลือ? ติดต่อทีมสนับสนุนที่ support@readest.com", + "Free Plan": "แผนฟรี", + "month": "เดือน", + "Cross-Platform Sync": "ซิงค์ข้ามแพลตฟอร์ม", + "Seamlessly sync your library, progress, highlights, and notes across all your devices—never lose your place again.": "ซิงค์คลังหนังสือ ความคืบหน้า ไฮไลต์ และบันทึกข้ามอุปกรณ์—ไม่สูญหายอีกต่อไป", + "Customizable Reading": "การอ่านแบบปรับแต่งได้", + "Personalize every detail with adjustable fonts, layouts, themes, and advanced display settings for the perfect reading experience.": "ปรับแต่งทุกรายละเอียดด้วยฟอนต์ เลย์เอาต์ ธีม และการตั้งค่าขั้นสูงเพื่อประสบการณ์การอ่านที่สมบูรณ์แบบ", + "AI Read Aloud": "AI อ่านออกเสียง", + "Enjoy hands-free reading with natural-sounding AI voices that bring your books to life.": "เพลิดเพลินกับการอ่านแบบเสรีมือด้วยเสียง AI ที่เป็นธรรมชาติ", + "AI Translations": "การแปลด้วย AI", + "Translate any text instantly with the power of Google, Azure, or DeepL—understand content in any language.": "แปลข้อความได้ทันทีด้วยพลัง Google, Azure หรือ DeepL—เข้าใจเนื้อหาทุกภาษา", + "Community Support": "การสนับสนุนชุมชน", + "Connect with fellow readers and get help fast in our friendly community channels.": "เชื่อมต่อกับนักอ่านอื่นๆ และรับความช่วยเหลือในชุมชนที่เป็นมิตร", + "Cloud Sync Storage": "พื้นที่จัดเก็บซิงค์คลาวด์", + "AI Translations (per day)": "การแปล AI (ต่อวัน)", + "Plus Plan": "แผน Plus", + "Includes All Free Plan Benefits": "รวมสิทธิประโยชน์แผนฟรีทั้งหมด", + "Unlimited AI Read Aloud Hours": "AI อ่านออกเสียงไม่จำกัด", + "Listen without limits—convert as much text as you like into immersive audio.": "ฟังไม่จำกัด—แปลงข้อความเป็นเสียงได้ไม่อั้น", + "More AI Translations": "การแปล AI เพิ่มขึ้น", + "Unlock enhanced translation capabilities with more daily usage and advanced options.": "ปลดล็อกความสามารถการแปลที่เพิ่มขึ้นพร้อมโควตารายวันและตัวเลือกขั้นสูง", + "DeepL Pro Access": "การเข้าถึง DeepL Pro", + "Translate up to 100,000 characters daily with the most accurate translation engine available.": "แปลได้สูงสุด 100,000 อักขระต่อวันด้วยเครื่องมือแปลที่แม่นยำที่สุด", + "2 GB Cloud Sync Storage": "พื้นที่ซิงค์คลาวด์ 2 GB", + "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "จัดเก็บและเข้าถึงคอลเลคชันการอ่านอย่างปลอดภัยด้วยพื้นที่คลาวด์ 2 GB", + "Priority Support": "การสนับสนุนแบบพิเศษ", + "Enjoy faster responses and dedicated assistance whenever you need help.": "รับการตอบสนองที่รวดเร็วและความช่วยเหลือเฉพาะเมื่อต้องการ", + "Pro Plan": "แผน Pro", + "Includes All Plus Plan Benefits": "รวมสิทธิประโยชน์แผน Plus ทั้งหมด", + "Early Feature Access": "เข้าถึงฟีเจอร์ใหม่ก่อนใคร", + "Be the first to explore new features, updates, and innovations before anyone else.": "เป็นคนแรกที่ได้สำรวจฟีเจอร์ใหม่ อัปเดต และนวัตกรรมก่อนใคร", + "Advanced AI Tools": "เครื่องมือ AI ขั้นสูง", + "Harness powerful AI tools for smarter reading, translation, and content discovery.": "ใช้เครื่องมือ AI อันทรงพลังเพื่อการอ่าน การแปล และการค้นหาเนื้อหาที่ฉลาดขึ้น", + "Translate up to 500,000 characters daily with the most accurate translation engine available.": "แปลได้สูงสุด 500,000 อักขระต่อวันด้วยเครื่องมือแปลที่แม่นยำที่สุด", + "10 GB Cloud Sync Storage": "พื้นที่ซิงค์คลาวด์ 10 GB", + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "จัดเก็บและเข้าถึงคอลเลคชันการอ่านอย่างปลอดภัยด้วยพื้นที่คลาวด์ 10 GB", + "Version {{version}}": "เวอร์ชัน {{version}}", + "Check Update": "ตรวจสอบอัปเดต", + "Already the latest version": "เป็นเวอร์ชันล่าสุดแล้ว", + "Checking for updates...": "กำลังตรวจสอบอัปเดต...", + "Error checking for updates": "เกิดข้อผิดพลาดในการตรวจสอบอัปเดต", + "Book Details": "รายละเอียดหนังสือ", + "Unknown": "ไม่ทราบ", + "Publisher:": "สำนักพิมพ์:", + "Published:": "วันที่พิมพ์:", + "Updated:": "อัปเดต:", + "Added:": "เพิ่มเมื่อ:", + "Language:": "ภาษา:", + "Subjects:": "หัวข้อ:", + "Format:": "รูปแบบ:", + "File Size:": "ขนาดไฟล์:", + "Description:": "คำอธิบาย:", + "No description available": "ไม่มีคำอธิบาย", + "Are you sure to delete the selected book?": "ยืนยันลบหนังสือที่เลือก?", + "Are you sure to delete the cloud backup of the selected book?": "ยืนยันลบสำรองคลาวด์ของหนังสือที่เลือก?", + "Drop to Import Books": "วางเพื่อนำเข้าหนังสือ", + "A new version of Readest is available!": "Readest เวอร์ชันใหม่พร้อมใช้งาน!", + "Readest {{newVersion}} is available (installed version {{currentVersion}}).": "Readest {{newVersion}} พร้อมใช้งาน (เวอร์ชันที่ติดตั้ง {{currentVersion}})", + "Download and install now?": "ดาวน์โหลดและติดตั้งเลย?", + "Downloading {{downloaded}} of {{contentLength}}": "กำลังดาวน์โหลด {{downloaded}} จาก {{contentLength}}", + "Download finished": "ดาวน์โหลดเสร็จสิ้น", + "DOWNLOAD & INSTALL": "ดาวน์โหลดและติดตั้ง", + "Changelog:": "รายการเปลี่ยนแปลง:", + "Software Update": "อัปเดตซอฟต์แวร์", + "{{percentage}}% of Cloud Sync Space Used.": "ใช้พื้นที่ซิงค์คลาวด์ {{percentage}}%", + "Translation Characters": "อักขระการแปล", + "{{percentage}}% of Daily Translation Characters Used.": "ใช้อักขระการแปลรายวัน {{percentage}}%", + "Daily translation quota reached. Upgrade your plan to continue using AI translations.": "ใช้โควตาการแปลรายวันครบแล้ว อัปเกรดแผนเพื่อใช้การแปล AI ต่อ", + "LXGW WenKai GB Screen": "LXGW WenKai GB Screen", + "LXGW WenKai TC": "LXGW WenKai TC", + "GuanKiapTsingKhai-T": "GuanKiapTsingKhai-T", + "Source Han Serif CN VF": "Source Han Serif CN VF", + "Huiwen-mincho": "Huiwen-mincho", + "KingHwa_OldSong": "KingHwa_OldSong", + "Azure Translator": "Azure Translator", + "DeepL": "DeepL", + "Google Translate": "Google Translate", + "Gray": "สีเทา", + "Sepia": "สีซีเปีย", + "Grass": "สีเขียว", + "Cherry": "สีชมพู", + "Sky": "สีฟ้า", + "Solarized": "Solarized", + "Gruvbox": "Gruvbox", + "Nord": "Nord", + "Contrast": "ความคมชัด", + "Sunset": "สีพระอาทิตย์ตก", + "Reveal in Finder": "แสดงใน Finder", + "Reveal in File Explorer": "แสดงใน File Explorer", + "Reveal in Folder": "แสดงในโฟลเดอร์", + "Don't have an account? Sign up": "ยังไม่มีบัญชี? สมัครสมาชิก", + "All the world's a stage,\nAnd all the men and women merely players;\nThey have their exits and their entrances,\nAnd one man in his time plays many parts,\nHis acts being seven ages.\n\n— William Shakespeare": "โลกทั้งใบเป็นเวที\nและชายหญิงทั้งปวงเป็นนักแสดง\nมีทางเข้าและทางออก\nแต่ละคนในชีวิตเล่นหลายบท\nการกระทำของเขาแบ่งเป็นเจ็ดวัย\n\n— วิลเลียม เชกสเปียร์" +} diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index e4a7dbd3..68e66809 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Şifre oluştur", "Sign up": "Kaydol", "Signing up...": "Kaydolunuyor...", - "Don’t have an account? Sign up": "Hesabınız yok mu? Kaydolun", + "Don't have an account? Sign up": "Hesabınız yok mu? Kaydolun", "Check your email for the confirmation link": "Onay bağlantısı için e-posta adresinizi kontrol edin", "Signing in ...": "Giriş yapılıyor...", "Send a magic link email": "Sihirli bağlantı e-postası gönder", @@ -359,8 +359,6 @@ "Upgrade to Plus or Pro": "Plus veya Pro'ya yükselt", "Current Plan": "Mevcut Plan", "Plan Limits": "Plan Limitleri", - "Available Plans": "Mevcut Planlar", - "{{current}} of {{all}}": "{{all}} üzerinden {{current}}", "Failed to manage subscription. Please try again later.": "Abonelik yönetimi başarısız oldu. Lütfen daha sonra tekrar deneyin.", "Processing your payment...": "Ödemeniz işleniyor...", "Please wait while we confirm your subscription.": "Aboneliğinizi onaylıyoruz, lütfen bekleyin.", @@ -416,5 +414,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Mevcut en doğru çeviri motoruyla günlük 500.000 karaktere kadar çeviri yapın.", "10 GB Cloud Sync Storage": "10 GB Bulut Senkronizasyon Depolama", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Tüm okuma koleksiyonunuzu 2 GB'a kadar güvenli bulut depolamayla saklayın ve erişin.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Tüm okuma koleksiyonunuzu 10 GB'a kadar güvenli bulut depolamayla saklayın ve erişin." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Tüm okuma koleksiyonunuzu 10 GB'a kadar güvenli bulut depolamayla saklayın ve erişin.", + "Deleted cloud backup of the book: {{title}}": "Kitabın bulut yedeği silindi: {{title}}", + "Failed to delete cloud backup of the book": "Kitabın bulut yedeğini silme işlemi başarısız oldu.", + "Are you sure to delete the cloud backup of the selected book?": "Seçilen kitabın bulut yedeğini silmek istediğinize emin misiniz?" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index e8599459..ce86549c 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Створити пароль", "Sign up": "Зареєструватися", "Signing up...": "Реєстрація...", - "Don’t have an account? Sign up": "Немає акаунту? Зареєструйтеся", + "Don't have an account? Sign up": "Немає акаунту? Зареєструйтеся", "Check your email for the confirmation link": "Перевірте свою електронну пошту для підтвердження посилання", "Signing in ...": "Увійти...", "Send a magic link email": "Відправити магічне посилання на електронну пошту", @@ -367,8 +367,6 @@ "Upgrade to Plus or Pro": "Перейти на Plus або Pro", "Current Plan": "Поточний план", "Plan Limits": "Обмеження плану", - "Available Plans": "Доступні плани", - "{{current}} of {{all}}": "{{current}} із {{all}}", "Failed to manage subscription. Please try again later.": "Не вдалося керувати підпискою. Спробуйте ще раз пізніше.", "Processing your payment...": "Обробка вашого платежу...", "Please wait while we confirm your subscription.": "Зачекайте, ми підтверджуємо вашу підписку.", @@ -424,5 +422,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Перекладайте до 500 000 символів щодня з найточнішим доступним движком перекладу.", "10 GB Cloud Sync Storage": "10 ГБ Хмарного Сховища", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Безпечно зберігайте та отримуйте доступ до всієї колекції читання з до 2 ГБ хмарного сховища.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Безпечно зберігайте та отримуйте доступ до всієї колекції читання з до 10 ГБ хмарного сховища." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Безпечно зберігайте та отримуйте доступ до всієї колекції читання з до 10 ГБ хмарного сховища.", + "Deleted cloud backup of the book: {{title}}": "Видалено хмарну резервну копію книги: {{title}}", + "Failed to delete cloud backup of the book": "Не вдалося видалити хмарну резервну копію книги.", + "Are you sure to delete the cloud backup of the selected book?": "Ви впевнені, що хочете видалити хмарну резервну копію вибраної книги?" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index 4dc6288a..a76d87d4 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -157,7 +157,7 @@ "Create a Password": "Tạo mật khẩu", "Sign up": "Đăng ký", "Signing up...": "Đang đăng ký...", - "Don’t have an account? Sign up": "Chưa có tài khoản? Đăng ký", + "Don't have an account? Sign up": "Chưa có tài khoản? Đăng ký", "Check your email for the confirmation link": "Kiểm tra email của bạn để nhận liên kết xác nhận", "Signing in ...": "Đang đăng nhập ...", "Send a magic link email": "Gửi email liên kết ma thuật", @@ -355,8 +355,6 @@ "Upgrade to Plus or Pro": "Nâng cấp lên Plus hoặc Pro", "Current Plan": "Gói hiện tại", "Plan Limits": "Giới hạn gói", - "Available Plans": "Gói khả dụng", - "{{current}} of {{all}}": "{{current}} trên {{all}}", "Failed to manage subscription. Please try again later.": "Không thể quản lý đăng ký. Vui lòng thử lại sau.", "Processing your payment...": "Đang xử lý thanh toán...", "Please wait while we confirm your subscription.": "Vui lòng chờ trong khi chúng tôi xác nhận đăng ký của bạn.", @@ -412,5 +410,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "Dịch tới 500.000 ký tự hàng ngày với công cụ dịch chính xác nhất hiện có.", "10 GB Cloud Sync Storage": "Lưu Trữ Đồng Bộ Đám Mây 10 GB", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "Lưu trữ và truy cập an toàn toàn bộ bộ sưu tập đọc với tới 2 GB lưu trữ đám mây.", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Lưu trữ và truy cập an toàn toàn bộ bộ sưu tập đọc với tới 10 GB lưu trữ đám mây." + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "Lưu trữ và truy cập an toàn toàn bộ bộ sưu tập đọc với tới 10 GB lưu trữ đám mây.", + "Deleted cloud backup of the book: {{title}}": "Đã xóa bản sao lưu đám mây của sách: {{title}}", + "Failed to delete cloud backup of the book": "Không thể xóa bản sao lưu đám mây của sách.", + "Are you sure to delete the cloud backup of the selected book?": "Bạn có chắc chắn muốn xóa bản sao lưu đám mây của sách đã chọn không?" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index 5d6f9dae..89c2e1e2 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -127,9 +127,7 @@ "Upload Book": "上传书籍", "Auto Upload Books to Cloud": "自动上传书籍到云端", "Book deleted: {{title}}": "书籍已删除:{{title}}", - "Book's cloud store deleted: {{title}}": "书籍的云端储存已删除:{{title}}", "Failed to delete book: {{title}}": "删除书籍失败:{{title}}", - "Failed to delete book's cloud store: {{title}}": "删除书籍的云端储存失败:{{title}}", "Check Updates on Start": "启动时检查更新", "Insufficient storage quota": "云存储空间不足", "Font Weight": "字重", @@ -159,7 +157,7 @@ "Create a Password": "创建密码", "Sign up": "注册", "Signing up...": "正在注册...", - "Don’t have an account? Sign up": "没有账号?注册", + "Don't have an account? Sign up": "没有账号?注册", "Check your email for the confirmation link": "检查您的电子邮件以获取确认链接", "Signing in ...": "正在登录...", "Send a magic link email": "发送魔法链接邮件", @@ -283,7 +281,6 @@ "Previous Page": "上一页", "Are you sure to delete {{count}} selected book(s)?_other": "您确定要删除 {{count}} 本选中的书籍吗?", "Are you sure to delete the selected book?": "您确定要删除选中的书籍吗?", - "Are you sure to delete the selected book's cloud store?": "您确定要删除选中书籍的云端储存吗?", "Deselect": "取消选择", "Select All": "全选", "No translation available.": "暂无可用的翻译", @@ -358,8 +355,6 @@ "Upgrade to Plus or Pro": "升级到 Plus 或 Pro", "Current Plan": "当前套餐", "Plan Limits": "套餐限制", - "Available Plans": "可用套餐", - "{{current}} of {{all}}": "{{current}} / {{all}}", "Failed to manage subscription. Please try again later.": "无法管理订阅,请稍后再试。", "Processing your payment...": "正在处理付款...", "Please wait while we confirm your subscription.": "请稍候,我们正在确认您的订阅。", @@ -415,5 +410,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "使用最精准的翻译引擎每天可翻译50万字。", "10 GB Cloud Sync Storage": "10GB 云同步存储", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "使用多达 2GB 的安全云存储保存和访问您的整个阅读收藏。", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "使用多达 10GB 的安全云存储保存和访问您的整个阅读收藏。" + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "使用多达 10GB 的安全云存储保存和访问您的整个阅读收藏。", + "Deleted cloud backup of the book: {{title}}": "已删除书籍云备份:{{title}}", + "Failed to delete cloud backup of the book": "无法删除书籍云备份。", + "Are you sure to delete the cloud backup of the selected book?": "您确定要删除所选书籍的云备份吗?" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index 44b2bbfe..0e0bd25d 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -157,7 +157,7 @@ "Create a Password": "創建密碼", "Sign up": "註冊", "Signing up...": "正在註冊...", - "Don’t have an account? Sign up": "沒有帳號?註冊", + "Don't have an account? Sign up": "沒有帳號?註冊", "Check your email for the confirmation link": "檢查您的電子郵件以獲取確認連結", "Signing in ...": "正在登入...", "Send a magic link email": "發送魔法連結郵件", @@ -355,8 +355,6 @@ "Upgrade to Plus or Pro": "升級到 Plus 或 Pro", "Current Plan": "當前方案", "Plan Limits": "方案限制", - "Available Plans": "可用方案", - "{{current}} of {{all}}": "{{current}} / {{all}}", "Failed to manage subscription. Please try again later.": "無法管理訂閱,請稍後再試。", "Processing your payment...": "正在處理付款...", "Please wait while we confirm your subscription.": "請稍候,我們正在確認您的訂閱。", @@ -412,5 +410,8 @@ "Translate up to 500,000 characters daily with the most accurate translation engine available.": "使用最精準的翻譯引擎每天翻譯多達50萬字元。", "10 GB Cloud Sync Storage": "10GB 雲端同步儲存", "Securely store and access your entire reading collection with up to 2 GB of cloud storage.": "使用多達 2GB 的安全雲端儲存保存和存取您的整個閱讀收藏。", - "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "使用多達 10GB 的安全雲端儲存保存和存取您的整個閱讀收藏。" + "Securely store and access your entire reading collection with up to 10 GB of cloud storage.": "使用多達 10GB 的安全雲端儲存保存和存取您的整個閱讀收藏。", + "Deleted cloud backup of the book: {{title}}": "已刪除書籍的雲端備份:{{title}}", + "Failed to delete cloud backup of the book": "無法刪除書籍的雲端備份。", + "Are you sure to delete the cloud backup of the selected book?": "您確定要刪除所選書籍的雲端備份嗎?" } diff --git a/apps/readest-app/src/app/auth/page.tsx b/apps/readest-app/src/app/auth/page.tsx index 4906076e..108f1925 100644 --- a/apps/readest-app/src/app/auth/page.tsx +++ b/apps/readest-app/src/app/auth/page.tsx @@ -241,7 +241,7 @@ export default function AuthPage() { button_label: _('Sign up'), loading_button_label: _('Signing up...'), social_provider_text: _('Sign in with {{provider}}'), - link_text: _('Don’t have an account? Sign up'), + link_text: _("Don't have an account? Sign up"), confirmation_text: _('Check your email for the confirmation link'), }, magic_link: { diff --git a/apps/readest-app/src/app/library/page.tsx b/apps/readest-app/src/app/library/page.tsx index 4a25434c..25bf99bf 100644 --- a/apps/readest-app/src/app/library/page.tsx +++ b/apps/readest-app/src/app/library/page.tsx @@ -525,7 +525,7 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP } }; - const handleBookDeleteCloudStore = async (book: Book) => { + const handleBookDeleteCloudBackup = async (book: Book) => { try { await appService?.deleteBook(book, !!book.uploadedAt, false); await updateBook(envConfig, book); @@ -533,18 +533,18 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP eventDispatcher.dispatch('toast', { type: 'info', timeout: 2000, - message: _('Book\'s cloud store deleted: {{title}}', { + message: _('Deleted cloud backup of the book: {{title}}', { title: book.title, }), }); return true; - } catch (e){ + } catch (e) { console.error(e); eventDispatcher.dispatch('toast', { - message: _('Failed to delete book\'s cloud store: {{title}}', { + type: 'error', + message: _('Failed to delete cloud backup of the book', { title: book.title, }), - type: 'error', }); return false; } @@ -679,7 +679,7 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP handleBookUpload={handleBookUpload} handleBookDownload={handleBookDownload} handleBookDelete={handleBookDelete} - handleBookDeleteCloudStore={handleBookDeleteCloudStore} + handleBookDeleteCloudBackup={handleBookDeleteCloudBackup} /> )} diff --git a/apps/readest-app/src/components/BookDetailModal.tsx b/apps/readest-app/src/components/BookDetailModal.tsx index c71ec487..e8fae5dd 100644 --- a/apps/readest-app/src/components/BookDetailModal.tsx +++ b/apps/readest-app/src/components/BookDetailModal.tsx @@ -1,6 +1,11 @@ import clsx from 'clsx'; import React, { useEffect, useState } from 'react'; -import { MdOutlineDelete, MdOutlineCloudDownload, MdOutlineCloudUpload, MdOutlineCloudOff } from 'react-icons/md'; +import { + MdOutlineDelete, + MdOutlineCloudDownload, + MdOutlineCloudUpload, + MdOutlineCloudOff, +} from 'react-icons/md'; import { Book } from '@/types/book'; import { BookDoc } from '@/libs/document'; @@ -28,7 +33,7 @@ interface BookDetailModalProps { handleBookDownload?: (book: Book) => void; handleBookUpload?: (book: Book) => void; handleBookDelete?: (book: Book) => void; - handleBookDeleteCloudStore?: (book: Book) => void; + handleBookDeleteCloudBackup?: (book: Book) => void; } const BookDetailModal = ({ @@ -38,12 +43,12 @@ const BookDetailModal = ({ handleBookDownload, handleBookUpload, handleBookDelete, - handleBookDeleteCloudStore, + handleBookDeleteCloudBackup, }: BookDetailModalProps) => { const _ = useTranslation(); const [loading, setLoading] = useState(false); const [showDeleteAlert, setShowDeleteAlert] = useState(false); - const [showDeleteCloudStoreAlert, setShowDeleteCloudStoreAlert] = useState(false); + const [showDeleteCloudBackupAlert, setShowDeleteCloudBackupAlert] = useState(false); const [bookMeta, setBookMeta] = useState(null); const [fileSize, setFileSize] = useState(null); const { envConfig } = useEnv(); @@ -76,8 +81,8 @@ const BookDetailModal = ({ setShowDeleteAlert(true); }; - const handleDeleteCloudStore = () => { - setShowDeleteCloudStoreAlert(true); + const handleDeleteCloudBackup = () => { + setShowDeleteCloudBackupAlert(true); }; const confirmDelete = async () => { @@ -88,11 +93,11 @@ const BookDetailModal = ({ } }; - const confirmDeleteCloudStore = async () => { + const confirmDeleteCloudBackup = async () => { handleClose(); - setShowDeleteCloudStoreAlert(false); - if (handleBookDeleteCloudStore) { - handleBookDeleteCloudStore(book); + setShowDeleteCloudBackupAlert(false); + if (handleBookDeleteCloudBackup) { + handleBookDeleteCloudBackup(book); } }; @@ -150,8 +155,8 @@ const BookDetailModal = ({ )} - {book.uploadedAt && handleBookDeleteCloudStore && ( - )} @@ -216,9 +221,12 @@ const BookDetailModal = ({
{_('Description:')} -

-

+

@@ -241,7 +249,7 @@ const BookDetailModal = ({ /> )} - {showDeleteCloudStoreAlert && ( + {showDeleteCloudBackupAlert && (
{ setShowDeleteAlert(false); }} - onConfirm={confirmDeleteCloudStore} + onConfirm={confirmDeleteCloudBackup} />
)} diff --git a/apps/readest-app/src/services/constants.ts b/apps/readest-app/src/services/constants.ts index 10039b96..509a2e59 100644 --- a/apps/readest-app/src/services/constants.ts +++ b/apps/readest-app/src/services/constants.ts @@ -646,6 +646,7 @@ export const TRANSLATED_LANGS = { hi: 'हिन्दी', id: 'Indonesia', vi: 'Tiếng Việt', + th: 'ภาษาไทย', 'zh-CN': '简体中文', 'zh-TW': '正體中文', }; diff --git a/apps/readest-app/src/utils/lang.ts b/apps/readest-app/src/utils/lang.ts index 014b16c0..7c923571 100644 --- a/apps/readest-app/src/utils/lang.ts +++ b/apps/readest-app/src/utils/lang.ts @@ -25,6 +25,7 @@ export const normalizeToFullLang = (langCode: string): string => { id: 'id-ID', ru: 'ru-RU', uk: 'uk-UA', + th: 'th-TH', zh: 'zh-Hans', 'zh-cn': 'zh-Hans', 'zh-tw': 'zh-Hant',