From 76d9b3177b6931c5789ee28c354fbfbb01c5f0de Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 20:47:34 +0200 Subject: [PATCH 1/4] feat: New Crowdin Translations (#1810) Co-authored-by: Crowdin Bot --- translations/ar.json | 12 +++++++----- translations/ca.json | 12 +++++++----- translations/cs.json | 12 +++++++----- translations/da.json | 12 +++++++----- translations/de.json | 12 +++++++----- translations/el.json | 12 +++++++----- translations/es.json | 12 +++++++----- translations/fi.json | 12 +++++++----- translations/fr.json | 12 +++++++----- translations/he.json | 12 +++++++----- translations/hu.json | 12 +++++++----- translations/it.json | 12 +++++++----- translations/ja.json | 12 +++++++----- translations/ko.json | 12 +++++++----- translations/nl.json | 12 +++++++----- translations/no.json | 12 +++++++----- translations/pl.json | 12 +++++++----- translations/pt.json | 12 +++++++----- translations/ro.json | 12 +++++++----- translations/ru.json | 12 +++++++----- translations/sv.json | 12 +++++++----- translations/th.json | 12 +++++++----- translations/tlh.json | 12 +++++++----- translations/tr.json | 12 +++++++----- translations/uk.json | 12 +++++++----- translations/vi.json | 12 +++++++----- translations/zh.json | 12 +++++++----- 27 files changed, 189 insertions(+), 135 deletions(-) diff --git a/translations/ar.json b/translations/ar.json index ec2e796c6..e6e751d32 100644 --- a/translations/ar.json +++ b/translations/ar.json @@ -16,14 +16,14 @@ "got_it": "حسنًا", "connection_failed": "فشل الاتصال", "could_not_connect_to_server": "تعذر الاتصال بالخادم. يرجى التحقق من الرابط واتصال الشبكة.", - "an_unexpected_error_occured": "حدث خطأ غير متوقع", + "an_unexpected_error_occurred": "حدث خطأ غير متوقع", "change_server": "تغيير الخادم", "invalid_username_or_password": "اسم المستخدم أو كلمة المرور غير صالحة", "user_does_not_have_permission_to_log_in": "ليس لدى المستخدم صَلاحِيَة تسجيل الدخول", "server_is_taking_too_long_to_respond_try_again_later": "يستغرق الخادم وقتًا طويلاً للرد، يرجى المحاولة مرة أخرى لاحقًا", "server_received_too_many_requests_try_again_later": "تلقى الخادم عددًا كبيرًا جدًا من الطلبات، يرجى المحاولة مرة أخرى لاحقًا.", "there_is_a_server_error": "هناك خطأ في الخادم", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "حدث خطأ غير متوقع. هل أدخلت رابط الخادم بشكل صحيح؟", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "حدث خطأ غير متوقع. هل أدخلت رابط الخادم بشكل صحيح؟", "too_old_server_text": "تم اكتشاف خادم Jellyfin غير مدعوم", "too_old_server_description": "يرجى تحديث Jellyfin إلى أحدث إصدار" }, @@ -188,7 +188,7 @@ "authorize_button": "تفويض الدخول السريع", "enter_the_quick_connect_code": "أدخل رمز الدخول السريع...", "success": "نجاح", - "quick_connect_autorized": "تم تفويض الدخول السريع", + "quick_connect_authorized": "تم تفويض الدخول السريع", "error": "خطأ", "invalid_code": "رمز غير صالح", "authorize": "تفويض" @@ -298,7 +298,7 @@ "show_custom_menu_links": "إظهار روابط القائمة المخصصة", "show_large_home_carousel": "إظهار شريط العرض الكبير (تجريبي)", "hide_libraries": "إخفاء المكتبات", - "select_liraries_you_want_to_hide": "اختر المكتبات التي تريد إخفاءها من تبويب المكتبة وأقسام الصفحة الرئيسية.", + "select_libraries_you_want_to_hide": "اختر المكتبات التي تريد إخفاءها من تبويب المكتبة وأقسام الصفحة الرئيسية.", "disable_haptic_feedback": "تعطيل ردود الفعل اللمسية", "default_quality": "الجودة الافتراضية", "default_playback_speed": "سرعة التشغيل الافتراضية", @@ -384,6 +384,8 @@ "device_usage": "الجهاز {{availableSpace}}%", "size_used": "تم استخدام {{used}} من {{total}}", "delete_all_downloaded_files": "حذف جميع الملفات التي تم تنزيلها", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "التخزين المؤقت للموسيقى", "music_cache_description": "تخزين الأغاني تلقائياً أثناء الاستماع لضمان تشغيل أكثر سلاسة ودعم الاستماع بدون اتصال", "clear_music_cache": "مسح التخزين المؤقت للموسيقى", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "خطأ", "failed_to_get_stream_url": "فشل في الحصول على رابط البث", - "an_error_occured_while_playing_the_video": "حدث خطأ أثناء تشغيل الفيديو. تحقق من السجلات في الإعدادات.", + "an_error_occurred_while_playing_the_video": "حدث خطأ أثناء تشغيل الفيديو. تحقق من السجلات في الإعدادات.", "client_error": "خطأ في المشغّل", "could_not_create_stream_for_chromecast": "تعذر إنشاء بث لـChromecast", "message_from_server": "رسالة من الخادم: {{message}}", diff --git a/translations/ca.json b/translations/ca.json index b296a8874..9e50a39e8 100644 --- a/translations/ca.json +++ b/translations/ca.json @@ -16,14 +16,14 @@ "got_it": "Entesos", "connection_failed": "Ha fallat la connexió", "could_not_connect_to_server": "No s'ha pogut connectar amb el servidor. Comproveu l'URL i la connexió de xarxa.", - "an_unexpected_error_occured": "S'ha produït un error inesperat", + "an_unexpected_error_occurred": "S'ha produït un error inesperat", "change_server": "Canvia el servidor", "invalid_username_or_password": "Nom d'usuari o contrasenya incorrectes", "user_does_not_have_permission_to_log_in": "L'usuari no té permís per iniciar sessió", "server_is_taking_too_long_to_respond_try_again_later": "El servidor triga massa a respondre, torneu-ho a provar més tard", "server_received_too_many_requests_try_again_later": "El servidor ha rebut massa sol·licituds, torneu-ho a provar més tard.", "there_is_a_server_error": "Error del servidor", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "S'ha produït un error inesperat. Heu introduït correctament l'URL del servidor?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "S'ha produït un error inesperat. Heu introduït correctament l'URL del servidor?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "Please update Jellyfin to the latest version" }, @@ -188,7 +188,7 @@ "authorize_button": "Autoritza connexió ràpida", "enter_the_quick_connect_code": "Introdueix el codi de connexió ràpida...", "success": "Èxit", - "quick_connect_autorized": "Connexió ràpida autoritzada", + "quick_connect_authorized": "Connexió ràpida autoritzada", "error": "Error", "invalid_code": "Codi invàlid", "authorize": "Autoritza" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Mostrar enllaços del menú personalitzats", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Oculta biblioteques", - "select_liraries_you_want_to_hide": "Seleccioneu les biblioteques que voleu ocultar de la pestanya Biblioteca i de les seccions de la pàgina d'inici.", + "select_libraries_you_want_to_hide": "Seleccioneu les biblioteques que voleu ocultar de la pestanya Biblioteca i de les seccions de la pàgina d'inici.", "disable_haptic_feedback": "Desactiva la resposta hàptica", "default_quality": "Qualitat per defecte", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Dispositiu {{availableSpace}}%", "size_used": "{{used}} de {{total}} utilitzat", "delete_all_downloaded_files": "Suprimeix tots els fitxers descarregats", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Error", "failed_to_get_stream_url": "No s'ha pogut obtenir l'URL del flux", - "an_error_occured_while_playing_the_video": "S'ha produït un error en reproduir el vídeo. Consulteu els registres a la configuració.", + "an_error_occurred_while_playing_the_video": "S'ha produït un error en reproduir el vídeo. Consulteu els registres a la configuració.", "client_error": "Error del client", "could_not_create_stream_for_chromecast": "No s'ha pogut crear un flux per a Chromecast", "message_from_server": "Missatge del servidor: {{message}}", diff --git a/translations/cs.json b/translations/cs.json index cdfb6ebc3..f2342fcec 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -16,14 +16,14 @@ "got_it": "Rozumím", "connection_failed": "Připojení se nezdařilo", "could_not_connect_to_server": "Nelze se připojit k serveru. Zkontrolujte adresu URL a síťové připojení.", - "an_unexpected_error_occured": "Došlo k neočekávané chybě", + "an_unexpected_error_occurred": "Došlo k neočekávané chybě", "change_server": "Změnit server", "invalid_username_or_password": "Neplatné uživatelské jméno nebo heslo", "user_does_not_have_permission_to_log_in": "Uživatel nemá oprávnění k přihlášení", "server_is_taking_too_long_to_respond_try_again_later": "Reakce na server trvá příliš dlouho, zkuste to znovu později", "server_received_too_many_requests_try_again_later": "Server obdržel příliš mnoho požadavků, opakujte akci později.", "there_is_a_server_error": "Došlo k chybě serveru", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Došlo k neočekávané chybě. Vložili jste adresu URL serveru?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Došlo k neočekávané chybě. Vložili jste adresu URL serveru?", "too_old_server_text": "Objeven nepodporovaný Jellyfin server", "too_old_server_description": "Prosím aktualizujte Jellyfin na nejnovější verzi" }, @@ -188,7 +188,7 @@ "authorize_button": "Autorizovat rychlé připojení", "enter_the_quick_connect_code": "Zadejte kód rychlého připojení...", "success": "Úspěšně", - "quick_connect_autorized": "Oprávněné Rychlé připojení", + "quick_connect_authorized": "Oprávněné Rychlé připojení", "error": "Chyba", "invalid_code": "Neplatný kód", "authorize": "Autorizovat" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Zobrazit vlastní Menu odkazy", "show_large_home_carousel": "Zobrazit velký přehled (beta)", "hide_libraries": "Skrýt knihovny", - "select_liraries_you_want_to_hide": "Vyberte knihovny, které chcete skrýt v záložce Knihovna a v sekcích domovské stránky.", + "select_libraries_you_want_to_hide": "Vyberte knihovny, které chcete skrýt v záložce Knihovna a v sekcích domovské stránky.", "disable_haptic_feedback": "Zakázat Haptickou zpětnou vazbu", "default_quality": "Výchozí kvalita", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Zařízení {{availableSpace}}%", "size_used": "{{used}} z {{total}} využito", "delete_all_downloaded_files": "Odstranit všechny stažené soubory", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Chyba", "failed_to_get_stream_url": "Nepodařilo se získat URL streamu", - "an_error_occured_while_playing_the_video": "Při přehrávání videa došlo k chybě. Zkontrolujte logy v nastavení.", + "an_error_occurred_while_playing_the_video": "Při přehrávání videa došlo k chybě. Zkontrolujte logy v nastavení.", "client_error": "Chyba klienta", "could_not_create_stream_for_chromecast": "Nelze vytvořit stream pro Chromecast", "message_from_server": "Zpráva od serveru: {{message}}", diff --git a/translations/da.json b/translations/da.json index 44039430d..86215bca0 100644 --- a/translations/da.json +++ b/translations/da.json @@ -16,14 +16,14 @@ "got_it": "Forstået", "connection_failed": "Forbindelsen mislykkedes", "could_not_connect_to_server": "Kunne ikke oprette forbindelse til serveren. Tjek venligst URL'en og din netværksforbindelse.", - "an_unexpected_error_occured": "Der opstod en uventet fejl", + "an_unexpected_error_occurred": "Der opstod en uventet fejl", "change_server": "Skift server", "invalid_username_or_password": "Ugyldigt brugernavn eller adgangskode", "user_does_not_have_permission_to_log_in": "Brugeren har ikke tilladelse til at logge ind", "server_is_taking_too_long_to_respond_try_again_later": "Serveren svarer for langsomt, prøv igen senere", "server_received_too_many_requests_try_again_later": "Serveren modtog for mange forespørgsler, prøv igen senere.", "there_is_a_server_error": "Der er en serverfejl", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Der opstod en uventet fejl. Har du indtastet serverens URL korrekt?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Der opstod en uventet fejl. Har du indtastet serverens URL korrekt?", "too_old_server_text": "Ikke Understøttet Jellyfin Server Opdaget", "too_old_server_description": "Opdater venligst Jellyfin til den seneste version" }, @@ -188,7 +188,7 @@ "authorize_button": "Autoriser Hurtigforbindelse", "enter_the_quick_connect_code": "Indtast koden til hurtigforbindelse...", "success": "Succes", - "quick_connect_autorized": "Hurtigforbindelse autoriseret", + "quick_connect_authorized": "Hurtigforbindelse autoriseret", "error": "Fejl", "invalid_code": "Ugyldig kode", "authorize": "Autoriser" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Vis tilpassede menulinks", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Skjul biblioteker", - "select_liraries_you_want_to_hide": "Vælg de biblioteker, du ønsker at skjule fra fanen Bibliotek og startside sektionerne.", + "select_libraries_you_want_to_hide": "Vælg de biblioteker, du ønsker at skjule fra fanen Bibliotek og startside sektionerne.", "disable_haptic_feedback": "Deaktiver haptisk feedback", "default_quality": "Standard kvalitet", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Enhedsforbrug: {{availableSpace}}%", "size_used": "{{used}} af {{total}} brugt", "delete_all_downloaded_files": "Slet alle downloadede filer", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Fejl", "failed_to_get_stream_url": "Kunne ikke hente stream URL'en", - "an_error_occured_while_playing_the_video": "Der opstod en fejl under afspilning af videoen. Tjek logfilerne i indstillinger.", + "an_error_occurred_while_playing_the_video": "Der opstod en fejl under afspilning af videoen. Tjek logfilerne i indstillinger.", "client_error": "Klientfejl", "could_not_create_stream_for_chromecast": "Kunne ikke oprette en stream til Chromecast", "message_from_server": "Besked fra server: {{message}}", diff --git a/translations/de.json b/translations/de.json index c3c8d3021..d5ddd5710 100644 --- a/translations/de.json +++ b/translations/de.json @@ -16,14 +16,14 @@ "got_it": "Verstanden", "connection_failed": "Verbindung fehlgeschlagen", "could_not_connect_to_server": "Verbindung zum Server fehlgeschlagen. Bitte überprüf die URL und deine Netzwerkverbindung.", - "an_unexpected_error_occured": "Ein unerwarteter Fehler ist aufgetreten", + "an_unexpected_error_occurred": "Ein unerwarteter Fehler ist aufgetreten", "change_server": "Server wechseln", "invalid_username_or_password": "Ungültiger Benutzername oder Passwort", "user_does_not_have_permission_to_log_in": "Benutzer hat keine Berechtigung, um sich anzumelden", "server_is_taking_too_long_to_respond_try_again_later": "Der Server benötigt zu lange, um zu antworten. Bitte versuch es später erneut", "server_received_too_many_requests_try_again_later": "Der Server hat zu viele Anfragen erhalten. Bitte versuch es später erneut.", "there_is_a_server_error": "Es gibt einen Serverfehler", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Ein unerwarteter Fehler ist aufgetreten. Hast du die Server-URL korrekt eingegeben?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Ein unerwarteter Fehler ist aufgetreten. Hast du die Server-URL korrekt eingegeben?", "too_old_server_text": "Nicht unterstützter Jellyfin Server entdeckt", "too_old_server_description": "Bitte aktualisiere Jellyfin auf die neueste Version" }, @@ -188,7 +188,7 @@ "authorize_button": "Quick Connect autorisieren", "enter_the_quick_connect_code": "Quick Connect-Code eingeben...", "success": "Erfolgreich verbunden", - "quick_connect_autorized": "Quick Connect autorisiert", + "quick_connect_authorized": "Quick Connect autorisiert", "error": "Fehler", "invalid_code": "Ungültiger Code", "authorize": "Autorisieren" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Benutzerdefinierte Menülinks anzeigen", "show_large_home_carousel": "Zeige große Startseiten-Übersicht (Beta)", "hide_libraries": "Bibliotheken ausblenden", - "select_liraries_you_want_to_hide": "Bibliotheken auswählen die aus dem Bibliothekstab und der Startseite ausgeblendet werden sollen.", + "select_libraries_you_want_to_hide": "Bibliotheken auswählen die aus dem Bibliothekstab und der Startseite ausgeblendet werden sollen.", "disable_haptic_feedback": "Haptisches Feedback deaktivieren", "default_quality": "Standardqualität", "default_playback_speed": "Standard-Wiedergabegeschwindigkeit", @@ -384,6 +384,8 @@ "device_usage": "Gerät {{availableSpace}}%", "size_used": "{{used}} von {{total}} genutzt", "delete_all_downloaded_files": "Alle heruntergeladenen Dateien löschen", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Musik-Cache", "music_cache_description": "Beim Anhören Titel automatisch in den Cache laden um bessere Wiedergabe und Offline-Wiedergabe zu ermöglichen", "clear_music_cache": "Musik-Cache leeren", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Fehler", "failed_to_get_stream_url": "Fehler beim Abrufen der Stream-URL", - "an_error_occured_while_playing_the_video": "Ein Fehler ist beim Abspielen des Videos aufgetreten. Logs in den Einstellungen überprüfen.", + "an_error_occurred_while_playing_the_video": "Ein Fehler ist beim Abspielen des Videos aufgetreten. Logs in den Einstellungen überprüfen.", "client_error": "Client-Fehler", "could_not_create_stream_for_chromecast": "Konnte keinen Stream für Chromecast erstellen", "message_from_server": "Nachricht vom Server: {{message}}", diff --git a/translations/el.json b/translations/el.json index b5be9db7c..93ee76dc8 100644 --- a/translations/el.json +++ b/translations/el.json @@ -16,14 +16,14 @@ "got_it": "Το Κατάλαβα", "connection_failed": "Η Σύνδεση Απέτυχε", "could_not_connect_to_server": "Δεν ήταν δυνατή η σύνδεση με τον διακομιστή. Παρακαλώ ελέγξτε τη διεύθυνση URL και τη σύνδεση δικτύου σας.", - "an_unexpected_error_occured": "Παρουσιάστηκε Απροσδόκητο Σφάλμα", + "an_unexpected_error_occurred": "Παρουσιάστηκε Απροσδόκητο Σφάλμα", "change_server": "Αλλαγή Διακομιστή", "invalid_username_or_password": "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης", "user_does_not_have_permission_to_log_in": "Ο χρήστης δεν έχει άδεια να συνδεθεί", "server_is_taking_too_long_to_respond_try_again_later": "Ο διακομιστής καθυστερεί πάρα πολύ για να απαντήσει, δοκιμάστε ξανά αργότερα", "server_received_too_many_requests_try_again_later": "Ο διακομιστής έλαβε πάρα πολλά αιτήματα, δοκιμάστε ξανά αργότερα.", "there_is_a_server_error": "Υπάρχει ένα σφάλμα διακομιστή", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Παρουσιάστηκε μη αναμενόμενο σφάλμα. Εισαγάγετε σωστά το URL του διακομιστή?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Παρουσιάστηκε μη αναμενόμενο σφάλμα. Εισαγάγετε σωστά το URL του διακομιστή?", "too_old_server_text": "Ανακαλύφθηκε Μη Υποστηριζόμενος Εξυπηρετητής Jellyfin", "too_old_server_description": "Παρακαλούμε ενημερώστε το Jellyfin στην τελευταία έκδοση" }, @@ -188,7 +188,7 @@ "authorize_button": "Εξουσιοδότηση Γρήγορης Σύνδεσης", "enter_the_quick_connect_code": "Εισάγετε τον κωδικό γρήγορης σύνδεσης...", "success": "Επιτυχία", - "quick_connect_autorized": "Γρήγορη Σύνδεση Εξουσιοδοτήθηκε", + "quick_connect_authorized": "Γρήγορη Σύνδεση Εξουσιοδοτήθηκε", "error": "Σφάλμα", "invalid_code": "Μη Έγκυρος Κωδικός", "authorize": "Εξουσιοδότηση" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Εμφάνιση Προσαρμοσμένων Συνδέσμων Μενού", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Απόκρυψη Βιβλιοθηκών", - "select_liraries_you_want_to_hide": "Επιλέξτε τις βιβλιοθήκες που θέλετε να αποκρύψετε από την καρτέλα της Βιβλιοθήκης και τις ενότητες της αρχικής σελίδας.", + "select_libraries_you_want_to_hide": "Επιλέξτε τις βιβλιοθήκες που θέλετε να αποκρύψετε από την καρτέλα της Βιβλιοθήκης και τις ενότητες της αρχικής σελίδας.", "disable_haptic_feedback": "Απενεργοποίηση Απτικής Ανατροφοδότησης", "default_quality": "Προεπιλεγμένη Ποιότητα", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Device {{availableSpace}}%", "size_used": "{{used}} {{total}} Χρησιμοποιείται", "delete_all_downloaded_files": "Διαγραφή Όλων Των Ληφθέντων Αρχείων", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Σφάλμα", "failed_to_get_stream_url": "Αποτυχία λήψης του URL ροής", - "an_error_occured_while_playing_the_video": "Παρουσιάστηκε σφάλμα κατά την αναπαραγωγή του βίντεο. Ελέγξτε τα αρχεία καταγραφής στις ρυθμίσεις.", + "an_error_occurred_while_playing_the_video": "Παρουσιάστηκε σφάλμα κατά την αναπαραγωγή του βίντεο. Ελέγξτε τα αρχεία καταγραφής στις ρυθμίσεις.", "client_error": "Σφάλμα Πελάτη", "could_not_create_stream_for_chromecast": "Αδυναμία δημιουργίας ροής για το Chromecast", "message_from_server": "Μήνυμα από το διακομιστή: {{message}}", diff --git a/translations/es.json b/translations/es.json index 9cc32a747..737029978 100644 --- a/translations/es.json +++ b/translations/es.json @@ -16,14 +16,14 @@ "got_it": "Entendido", "connection_failed": "Conexión fallida", "could_not_connect_to_server": "No se pudo conectar al servidor. Por favor comprueba la URL y tu conexión de red.", - "an_unexpected_error_occured": "Ha ocurrido un error inesperado", + "an_unexpected_error_occurred": "Ha ocurrido un error inesperado", "change_server": "Cambiar servidor", "invalid_username_or_password": "Usuario o contraseña inválidos", "user_does_not_have_permission_to_log_in": "El usuario no tiene permiso para iniciar sesión", "server_is_taking_too_long_to_respond_try_again_later": "El servidor está tardando mucho en responder, inténtalo de nuevo más tarde.", "server_received_too_many_requests_try_again_later": "El servidor está recibiendo muchas peticiones, inténtalo de nuevo más tarde.", "there_is_a_server_error": "Hay un error en el servidor", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Ha ocurrido un error inesperado. ¿Has introducido la URL correcta?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Ha ocurrido un error inesperado. ¿Has introducido la URL correcta?", "too_old_server_text": "Servidor Jellyfin no soportado descubierto", "too_old_server_description": "Por favor, actualiza Jellyfin a la última versión" }, @@ -188,7 +188,7 @@ "authorize_button": "Autorizar conexión rápida", "enter_the_quick_connect_code": "Introduce el código de conexión rápida...", "success": "Hecho", - "quick_connect_autorized": "Conexión rápida autorizada", + "quick_connect_authorized": "Conexión rápida autorizada", "error": "Error", "invalid_code": "Código inválido", "authorize": "Autorizar" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Mostrar enlaces de menú personalizados", "show_large_home_carousel": "Mostrar carrusel del menú principal grande (beta)", "hide_libraries": "Ocultar bibliotecas", - "select_liraries_you_want_to_hide": "Selecciona las bibliotecas que quieres ocultar de la pestaña Bibliotecas y de Inicio.", + "select_libraries_you_want_to_hide": "Selecciona las bibliotecas que quieres ocultar de la pestaña Bibliotecas y de Inicio.", "disable_haptic_feedback": "Desactivar feedback háptico", "default_quality": "Calidad por defecto", "default_playback_speed": "Velocidad de reproducción predeterminada", @@ -384,6 +384,8 @@ "device_usage": "Dispositivo {{availableSpace}}%", "size_used": "{{used}} de {{total}} usado", "delete_all_downloaded_files": "Eliminar todos los archivos descargados", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Caché de música", "music_cache_description": "Cachear automáticamente las canciones mientras escuchas una reproducción más suave y soporte sin conexión", "clear_music_cache": "Borrar Caché de Música", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Error", "failed_to_get_stream_url": "Error al obtener la URL del Steam", - "an_error_occured_while_playing_the_video": "Ha ocurrido un error al reproducir el vídeo. Comprueba los registros en la configuración.", + "an_error_occurred_while_playing_the_video": "Ha ocurrido un error al reproducir el vídeo. Comprueba los registros en la configuración.", "client_error": "Error del cliente", "could_not_create_stream_for_chromecast": "No se pudo crear el Steam para Chromecast", "message_from_server": "Mensaje del servidor: {{message}}", diff --git a/translations/fi.json b/translations/fi.json index acfe6fbcf..13002fe69 100644 --- a/translations/fi.json +++ b/translations/fi.json @@ -16,14 +16,14 @@ "got_it": "Okei", "connection_failed": "Yhteys epäonnistui", "could_not_connect_to_server": "Yhteyttä palvelimeen ei voitu muodostaa. Tarkista URL-osoite ja verkkoyhteytesi.", - "an_unexpected_error_occured": "Odottamaton virhe tapahtui", + "an_unexpected_error_occurred": "Odottamaton virhe tapahtui", "change_server": "Vaihda palvelinta", "invalid_username_or_password": "Virheellinen käyttäjätunnus tai salasana", "user_does_not_have_permission_to_log_in": "Käyttäjällä ei ole oikeuksia kirjautua sisään", "server_is_taking_too_long_to_respond_try_again_later": "Palvelin reagoi liian hitaasti, yritä myöhemmin uudelleen", "server_received_too_many_requests_try_again_later": "Palvelin sai liian monta pyyntöä, yritä myöhemmin uudelleen.", "there_is_a_server_error": "Palvelimessa on virhe", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Odottamaton virhe tapahtui. Syötitkö palvelimen URL-osoitteen oikein?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Odottamaton virhe tapahtui. Syötitkö palvelimen URL-osoitteen oikein?", "too_old_server_text": "Ei-tuettu Jellyfin-palvelin löydetty", "too_old_server_description": "Ole hyvä ja päivitä Jellyfin uusimpaan versioon" }, @@ -188,7 +188,7 @@ "authorize_button": "Valtuuta pikayhdistys", "enter_the_quick_connect_code": "Syötä nopean yhteyden koodi...", "success": "Onnistui", - "quick_connect_autorized": "Pikayhdistys valtuutettu", + "quick_connect_authorized": "Pikayhdistys valtuutettu", "error": "Virhe", "invalid_code": "Virheellinen koodi", "authorize": "Valtuuta" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Näytä mukautetut valikkolinkit", "show_large_home_carousel": "Näytä suuri kotikaruselli (beta)", "hide_libraries": "Piilota kirjastot", - "select_liraries_you_want_to_hide": "Valitse kirjastot, jotka haluat piilottaa Kirjasto-välilehdeltä ja etusivun osioista.", + "select_libraries_you_want_to_hide": "Valitse kirjastot, jotka haluat piilottaa Kirjasto-välilehdeltä ja etusivun osioista.", "disable_haptic_feedback": "Poista haptinen palautteet käytöstä", "default_quality": "Oletuslaatu", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Laitteen käyttö {{availableSpace}}%", "size_used": "{{used}} / {{total}} käytössä", "delete_all_downloaded_files": "Poista kaikki ladatut tiedostot", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Virhe", "failed_to_get_stream_url": "Lähetyksen URL-osoitteen haku epäonnistui", - "an_error_occured_while_playing_the_video": "Videon toiston yhteydessä tapahtui virhe. Tarkista lokit asetuksista.", + "an_error_occurred_while_playing_the_video": "Videon toiston yhteydessä tapahtui virhe. Tarkista lokit asetuksista.", "client_error": "Asiakkaan Virhe", "could_not_create_stream_for_chromecast": "Suoratoistoa ei voitu luoda Chromecastia varten", "message_from_server": "Viesti palvelimelta: {{message}}", diff --git a/translations/fr.json b/translations/fr.json index cdd1a457e..cad5dad0e 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -16,14 +16,14 @@ "got_it": "D'accord", "connection_failed": "La connexion a échoué", "could_not_connect_to_server": "Impossible de se connecter au serveur. Veuillez vérifier l’URL et votre connexion réseau.", - "an_unexpected_error_occured": "Une erreur inattendue s'est produite", + "an_unexpected_error_occurred": "Une erreur inattendue s'est produite", "change_server": "Changer de serveur", "invalid_username_or_password": "Nom d'utilisateur ou mot de passe invalide", "user_does_not_have_permission_to_log_in": "L'utilisateur n'a pas la permission de se connecter", "server_is_taking_too_long_to_respond_try_again_later": "Le serveur prend trop de temps à répondre, réessayez plus tard", "server_received_too_many_requests_try_again_later": "Le serveur a reçu trop de demandes, réessayez plus tard.", "there_is_a_server_error": "Il y a une erreur de serveur", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Une erreur inattendue s’est produite. Avez-vous correctement saisi l’URL du serveur ?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Une erreur inattendue s’est produite. Avez-vous correctement saisi l’URL du serveur ?", "too_old_server_text": "Serveur Jellyfin non pris en charge découvert", "too_old_server_description": "Veuillez mettre à jour Jellyfin vers la dernière version" }, @@ -188,7 +188,7 @@ "authorize_button": "Autoriser une connexion rapide", "enter_the_quick_connect_code": "Entrez le code de connexion rapide...", "success": "Succès", - "quick_connect_autorized": "Connexion rapide autorisée", + "quick_connect_authorized": "Connexion rapide autorisée", "error": "Erreur", "invalid_code": "Code invalide", "authorize": "Autoriser" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Afficher les liens personnalisés", "show_large_home_carousel": "Afficher le grand carrousel d’accueil (bêta)", "hide_libraries": "Masquer les bibliothèques", - "select_liraries_you_want_to_hide": "Sélectionnez les bibliothèques que vous souhaitez masquer dans l'onglet Bibliothèque et les sections de la page d'accueil.", + "select_libraries_you_want_to_hide": "Sélectionnez les bibliothèques que vous souhaitez masquer dans l'onglet Bibliothèque et les sections de la page d'accueil.", "disable_haptic_feedback": "Désactiver le retour haptique", "default_quality": "Qualité par défaut", "default_playback_speed": "Vitesse de lecture par défaut", @@ -384,6 +384,8 @@ "device_usage": "Appareil {{availableSpace}}%", "size_used": "{{used}} de {{total}} utilisés", "delete_all_downloaded_files": "Supprimer tous les fichiers téléchargés", + "delete_all_downloaded_files_confirm": "Supprimer tous les fichiers téléchargés ?", + "delete_all_downloaded_files_confirm_desc": "Êtes-vous sûr de vouloir supprimer tous les fichiers téléchargés ? Cette action est irréversible.", "music_cache_title": "Mise en cache de la musique", "music_cache_description": "Mettez automatiquement en cache les chansons au fur et à mesure que vous écoutez pour une lecture plus fluide et une prise en charge hors ligne", "clear_music_cache": "Vider le cache de la musique", @@ -598,7 +600,7 @@ "mpv_player_title": "Lecteur MPV", "error": "Erreur", "failed_to_get_stream_url": "Échec de l'obtention de l'URL du flux", - "an_error_occured_while_playing_the_video": "Une erreur s’est produite lors de la lecture de la vidéo. Vérifiez les journaux dans les paramètres.", + "an_error_occurred_while_playing_the_video": "Une erreur s’est produite lors de la lecture de la vidéo. Vérifiez les journaux dans les paramètres.", "client_error": "Erreur du client", "could_not_create_stream_for_chromecast": "Impossible de créer un flux sur la Chromecast", "message_from_server": "Message du serveur : {{message}}", diff --git a/translations/he.json b/translations/he.json index 4952bb4dd..acd9a02f5 100644 --- a/translations/he.json +++ b/translations/he.json @@ -16,14 +16,14 @@ "got_it": "קיבלתי", "connection_failed": "ההתחברות נכשלה", "could_not_connect_to_server": "לא היה ניתן להתחבר לשרת. אנא בדוק את הקישור ואת חיבור הרשת שלך.", - "an_unexpected_error_occured": "קרתה שגיאה לא צפויה", + "an_unexpected_error_occurred": "קרתה שגיאה לא צפויה", "change_server": "החלף שרת", "invalid_username_or_password": "שם משתמש או סיסמה שגויים", "user_does_not_have_permission_to_log_in": "לחשבון זה אין גישה להתחבר", "server_is_taking_too_long_to_respond_try_again_later": "השרת לוקח יותר מדי זמן כדי להגיב, נסה שוב מאוחר יותר", "server_received_too_many_requests_try_again_later": "השרת קיבל יותר מדי קריאות, נסה שוב מאוחר יותר", "there_is_a_server_error": "קרתה שגיאה בצד השרת", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "קרתה שגיאה לא צפויה. האם כתובת השרת שהוקלדה נכונה?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "קרתה שגיאה לא צפויה. האם כתובת השרת שהוקלדה נכונה?", "too_old_server_text": "נמצא שרת Jellyfin שלא נתמך", "too_old_server_description": "אנא עדכן את גרסת ה-Jellyfin למעודכנת ביותר" }, @@ -188,7 +188,7 @@ "authorize_button": "אשר התחברות מהירה", "enter_the_quick_connect_code": "הקלד את קוד ההתחברות המהירה...", "success": "הצלחה", - "quick_connect_autorized": "חיבור מהיר אושר", + "quick_connect_authorized": "חיבור מהיר אושר", "error": "שגיאה", "invalid_code": "קוד שגוי", "authorize": "אשר" @@ -298,7 +298,7 @@ "show_custom_menu_links": "הצג קישורים לתפריטים מותאמים אישית", "show_large_home_carousel": "הצג קרוסלה גדולה במסך הבית (בטא)", "hide_libraries": "הסתר ספריות", - "select_liraries_you_want_to_hide": "בחר את הספריות שתרצה להסתיר ממסך הספריות וגם ממסך הבית.", + "select_libraries_you_want_to_hide": "בחר את הספריות שתרצה להסתיר ממסך הספריות וגם ממסך הבית.", "disable_haptic_feedback": "בטל משוב רטט", "default_quality": "איכות ברירת מחדל", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "מכשיר {{availableSpace}}%", "size_used": "השתמשת ב-{{used}} מתוך {{total}}", "delete_all_downloaded_files": "מחק את כל הקבצים שהורדו", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "שגיאה", "failed_to_get_stream_url": "נכשל בהשגת קישור הזרם", - "an_error_occured_while_playing_the_video": "קרתה תקלה במהלך הניגון של הקובץ. בדוק את הלוגים בהגדרות.", + "an_error_occurred_while_playing_the_video": "קרתה תקלה במהלך הניגון של הקובץ. בדוק את הלוגים בהגדרות.", "client_error": "שגיאת לקוח", "could_not_create_stream_for_chromecast": "נכשל ביצירת זרם עבור Chromecast", "message_from_server": "הודעה מהשרת: {{message}}", diff --git a/translations/hu.json b/translations/hu.json index 3550bb0a1..7cde81480 100644 --- a/translations/hu.json +++ b/translations/hu.json @@ -16,14 +16,14 @@ "got_it": "Értettem", "connection_failed": "Kapcsolódás Sikertelen", "could_not_connect_to_server": "Nem sikerült csatlakozni a szerverhez. Kérjük, ellenőrizd az URL-t és a hálózati kapcsolatot.", - "an_unexpected_error_occured": "Váratlan Hiba Történt", + "an_unexpected_error_occurred": "Váratlan Hiba Történt", "change_server": "Szerverváltás", "invalid_username_or_password": "Érvénytelen Felhasználónév vagy Jelszó", "user_does_not_have_permission_to_log_in": "A felhasználónak nincs jogosultsága a bejelentkezéshez", "server_is_taking_too_long_to_respond_try_again_later": "A szerver túl sokáig válaszol, próbáld újra később", "server_received_too_many_requests_try_again_later": "A szerver túl sok kérést kapott, próbáld újra később.", "there_is_a_server_error": "Szerverhiba történt", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Váratlan hiba történt. Helyesen adtad meg a szerver URL-jét?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Váratlan hiba történt. Helyesen adtad meg a szerver URL-jét?", "too_old_server_text": "Nem Támogatott Jellyfin-szerver", "too_old_server_description": "Frissítsd a Jellyfint a legújabb verzióra" }, @@ -188,7 +188,7 @@ "authorize_button": "Gyorscsatlakozás Engedélyezése", "enter_the_quick_connect_code": "Add meg a gyors csatlakozási kódot...", "success": "Siker", - "quick_connect_autorized": "Gyorscsatlakozás Engedélyezve", + "quick_connect_authorized": "Gyorscsatlakozás Engedélyezve", "error": "Hiba", "invalid_code": "Érvénytelen Kód", "authorize": "Engedélyezés" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Egyéni Menülinkek Megjelenítése", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Könyvtárak Elrejtése", - "select_liraries_you_want_to_hide": "Válaszd ki azokat a könyvtárakat, amelyeket el szeretnél rejteni a Könyvtár fülön és a kezdőlapon.", + "select_libraries_you_want_to_hide": "Válaszd ki azokat a könyvtárakat, amelyeket el szeretnél rejteni a Könyvtár fülön és a kezdőlapon.", "disable_haptic_feedback": "Haptikus Visszajelzés Letiltása", "default_quality": "Alapértelmezett Minőség", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Eszköz {{availableSpace}}%", "size_used": "{{used}} / {{total}} Használatban", "delete_all_downloaded_files": "Minden Letöltött Fájl Törlése", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Hiba", "failed_to_get_stream_url": "Nem sikerült lekérni a stream URL-t", - "an_error_occured_while_playing_the_video": "Hiba történt a videó lejátszása közben. Ellenőrizd a naplókat a beállításokban.", + "an_error_occurred_while_playing_the_video": "Hiba történt a videó lejátszása közben. Ellenőrizd a naplókat a beállításokban.", "client_error": "Kliens Hiba", "could_not_create_stream_for_chromecast": "A Chromecast stream létrehozása sikertelen volt", "message_from_server": "Üzenet a szervertől: {{message}}", diff --git a/translations/it.json b/translations/it.json index c445d5bf3..856790bd6 100644 --- a/translations/it.json +++ b/translations/it.json @@ -16,14 +16,14 @@ "got_it": "Capito", "connection_failed": "Connessione fallita", "could_not_connect_to_server": "Impossibile connettersi al server. Controllare l'URL e la connessione di rete.", - "an_unexpected_error_occured": "Si è verificato un errore inaspettato", + "an_unexpected_error_occurred": "Si è verificato un errore inaspettato", "change_server": "Cambiare il server", "invalid_username_or_password": "Nome utente o password non validi", "user_does_not_have_permission_to_log_in": "L'utente non ha il permesso di accedere", "server_is_taking_too_long_to_respond_try_again_later": "Il server sta impiegando troppo tempo per rispondere, riprovare più tardi", "server_received_too_many_requests_try_again_later": "Il server ha ricevuto troppe richieste, riprovare più tardi.", "there_is_a_server_error": "Si è verificato un errore del server", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Si è verificato un errore imprevisto. L'URL del server è stato inserito correttamente?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Si è verificato un errore imprevisto. L'URL del server è stato inserito correttamente?", "too_old_server_text": "Scoperto Server Jellyfin non supportato", "too_old_server_description": "Aggiorna Jellyfin all'ultima versione" }, @@ -188,7 +188,7 @@ "authorize_button": "Autorizza Connessione Rapida", "enter_the_quick_connect_code": "Inserisci il codice per la Connessione Rapida...", "success": "Successo", - "quick_connect_autorized": "Connessione Rapida autorizzata", + "quick_connect_authorized": "Connessione Rapida autorizzata", "error": "Errore", "invalid_code": "Codice invalido", "authorize": "Autorizza" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Mostra i link del menu personalizzato", "show_large_home_carousel": "Mostra Carosello Grande nella Home (beta)", "hide_libraries": "Nascondi Librerie", - "select_liraries_you_want_to_hide": "Selezionate le librerie che volete nascondere dalla scheda Libreria e dalle sezioni della pagina iniziale.", + "select_libraries_you_want_to_hide": "Selezionate le librerie che volete nascondere dalla scheda Libreria e dalle sezioni della pagina iniziale.", "disable_haptic_feedback": "Disabilita il feedback aptico", "default_quality": "Qualità predefinita", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Dispositivo {{availableSpace}}%", "size_used": "{{used}} di {{total}} usato", "delete_all_downloaded_files": "Cancella Tutti i File Scaricati", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Precarica automaticamente i brani mentre ascolti per una riproduzione più fluida e il supporto offline", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Errore", "failed_to_get_stream_url": "Impossibile ottenere l'URL dello stream", - "an_error_occured_while_playing_the_video": "Si è verificato un errore durante la riproduzione del video. Controllare i log nelle impostazioni.", + "an_error_occurred_while_playing_the_video": "Si è verificato un errore durante la riproduzione del video. Controllare i log nelle impostazioni.", "client_error": "Errore del client", "could_not_create_stream_for_chromecast": "Impossibile creare uno stream per Chromecast", "message_from_server": "Messaggio dal server", diff --git a/translations/ja.json b/translations/ja.json index 728092c56..88a9c24e1 100644 --- a/translations/ja.json +++ b/translations/ja.json @@ -16,14 +16,14 @@ "got_it": "了解", "connection_failed": "接続に失敗しました", "could_not_connect_to_server": "サーバーに接続できませんでした。URLとネットワーク接続を確認してください。", - "an_unexpected_error_occured": "予期しないエラーが発生しました", + "an_unexpected_error_occurred": "予期しないエラーが発生しました", "change_server": "サーバーの変更", "invalid_username_or_password": "ユーザー名またはパスワードが無効です", "user_does_not_have_permission_to_log_in": "ユーザーにログイン権限がありません", "server_is_taking_too_long_to_respond_try_again_later": "サーバーの応答に時間がかかりすぎています。しばらくしてからもう一度お試しください。", "server_received_too_many_requests_try_again_later": "サーバーにリクエストが多すぎます。後でもう一度お試しください。", "there_is_a_server_error": "サーバーエラーが発生しました", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "予期しないエラーが発生しました。サーバーのURLを正しく入力しましたか?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "予期しないエラーが発生しました。サーバーのURLを正しく入力しましたか?", "too_old_server_text": "サポートされていないJellyfinサーバー発見", "too_old_server_description": "Jellyfinを最新バージョンにアップデートしてください" }, @@ -188,7 +188,7 @@ "authorize_button": "クイックコネクトを承認する", "enter_the_quick_connect_code": "クイックコネクトコードを入力...", "success": "成功しました", - "quick_connect_autorized": "クイックコネクトが承認されました", + "quick_connect_authorized": "クイックコネクトが承認されました", "error": "エラー", "invalid_code": "無効なコードです", "authorize": "承認" @@ -298,7 +298,7 @@ "show_custom_menu_links": "カスタムメニューのリンクを表示", "show_large_home_carousel": "大きなヒーロー(Beta)", "hide_libraries": "ライブラリを非表示", - "select_liraries_you_want_to_hide": "ライブラリタブとホームページセクションから非表示にするライブラリを選択します。", + "select_libraries_you_want_to_hide": "ライブラリタブとホームページセクションから非表示にするライブラリを選択します。", "disable_haptic_feedback": "触覚フィードバックを無効にする", "default_quality": "デフォルトの品質", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "デバイス {{availableSpace}}%", "size_used": "{{used}} / {{total}} 使用済み", "delete_all_downloaded_files": "すべてのダウンロードファイルを削除", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "エラー", "failed_to_get_stream_url": "ストリームURLを取得できませんでした", - "an_error_occured_while_playing_the_video": "動画の再生中にエラーが発生しました。設定でログを確認してください。", + "an_error_occurred_while_playing_the_video": "動画の再生中にエラーが発生しました。設定でログを確認してください。", "client_error": "クライアントエラー", "could_not_create_stream_for_chromecast": "Chromecastのストリームを作成できませんでした", "message_from_server": "サーバーからのメッセージ", diff --git a/translations/ko.json b/translations/ko.json index f16ce2f3c..0766550a1 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -16,14 +16,14 @@ "got_it": "성공", "connection_failed": "연결 실패", "could_not_connect_to_server": "서버에 연결되지 않았습니다. URL과 네트워크 상태를 확인하세요.", - "an_unexpected_error_occured": "예기치 않은 오류가 발생했습니다", + "an_unexpected_error_occurred": "예기치 않은 오류가 발생했습니다", "change_server": "서버 변경", "invalid_username_or_password": "잘못된 아이디 혹은 비밀번호입니다", "user_does_not_have_permission_to_log_in": "로그인 하기 위한 권한이 없습니다", "server_is_taking_too_long_to_respond_try_again_later": "서버 응답이 너무 느립니다. 나중에 다시 시도하세요", "server_received_too_many_requests_try_again_later": "서버가 너무 많은 요청을 받았습니다. 나중에 다시 시도하세요.", "there_is_a_server_error": "서버 에러", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "예기치 않은 오류가 발생했습니다. 서버 URL을 올바르게 입력하셨습니까?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "예기치 않은 오류가 발생했습니다. 서버 URL을 올바르게 입력하셨습니까?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "Please update Jellyfin to the latest version" }, @@ -188,7 +188,7 @@ "authorize_button": "퀵 커넥트 승인", "enter_the_quick_connect_code": "퀵 커넥트 코드 입력...", "success": "성공", - "quick_connect_autorized": "퀵 커넥트 승인됨", + "quick_connect_authorized": "퀵 커넥트 승인됨", "error": "오류", "invalid_code": "유효하지 않은 코드", "authorize": "승인" @@ -298,7 +298,7 @@ "show_custom_menu_links": "사용자 지정 메뉴 링크 표시", "show_large_home_carousel": "대형 홈 슬라이드 배너 표시 (베타)", "hide_libraries": "라이브러리 숨기기", - "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", + "select_libraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "disable_haptic_feedback": "Disable Haptic Feedback", "default_quality": "Default Quality", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "디바이스 {{availableSpace}}%", "size_used": "{{used}} of {{total}} Used", "delete_all_downloaded_files": "Delete All Downloaded Files", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Error", "failed_to_get_stream_url": "Failed to get the stream URL", - "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", + "an_error_occurred_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "client_error": "Client Error", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "message_from_server": "Message from Server: {{message}}", diff --git a/translations/nl.json b/translations/nl.json index 5933e2778..91953f833 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -16,14 +16,14 @@ "got_it": "Begrepen", "connection_failed": "Verbinding mislukt", "could_not_connect_to_server": "Kon niet verbinden met de server. Controleer de URL en je netwerkverbinding.", - "an_unexpected_error_occured": "Er is een onverwachte fout opgetreden", + "an_unexpected_error_occurred": "Er is een onverwachte fout opgetreden", "change_server": "Server wijzigen", "invalid_username_or_password": "Onjuiste gebruikersnaam of wachtwoord", "user_does_not_have_permission_to_log_in": "Gebruiker heeft geen rechten om aan te melden", "server_is_taking_too_long_to_respond_try_again_later": "De server doet er te lang over om te antwoorden, probeer later opnieuw", "server_received_too_many_requests_try_again_later": "De server heeft te veel aanvragen ontvangen, probeer later opnieuw", "there_is_a_server_error": "Er is een serverfout", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Er is een onverwachte fout opgetreden. Heb je de server URL correct ingegeven?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Er is een onverwachte fout opgetreden. Heb je de server URL correct ingegeven?", "too_old_server_text": "Niet-ondersteunde Jellyfin Server Ontdekt", "too_old_server_description": "Werk Jellyfin bij naar de laatste versie" }, @@ -188,7 +188,7 @@ "authorize_button": "Snel Verbinden toestaan", "enter_the_quick_connect_code": "Vul de Snel Verbinden code in...", "success": "Succes", - "quick_connect_autorized": "Snel Verbinden toegestaan", + "quick_connect_authorized": "Snel Verbinden toegestaan", "error": "Fout", "invalid_code": "Ongeldige code", "authorize": "Toestaan" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Aangepaste menulinks tonen", "show_large_home_carousel": "Toon grote carrousel op startpagina (bèta)", "hide_libraries": "Verberg Bibliotheken", - "select_liraries_you_want_to_hide": "Selecteer de bibliotheken die je wil verbergen van de Bibliotheektab en hoofdpagina onderdelen.", + "select_libraries_you_want_to_hide": "Selecteer de bibliotheken die je wil verbergen van de Bibliotheektab en hoofdpagina onderdelen.", "disable_haptic_feedback": "Haptische feedback uitschakelen", "default_quality": "Standaard kwaliteit", "default_playback_speed": "Standaard Afspeelsnelheid", @@ -384,6 +384,8 @@ "device_usage": "Toestel {{availableSpace}}%", "size_used": "{{used}} van {{total}} gebruikt", "delete_all_downloaded_files": "Verwijder alle gedownloade bestanden", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Fout", "failed_to_get_stream_url": "De stream-URL kon niet worden verkregen", - "an_error_occured_while_playing_the_video": "Er is een fout opgetreden tijdens het afspelen van de video. Controleer de logs in de instellingen.", + "an_error_occurred_while_playing_the_video": "Er is een fout opgetreden tijdens het afspelen van de video. Controleer de logs in de instellingen.", "client_error": "Fout van de client", "could_not_create_stream_for_chromecast": "Kon geen stream maken voor Chromecast", "message_from_server": "Bericht van de server", diff --git a/translations/no.json b/translations/no.json index 7a37cb779..29bf1b497 100644 --- a/translations/no.json +++ b/translations/no.json @@ -16,14 +16,14 @@ "got_it": "Har det", "connection_failed": "Tilkobling mislyktes", "could_not_connect_to_server": "Kunne ikke koble til serveren. Kontroller nettadressen og nettverkstilkoblingen.", - "an_unexpected_error_occured": "En uventet feil oppstod", + "an_unexpected_error_occurred": "En uventet feil oppstod", "change_server": "Endre server", "invalid_username_or_password": "Ugyldig brukernavn eller passord", "user_does_not_have_permission_to_log_in": "Brukeren har ikke tillatelse til å logge inn", "server_is_taking_too_long_to_respond_try_again_later": "Serveren tar for lang tid å svare, prøv igjen senere", "server_received_too_many_requests_try_again_later": "Serveren mottok for mange forespørsler, prøv igjen senere.", "there_is_a_server_error": "Det er en serverfeil", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Det oppstod en uventet feil. Sendte du inn URLen til serveren riktig?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Det oppstod en uventet feil. Sendte du inn URLen til serveren riktig?", "too_old_server_text": "Ustøttet Jellyfin Server oppdaget", "too_old_server_description": "Vennligst oppdater Jellyfin til nyeste versjon" }, @@ -188,7 +188,7 @@ "authorize_button": "Autoriser rask tilkobling", "enter_the_quick_connect_code": "Skriv inn hurtig-tilkobling kode...", "success": "Vellykket", - "quick_connect_autorized": "Hurtig tilkobling autorisert", + "quick_connect_authorized": "Hurtig tilkobling autorisert", "error": "Feil", "invalid_code": "Ugyldig kode", "authorize": "Autoriser" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Vis tilpassede menylenker", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Skjul biblioteker", - "select_liraries_you_want_to_hide": "Velg bibliotekene du vil skjule deg for Biblioteket og avsnittene for hjemmesider.", + "select_libraries_you_want_to_hide": "Velg bibliotekene du vil skjule deg for Biblioteket og avsnittene for hjemmesider.", "disable_haptic_feedback": "Deaktiver Haptisk tilbakemelding", "default_quality": "Standard kvalitet", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Enhet {{availableSpace}}%", "size_used": "{{used}} av {{total}} er i bruk", "delete_all_downloaded_files": "Slett alle nedlastede filer", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Feil", "failed_to_get_stream_url": "Kan ikke hente nettadressen for stream", - "an_error_occured_while_playing_the_video": "En feil oppstod under video. Sjekk loggene i innstillingene.", + "an_error_occurred_while_playing_the_video": "En feil oppstod under video. Sjekk loggene i innstillingene.", "client_error": "Feil med annonsør", "could_not_create_stream_for_chromecast": "Kan ikke opprette en strøm for Chromecast", "message_from_server": "Melding fra tjener: {{message}}", diff --git a/translations/pl.json b/translations/pl.json index cd3ab08a6..0bdc0253e 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -16,14 +16,14 @@ "got_it": "Rozumiem", "connection_failed": "Połączenie nieudane", "could_not_connect_to_server": "Nie można połączyć się z serwerem. Sprawdź adres URL oraz połączenie sieciowe.", - "an_unexpected_error_occured": "Wystąpił nieoczekiwany błąd", + "an_unexpected_error_occurred": "Wystąpił nieoczekiwany błąd", "change_server": "Zmień serwer", "invalid_username_or_password": "Nieprawidłowa nazwa użytkownika lub hasło", "user_does_not_have_permission_to_log_in": "Użytkownik nie ma uprawnień do logowania", "server_is_taking_too_long_to_respond_try_again_later": "Serwer zbyt długo nie odpowiada – spróbuj ponownie później", "server_received_too_many_requests_try_again_later": "Serwer otrzymał zbyt wiele żądań – spróbuj ponownie później.", "there_is_a_server_error": "Wystąpił błąd serwera", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Wystąpił nieoczekiwany błąd. Czy wpisałeś poprawny adres URL?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Wystąpił nieoczekiwany błąd. Czy wpisałeś poprawny adres URL?", "too_old_server_text": "Wykryto nieobsługiwany serwer Jellyfin", "too_old_server_description": "Proszę zaktualizować Jellyfin do najnowszej wersji" }, @@ -188,7 +188,7 @@ "authorize_button": "Autoryzuj szybkie połączenie", "enter_the_quick_connect_code": "Wpisz kod szybkiego połączenia...", "success": "Sukces", - "quick_connect_autorized": "Szybkie połączenie autoryzowane", + "quick_connect_authorized": "Szybkie połączenie autoryzowane", "error": "Błąd", "invalid_code": "Nieprawidłowy kod", "authorize": "Autoryzuj" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Pokaż niestandardowe odnośniki w menu", "show_large_home_carousel": "Wyświetl Dużą Karuzelę na ekranie głównym (beta)", "hide_libraries": "Ukryj biblioteki", - "select_liraries_you_want_to_hide": "Wybierz biblioteki, które chcesz ukryć na karcie Biblioteka i w sekcjach strony głównej.", + "select_libraries_you_want_to_hide": "Wybierz biblioteki, które chcesz ukryć na karcie Biblioteka i w sekcjach strony głównej.", "disable_haptic_feedback": "Wyłącz wibracje", "default_quality": "Domyślna jakość", "default_playback_speed": "Domyślna prędkość odtwarzania", @@ -384,6 +384,8 @@ "device_usage": "Urządzenie {{availableSpace}}%", "size_used": "{{used}} z {{total}} wykorzystane", "delete_all_downloaded_files": "Usuń wszystkie pobrane pliki", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Bufor muzyki", "music_cache_description": "Automatycznie buforuj piosenki w trakcie słuchania dla płynniejszego odtwarzania i wsparcia offline", "clear_music_cache": "Wyczyść bufor muzyki", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Błąd", "failed_to_get_stream_url": "Nie udało się pobrać adresu strumienia", - "an_error_occured_while_playing_the_video": "Wystąpił błąd podczas odtwarzania wideo. Sprawdź logi w ustawieniach.", + "an_error_occurred_while_playing_the_video": "Wystąpił błąd podczas odtwarzania wideo. Sprawdź logi w ustawieniach.", "client_error": "Błąd klienta", "could_not_create_stream_for_chromecast": "Nie udało się utworzyć strumienia dla Chromecasta", "message_from_server": "Wiadomość z serwera: {{message}}", diff --git a/translations/pt.json b/translations/pt.json index 7caf9d1dc..20d634552 100644 --- a/translations/pt.json +++ b/translations/pt.json @@ -16,14 +16,14 @@ "got_it": "Tenho isso", "connection_failed": "Falha na conexão", "could_not_connect_to_server": "Não foi possível conectar ao servidor. Verifique a URL e sua conexão de rede.", - "an_unexpected_error_occured": "Ocorreu um erro inesperado", + "an_unexpected_error_occurred": "An unexpected error occurred", "change_server": "Alterar Servidor", "invalid_username_or_password": "Usuário ou senha inválidos", "user_does_not_have_permission_to_log_in": "Usuário não tem permissão para fazer login", "server_is_taking_too_long_to_respond_try_again_later": "O servidor está demorando muito para responder, tente novamente mais tarde", "server_received_too_many_requests_try_again_later": "O servidor recebeu muitos pedidos, tente novamente mais tarde.", "there_is_a_server_error": "Existe um erro no servidor", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Ocorreu um erro inesperado. Você inseriu a URL do servidor corretamente?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "An unexpected error occurred. Did you enter the server URL correctly?", "too_old_server_text": "Servidor Jellyfin Descoberto Não Suportado", "too_old_server_description": "Por favor, atualize o Jellyfin para a versão mais recente" }, @@ -188,7 +188,7 @@ "authorize_button": "Autorizar conexão rápida", "enter_the_quick_connect_code": "Insira o código de conexão rápida...", "success": "Sucesso", - "quick_connect_autorized": "Acesso Rápido Autorizado", + "quick_connect_authorized": "Quick Connect authorized", "error": "Erro", "invalid_code": "Código inválido", "authorize": "Autorizar" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Mostrar Links de Menu Personalizado", "show_large_home_carousel": "Mostrar Carrossel Grande (beta)", "hide_libraries": "Ocultar bibliotecas", - "select_liraries_you_want_to_hide": "Selecione as bibliotecas que você deseja ocultar da aba Biblioteca e seções da página inicial.", + "select_libraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "disable_haptic_feedback": "Desativar o retorno tátil", "default_quality": "Qualidade Padrão", "default_playback_speed": "Velocidade padrão de reprodução", @@ -384,6 +384,8 @@ "device_usage": "Dispositivo {{availableSpace}}%", "size_used": "{{used}} de {{total}} Utilizados", "delete_all_downloaded_files": "Excluir todos os arquivos baixados", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Cache de Música", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Limpar Cache de Música", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "ERRO", "failed_to_get_stream_url": "Falha ao obter a URL de transmissão", - "an_error_occured_while_playing_the_video": "Ocorreu um erro ao reproduzir o vídeo. Verifique os logs nas configurações.", + "an_error_occurred_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "client_error": "Erro de Cliente", "could_not_create_stream_for_chromecast": "Não foi possível criar um fluxo para o Chromecast", "message_from_server": "Mensagem do Servidor: {{message}}", diff --git a/translations/ro.json b/translations/ro.json index c18ad0ede..3994e1392 100644 --- a/translations/ro.json +++ b/translations/ro.json @@ -16,14 +16,14 @@ "got_it": "Am înţeles", "connection_failed": "Conectare eșuată", "could_not_connect_to_server": "Nu s-a putut conecta la server. Verificați adresa URL și conexiunea la internet.", - "an_unexpected_error_occured": "A apărut o eroare neașteptată", + "an_unexpected_error_occurred": "A apărut o eroare neașteptată", "change_server": "Schimba", "invalid_username_or_password": "Nume de utilizator sau parolă greșită", "user_does_not_have_permission_to_log_in": "Utilizatorul nu are permisiunea de a se conecta", "server_is_taking_too_long_to_respond_try_again_later": "Serverul răspunde prea greu, încearcă din nou mai târziu.", "server_received_too_many_requests_try_again_later": "Serverul a primit prea multe solicitări, încercați din nou mai târziu.", "there_is_a_server_error": "Eroare de server", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "A apărut o eroare neașteptată. Ați introdus corect adresa URL a serverului?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "A apărut o eroare neașteptată. Ați introdus corect adresa URL a serverului?", "too_old_server_text": "Serverul Jellyfin Neacceptat Descoperit", "too_old_server_description": "Vă rugăm să actualizați Jellyfin la cea mai recentă versiune" }, @@ -188,7 +188,7 @@ "authorize_button": "Autorizare conectare rapidă", "enter_the_quick_connect_code": "Introduceți codul pt. conectare rapidă...", "success": "Succes", - "quick_connect_autorized": "Conectare rapidă autorizată", + "quick_connect_authorized": "Conectare rapidă autorizată", "error": "Eroare", "invalid_code": "Cod invalid.", "authorize": "Autorizează" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Afișează link-uri personalizate în meniu", "show_large_home_carousel": "Arată Caruselul Media Mare (beta)", "hide_libraries": "Ascunde bibliotecile", - "select_liraries_you_want_to_hide": "Selectează bibliotecile pe care dorești să le ascunzi din fila Bibliotecă și din secțiunile paginii principale.", + "select_libraries_you_want_to_hide": "Selectează bibliotecile pe care dorești să le ascunzi din fila Bibliotecă și din secțiunile paginii principale.", "disable_haptic_feedback": "Dezactivează vibrațiile tactile", "default_quality": "Calitate implicită", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Dispozitiv {{availableSpace}}%", "size_used": "{{used}} din {{total}} folosit", "delete_all_downloaded_files": "Ștergeți toate fișierele descărcate", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Eroare", "failed_to_get_stream_url": "Nu s-a putut obține adresa URL a fluxului", - "an_error_occured_while_playing_the_video": "A apărut o eroare la redarea videoclipului. Verificați jurnalele în setări.", + "an_error_occurred_while_playing_the_video": "A apărut o eroare la redarea videoclipului. Verificați jurnalele în setări.", "client_error": "Eroare client", "could_not_create_stream_for_chromecast": "Nu s-a putut crea un flux pentru Chromecast", "message_from_server": "Mesaj de la server: {{message}}", diff --git a/translations/ru.json b/translations/ru.json index fc35d053a..1dbf0ddf3 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -16,14 +16,14 @@ "got_it": "Принято", "connection_failed": "Соединение не удалось", "could_not_connect_to_server": "Не удалось подключиться к серверу. Пожалуйста, проверьте URL и ваше интернет-соединение.", - "an_unexpected_error_occured": "Возникла непредвиденная ошибка", + "an_unexpected_error_occurred": "Возникла непредвиденная ошибка", "change_server": "Поменять сервер", "invalid_username_or_password": "Неправильное имя пользователя или пароль", "user_does_not_have_permission_to_log_in": "Пользователь не имеет прав на вход", "server_is_taking_too_long_to_respond_try_again_later": "Сервер долго не отвечает, попробуйте позже", "server_received_too_many_requests_try_again_later": "Сервер получил слишком много запросов, попробуйте позже.", "there_is_a_server_error": "Возникла ошибка сервера", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Возникла непредвиденная ошибка. Вы правильно ввели URL?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Возникла непредвиденная ошибка. Вы правильно ввели URL?", "too_old_server_text": "Обнаружен неподдерживаемый сервер Jellyfin", "too_old_server_description": "Пожалуйста, обновите Jellyfin до последней версии" }, @@ -188,7 +188,7 @@ "authorize_button": "Авторизовать через быстрое подключение", "enter_the_quick_connect_code": "Введите код для быстрого подключения...", "success": "Успех", - "quick_connect_autorized": "Быстрое подключение авторизовано", + "quick_connect_authorized": "Быстрое подключение авторизовано", "error": "Ошибка", "invalid_code": "Неверный код", "authorize": "Авторизовать" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Показать ссылки пользовательского меню", "show_large_home_carousel": "Показывать большую карусель (beta)", "hide_libraries": "Скрыть библиотеки", - "select_liraries_you_want_to_hide": "Выберите Библиотеки, которое хотите спрятать из вкладки Библиотеки и домашней страницы.", + "select_libraries_you_want_to_hide": "Выберите Библиотеки, которое хотите спрятать из вкладки Библиотеки и домашней страницы.", "disable_haptic_feedback": "Отключить тактильную обратную связь", "default_quality": "Качество по умолчанию", "default_playback_speed": "Скорость воспроизведения по умолчанию", @@ -384,6 +384,8 @@ "device_usage": "Устройство {{availableSpace}}%", "size_used": "{{used}} из {{total}} использовано", "delete_all_downloaded_files": "Удалить все загруженные файлы", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Кеш музыки", "music_cache_description": "Автоматически кешировать песни по мере прослушивания для плавного воспроизведения и поддержки отсутствия интернета", "clear_music_cache": "Очистить кеш музыки", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Ошибка", "failed_to_get_stream_url": "Не удалось получить URL потока", - "an_error_occured_while_playing_the_video": "Возникла Неожиданная ошибка во время воспроизведения. Проверьте логи в настройках.", + "an_error_occurred_while_playing_the_video": "Возникла Неожиданная ошибка во время воспроизведения. Проверьте логи в настройках.", "client_error": "Ошибка клиента", "could_not_create_stream_for_chromecast": "Не удалось создать поток для Chromecast", "message_from_server": "Сообщение от сервера: {{message}}", diff --git a/translations/sv.json b/translations/sv.json index 0207e6c26..d1b8a4666 100644 --- a/translations/sv.json +++ b/translations/sv.json @@ -16,14 +16,14 @@ "got_it": "Koden har mottagits", "connection_failed": "Anslutningen Misslyckades", "could_not_connect_to_server": "Det gick inte att ansluta till servern. Kontrollera webbadressen och din nätverksanslutning.", - "an_unexpected_error_occured": "Ett Oväntat Fel Uppstod", + "an_unexpected_error_occurred": "Ett Oväntat Fel Uppstod", "change_server": "Byt Server", "invalid_username_or_password": "Ogiltigt användarnamn eller lösenord", "user_does_not_have_permission_to_log_in": "Användaren har inte behörighet att logga in", "server_is_taking_too_long_to_respond_try_again_later": "Servern svarar för långsamt, försök igen senare", "server_received_too_many_requests_try_again_later": "Servern har fått för många förfrågningar, försök igen senare.", "there_is_a_server_error": "Ett serverfel uppstod", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Ett oväntat fel uppstod. Har du angett serverns URL korrekt?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Ett oväntat fel uppstod. Har du angett serverns URL korrekt?", "too_old_server_text": "Jellyfin Servern Stöds Inte", "too_old_server_description": "Var God Uppdatera Jellyfin Till Den Senaste Versionen" }, @@ -188,7 +188,7 @@ "authorize_button": "Godkänn snabbanslutning", "enter_the_quick_connect_code": "Ange snabbanslutningskod...", "success": "Snabbanslutning lyckades", - "quick_connect_autorized": "Snabbanslutning Godkänd", + "quick_connect_authorized": "Snabbanslutning Godkänd", "error": "Fel", "invalid_code": "Ogiltig kod", "authorize": "Autentisera" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Visa anpassade menylänkar", "show_large_home_carousel": "Visa toppbanner (beta)", "hide_libraries": "Dölj bibliotek", - "select_liraries_you_want_to_hide": "Välj de bibliotek du vill dölja på fliken Bibliotek och på startsidan.", + "select_libraries_you_want_to_hide": "Välj de bibliotek du vill dölja på fliken Bibliotek och på startsidan.", "disable_haptic_feedback": "Stäng av vibrationer", "default_quality": "Förvald Kvalitet", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Telefon {{availableSpace}}%", "size_used": "{{used}} av {{total}} används", "delete_all_downloaded_files": "Ta bort alla nerladdade filer", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Musikcache", "music_cache_description": "Cacha automatiskt låtar när du lyssnar för smidigare uppspelning och offline-stöd", "clear_music_cache": "Rensa musikcache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Fel", "failed_to_get_stream_url": "Kunde inte hämta stream-URL", - "an_error_occured_while_playing_the_video": "Ett fel uppstod vid uppspelning av videon. Kontrollera loggarna i inställningarna.", + "an_error_occurred_while_playing_the_video": "Ett fel uppstod vid uppspelning av videon. Kontrollera loggarna i inställningarna.", "client_error": "Klientfel", "could_not_create_stream_for_chromecast": "Kunde inte skapa stream för Chromecast", "message_from_server": "Meddelande från servern: {{message}}", diff --git a/translations/th.json b/translations/th.json index a611bb80d..9c2f1e972 100644 --- a/translations/th.json +++ b/translations/th.json @@ -16,14 +16,14 @@ "got_it": "Got It", "connection_failed": "Connection Failed", "could_not_connect_to_server": "Could not connect to the server. Please check the URL and your network connection.", - "an_unexpected_error_occured": "An Unexpected Error Occurred", + "an_unexpected_error_occurred": "An unexpected error occurred", "change_server": "Change Server", "invalid_username_or_password": "Invalid Username or Password", "user_does_not_have_permission_to_log_in": "ผู้ใช้ไม่มีสิทธิ์ในการเข้าสู่ระบบ", "server_is_taking_too_long_to_respond_try_again_later": "Server is taking too long to respond, try again later", "server_received_too_many_requests_try_again_later": "Server received too many requests, try again later.", "there_is_a_server_error": "There is a server error", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "An unexpected error occurred. Did you enter the server URL correctly?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "Please update Jellyfin to the latest version" }, @@ -188,7 +188,7 @@ "authorize_button": "Authorize Quick Connect", "enter_the_quick_connect_code": "Enter the quick connect code...", "success": "Success", - "quick_connect_autorized": "Quick Connect Authorized", + "quick_connect_authorized": "Quick Connect authorized", "error": "Error", "invalid_code": "Invalid Code", "authorize": "Authorize" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Show Custom Menu Links", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Hide Libraries", - "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", + "select_libraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "disable_haptic_feedback": "Disable Haptic Feedback", "default_quality": "Default Quality", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Device {{availableSpace}}%", "size_used": "{{used}} of {{total}} Used", "delete_all_downloaded_files": "Delete All Downloaded Files", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Error", "failed_to_get_stream_url": "Failed to get the stream URL", - "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", + "an_error_occurred_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "client_error": "Client Error", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "message_from_server": "Message from Server: {{message}}", diff --git a/translations/tlh.json b/translations/tlh.json index eee8dc081..fee146ca0 100644 --- a/translations/tlh.json +++ b/translations/tlh.json @@ -16,14 +16,14 @@ "got_it": "jIyaj", "connection_failed": "ngoQlaHbe'", "could_not_connect_to_server": "SeHlaw veS Ho'Do'laHbe'. URL 'ej ret ghun mej.", - "an_unexpected_error_occured": "num ghIq Doch", + "an_unexpected_error_occurred": "num ghIq Doch", "change_server": "Ho'Do' veS yIghoS", "invalid_username_or_password": "tlhIngan pagh ngoq De' law'be'", "user_does_not_have_permission_to_log_in": "tlhIngan lut 'el je'laHbe'", "server_is_taking_too_long_to_respond_try_again_later": "Ho'Do' veS jachrup. pItlh yIHaD", "server_received_too_many_requests_try_again_later": "Ho'Do' veS lutlh ngeb petlh law'. pItlh yIHaD.", "there_is_a_server_error": "Ho'Do' veS ghIq maS", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "num ghIq Doch. URL mej Danej'a'?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "num ghIq Doch. URL mej Danej'a'?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "**Jellyfin chu'qu' Dotlh yIchoHmoH**" }, @@ -188,7 +188,7 @@ "authorize_button": "parmaq ngoQ yIje'", "enter_the_quick_connect_code": "parmaq ngoQ De' yI'el...", "success": "Qapla'", - "quick_connect_autorized": "parmaq ngoQ je'laH", + "quick_connect_authorized": "parmaq ngoQ je'laH", "error": "ghIq", "invalid_code": "De' law'be'", "authorize": "yIje'" @@ -298,7 +298,7 @@ "show_custom_menu_links": "menuDaq ret teqlu' yInej", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "De'wI' bom yIQIj", - "select_liraries_you_want_to_hide": "De'wI' bom Danej QIj yIwIv.", + "select_libraries_you_want_to_hide": "De'wI' bom Danej QIj yIwIv.", "disable_haptic_feedback": "Qub quvHa' yIQIj", "default_quality": "wa' luj", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "naDev {{availableSpace}}%", "size_used": "{{used}} / {{total}} ram", "delete_all_downloaded_files": "Hoch Qaw' Doch yIQaw'", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "ghIq", "failed_to_get_stream_url": "tlhol ret URL tu'laHbe'", - "an_error_occured_while_playing_the_video": "mu'tlhegh tlholDI' ghIq. menDaq De' qon mej.", + "an_error_occurred_while_playing_the_video": "mu'tlhegh tlholDI' ghIq. menDaq De' qon mej.", "client_error": "lut 'el ghIq", "could_not_create_stream_for_chromecast": "Chromecast tlhol ret qonlaHbe'", "message_from_server": "Ho'Do' veS jach: {{message}}", diff --git a/translations/tr.json b/translations/tr.json index 0107d8a3d..325e64220 100644 --- a/translations/tr.json +++ b/translations/tr.json @@ -16,14 +16,14 @@ "got_it": "Anlaşıldı", "connection_failed": "Bağlantı başarısız", "could_not_connect_to_server": "Sunucuya bağlanılamadı. Lütfen URL'yi ve ağ bağlantınızı kontrol edin.", - "an_unexpected_error_occured": "Beklenmedik bir hata oluştu", + "an_unexpected_error_occurred": "Beklenmedik bir hata oluştu", "change_server": "Sunucu değiştir", "invalid_username_or_password": "Geçersiz kullanıcı adı veya şifre", "user_does_not_have_permission_to_log_in": "Kullanıcının giriş yapma izni yok", "server_is_taking_too_long_to_respond_try_again_later": "Sunucunun yanıt vermesi çok uzun sürüyor, lütfen daha sonra tekrar deneyin", "server_received_too_many_requests_try_again_later": "Sunucu çok fazla istek aldı, lütfen daha sonra tekrar deneyin.", "there_is_a_server_error": "Sunucu hatası var", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Beklenmedik bir hata oluştu. Sunucu URL'sini doğru girdiğinizden emin misiniz?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Beklenmedik bir hata oluştu. Sunucu URL'sini doğru girdiğinizden emin misiniz?", "too_old_server_text": "Desteklenmeyen Jellyfin Sunucu sürümü bulundu.", "too_old_server_description": "Lütfen Jellyfin'i en son sürüme güncelleyin." }, @@ -188,7 +188,7 @@ "authorize_button": "Hızlı Bağlantıyı Yetkilendir", "enter_the_quick_connect_code": "Hızlı bağlantı kodunu girin...", "success": "Başarılı", - "quick_connect_autorized": "Hızlı Bağlantı Yetkilendirildi", + "quick_connect_authorized": "Hızlı Bağlantı Yetkilendirildi", "error": "Hata", "invalid_code": "Geçersiz kod", "authorize": "Yetkilendir" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Özel Menü Bağlantılarını Göster", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Kütüphaneleri Gizle", - "select_liraries_you_want_to_hide": "Kütüphane sekmesinden ve ana sayfa bölümlerinden gizlemek istediğiniz kütüphaneleri seçin.", + "select_libraries_you_want_to_hide": "Kütüphane sekmesinden ve ana sayfa bölümlerinden gizlemek istediğiniz kütüphaneleri seçin.", "disable_haptic_feedback": "Dokunsal Geri Bildirimi Devre Dışı Bırak", "default_quality": "Varsayılan kalite", "default_playback_speed": "Varsayılan Oynatma Hızı", @@ -384,6 +384,8 @@ "device_usage": "Cihaz {{availableSpace}}%", "size_used": "{{used}} / {{total}} kullanıldı", "delete_all_downloaded_files": "Tüm indirilen dosyaları sil", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Müzik Ön Belleği", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Müzik Ön Belleğini Temizle", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Hata", "failed_to_get_stream_url": "Yayın URL'si alınamadı", - "an_error_occured_while_playing_the_video": "Video oynatılırken bir hata oluştu. Ayarlardaki günlüklere bakın.", + "an_error_occurred_while_playing_the_video": "Video oynatılırken bir hata oluştu. Ayarlardaki günlüklere bakın.", "client_error": "İstemci hatası", "could_not_create_stream_for_chromecast": "Chromecast için yayın oluşturulamadı", "message_from_server": "Sunucudan mesaj: {{message}}", diff --git a/translations/uk.json b/translations/uk.json index 6c04b7aa4..e8b487300 100644 --- a/translations/uk.json +++ b/translations/uk.json @@ -16,14 +16,14 @@ "got_it": "Готово", "connection_failed": "Помилка зʼєднання", "could_not_connect_to_server": "Неможливо підʼєднатися до серверу. Будь ласка перевірте URL і ваше зʼєднання з мережею", - "an_unexpected_error_occured": "Сталася несподівана помилка", + "an_unexpected_error_occurred": "Сталася несподівана помилка", "change_server": "Змінити сервер", "invalid_username_or_password": "Неправильні імʼя користувача або пароль", "user_does_not_have_permission_to_log_in": "Користувач не маю дозволу на вхід", "server_is_taking_too_long_to_respond_try_again_later": "Сервер відповідає занадто довго, будь-ласка спробуйте пізніше", "server_received_too_many_requests_try_again_later": "Сервер отримав забагато запитів, будь ласка спробуйте пізніше.", "there_is_a_server_error": "Відбулася помилка на стороні сервера", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Відбулася несподівана помилка. Чи введений URL сервера правильний?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Відбулася несподівана помилка. Чи введений URL сервера правильний?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "Please update Jellyfin to the latest version" }, @@ -188,7 +188,7 @@ "authorize_button": "Авторизуйте Швидке Зʼєднання", "enter_the_quick_connect_code": "Введіть код для швидкого зʼєднання...", "success": "Успіх", - "quick_connect_autorized": "Швидке Зʼєднання авторизовано", + "quick_connect_authorized": "Швидке Зʼєднання авторизовано", "error": "Помилка", "invalid_code": "Не правильний код", "authorize": "Авторизувати" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Показати користувацькі посилання меню", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Сховати медіатеки", - "select_liraries_you_want_to_hide": "Виберіть медіатеки, що бажаєте приховати з вкладки Медіатека і з секції на головній сторінці.", + "select_libraries_you_want_to_hide": "Виберіть медіатеки, що бажаєте приховати з вкладки Медіатека і з секції на головній сторінці.", "disable_haptic_feedback": "Вимкнути тактильний зворотний зв'язок", "default_quality": "Якість за замовченням", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Гаджет {{availableSpace}}%", "size_used": "{{used}} з {{total}} використано", "delete_all_downloaded_files": "Видалити усі завантаженні файли", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Помилка", "failed_to_get_stream_url": "Не вдалося отримати URL-адресу потоку", - "an_error_occured_while_playing_the_video": "Під час відтворення відео сталася помилка. Перевірте журнал в налаштуваннях.", + "an_error_occurred_while_playing_the_video": "Під час відтворення відео сталася помилка. Перевірте журнал в налаштуваннях.", "client_error": "Помилка клієнту", "could_not_create_stream_for_chromecast": "Не вдалося створити потік для Chromecast", "message_from_server": "Повідомлення від серверу: {{message}}", diff --git a/translations/vi.json b/translations/vi.json index 9bb01ccd0..f4119a808 100644 --- a/translations/vi.json +++ b/translations/vi.json @@ -16,14 +16,14 @@ "got_it": "Đã hiểu", "connection_failed": "Kết nối thất bại", "could_not_connect_to_server": "Không thể kết nối tới máy chủ. Vui lòng kiểm tra URL và kết nối mạng.", - "an_unexpected_error_occured": "Đã xảy ra lỗi không mong muốn", + "an_unexpected_error_occurred": "Đã xảy ra lỗi không mong muốn", "change_server": "Đổi máy chủ", "invalid_username_or_password": "Tên đăng nhập hoặc mật khẩu không đúng", "user_does_not_have_permission_to_log_in": "Người dùng không có quyền đăng nhập", "server_is_taking_too_long_to_respond_try_again_later": "Máy chủ phản hồi quá lâu, vui lòng thử lại sau", "server_received_too_many_requests_try_again_later": "Máy chủ nhận quá nhiều yêu cầu, vui lòng thử lại sau.", "there_is_a_server_error": "Đã xảy ra lỗi ở máy chủ", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "Đã xảy ra lỗi không mong muốn. Bạn có chắc đã nhập đúng URL máy chủ?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "Đã xảy ra lỗi không mong muốn. Bạn có chắc đã nhập đúng URL máy chủ?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "Please update Jellyfin to the latest version" }, @@ -188,7 +188,7 @@ "authorize_button": "Cho phép Kết nối nhanh", "enter_the_quick_connect_code": "Nhập mã kết nối nhanh...", "success": "Thành công", - "quick_connect_autorized": "Kết nối nhanh đã được cho phép", + "quick_connect_authorized": "Kết nối nhanh đã được cho phép", "error": "Lỗi", "invalid_code": "Mã không hợp lệ", "authorize": "Cho phép" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Hiện liên kết tùy chỉnh", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Ẩn thư viện", - "select_liraries_you_want_to_hide": "Chọn các thư viện muốn ẩn khỏi mục Thư viện và Trang chủ.", + "select_libraries_you_want_to_hide": "Chọn các thư viện muốn ẩn khỏi mục Thư viện và Trang chủ.", "disable_haptic_feedback": "Tắt phản hồi rung", "default_quality": "Chất lượng mặc định", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Thiết bị sử dụng {{availableSpace}}%", "size_used": "{{used}} / {{total}} đã dùng", "delete_all_downloaded_files": "Xóa toàn bộ tập tin đã tải", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Lỗi", "failed_to_get_stream_url": "Không thể lấy URL phát trực tiếp", - "an_error_occured_while_playing_the_video": "Có lỗi khi phát video. Xem nhật ký trong cài đặt.", + "an_error_occurred_while_playing_the_video": "Có lỗi khi phát video. Xem nhật ký trong cài đặt.", "client_error": "Lỗi phía máy khách", "could_not_create_stream_for_chromecast": "Không thể tạo luồng cho Chromecast", "message_from_server": "Thông báo từ máy chủ: {{message}}", diff --git a/translations/zh.json b/translations/zh.json index 6fc417719..633035dea 100644 --- a/translations/zh.json +++ b/translations/zh.json @@ -16,14 +16,14 @@ "got_it": "Got It", "connection_failed": "Connection Failed", "could_not_connect_to_server": "Could not connect to the server. Please check the URL and your network connection.", - "an_unexpected_error_occured": "An Unexpected Error Occurred", + "an_unexpected_error_occurred": "An unexpected error occurred", "change_server": "Change Server", "invalid_username_or_password": "Invalid Username or Password", "user_does_not_have_permission_to_log_in": "User does not have permission to log in", "server_is_taking_too_long_to_respond_try_again_later": "Server is taking too long to respond, try again later", "server_received_too_many_requests_try_again_later": "Server received too many requests, try again later.", "there_is_a_server_error": "There is a server error", - "an_unexpected_error_occured_did_you_enter_the_correct_url": "An unexpected error occurred. Did you enter the server URL correctly?", + "an_unexpected_error_occurred_did_you_enter_the_correct_url": "An unexpected error occurred. Did you enter the server URL correctly?", "too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_description": "Please update Jellyfin to the latest version" }, @@ -188,7 +188,7 @@ "authorize_button": "Authorize Quick Connect", "enter_the_quick_connect_code": "Enter the quick connect code...", "success": "Success", - "quick_connect_autorized": "Quick Connect Authorized", + "quick_connect_authorized": "Quick Connect authorized", "error": "Error", "invalid_code": "Invalid Code", "authorize": "Authorize" @@ -298,7 +298,7 @@ "show_custom_menu_links": "Show Custom Menu Links", "show_large_home_carousel": "Show Large Home Carousel (beta)", "hide_libraries": "Hide Libraries", - "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", + "select_libraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "disable_haptic_feedback": "Disable Haptic Feedback", "default_quality": "Default Quality", "default_playback_speed": "Default Playback Speed", @@ -384,6 +384,8 @@ "device_usage": "Device {{availableSpace}}%", "size_used": "{{used}} of {{total}} Used", "delete_all_downloaded_files": "Delete All Downloaded Files", + "delete_all_downloaded_files_confirm": "Delete All Downloaded Files?", + "delete_all_downloaded_files_confirm_desc": "Are you sure you want to delete all downloaded files? This action cannot be undone.", "music_cache_title": "Music Cache", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "clear_music_cache": "Clear Music Cache", @@ -598,7 +600,7 @@ "mpv_player_title": "MPV Player", "error": "Error", "failed_to_get_stream_url": "Failed to get the stream URL", - "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", + "an_error_occurred_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "client_error": "Client Error", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "message_from_server": "Message from Server: {{message}}", From b4eb853048bf970ad838914339e96866ec34b7b6 Mon Sep 17 00:00:00 2001 From: kevbot Date: Fri, 17 Jul 2026 05:27:32 -0400 Subject: [PATCH 2/4] fix(livetv): release live streams so the tuner doesn't wedge (#1799) Co-authored-by: Claude Opus 4.8 Co-authored-by: Gauvino --- app/(auth)/player/direct-player.tsx | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/app/(auth)/player/direct-player.tsx b/app/(auth)/player/direct-player.tsx index 1a29ffc02..652434dca 100644 --- a/app/(auth)/player/direct-player.tsx +++ b/app/(auth)/player/direct-player.tsx @@ -7,6 +7,7 @@ import { RepeatMode, } from "@jellyfin/sdk/lib/generated-client"; import { + getMediaInfoApi, getPlaystateApi, getUserLibraryApi, } from "@jellyfin/sdk/lib/utils/api"; @@ -310,6 +311,37 @@ export default function DirectPlayerPage() { // Ref to store the stream fetch function for refreshing subtitle tracks const refetchStreamRef = useRef<(() => Promise) | null>(null); + // Live TV opens a server-side live stream via autoOpenLiveStream. If it is + // never closed, Jellyfin's M3U tuner limit fills up and every channel then + // fails with "simultaneous stream limit has been reached". reportPlaybackStopped + // handles a clean stop, but a channel switch (the player re-fetches in place) + // or an unmount after an error bypass it, so track the open live stream and + // release it on those paths too. + const apiRef = useRef(api); + useEffect(() => { + apiRef.current = api; + }, [api]); + + const releaseLiveStream = useCallback( + (liveStreamId: string | null) => { + if (!liveStreamId || !apiRef.current || offline) return; + // Best effort: a failed close must not break teardown, and the slot is + // also freed by the server's reap as a backstop. + getMediaInfoApi(apiRef.current) + .closeLiveStream({ liveStreamId }) + .catch(() => {}); + }, + [offline], + ); + + // The effect cleanup releases the live stream both when it changes (channel + // switch, which re-runs the effect) and when the player unmounts, so no + // manual previous-id tracking is needed. + useEffect(() => { + const liveStreamId = stream?.mediaSource?.LiveStreamId ?? null; + return () => releaseLiveStream(liveStreamId); + }, [stream?.mediaSource?.LiveStreamId, releaseLiveStream]); + useEffect(() => { const fetchStreamData = async (): Promise => { setStreamStatus({ isLoading: true, isError: false }); @@ -445,6 +477,12 @@ export default function DirectPlayerPage() { MediaSourceId: mediaSourceId, PositionTicks: currentTimeInTicks, PlaySessionId: stream.sessionId, + // Release the server-side live stream (and its tuner slot) on stop. + // Jellyfin only closes a live stream opened via autoOpenLiveStream when + // the stop report carries its LiveStreamId; without it the stream leaks + // and Live TV eventually fails for everyone with "M3U simultaneous + // stream limit has been reached". Undefined for non-live items (no-op). + LiveStreamId: stream.mediaSource?.LiveStreamId ?? undefined, }, }); }, [api, item, mediaSourceId, stream, progress, offline]); From 6dd98ccae89f6e5d60e99bf5c0ddb7c209a4910d Mon Sep 17 00:00:00 2001 From: Gauvain Date: Fri, 17 Jul 2026 12:00:23 +0200 Subject: [PATCH 3/4] fix(home): black episode thumbnails in Next Up & Continue Watching (#1815) --- components/ContinueWatchingPoster.tsx | 9 ++++++--- components/home/TVHeroCarousel.tsx | 7 ++++--- components/tv/TVPosterCard.tsx | 7 ++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/components/ContinueWatchingPoster.tsx b/components/ContinueWatchingPoster.tsx index c0f4a2650..fc20e1dfc 100644 --- a/components/ContinueWatchingPoster.tsx +++ b/components/ContinueWatchingPoster.tsx @@ -35,8 +35,10 @@ const ContinueWatchingPoster: React.FC = ({ return `${api?.basePath}/Items/${item.Id}/Images/Primary?fillHeight=389&quality=80`; } if (item.Type === "Episode") { - if (item.ParentBackdropItemId && item.ParentThumbImageTag) { - return `${api?.basePath}/Items/${item.ParentBackdropItemId}/Images/Thumb?fillHeight=389&quality=80&tag=${item.ParentThumbImageTag}`; + // Matched pair: the parent that owns the Thumb (ParentThumbItemId), not the + // backdrop owner — otherwise the Thumb tag is requested on the wrong item → black. + if (item.ParentThumbItemId && item.ParentThumbImageTag) { + return `${api?.basePath}/Items/${item.ParentThumbItemId}/Images/Thumb?fillHeight=389&quality=80&tag=${item.ParentThumbImageTag}`; } return `${api?.basePath}/Items/${item.Id}/Images/Primary?fillHeight=389&quality=80`; @@ -61,7 +63,8 @@ const ContinueWatchingPoster: React.FC = ({ } return `${api?.basePath}/Items/${item.Id}/Images/Primary?fillHeight=389&quality=80`; - }, [item]); + // useEpisodePoster in deps so flipping the prop re-computes the URL live. + }, [api, item, useEpisodePoster]); if (!url) return ; diff --git a/components/home/TVHeroCarousel.tsx b/components/home/TVHeroCarousel.tsx index 596f2d369..a62538013 100644 --- a/components/home/TVHeroCarousel.tsx +++ b/components/home/TVHeroCarousel.tsx @@ -65,10 +65,11 @@ const HeroCard: React.FC = React.memo( const posterUrl = useMemo(() => { if (!api) return null; - // For episodes, always use series thumb + // For episodes, always use series thumb. + // Matched pair: ParentThumbItemId owns the Thumb tag, not ParentBackdropItemId. if (item.Type === "Episode") { - if (item.ParentThumbImageTag) { - return `${api.basePath}/Items/${item.ParentBackdropItemId}/Images/Thumb?fillHeight=400&quality=80&tag=${item.ParentThumbImageTag}`; + if (item.ParentThumbItemId && item.ParentThumbImageTag) { + return `${api.basePath}/Items/${item.ParentThumbItemId}/Images/Thumb?fillHeight=400&quality=80&tag=${item.ParentThumbImageTag}`; } if (item.SeriesId) { return `${api.basePath}/Items/${item.SeriesId}/Images/Thumb?fillHeight=400&quality=80`; diff --git a/components/tv/TVPosterCard.tsx b/components/tv/TVPosterCard.tsx index 9a24a5034..3c80c2291 100644 --- a/components/tv/TVPosterCard.tsx +++ b/components/tv/TVPosterCard.tsx @@ -139,9 +139,10 @@ export const TVPosterCard: React.FC = ({ if (orientation === "horizontal") { // Episode: prefer series thumb image for consistent look (like hero section) if (item.Type === "Episode") { - // First try parent/series thumb (horizontal series artwork) - if (item.ParentBackdropItemId && item.ParentThumbImageTag) { - return `${api.basePath}/Items/${item.ParentBackdropItemId}/Images/Thumb?fillHeight=700&quality=80&tag=${item.ParentThumbImageTag}`; + // First try parent/series thumb (horizontal series artwork). + // Matched pair: ParentThumbItemId owns the Thumb tag, not ParentBackdropItemId. + if (item.ParentThumbItemId && item.ParentThumbImageTag) { + return `${api.basePath}/Items/${item.ParentThumbItemId}/Images/Thumb?fillHeight=700&quality=80&tag=${item.ParentThumbImageTag}`; } // Fall back to episode's own primary image if (item.ImageTags?.Primary) { From e79ae53e4ee841c6b018e6de3f553e9f5100381f Mon Sep 17 00:00:00 2001 From: Gauvain Date: Fri, 17 Jul 2026 15:13:27 +0200 Subject: [PATCH 4/4] feat(appearance): episode images toggle for Next Up & Continue Watching (#1817) --- app/(auth)/(tabs)/(home)/settings.tv.tsx | 7 +++++++ .../home/InfiniteScrollingCollectionList.tsx | 7 ++++++- .../InfiniteScrollingCollectionList.tv.tsx | 4 ++++ components/home/ScrollingCollectionList.tsx | 7 ++++++- components/settings/AppearanceSettings.tsx | 21 +++++++++++++++++++ components/tv/TVPosterCard.tsx | 10 ++++++++- translations/en.json | 5 +++++ utils/atoms/settings.ts | 4 ++++ 8 files changed, 62 insertions(+), 3 deletions(-) diff --git a/app/(auth)/(tabs)/(home)/settings.tv.tsx b/app/(auth)/(tabs)/(home)/settings.tv.tsx index a9a2e2fbb..5f94fad70 100644 --- a/app/(auth)/(tabs)/(home)/settings.tv.tsx +++ b/app/(auth)/(tabs)/(home)/settings.tv.tsx @@ -854,6 +854,13 @@ export default function SettingsTV() { updateSettings({ mergeNextUpAndContinueWatching: value }) } /> + + updateSettings({ useEpisodeImagesForNextUp: value }) + } + /> = ({ }, [isSuccess, onLoaded]); const { t } = useTranslation(); + const { settings } = useSettings(); // Flatten all pages into a single array (and de-dupe by Id to avoid UI duplicates) const allItems = useMemo(() => { @@ -186,7 +188,10 @@ export const InfiniteScrollingCollectionList: React.FC = ({ `} > {item.Type === "Episode" && orientation === "horizontal" && ( - + )} {item.Type === "Episode" && orientation === "vertical" && ( diff --git a/components/home/InfiniteScrollingCollectionList.tv.tsx b/components/home/InfiniteScrollingCollectionList.tv.tsx index 1db314f2b..585135f6b 100644 --- a/components/home/InfiniteScrollingCollectionList.tv.tsx +++ b/components/home/InfiniteScrollingCollectionList.tv.tsx @@ -24,6 +24,7 @@ import { useScaledTVTypography } from "@/constants/TVTypography"; import useRouter from "@/hooks/useAppRouter"; import { useTVItemActionModal } from "@/hooks/useTVItemActionModal"; import { SortByOption, SortOrderOption } from "@/utils/atoms/filters"; +import { useSettings } from "@/utils/atoms/settings"; import { scaleSize } from "@/utils/scaleSize"; // Extra padding to accommodate scale animation (1.05x) and glow shadow @@ -165,6 +166,7 @@ export const InfiniteScrollingCollectionList: React.FC = ({ }); const { t } = useTranslation(); + const { settings } = useSettings(); const allItems = useMemo(() => { const items = data?.pages.flat() ?? []; @@ -231,6 +233,7 @@ export const InfiniteScrollingCollectionList: React.FC = ({ hasTVPreferredFocus={isFirstItem} onFocus={() => handleItemFocus(item)} width={itemWidth} + preferEpisodeImage={settings?.useEpisodeImagesForNextUp} /> ); @@ -243,6 +246,7 @@ export const InfiniteScrollingCollectionList: React.FC = ({ showItemActions, handleItemFocus, ITEM_GAP, + settings?.useEpisodeImagesForNextUp, ], ); diff --git a/components/home/ScrollingCollectionList.tsx b/components/home/ScrollingCollectionList.tsx index 185ad8c2f..a09ce6f0e 100644 --- a/components/home/ScrollingCollectionList.tsx +++ b/components/home/ScrollingCollectionList.tsx @@ -9,6 +9,7 @@ import { ScrollView, View, type ViewProps } from "react-native"; import { Text } from "@/components/common/Text"; import MoviePoster from "@/components/posters/MoviePoster"; import { useInView } from "@/hooks/useInView"; +import { useSettings } from "@/utils/atoms/settings"; import ContinueWatchingPoster from "../ContinueWatchingPoster"; import { TouchableItemRouter } from "../common/TouchableItemRouter"; import { ItemCardText } from "../ItemCardText"; @@ -50,6 +51,7 @@ export const ScrollingCollectionList: React.FC = ({ }); const { t } = useTranslation(); + const { settings } = useSettings(); // Show skeleton if loading OR if lazy loading is enabled and not in view yet const shouldShowSkeleton = isLoading || (enableLazyLoading && !isInView); @@ -108,7 +110,10 @@ export const ScrollingCollectionList: React.FC = ({ `} > {item.Type === "Episode" && orientation === "horizontal" && ( - + )} {item.Type === "Episode" && orientation === "vertical" && ( diff --git a/components/settings/AppearanceSettings.tsx b/components/settings/AppearanceSettings.tsx index 844096177..8ce41dedb 100644 --- a/components/settings/AppearanceSettings.tsx +++ b/components/settings/AppearanceSettings.tsx @@ -27,6 +27,7 @@ export const AppearanceSettings: React.FC = () => { Linking.openURL( @@ -44,6 +45,9 @@ export const AppearanceSettings: React.FC = () => { { } /> + + + updateSettings({ useEpisodeImagesForNextUp: value }) + } + /> + router.push("/settings/appearance/hide-libraries/page") } title={t("home.settings.other.hide_libraries")} + subtitle={t("home.settings.other.select_libraries_you_want_to_hide")} showArrow /> string | undefined; + + /** For horizontal episodes, prefer the episode's own image over the series thumb */ + preferEpisodeImage?: boolean; } /** @@ -108,6 +111,7 @@ export const TVPosterCard: React.FC = ({ glowColor = "white", scaleAmount = 1.05, imageUrlGetter, + preferEpisodeImage = false, }) => { const api = useAtomValue(apiAtom); const posterSizes = useScaledTVPosterSizes(); @@ -139,6 +143,10 @@ export const TVPosterCard: React.FC = ({ if (orientation === "horizontal") { // Episode: prefer series thumb image for consistent look (like hero section) if (item.Type === "Episode") { + // Opt-in: use the episode's own image instead of the series thumb. + if (preferEpisodeImage && item.ImageTags?.Primary) { + return `${api.basePath}/Items/${item.Id}/Images/Primary?fillHeight=600&quality=80&tag=${item.ImageTags.Primary}`; + } // First try parent/series thumb (horizontal series artwork). // Matched pair: ParentThumbItemId owns the Thumb tag, not ParentBackdropItemId. if (item.ParentThumbItemId && item.ParentThumbImageTag) { @@ -174,7 +182,7 @@ export const TVPosterCard: React.FC = ({ item, width: width * 2, // 2x for quality on large screens }); - }, [api, item, orientation, width, imageUrlGetter]); + }, [api, item, orientation, width, imageUrlGetter, preferEpisodeImage]); // Progress calculation const progress = useMemo(() => { diff --git a/translations/en.json b/translations/en.json index 692532eb7..4a0b3f647 100644 --- a/translations/en.json +++ b/translations/en.json @@ -137,7 +137,11 @@ "appearance": { "title": "Appearance", "merge_next_up_continue_watching": "Merge Continue watching & Next up", + "merge_next_up_continue_watching_hint": "Combine Continue Watching and Next Up into a single home row.", + "use_episode_images_next_up": "Use episode images for Next Up & Continue Watching", + "use_episode_images_next_up_hint": "Show each episode's own thumbnail in the Next Up and Continue Watching rows instead of the series image.", "hide_remote_session_button": "Hide remote session button", + "hide_remote_session_button_hint": "Hide the remote-sessions button from the home header.", "show_home_backdrop": "Dynamic home backdrop", "show_hero_carousel": "Hero carousel", "show_series_poster_on_episode": "Show series poster on episodes", @@ -296,6 +300,7 @@ }, "safe_area_in_controls": "Safe area in controls", "show_custom_menu_links": "Show custom menu links", + "show_custom_menu_links_hint": "Show the custom links your server administrator added in the web config.", "show_large_home_carousel": "Show large home carousel (beta)", "hide_libraries": "Hide libraries", "select_libraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", diff --git a/utils/atoms/settings.ts b/utils/atoms/settings.ts index 358550be4..7b7452659 100644 --- a/utils/atoms/settings.ts +++ b/utils/atoms/settings.ts @@ -274,6 +274,9 @@ export type Settings = { hideBrightnessSlider: boolean; usePopularPlugin: boolean; mergeNextUpAndContinueWatching: boolean; + // Use the episode's own image (instead of the series thumb) for the + // "Next Up" and "Continue Watching" home rows. + useEpisodeImagesForNextUp: boolean; // TV-specific settings showHomeBackdrop: boolean; showTVHeroCarousel: boolean; @@ -382,6 +385,7 @@ export const defaultValues: Settings = { hideBrightnessSlider: false, usePopularPlugin: true, mergeNextUpAndContinueWatching: false, + useEpisodeImagesForNextUp: false, // TV-specific settings showHomeBackdrop: true, showTVHeroCarousel: true,