@@ -35,7 +35,7 @@
${Save}
diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js
index dd8ddac983..bbd6bd0ced 100644
--- a/src/scripts/libraryMenu.js
+++ b/src/scripts/libraryMenu.js
@@ -293,7 +293,7 @@ import 'flexStyles';
html += '';
if (appHost.supports('multiserver')) {
- html += '';
+ html += '';
}
html += '';
diff --git a/src/strings/ar.json b/src/strings/ar.json
index 92d94faaca..0d6e50ee49 100644
--- a/src/strings/ar.json
+++ b/src/strings/ar.json
@@ -180,7 +180,6 @@
"HeaderPleaseSignIn": "الرجاء تسجيل الدخول",
"HeaderPluginInstallation": "تثبيت الملحفات",
"HeaderPreferredMetadataLanguage": "اللغة المفضلة لواصفات البيانات",
- "HeaderProfile": "الحساب",
"HeaderProfileInformation": "معلومات العريضة",
"HeaderProfileServerSettingsHelp": "هذه القيم ستتحكم في كيفية تقديم شكل الخادم في للعملاء.",
"HeaderRecentlyPlayed": "تم تشغيله مؤخراً",
@@ -190,7 +189,6 @@
"HeaderRemoveMediaLocation": "إحذف مكان الوسائط",
"HeaderResponseProfile": "عريضة الرد",
"HeaderResponseProfileHelp": "عرائض الرد تتيح طريقة لتخصيص المعلومات المرسلة إلى جهاز ما عند تشغيل نوع من أنواع الوسائط.",
- "HeaderRestart": "إعادة التشغيل",
"HeaderRevisionHistory": "تاريخ المراجعات",
"HeaderRunningTasks": "المهام المشغّلة",
"HeaderScenes": "المشاهد",
@@ -199,7 +197,6 @@
"HeaderSelectMetadataPath": "إختر مسار واصفات البيانات",
"HeaderSelectMetadataPathHelp": "تصفح أو أدخل المسار الذي ترغب أن يُستخدم لحفظ واصفات البيانات. يجب أن يكون هذا المجلد قابل للكتابة فيه.",
"HeaderSelectPath": "إختر المسار",
- "HeaderSelectServer": "إختر الخادم",
"HeaderSelectServerCachePath": "إختر مسار كاشة الخادم",
"HeaderSelectServerCachePathHelp": "تصفح أو أدخل المسار الذي ترغب أن يُستخدم كاشة لملفات الخادم. يجب أن يكون هذا المجلد قابل للكتابة فيه.",
"HeaderSelectTranscodingPath": "إختر المسار المؤقت للتشفير البيني",
@@ -652,7 +649,6 @@
"PasswordMatchError": "كلمة السر وتاكيدها يجب ان يتطابقان.",
"PasswordResetComplete": "لقد تم اعادة تعيين كلمة السر.",
"PasswordResetConfirmation": "هل انت متاكد من انك تريد اعادة تعيين كلمة السر؟",
- "HeaderResetPassword": "إعادة تهيئة كلمة السر",
"PasswordSaved": "تم حفظ كلمة السر.",
"PictureInPicture": "صورة داخل صورة",
"PinCodeResetComplete": "تمت إعادة تهيئة الرمز الشخصي",
diff --git a/src/strings/bg-bg.json b/src/strings/bg-bg.json
index 3c3850178e..32ff5f7404 100644
--- a/src/strings/bg-bg.json
+++ b/src/strings/bg-bg.json
@@ -180,14 +180,12 @@
"HeaderPlayOn": "Пускане на",
"HeaderPleaseSignIn": "Моля, влезте",
"HeaderPreferredMetadataLanguage": "Предпочитан език на метаданните",
- "HeaderProfile": "Профил",
"HeaderProfileInformation": "Профил",
"HeaderProfileServerSettingsHelp": "Тези величини определят как Джелифин сървърът ще се представя на устройствата.",
"HeaderRecentlyPlayed": "Скоро пускани",
"HeaderRemoteControl": "Отдалечен контрол",
"HeaderRemoveMediaFolder": "Премахване на медийна папка",
"HeaderResponseProfile": "Профил на отговора",
- "HeaderRestart": "Повторно пускане",
"HeaderRevisionHistory": "Списък с промени",
"HeaderRunningTasks": "Изпълняващи се задачи",
"HeaderScenes": "Сцени",
@@ -502,7 +500,6 @@
"OriginalAirDateValue": "Дата на първоначално излъчване: {0}",
"Overview": "Обобщение",
"ParentalRating": "Родителска оценка",
- "HeaderResetPassword": "Зануляване на паролата",
"People": "Хора",
"Photos": "Снимки",
"PictureInPicture": "Картина в картина",
@@ -868,7 +865,6 @@
"HeaderSelectTranscodingPath": "Избери папка за временното транскодиране на файлове",
"HeaderSelectServerCachePathHelp": "Търси или въведи ръчно пътя до временните файлове на сървъра.Папката трябва да има права за запис.",
"HeaderSelectServerCachePath": "Избери папка за временните файлове на сървъра",
- "HeaderSelectServer": "Избери сървър",
"HeaderSelectMetadataPathHelp": "Търси или въведи ръчно пътя ,където искаш да се съхраняват метаданните.Папката трябва да има права за запис.",
"HeaderSelectMetadataPath": "Избери папка със метаданни",
"HeaderSelectCertificatePath": "Избери папка със сертификат",
diff --git a/src/strings/ca.json b/src/strings/ca.json
index 6c791c2285..eebe398731 100644
--- a/src/strings/ca.json
+++ b/src/strings/ca.json
@@ -171,18 +171,15 @@
"HeaderPlaybackError": "Error de Reproducció",
"HeaderPleaseSignIn": "Si et plau, inicia sessió",
"HeaderPreferredMetadataLanguage": "Idioma de Metadades Preferit",
- "HeaderProfile": "Perfil",
"HeaderProfileInformation": "Informació del perfil",
"HeaderProfileServerSettingsHelp": "Aquests valors controlen com el servidor d'Jellyfin es presenta a si mateix al dispositiu.",
"HeaderRecentlyPlayed": "Reproduït Recentment",
"HeaderRecordingOptions": "Opcions d'Enregistrament",
"HeaderRemoteControl": "Control Remot",
- "HeaderRestart": "Reiniciar",
"HeaderRunningTasks": "Tasques Corrent",
"HeaderScenes": "Escenes",
"HeaderSeasons": "Temporades",
"HeaderSecondsValue": "{0} segons",
- "HeaderSelectServer": "Seleccionar Servidor",
"HeaderSendMessage": "Enviar Missatge",
"HeaderSeriesOptions": "Opcions de Sèries",
"HeaderServerSettings": "Preferències del Servidor",
diff --git a/src/strings/cs.json b/src/strings/cs.json
index 20de4ab5d2..343e53ec8d 100644
--- a/src/strings/cs.json
+++ b/src/strings/cs.json
@@ -284,7 +284,6 @@
"HeaderPleaseSignIn": "Prosíme, přihlaste se",
"HeaderPluginInstallation": "Instalace zásuvných modulů",
"HeaderPreferredMetadataLanguage": "Preferovaný jazyk metadat",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Informace o profilu",
"HeaderProfileServerSettingsHelp": "Tyto hodnoty určují, jak se server bude zobrazovat klientům.",
"HeaderRecentlyPlayed": "Naposledy přehráváno",
@@ -304,7 +303,6 @@
"HeaderSelectMetadataPath": "Vyberte cestu k metadatům",
"HeaderSelectMetadataPathHelp": "Procházejte nebo zadejte cestu, kde chcete uložit metadata. Složka musí být zapisovatelná.",
"HeaderSelectPath": "Vybrat složku",
- "HeaderSelectServer": "Vyber Server",
"HeaderSelectServerCachePath": "Vyber složku pro vyrovnávací paměť serveru",
"HeaderSelectServerCachePathHelp": "Vyberte nebo zadejte složku vyrovnávací paměti souborů. Složka musí být zapisovatelná.",
"HeaderSelectTranscodingPath": "Zvolte dočasnou složku pro překódovávání médií",
@@ -843,7 +841,6 @@
"PasswordMatchError": "Heslo a potvrzení hesla musí souhlasit.",
"PasswordResetComplete": "Heslo bylo obnoveno.",
"PasswordResetConfirmation": "Jste si jisti, že chcete obnovit heslo?",
- "HeaderResetPassword": "Obnovit heslo",
"PasswordSaved": "Heslo uloženo.",
"People": "Lidé",
"PerfectMatch": "Přesná shoda",
@@ -1090,7 +1087,6 @@
"HeaderNewDevices": "Nové zařízení",
"HeaderPhotoAlbums": "Fotoalba",
"HeaderPlayOn": "Přehrát",
- "HeaderRestart": "Restart",
"HeaderSeriesStatus": "Stav seriálu",
"HeaderStopRecording": "Zastavit nahrávání",
"HeaderSubtitleDownloads": "Stahování titulků",
diff --git a/src/strings/da.json b/src/strings/da.json
index 7d891fa3c6..44f0e010d7 100644
--- a/src/strings/da.json
+++ b/src/strings/da.json
@@ -254,7 +254,6 @@
"HeaderPleaseSignIn": "Log venligst ind",
"HeaderPluginInstallation": "Plugin installation",
"HeaderPreferredMetadataLanguage": "Foretrukket sprog for metadata",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Profilinformation",
"HeaderProfileServerSettingsHelp": "Disse værdier kontrollerer hvordan Jellyfin præsenterer sig til enheden.",
"HeaderRecentlyPlayed": "Afspillet for nyligt",
@@ -265,7 +264,6 @@
"HeaderRemoveMediaLocation": "Fjern medielokalisation",
"HeaderResponseProfile": "Svarprofil",
"HeaderResponseProfileHelp": "Svarprofiler giver en metode til at tilpasse hvilken information der sendes til enheden når der afspilles visse typer medier.",
- "HeaderRestart": "Genstart",
"HeaderRevisionHistory": "Revisionshistorik",
"HeaderRunningTasks": "Kørende opgaver",
"HeaderScenes": "Scener",
@@ -274,7 +272,6 @@
"HeaderSelectMetadataPath": "Vælg Metadata Path",
"HeaderSelectMetadataPathHelp": "Vælg eller indtast stien for hvor du ønsker at gemme din metadata. Mappen må ikke være skrivebeskyttet.",
"HeaderSelectPath": "Vælg sti",
- "HeaderSelectServer": "Vælg server",
"HeaderSelectServerCachePath": "Vælg \"Server Cache Path\"",
"HeaderSelectServerCachePathHelp": "Vælg eller indtast stien som skal benyttes til serverens cache filer. Mappen må ikke være skrivebeskyttet.",
"HeaderSelectTranscodingPath": "Vælg \"Transcoding Temporary Path\"",
@@ -785,7 +782,6 @@
"PasswordMatchError": "Adgangskode og bekræft adgangskode skal være ens.",
"PasswordResetComplete": "Adgangskoden er blevet nulstillet.",
"PasswordResetConfirmation": "Er du sikker på at adgangskoden skal nulstilles?",
- "HeaderResetPassword": "Nulstil adgangskode",
"PasswordSaved": "Adgangskoden er gemt.",
"People": "Personer",
"PictureInPicture": "Billede i billede",
diff --git a/src/strings/de.json b/src/strings/de.json
index ebb68edf45..b6b8f9cb2b 100644
--- a/src/strings/de.json
+++ b/src/strings/de.json
@@ -324,7 +324,6 @@
"HeaderPlaybackError": "Wiedergabefehler",
"HeaderPleaseSignIn": "Bitte einloggen",
"HeaderPreferredMetadataLanguage": "Bevorzugte Sprache der Metadaten",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Profil Infomationen",
"HeaderProfileServerSettingsHelp": "Diese Werte geben an, wie der Server sich Ihren Clients präsentiert.",
"HeaderRecentlyPlayed": "Zuletzt gesehen",
@@ -335,7 +334,6 @@
"HeaderRemoveMediaLocation": "Entferne Medienquelle",
"HeaderResponseProfile": "Antwort Profil",
"HeaderResponseProfileHelp": "Antwortprofile bieten eine Möglichkeit die Informationen, die während dem abspielen diverser Medientypen an die Abspielgeräte gesendet werden, zu personalisieren.",
- "HeaderRestart": "Neustart",
"HeaderRevisionHistory": "Versionsverlauf",
"HeaderRunningTasks": "Laufende Aufgaben",
"HeaderScenes": "Szenen",
@@ -345,7 +343,6 @@
"HeaderSelectMetadataPath": "Wähle Metadaten Pfad",
"HeaderSelectMetadataPathHelp": "Suche oder gib den Pfad für Metadaten an. Das Verzeichnis muss beschreibbar sein.",
"HeaderSelectPath": "Verzeichnis Wählen",
- "HeaderSelectServer": "Wähle Server",
"HeaderSelectServerCachePath": "Wähle Server Cache Pfad",
"HeaderSelectServerCachePathHelp": "Suche oder gib den Pfad für die Speicherung von Server Cache Dateien an. Das Verzeichnis muss beschreibbar sein.",
"HeaderSelectTranscodingPath": "Wähle Pfad für temporäre Transkodierdateien",
@@ -913,7 +910,6 @@
"PasswordMatchError": "Die Passwörter müssen übereinstimmen.",
"PasswordResetComplete": "Das Passwort wurde zurückgesetzt.",
"PasswordResetConfirmation": "Möchtest du das Passwort wirklich zurücksetzen?",
- "HeaderResetPassword": "Passwort zurücksetzen",
"PasswordSaved": "Passwort gespeichert.",
"People": "Personen",
"PerfectMatch": "Perfektes Ergbnis",
diff --git a/src/strings/el.json b/src/strings/el.json
index 52470d1107..984724339a 100644
--- a/src/strings/el.json
+++ b/src/strings/el.json
@@ -305,7 +305,6 @@
"HeaderPleaseSignIn": "Παρακαλώ εισέλθετε",
"HeaderPluginInstallation": "Εγκατάσταση προσθέτου",
"HeaderPreferredMetadataLanguage": "Προτιμώμενη Γλώσσα Πληροφοριών",
- "HeaderProfile": "Προφίλ",
"HeaderProfileInformation": "Πληροφορίες Προφίλ",
"HeaderProfileServerSettingsHelp": "Αυτές οι τιμές ελέγχουν τον τρόπο εμφάνισης του Jellyfin Server στη συσκευή.",
"HeaderRecentlyPlayed": "Έγινε πρόσφατα Αναπαραγωγή",
@@ -313,13 +312,11 @@
"HeaderRemoteControl": "Τηλεχειριστήριο",
"HeaderRemoveMediaLocation": "Κατάργηση θέσης πολυμέσων",
"HeaderResponseProfileHelp": "Τα προφίλ απόκρισης παρέχουν έναν τρόπο προσαρμογής των πληροφοριών που αποστέλλονται στη συσκευή κατά την αναπαραγωγή συγκεκριμένων μέσων.",
- "HeaderRestart": "Επανεκκίνηση",
"HeaderRevisionHistory": "Ιστορικό αναθεωρήσεων",
"HeaderRunningTasks": "Προγραμματισμένες Εργασίες",
"HeaderScenes": "Σκηνές",
"HeaderSeasons": "Κύκλοι",
"HeaderSecondsValue": "{0} δευτερόλεπτα",
- "HeaderSelectServer": "Επιλογή Διακομιστή",
"HeaderSendMessage": "Αποστολή Μηνύματος",
"HeaderSeriesOptions": "Επιλογές Σειρών",
"HeaderSeriesStatus": "Κατάσταση Σειράς",
@@ -805,7 +802,6 @@
"PasswordMatchError": "Ο κωδικός πρόσβασης και ο κωδικός επιβεβαίωσης πρέπει να είναι ίδιοι.",
"PasswordResetComplete": "Ο κωδικός πρόσβασης επαναφέρθηκε.",
"PasswordResetConfirmation": "Είστε σίγουροι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης;",
- "HeaderResetPassword": "Επαναφορά του κωδικού πρόσβασης",
"PasswordSaved": "Ο κωδικός πρόσβασης αποθηκεύτηκε.",
"People": "Πρόσωπα",
"PerfectMatch": "Τέλεια αντιστοίχιση",
diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json
index 7d8b6400d3..8ef3c6898d 100644
--- a/src/strings/en-gb.json
+++ b/src/strings/en-gb.json
@@ -524,7 +524,6 @@
"PictureInPicture": "Picture in picture",
"PerfectMatch": "Perfect match",
"PasswordSaved": "Password saved.",
- "HeaderResetPassword": "Reset Password",
"PasswordResetConfirmation": "Are you sure you wish to reset the password?",
"PasswordResetComplete": "The password has been reset.",
"PasswordMatchError": "Password and password confirmation must match.",
@@ -1240,7 +1239,6 @@
"HeaderSelectTranscodingPath": "Select Transcoding Temporary Path",
"HeaderSelectServerCachePathHelp": "Browse or enter the path to use for server cache files. The folder must be writeable.",
"HeaderSelectServerCachePath": "Select Server Cache Path",
- "HeaderSelectServer": "Select Server",
"HeaderSelectPath": "Select Path",
"HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.",
"HeaderSelectMetadataPath": "Select Metadata Path",
@@ -1250,7 +1248,6 @@
"HeaderScenes": "Scenes",
"HeaderRunningTasks": "Running Tasks",
"HeaderRevisionHistory": "Revision History",
- "HeaderRestart": "Restart",
"HeaderResponseProfile": "Response Profile",
"HeaderRemoveMediaLocation": "Remove Media Location",
"HeaderRemoveMediaFolder": "Remove Media Folder",
@@ -1260,7 +1257,6 @@
"HeaderRecentlyPlayed": "Recently Played",
"HeaderProfileServerSettingsHelp": "These values control how Jellyfin Server will present itself to the device.",
"HeaderProfileInformation": "Profile Information",
- "HeaderProfile": "Profile",
"HeaderPreferredMetadataLanguage": "Preferred Metadata Language",
"HeaderPluginInstallation": "Plugin Installation",
"HeaderPleaseSignIn": "Please sign in",
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index 3751b617a4..5774f921a6 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -386,7 +386,6 @@
"HeaderPleaseSignIn": "Please sign in",
"HeaderPluginInstallation": "Plugin Installation",
"HeaderPreferredMetadataLanguage": "Preferred Metadata Language",
- "HeaderProfile": "Profile",
"HeaderProfileInformation": "Profile Information",
"HeaderProfileServerSettingsHelp": "These values control how the server will present itself to clients.",
"HeaderRecentlyPlayed": "Recently Played",
@@ -398,7 +397,6 @@
"HeaderRemoveMediaLocation": "Remove Media Location",
"HeaderResponseProfile": "Response Profile",
"HeaderResponseProfileHelp": "Response profiles provide a way to customize information sent to the device when playing certain kinds of media.",
- "HeaderRestart": "Restart",
"HeaderRevisionHistory": "Revision History",
"HeaderRunningTasks": "Running Tasks",
"HeaderScenes": "Scenes",
@@ -408,7 +406,6 @@
"HeaderSelectMetadataPath": "Select Metadata Path",
"HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to use for metadata. The folder must be writeable.",
"HeaderSelectPath": "Select Path",
- "HeaderSelectServer": "Select Server",
"HeaderSelectServerCachePath": "Select Server Cache Path",
"HeaderSelectServerCachePathHelp": "Browse or enter the path to use for server cache files. The folder must be writeable.",
"HeaderSelectTranscodingPath": "Select Transcoding Temporary Path",
@@ -1134,7 +1131,6 @@
"PasswordMatchError": "Password and password confirmation must match.",
"PasswordResetComplete": "The password has been reset.",
"PasswordResetConfirmation": "Are you sure you wish to reset the password?",
- "HeaderResetPassword": "Reset Password",
"PasswordResetProviderHelp": "Choose a password reset provider to be used when this user requests a password reset.",
"PasswordSaved": "Password saved.",
"People": "People",
@@ -1175,6 +1171,7 @@
"Primary": "Primary",
"Producer": "Producer",
"ProductionLocations": "Production locations",
+ "Profile": "Profile",
"Programs": "Programs",
"Quality": "Quality",
"Raised": "Raised",
@@ -1205,6 +1202,8 @@
"RepeatOne": "Repeat one",
"ReplaceAllMetadata": "Replace all metadata",
"ReplaceExistingImages": "Replace existing images",
+ "ResetPassword": "Reset Password",
+ "Restart": "Restart",
"ResumeAt": "Resume from {0}",
"Rewind": "Rewind",
"Runtime": "Runtime",
@@ -1225,6 +1224,7 @@
"SearchResults": "Search Results",
"Season": "Season",
"SelectAdminUsername": "Please select a username for the admin account.",
+ "SelectServer": "Select Server",
"SendMessage": "Send message",
"Series": "Series",
"SeriesCancelled": "Series cancelled.",
diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json
index 98db11189b..ea888e7b3a 100644
--- a/src/strings/es-ar.json
+++ b/src/strings/es-ar.json
@@ -453,7 +453,6 @@
"HeaderSelectTranscodingPath": "Seleccionar ruta temporal de transcodificación",
"HeaderSelectServerCachePathHelp": "Examine o ingrese la ruta a utilizar para los archivos de caché del servidor. La carpeta debe ser grabable.",
"HeaderSelectServerCachePath": "Seleccionar ruta de caché del servidor",
- "HeaderSelectServer": "Seleccionar servidor",
"HeaderSelectPath": "Seleccionar ruta",
"HeaderSelectMetadataPathHelp": "Examine o ingrese la ruta en la que desea almacenar metadatos. La carpeta debe ser grabable.",
"HeaderSelectMetadataPath": "Seleccionar ruta de metadatos",
@@ -463,7 +462,6 @@
"HeaderScenes": "Escenas",
"HeaderRunningTasks": "Ejecución de tareas",
"HeaderRevisionHistory": "Revisión histórica",
- "HeaderRestart": "Reiniciar",
"HeaderResponseProfile": "Perfil de respuesta",
"HeaderRemoveMediaLocation": "Eliminar ubicación de medios",
"HeaderRemoveMediaFolder": "Eliminar carpeta de medios",
@@ -474,7 +472,6 @@
"HeaderRecentlyPlayed": "Recientemente reproducido",
"HeaderProfileServerSettingsHelp": "Estos valores controlan cómo el servidor Jellyfin se presentará al dispositivo.",
"HeaderProfileInformation": "Información del perfil",
- "HeaderProfile": "Perfil",
"HeaderPreferredMetadataLanguage": "Lenguaje de metadatos preferido",
"HeaderPluginInstallation": "Instalación de complementos",
"HeaderPleaseSignIn": "Por favor, inicie sesión",
@@ -1133,7 +1130,6 @@
"People": "Personas",
"PasswordSaved": "Contraseña guardada.",
"PasswordResetProviderHelp": "Elija un proveedor de restablecimiento de contraseña para usar cuando este usuario solicite un restablecimiento de contraseña",
- "HeaderResetPassword": "Restablecer contraseña",
"PasswordResetConfirmation": "¿Estás seguro de que deseas restablecer la contraseña?",
"PasswordResetComplete": "La contraseña ha sido restablecida.",
"PasswordMatchError": "La contraseña y la confirmación de la contraseña deben coincidir.",
diff --git a/src/strings/es-mx.json b/src/strings/es-mx.json
index 12fd42ff76..00417c10ec 100644
--- a/src/strings/es-mx.json
+++ b/src/strings/es-mx.json
@@ -339,7 +339,6 @@
"HeaderPleaseSignIn": "Por favor, inicia sesión",
"HeaderPluginInstallation": "Instalación de complemento",
"HeaderPreferredMetadataLanguage": "Idioma preferido para los metadatos",
- "HeaderProfile": "Perfil",
"HeaderProfileInformation": "Información del perfil",
"HeaderProfileServerSettingsHelp": "Estos valores controlan como el servidor Jellyfin se presentará al dispositivo.",
"HeaderRecentlyPlayed": "Reproducido recientemente",
@@ -350,7 +349,6 @@
"HeaderRemoveMediaLocation": "Remover ubicación de medios",
"HeaderResponseProfile": "Perfil de respuesta",
"HeaderResponseProfileHelp": "Los perfiles de respuesta proporcionan un medio para personalizar la información enviada al dispositivo cuando se reproducen ciertos tipos de medios.",
- "HeaderRestart": "Reiniciar",
"HeaderRevisionHistory": "Historial de versiones",
"HeaderRunningTasks": "Tareas en ejecución",
"HeaderScenes": "Escenas",
@@ -360,7 +358,6 @@
"HeaderSelectMetadataPath": "Selecciona la ruta para los metadatos",
"HeaderSelectMetadataPathHelp": "Explora o introduce la ruta donde deseas almacenar los metadatos. Se debe tener permisos de escritura en dicha carpeta.",
"HeaderSelectPath": "Seleccionar ruta",
- "HeaderSelectServer": "Seleccionar servidor",
"HeaderSelectServerCachePath": "Seleccionar ruta para la caché del servidor",
"HeaderSelectServerCachePathHelp": "Explora o introduce la ruta a utilizar para los archivos caché del servidor. Se debe tener permisos de escritura en dicha carpeta.",
"HeaderSelectTranscodingPath": "Selecciona la ruta para los archivos temporales de transcodificación",
@@ -958,7 +955,6 @@
"PasswordMatchError": "La contraseña y la confirmación de la contraseña deben coincidir.",
"PasswordResetComplete": "La contraseña ha sido restablecida.",
"PasswordResetConfirmation": "¿Estás seguro de querer restablecer la contraseña?",
- "HeaderResetPassword": "Restablecer contraseña",
"PasswordSaved": "Contraseña guardada.",
"People": "Personas",
"PerfectMatch": "Coincidencia perfecta",
diff --git a/src/strings/es.json b/src/strings/es.json
index e79fe6868c..9cffe4255b 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -293,7 +293,6 @@
"HeaderPleaseSignIn": "Por favor, inicie sesión",
"HeaderPluginInstallation": "Instalación del complemento",
"HeaderPreferredMetadataLanguage": "Idioma preferido para las etiquetas",
- "HeaderProfile": "Perfil",
"HeaderProfileInformation": "Información del perfil",
"HeaderProfileServerSettingsHelp": "Estos valores controlan cómo el servidor será presentado a los clientes.",
"HeaderRecentlyPlayed": "Reproducido recientemente",
@@ -304,7 +303,6 @@
"HeaderRemoveMediaLocation": "Quitar ubicación de medios",
"HeaderResponseProfile": "Perfil de respuesta",
"HeaderResponseProfileHelp": "Perfiles de respuesta proporcionan una forma de personalizar la información que se envía al dispositivo cuando se reproducen ciertos tipos de medios.",
- "HeaderRestart": "Reiniciar",
"HeaderRevisionHistory": "Histórico de revisiones",
"HeaderRunningTasks": "Tareas en ejecución",
"HeaderScenes": "Escenas",
@@ -314,7 +312,6 @@
"HeaderSelectMetadataPath": "Seleccione la ruta para las etiquetas",
"HeaderSelectMetadataPathHelp": "Busque o escriba la ruta donde almacenar las etiquetas. La carpeta debe tener permiso de escritura.",
"HeaderSelectPath": "Elige ruta",
- "HeaderSelectServer": "Selecionar servidor",
"HeaderSelectServerCachePath": "Seleccione la ruta para el caché del servidor",
"HeaderSelectServerCachePathHelp": "Navega o introduce la ruta para alojar los archivos caché del servidor. Tienes que tener permisos de escritura en esa carpeta.",
"HeaderSelectTranscodingPath": "Ruta para los archivos temporales de las conversiones",
@@ -884,7 +881,6 @@
"PasswordMatchError": "La contraseña y la confirmación de la contraseña deben de ser iguales.",
"PasswordResetComplete": "La contraseña se ha restablecido.",
"PasswordResetConfirmation": "¿Esta seguro de que desea restablecer la contraseña?",
- "HeaderResetPassword": "Restablecer contraseña",
"PasswordSaved": "Contraseña guardada.",
"People": "Gente",
"PinCodeResetComplete": "El código PIN se ha restablecido.",
diff --git a/src/strings/es_419.json b/src/strings/es_419.json
index 131b7d9df2..6e6e7ee727 100644
--- a/src/strings/es_419.json
+++ b/src/strings/es_419.json
@@ -541,7 +541,6 @@
"People": "Personas",
"PasswordSaved": "Contraseña guardada.",
"PasswordResetProviderHelp": "Elige un proveedor de restablecimiento de contraseña para usar cuando este usuario solicite un restablecimiento de contraseña.",
- "HeaderResetPassword": "Restablecer contraseña",
"PasswordResetConfirmation": "¿Estás seguro de querer restablecer la contraseña?",
"PasswordResetComplete": "La contraseña ha sido restablecida.",
"PasswordMatchError": "La contraseña y la confirmación de la contraseña deben coincidir.",
@@ -942,7 +941,6 @@
"HeaderServerSettings": "Configuración del servidor",
"HeaderSelectServerCachePathHelp": "Explora o introduce la ruta a utilizar para los archivos caché del servidor. Se debe tener permisos de escritura en dicha carpeta.",
"HeaderSelectServerCachePath": "Seleccionar ruta para la caché del servidor",
- "HeaderSelectServer": "Seleccionar servidor",
"HeaderSelectPath": "Seleccionar ruta",
"HeaderSelectMetadataPathHelp": "Explora o introduce la ruta que deseas usar para los metadatos. Se debe tener permisos de escritura en esa carpeta.",
"HeaderSelectMetadataPath": "Selecciona la ruta para los metadatos",
@@ -952,7 +950,6 @@
"HeaderScenes": "Escenas",
"HeaderRunningTasks": "Tareas en ejecución",
"HeaderRevisionHistory": "Historial de versiones",
- "HeaderRestart": "Reiniciar",
"HeaderResponseProfileHelp": "Los perfiles de respuesta proporcionan un medio para personalizar la información enviada al dispositivo cuando se reproducen ciertos tipos de medios.",
"HeaderResponseProfile": "Perfil de respuesta",
"HeaderRemoveMediaLocation": "Remover ubicación de medios",
@@ -964,7 +961,6 @@
"HeaderRecentlyPlayed": "Reproducido recientemente",
"HeaderProfileServerSettingsHelp": "Estos valores controlan cómo el servidor se presentará a los clientes.",
"HeaderProfileInformation": "Información del perfil",
- "HeaderProfile": "Perfil",
"HeaderPreferredMetadataLanguage": "Idioma preferido para los metadatos",
"HeaderPluginInstallation": "Instalación de complemento",
"HeaderPleaseSignIn": "Por favor, inicia sesión",
diff --git a/src/strings/fa.json b/src/strings/fa.json
index c3c6ff9950..7c6e2a33f9 100644
--- a/src/strings/fa.json
+++ b/src/strings/fa.json
@@ -254,7 +254,6 @@
"HeaderRecordingOptions": "گزینههای ضبط",
"HeaderRecentlyPlayed": "به تازگی پخش شده",
"HeaderProfileInformation": "اطلاعات نمایه",
- "HeaderProfile": "نمایه",
"HeaderPluginInstallation": "نصب افزونه",
"HeaderPleaseSignIn": "لطفا وارد شوید",
"HeaderPlaybackError": "خطای پخش",
@@ -585,7 +584,6 @@
"MessageItemSaved": "آیتم ذخیره شد.",
"MessageInvalidUser": "نام کاربری یا گذرواژه نامعتبر است. لطفا دوباره تلاش کنید.",
"MessageInvalidForgotPasswordPin": "کد پین نامعتبر یا منقضی شده وارد شد. لطفا دوباره تلاش کنید.",
- "HeaderResetPassword": "بازنشانی گذرواژه",
"PasswordResetConfirmation": "آیا واقعا تمایل به بازنشانی گذرواژه دارید؟",
"PasswordResetComplete": "گذرواژه بازنشانی شد.",
"PasswordMatchError": "گذرواژه و تکرار گذرواژه باید یکسان باشند.",
@@ -1124,7 +1122,6 @@
"HeaderRemoveMediaLocation": "Remove Media Location",
"HeaderResponseProfile": "Response Profile",
"HeaderResponseProfileHelp": "Response profiles provide a way to customize information sent to the device when playing certain kinds of media.",
- "HeaderRestart": "Restart",
"HeaderRevisionHistory": "Revision History",
"HeaderRunningTasks": "Running Tasks",
"HeaderScenes": "Scenes",
@@ -1134,7 +1131,6 @@
"HeaderSelectMetadataPath": "Select Metadata Path",
"HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.",
"HeaderSelectPath": "Select Path",
- "HeaderSelectServer": "Select Server",
"LabelFolder": "Folder:",
"LabelSyncPlayLeaveGroupDescription": "Disable SyncPlay",
"LabelSyncPlayAccessCreateAndJoinGroups": "Allow user to create and join groups",
diff --git a/src/strings/fi.json b/src/strings/fi.json
index 1a3639ddf9..9cc6c22912 100644
--- a/src/strings/fi.json
+++ b/src/strings/fi.json
@@ -255,7 +255,6 @@
"Play": "Toista",
"PinCodeResetConfirmation": "Haluatko varmasti nollata PIN-koodin?",
"People": "Ihmiset",
- "HeaderResetPassword": "Nollaa salasana",
"OriginalAirDateValue": "Alkuperäinen esityspäivä: {0}",
"OptionWeekly": "Viikottainen",
"OptionWeekends": "Viikonloput",
@@ -784,10 +783,7 @@
"HeaderStatus": "Tila",
"HeaderServerSettings": "Palvelimen asetukset",
"HeaderSendMessage": "Lähetä viesti",
- "HeaderSelectServer": "Valitse palvelin",
"HeaderSeasons": "Kaudet",
- "HeaderRestart": "Uudelleenkäynnistys",
- "HeaderProfile": "Profiili",
"HeaderPlayAll": "Toista kaikki",
"HeaderPassword": "Salasana",
"HeaderNewApiKey": "Uusi API-avain",
diff --git a/src/strings/fr.json b/src/strings/fr.json
index 3071e69aa7..757d842728 100644
--- a/src/strings/fr.json
+++ b/src/strings/fr.json
@@ -339,7 +339,6 @@
"HeaderPleaseSignIn": "Merci de vous identifier",
"HeaderPluginInstallation": "Installation de l'extension",
"HeaderPreferredMetadataLanguage": "Langue de métadonnées préférée",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Information de profil",
"HeaderProfileServerSettingsHelp": "Ces valeurs contrôlent la façon dont le serveur se présentera aux clients.",
"HeaderRecentlyPlayed": "Lus récemment",
@@ -350,7 +349,6 @@
"HeaderRemoveMediaLocation": "Supprimer l'emplacement de média",
"HeaderResponseProfile": "Profil de réponse",
"HeaderResponseProfileHelp": "Les profils de réponse permettent de personnaliser l'information envoyée à l'appareil lors de la lecture de certains types de média.",
- "HeaderRestart": "Redémarrer",
"HeaderRevisionHistory": "Historique des révisions",
"HeaderRunningTasks": "Tâches en cours d'exécution",
"HeaderScenes": "Scènes",
@@ -360,7 +358,6 @@
"HeaderSelectMetadataPath": "Sélectionner le chemin d'accès des métadonnées",
"HeaderSelectMetadataPathHelp": "Parcourir ou saisir le chemin d'accès où vous aimeriez stocker les métadonnées. Le dossier doit être accessible en écriture.",
"HeaderSelectPath": "Sélectionnez un chemin",
- "HeaderSelectServer": "Sélectionner le serveur",
"HeaderSelectServerCachePath": "Sélectionner le chemin d'accès du cache de serveur",
"HeaderSelectServerCachePathHelp": "Parcourir ou saisir le chemin d'accès à utiliser pour les fichiers cache du serveur. Le dossier doit être accessible en écriture.",
"HeaderSelectTranscodingPath": "Sélectionner le chemin d'accès du dossier temporaire de transcodage",
@@ -958,7 +955,6 @@
"PasswordMatchError": "Le mot de passe et sa confirmation doivent correspondre.",
"PasswordResetComplete": "Le mot de passe a été réinitialisé.",
"PasswordResetConfirmation": "Êtes-vous sûr de vouloir réinitialiser le mot de passe ?",
- "HeaderResetPassword": "Réinitialiser le mot de passe",
"PasswordSaved": "Mot de passe sauvegardé.",
"People": "Personnes",
"PerfectMatch": "Correspondance parfaite",
diff --git a/src/strings/he.json b/src/strings/he.json
index bb794540dd..9d27fa9280 100644
--- a/src/strings/he.json
+++ b/src/strings/he.json
@@ -500,12 +500,9 @@
"HeaderSortOrder": "סדר מיון",
"HeaderSortBy": "מיין לפי",
"HeaderSendMessage": "שלח הודעה",
- "HeaderSelectServer": "בחר שרת",
"HeaderSecondsValue": "{0} שניות",
"HeaderSeasons": "עונות",
- "HeaderRestart": "הפעלה מחדש",
"HeaderProfileInformation": "מידע פרופיל",
- "HeaderProfile": "פרופיל",
"HeaderPreferredMetadataLanguage": "שפת מטא-דאטה מועדפת",
"HeaderPluginInstallation": "התקנת תוסף",
"HeaderPlayOn": "נגן על",
diff --git a/src/strings/hr.json b/src/strings/hr.json
index 9cbd44e468..b462f651b8 100644
--- a/src/strings/hr.json
+++ b/src/strings/hr.json
@@ -210,7 +210,6 @@
"HeaderPleaseSignIn": "Molim, prijavite se",
"HeaderPluginInstallation": "Instalacija dodataka",
"HeaderPreferredMetadataLanguage": "Željeni jezik meta-podataka",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Informacija profila",
"HeaderProfileServerSettingsHelp": "Ove vrijednosti kontroliraju kako će se Jellyfin Server predstaviti na uređaju.",
"HeaderRecentlyPlayed": "Zadnje izvođeno",
@@ -220,7 +219,6 @@
"HeaderRemoveMediaLocation": "Ukloni lokacije medija",
"HeaderResponseProfile": "Profil odziva",
"HeaderResponseProfileHelp": "Profili odgovora pružaju način prilagodbe informacija koje se šalju na uređaj kada reproducirate određene vrste medija.",
- "HeaderRestart": "Ponovo pokreni",
"HeaderRevisionHistory": "Povijest revizije",
"HeaderRunningTasks": "Zadatci koji se izvode",
"HeaderScenes": "Scene",
@@ -229,7 +227,6 @@
"HeaderSelectMetadataPath": "Odaberite putanju meta-podataka",
"HeaderSelectMetadataPathHelp": "Pregledajte ili unesite putanju za pohranu meta-podataka. U mapu se mora moći pisati.",
"HeaderSelectPath": "Odaberi putanju",
- "HeaderSelectServer": "Odaberi Server",
"HeaderSelectServerCachePath": "Odaberite putanju predmemorije servera",
"HeaderSelectServerCachePathHelp": "Pregledajte ili unesite putanju za korištenje predmemorijskih datoteka. U mapu se mora moći pisati.",
"HeaderSelectTranscodingPath": "Odaberite privremenu putanju konvertiranja",
@@ -713,7 +710,6 @@
"PasswordMatchError": "Lozinka i lozinka potvrde moraju biti identične.",
"PasswordResetComplete": "Lozinka je resetirana.",
"PasswordResetConfirmation": "Da li ste sigurni da želite resetirati lozinku?",
- "HeaderResetPassword": "Poništi lozinku",
"PasswordSaved": "Lozinka snimljena.",
"People": "Ljudi",
"PinCodeResetComplete": "PIN je resetiran.",
diff --git a/src/strings/hu.json b/src/strings/hu.json
index 5a4f116b69..bbbe88d9b4 100644
--- a/src/strings/hu.json
+++ b/src/strings/hu.json
@@ -141,16 +141,13 @@
"HeaderPleaseSignIn": "Kérlek jelentkezz be",
"HeaderPluginInstallation": "Bővítmény Telepítése",
"HeaderPreferredMetadataLanguage": "Előnyben részesített metaadat nyelv",
- "HeaderProfile": "Profil",
"HeaderRecentlyPlayed": "Nemrég játszott",
"HeaderRemoteControl": "Távirányítás",
- "HeaderRestart": "Újraindítás",
"HeaderRevisionHistory": "Módosítási előzmények",
"HeaderRunningTasks": "Futó folyamatok",
"HeaderScenes": "Jelenetek",
"HeaderSeasons": "Évadok",
"HeaderSelectMetadataPath": "Válaszd ki a metaadat útvonalat",
- "HeaderSelectServer": "Szerver Kiválasztás",
"HeaderSendMessage": "Üzenet küldése",
"HeaderSetupLibrary": "Média könyvtárak beállítása",
"HeaderSortBy": "Megjelenítés",
@@ -998,7 +995,6 @@
"PasswordMatchError": "A jelszónak és a jelszó megerősítésének meg kell egyeznie.",
"PasswordResetComplete": "A jelszó visszaállítva.",
"PasswordResetConfirmation": "Biztosan vissza szeretnéd állítani a jelszót?",
- "HeaderResetPassword": "Jelszó visszaállítása",
"PasswordSaved": "Jelszó mentve.",
"PerfectMatch": "Tökéletes párosítás",
"PictureInPicture": "Kép a képen",
diff --git a/src/strings/id.json b/src/strings/id.json
index 9c7283c93d..efa764395b 100644
--- a/src/strings/id.json
+++ b/src/strings/id.json
@@ -287,7 +287,6 @@
"HeaderServerAddressSettings": "Pengaturan Alamat Server",
"HeaderSelectServerCachePathHelp": "Jelajahi atau masukkan jalur yang akan digunakan untuk file cache server. Folder harus dapat akses.",
"HeaderSelectServerCachePath": "Pilih lokasi Cache Server",
- "HeaderSelectServer": "Pilih Server",
"HeaderProfileServerSettingsHelp": "Nilai-nilai ini mengontrol bagaimana server akan menampilkan dirinya kepada klien.",
"HeaderConnectToServer": "Sambungkan ke server",
"HeaderApiKeysHelp": "Aplikasi eksternal diharuskan memiliki kunci API untuk berkomunikasi dengan server. Kunci dikeluarkan dengan masuk dengan akun pengguna biasa atau secara manual memberi aplikasi kunci.",
diff --git a/src/strings/is-is.json b/src/strings/is-is.json
index 0878a9e306..8fef2eddc9 100644
--- a/src/strings/is-is.json
+++ b/src/strings/is-is.json
@@ -120,7 +120,6 @@
"Overview": "Yfirlit",
"PackageInstallCompleted": "{0} lokið við uppsetningu.",
"PasswordResetComplete": "Lykilorðið hefur verið endurstillt.",
- "HeaderResetPassword": "Endurstilla lykilorð",
"PasswordResetProviderHelp": "Veldu þjónustu til þess að endurstilla lykilorð þegar notandi biður um það",
"PictureInPicture": "Brot úr ramma",
"PinCodeResetComplete": "Pinnið þitt hefur verið endursett.",
@@ -134,9 +133,7 @@
"Played": "Spilað",
"Photos": "Myndir",
"Movies": "Kvikmyndir",
- "HeaderRestart": "Endurræsa",
"HeaderProfileInformation": "Upplýsingar um prófíl",
- "HeaderProfile": "Prófíll",
"HeaderPassword": "Lykilorð",
"HeaderLatestMovies": "Kvikmyndir, nýlega bætt við",
"HeaderLatestEpisodes": "Þættir, nýlega bætt við",
diff --git a/src/strings/it.json b/src/strings/it.json
index 6c08abe02e..49632e4a7f 100644
--- a/src/strings/it.json
+++ b/src/strings/it.json
@@ -324,7 +324,6 @@
"HeaderPleaseSignIn": "Per favore accedi",
"HeaderPluginInstallation": "Installazione Plugin",
"HeaderPreferredMetadataLanguage": "Lingua Preferita per i Metadati",
- "HeaderProfile": "Profilo",
"HeaderProfileInformation": "Informazioni sul profilo",
"HeaderProfileServerSettingsHelp": "Questi valori controllano come il server si presenterà ai client.",
"HeaderRecentlyPlayed": "Visti di recente",
@@ -335,7 +334,6 @@
"HeaderRemoveMediaLocation": "Rimuovi percorso media",
"HeaderResponseProfile": "Risposta Profilo",
"HeaderResponseProfileHelp": "Profili di risposta forniscono un modo per personalizzare le informazioni inviate al dispositivo durante la riproduzione di alcuni tipi di media.",
- "HeaderRestart": "Riavvia",
"HeaderRevisionHistory": "Cronologia delle revisioni",
"HeaderRunningTasks": "Operazioni in corso",
"HeaderScenes": "Scene",
@@ -345,7 +343,6 @@
"HeaderSelectMetadataPath": "Selezionare Percorso Metadati",
"HeaderSelectMetadataPathHelp": "Sfoglia o inserisci il percorso da usare per archiviare i metadati. La cartella deve essere scrivibile.",
"HeaderSelectPath": "Seleziona Percorso",
- "HeaderSelectServer": "Scegli Server",
"HeaderSelectServerCachePath": "Seleziona percorso Cache Server",
"HeaderSelectServerCachePathHelp": "Sfoglia o immetti il percorso da utilizzare per i file di cache server. La cartella deve essere scrivibile.",
"HeaderSelectTranscodingPath": "Selezionare Percorso Temporaneo Transcodifica",
@@ -919,7 +916,6 @@
"PasswordMatchError": "Le password non coincidono.",
"PasswordResetComplete": "Reset della password eseguito.",
"PasswordResetConfirmation": "Sicuro di voler eseguire il reset della password?",
- "HeaderResetPassword": "Reset Password",
"PasswordSaved": "Password salvata.",
"People": "Attori",
"PerfectMatch": "Corrispondenza perfetta",
diff --git a/src/strings/ja.json b/src/strings/ja.json
index c9310f89c0..0bd9edf507 100644
--- a/src/strings/ja.json
+++ b/src/strings/ja.json
@@ -361,7 +361,6 @@
"HeaderPleaseSignIn": "サインインしてください",
"HeaderPluginInstallation": "プラグインのインストール",
"HeaderPreferredMetadataLanguage": "優先するメタデータ言語",
- "HeaderProfile": "プロファイル",
"HeaderProfileInformation": "プロファイル情報",
"HeaderProfileServerSettingsHelp": "これらの設定はサーバーがクライアントに提示する方法を示しています。",
"HeaderRecentlyPlayed": "最近再生した",
@@ -372,7 +371,6 @@
"HeaderRemoveMediaLocation": "メディアロケーションの削除",
"HeaderResponseProfile": "レスポンスプロファイル",
"HeaderResponseProfileHelp": "レスポンスプロファイルは、特定の種類のメディアを再生するときにデバイスに送信される情報をカスタマイズする方法を提供します。",
- "HeaderRestart": "リスタート",
"HeaderRevisionHistory": "更新履歴",
"HeaderRunningTasks": "実行中のタスク",
"HeaderScenes": "シーン",
@@ -382,7 +380,6 @@
"HeaderSelectMetadataPath": "メタデータのパスを選択",
"HeaderSelectMetadataPathHelp": "メタデータの保存先を参照またはパスを入力してください。 フォルダは書き込み可能でなければなりません。",
"HeaderSelectPath": "パスの選択",
- "HeaderSelectServer": "サーバーの選択",
"HeaderSelectServerCachePath": "サーバーキャッシュのパスを選択",
"HeaderSelectServerCachePathHelp": "サーバーキャッシュファイルに使用するパスを参照または入力します。 フォルダは書き込み可能でなければなりません。",
"HeaderSelectTranscodingPath": "トランスコーディング用の一時パスの選択",
@@ -513,7 +510,6 @@
"OptionWeekdays": "平日",
"ParentalRating": "個人評価",
"PasswordResetConfirmation": "本当にパスワードを再設定しますか?",
- "HeaderResetPassword": "パスワード再設定",
"PasswordSaved": "パスワードが保存されました。",
"People": "ピープル",
"PerfectMatch": "完全に一致",
diff --git a/src/strings/kk.json b/src/strings/kk.json
index 2d736513b9..ada6f9ab71 100644
--- a/src/strings/kk.json
+++ b/src/strings/kk.json
@@ -350,7 +350,6 @@
"HeaderPleaseSignIn": "Kirińiz",
"HeaderPluginInstallation": "Plagın ornatymy",
"HeaderPreferredMetadataLanguage": "Metaderekter tiliniń teńshelimi",
- "HeaderProfile": "Profaıl",
"HeaderProfileInformation": "Profaıl málimetteri",
"HeaderProfileServerSettingsHelp": "Bul mánder Jellyfin Server qalaı ózin qurylǵyda kórsetetiniń basqarady.",
"HeaderRecentlyPlayed": "Jaqynda oınatylǵandar",
@@ -361,7 +360,6 @@
"HeaderRemoveMediaLocation": "Tasyǵyshderekter ornalasýyn alastaý",
"HeaderResponseProfile": "Ún qatý profaıly",
"HeaderResponseProfileHelp": "Keıbir tasyǵyshderekter túrlerin oınatqanda ún qatý profaıldary qurylǵyǵa jiberiletin aqparatty teńsheý úshin jol beredi.",
- "HeaderRestart": "Qaıta iske qosý",
"HeaderRevisionHistory": "Ózgerister tarıhy",
"HeaderRunningTasks": "Oryndalyp jatqan tapsyrmalar",
"HeaderScenes": "Sahnalar",
@@ -371,7 +369,6 @@
"HeaderSelectMetadataPath": "Metaderekter jolyn tańdaý",
"HeaderSelectMetadataPathHelp": "Metaderekter saqtaý úshin joldy sholyńyz nemese engizińiz. Osy qalta jazý úshin qol jetimdi bolýy qajet.",
"HeaderSelectPath": "Joldy tańdaý",
- "HeaderSelectServer": "Serverdi tańdaý",
"HeaderSelectServerCachePath": "Server keshiniń jolyn tańdaý",
"HeaderSelectServerCachePathHelp": "Serverdiń kesh faıldaryn paıdalaný úshin joldy sholyńyz nemese engizińiz. Osy qalta jazý úshin qol jetimdi bolýy qajet.",
"HeaderSelectTranscodingPath": "Qaıta kodtaýdyń ýaqytsha faıldaryeyń jolyn tańdaý",
@@ -978,7 +975,6 @@
"PasswordMatchError": "Paróli men Paróldi rastaý óristeri sáıkes bolý kerek.",
"PasswordResetComplete": "Paról ysyryldy.",
"PasswordResetConfirmation": "Shynymen paróldi ysyrý qajet pe?",
- "HeaderResetPassword": "Paróldi ysyrý",
"PasswordSaved": "Paról saqtaldy.",
"People": "Adamdar",
"PerfectMatch": "Úzdik teń",
diff --git a/src/strings/ko.json b/src/strings/ko.json
index 03d995fb42..9413bd1f41 100644
--- a/src/strings/ko.json
+++ b/src/strings/ko.json
@@ -155,7 +155,6 @@
"HeaderPlaybackError": "재생 오류",
"HeaderPleaseSignIn": "로그인하십시오",
"HeaderPluginInstallation": "플러그인 설치",
- "HeaderProfile": "프로필",
"HeaderProfileInformation": "프로필 정보",
"HeaderProfileServerSettingsHelp": "이 값은 Jellyfin 서버가 장치에 자신을 어떻게 표시할지를 제어합니다.",
"HeaderRecentlyPlayed": "최근 재생됨",
@@ -163,7 +162,6 @@
"HeaderRemoveMediaFolder": "미디어 폴더 제거",
"HeaderRemoveMediaLocation": "미디어 위치 제거",
"HeaderResponseProfile": "응답 프로파일",
- "HeaderRestart": "다시 시작",
"HeaderRevisionHistory": "리비전 이력",
"HeaderRunningTasks": "실행중인 작업",
"HeaderScenes": "장면",
@@ -171,7 +169,6 @@
"HeaderSelectMetadataPath": "메타데이터 경로 선택",
"HeaderSelectMetadataPathHelp": "메타데이터를 보관할 경로를 탐색 또는 입력하세요. 쓰기 가능한 폴더여야 합니다.",
"HeaderSelectPath": "경로 선택",
- "HeaderSelectServer": "서버 선택",
"HeaderSelectServerCachePath": "서버 캐시 경로 선택",
"HeaderSelectServerCachePathHelp": "서버 캐시 파일에 사용할 경로를 탐색 또는 입력하세요. 쓰기 가능한 폴더여야 합니다.",
"HeaderSelectTranscodingPath": "트랜스코딩 임시 경로 선택",
@@ -538,7 +535,6 @@
"PasswordMatchError": "비밀번호와 비밀번호 확인이 일치해야 합니다.",
"PasswordResetComplete": "비밀번호가 재설정되었습니다.",
"PasswordResetConfirmation": "비밀번호를 재설정하겠습니까?",
- "HeaderResetPassword": "비밀번호 재설정",
"PasswordSaved": "비밀번호가 저장되었습니다.",
"PictureInPicture": "Picture in picture",
"PinCodeResetComplete": "PIN 코드가 초기화되었습니다.",
diff --git a/src/strings/lt-lt.json b/src/strings/lt-lt.json
index f55724a864..e5f55c8aa7 100644
--- a/src/strings/lt-lt.json
+++ b/src/strings/lt-lt.json
@@ -769,7 +769,6 @@
"FormatValue": "Formatas: {0}",
"GuideProviderSelectListings": "Sąrašų pasirinkimas",
"EncoderPresetHelp": "Pasirinkite greitesnę reikšmę, kad pagerintumėte našumą, arba mažesnę, norėdami pagerinti kokybę.",
- "HeaderRestart": "Perkrauti",
"LabelDateTimeLocale": "Data ir laikas:",
"LabelEnableSingleImageInDidlLimit": "Apriboti iki vieno įterpto vaizdo",
"EnableStreamLooping": "Cikliškai perleisti tiesiogines transliacijas",
@@ -846,7 +845,6 @@
"HeaderPlaybackError": "Leidimo klaida",
"HeaderPlayback": "Medijos leidimas",
"HeaderPluginInstallation": "Įskiepių diegimas",
- "HeaderProfile": "Profilis",
"HeaderProfileInformation": "Apie profilį",
"HeaderResponseProfileHelp": "Atsakymo profiliai suteikia galimybę pritaikyti prie prietaiso siunčiamą informaciją, kai grojama tam tikros rūšies medijos.",
"HeaderSeasons": "Sezonai",
@@ -854,7 +852,6 @@
"HeaderSelectMetadataPath": "Metaduomenų kelio išrinkimas",
"HeaderSelectMetadataPathHelp": "Suraskite arba įrašykite kelią metaduomenų saugojimui. Aplankalas turi būti su rašymo teise.",
"HeaderSelectPath": "Išrinkti kelią",
- "HeaderSelectServer": "Išrinkti serverį",
"LabelCorruptedFrames": "Sugadinti kadrai:",
"HeaderNavigation": "Navigacija",
"HeaderFavoritePlaylists": "Mėgstami Grojaraščiai",
diff --git a/src/strings/lv.json b/src/strings/lv.json
index afd25dce6b..749fbc4287 100644
--- a/src/strings/lv.json
+++ b/src/strings/lv.json
@@ -245,17 +245,14 @@
"HeaderSeriesOptions": "Sēriju Opcijas",
"HeaderSendMessage": "Sūtīt Ziņojumu",
"HeaderSelectServerCachePath": "Izvēlies Servera Keša Ceļu",
- "HeaderSelectServer": "Izvēlies Serveri",
"HeaderSecondsValue": "{0} Sekundes",
"HeaderSeasons": "Sezonas",
"HeaderRevisionHistory": "Revīziju Vēsture",
- "HeaderRestart": "Restartēt",
"HeaderRemoveMediaLocation": "Noņemt Multvides Atrašanās Vietu",
"HeaderRemoveMediaFolder": "Noņemt Multvides Mapi",
"HeaderRecordingOptions": "Ierakstu Opcijas",
"HeaderRecentlyPlayed": "Nesen Atskaņots",
"HeaderProfileInformation": "Profila Informācija",
- "HeaderProfile": "Profils",
"HeaderPleaseSignIn": "Lūdzu ieej",
"HeaderPlaybackError": "Atskaņošanas Kļūda",
"HeaderPlayback": "Multvides Atskaņošanas",
@@ -991,7 +988,6 @@
"PlaybackData": "Atskaņošanas Dati",
"Person": "Persona",
"PerfectMatch": "Ideāla saderība",
- "HeaderResetPassword": "Atiestatīt Paroli",
"PasswordResetConfirmation": "Vai tu tiešām gribi atiestatīt paroli?",
"PasswordResetComplete": "Parole ir atiestatīta.",
"PasswordMatchError": "Parolei un paroles pārbaudei ir jāsakrīt.",
diff --git a/src/strings/nb.json b/src/strings/nb.json
index 327674ddd1..5c916d92c6 100644
--- a/src/strings/nb.json
+++ b/src/strings/nb.json
@@ -263,7 +263,6 @@
"HeaderPleaseSignIn": "Vennligst logg inn",
"HeaderPluginInstallation": "Installasjon av programtillegg",
"HeaderPreferredMetadataLanguage": "Foretrukket språk for metadata",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Profilinformasjon",
"HeaderProfileServerSettingsHelp": "Disse verdiene styrer hvordan serveren presenterer seg selv for klienter.",
"HeaderRecentlyPlayed": "Nylig avspilt",
@@ -274,7 +273,6 @@
"HeaderRemoveMediaLocation": "Fjern medieplassering",
"HeaderResponseProfile": "Responsprofil",
"HeaderResponseProfileHelp": "Responsprofiler tilbyr en måte å tilpasse informasjonen som sendes til enheten når den spiller av visse typer media.",
- "HeaderRestart": "Omstart",
"HeaderRevisionHistory": "Revisjonshistorikk",
"HeaderRunningTasks": "Kjørende oppgaver",
"HeaderScenes": "Kapitler",
@@ -283,7 +281,6 @@
"HeaderSelectMetadataPath": "Velg metadataplassering",
"HeaderSelectMetadataPathHelp": "Bla eller skriv inn filbanen som skal brukes for metadata. Mappen må være skrivbar.",
"HeaderSelectPath": "Velg filbane",
- "HeaderSelectServer": "Velg server",
"HeaderSelectServerCachePath": "Velg filbane for mellomlagring",
"HeaderSelectServerCachePathHelp": "Bla eller skriv inn filbanen som skal brukes for mellomlagring av serverdata. Mappen må være skrivbar.",
"HeaderSelectTranscodingPath": "Velg filbane for midlertidig lagring av omkodede filer",
@@ -790,7 +787,6 @@
"PasswordMatchError": "Passord og passordbekreftelsen må matche.",
"PasswordResetComplete": "Passordet har blitt tilbakestilt.",
"PasswordResetConfirmation": "Er du sikker på at du vil tilbakestille passordet?",
- "HeaderResetPassword": "Tilbakestill passord",
"PasswordSaved": "Passord lagret.",
"People": "Mennesker",
"PictureInPicture": "Bilde i bilde",
diff --git a/src/strings/nl.json b/src/strings/nl.json
index 0de7971515..1824a7fc70 100644
--- a/src/strings/nl.json
+++ b/src/strings/nl.json
@@ -330,7 +330,6 @@
"HeaderPleaseSignIn": "Aanmelden",
"HeaderPluginInstallation": "Plugin installatie",
"HeaderPreferredMetadataLanguage": "Gewenste metadata taal",
- "HeaderProfile": "Profiel",
"HeaderProfileInformation": "Profiel Informatie",
"HeaderProfileServerSettingsHelp": "Deze waarden bepalen hoe de server zich zal presenteren aan het apparaat.",
"HeaderRecentlyPlayed": "Recent afgespeeld",
@@ -341,7 +340,6 @@
"HeaderRemoveMediaLocation": "Verwijder media locatie",
"HeaderResponseProfile": "Antwoord Profiel",
"HeaderResponseProfileHelp": "Responsprofielen bieden een manier om informatie, verzonden naar het apparaat bij het afspelen van bepaalde soorten media aan te passen.",
- "HeaderRestart": "Herstart",
"HeaderRevisionHistory": "Versie geschiedenis",
"HeaderRunningTasks": "Actieve taken",
"HeaderScenes": "Hoofdstukken",
@@ -351,7 +349,6 @@
"HeaderSelectMetadataPath": "Selecteer Metadata Pad",
"HeaderSelectMetadataPathHelp": "Blader of voer het pad in dat u wilt gebruiken om metadata in op te slaan. De map moet schrijfbaar zijn.",
"HeaderSelectPath": "Selecteer Pad",
- "HeaderSelectServer": "Selecteer server",
"HeaderSelectServerCachePath": "Selecteer Server Cache Pad",
"HeaderSelectServerCachePathHelp": "Bladeren of voer het pad in om te gebruiken voor server cache-bestanden. De map moet beschrijfbaar zijn.",
"HeaderSelectTranscodingPath": "Selecteer Tijdelijke Transcodeer Pad",
@@ -912,7 +909,6 @@
"PasswordMatchError": "Wachtwoord en wachtwoord bevestiging moeten hetzelfde zijn.",
"PasswordResetComplete": "Het wachtwoord is opnieuw ingesteld.",
"PasswordResetConfirmation": "Weet u zeker dat u het wachtwoord opnieuw in wilt stellen?",
- "HeaderResetPassword": "Reset Wachtwoord",
"PasswordSaved": "Wachtwoord opgeslagen.",
"People": "Personen",
"PerfectMatch": "Perfecte match",
diff --git a/src/strings/pl.json b/src/strings/pl.json
index c509531c02..71e52f09c4 100644
--- a/src/strings/pl.json
+++ b/src/strings/pl.json
@@ -348,7 +348,6 @@
"HeaderPleaseSignIn": "Logowanie",
"HeaderPluginInstallation": "Instalacja wtyczki",
"HeaderPreferredMetadataLanguage": "Preferowany język metadanych",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Informacja o Profilu",
"HeaderProfileServerSettingsHelp": "Te wartości kontrolują jak serwer będzie przedstawiany dla urządzeń.",
"HeaderRecentlyPlayed": "Ostatnio odtwarzane",
@@ -359,7 +358,6 @@
"HeaderRemoveMediaLocation": "Usuń lokalizację mediów",
"HeaderResponseProfile": "Profil Odpowiedzi",
"HeaderResponseProfileHelp": "Profile odpowiedzi dostarczają sposobu dostosowywania informacji wysyłanych do urządzenia podczas odtwarzania pewnych rodzajów mediów.",
- "HeaderRestart": "Uruchom ponownie",
"HeaderRevisionHistory": "Historia zmian",
"HeaderRunningTasks": "Uruchomione zadania",
"HeaderScenes": "Sceny",
@@ -369,7 +367,6 @@
"HeaderSelectMetadataPath": "Wybierz folder metadanych",
"HeaderSelectMetadataPathHelp": "Przeglądaj lub wprowadź folder plików przechowywania metadanych. Folder musi umożliwiać zapis plików.",
"HeaderSelectPath": "Wybierz folder",
- "HeaderSelectServer": "Serwery",
"HeaderSelectServerCachePath": "Wybierz folder bufora serwera",
"HeaderSelectServerCachePathHelp": "Przeglądaj lub wprowadź folder plików bufora serwera. Folder musi umożliwiać zapis plików.",
"HeaderSelectTranscodingPath": "Wybierz folder tymczasowy transkodowania",
@@ -972,7 +969,6 @@
"PasswordMatchError": "Hasło i potwierdzenie hasła muszą się zgadzać.",
"PasswordResetComplete": "Hasło zostało zresetowane.",
"PasswordResetConfirmation": "Czy na pewno chcesz wyczyścić hasło?",
- "HeaderResetPassword": "Wyczyść hasło",
"PasswordSaved": "Hasło zapisane.",
"People": "Osoby",
"PerfectMatch": "Perfekcyjne dopasowanie",
diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json
index 61a8835f0c..8bd5fc6127 100644
--- a/src/strings/pt-br.json
+++ b/src/strings/pt-br.json
@@ -336,7 +336,6 @@
"HeaderPleaseSignIn": "Por favor, inicie a sessão",
"HeaderPluginInstallation": "Instalação do plugin",
"HeaderPreferredMetadataLanguage": "Idioma Preferido dos Metadados",
- "HeaderProfile": "Perfil",
"HeaderProfileInformation": "Informação do Perfil",
"HeaderProfileServerSettingsHelp": "Estes valores controlam como o servidor Jellyfin se apresentará ao dispositivo.",
"HeaderRecentlyPlayed": "Reproduzido Recentemente",
@@ -347,7 +346,6 @@
"HeaderRemoveMediaLocation": "Remover Local de Mídia",
"HeaderResponseProfile": "Perfil de Resposta",
"HeaderResponseProfileHelp": "Perfis de resposta oferecem uma forma de personalizar a informação enviada para o dispositivo ao reproduzir certos tipos de mídia.",
- "HeaderRestart": "Reiniciar",
"HeaderRevisionHistory": "Histórico de Versões",
"HeaderRunningTasks": "Tarefas em Execução",
"HeaderScenes": "Cenas",
@@ -357,7 +355,6 @@
"HeaderSelectMetadataPath": "Selecionar Local dos Metadados",
"HeaderSelectMetadataPathHelp": "Navegue ou digite o local que você gostaria de armazenar os metadados. A pasta deve ter permissão de gravação.",
"HeaderSelectPath": "Selecionar Local",
- "HeaderSelectServer": "Selecionar Servidor",
"HeaderSelectServerCachePath": "Selecionar Local do Cache do Servidor",
"HeaderSelectServerCachePathHelp": "Navegue ou digite o local para armazenar os arquivos de cache do servidor. A pasta deve ter permissão de gravação.",
"HeaderSelectTranscodingPath": "Selecionar Local Temporário da Transcodificação",
@@ -944,7 +941,6 @@
"PasswordMatchError": "A senha e a confirmação da senha devem ser iguais.",
"PasswordResetComplete": "A senha foi redefinida.",
"PasswordResetConfirmation": "Deseja realmente redefinir a senha?",
- "HeaderResetPassword": "Redefinir Senha",
"PasswordSaved": "Senha salva.",
"People": "Pessoas",
"PerfectMatch": "Combinação perfeita",
diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json
index ecc004f77c..1038805ba7 100644
--- a/src/strings/pt-pt.json
+++ b/src/strings/pt-pt.json
@@ -157,7 +157,6 @@
"HeaderPlaybackError": "Erro na Reprodução",
"HeaderPleaseSignIn": "Iniciar Sessão",
"HeaderPreferredMetadataLanguage": "Idioma Preferencial dos Metadados",
- "HeaderProfile": "Perfil",
"HeaderProfileInformation": "Informação do Perfil",
"HeaderProfileServerSettingsHelp": "Estes valores controlam como o Servidor Jellyfin se apresenta a si mesmo para o dispositivo.",
"HeaderRecentlyPlayed": "Reproduzido Recentemente",
@@ -166,7 +165,6 @@
"HeaderRemoveMediaLocation": "Remover Localização dos ficheiros multimédia",
"HeaderResponseProfile": "Perfil de Resposta",
"HeaderResponseProfileHelp": "Perfis de resposta oferecem uma forma de personalizar a informação enviada para o dispositivo ao executar certos ficheiros multimédia.",
- "HeaderRestart": "Reiniciar",
"HeaderRevisionHistory": "Histórico de Versões",
"HeaderRunningTasks": "Tarefas em Execução",
"HeaderScenes": "Cenas",
@@ -174,7 +172,6 @@
"HeaderSelectMetadataPath": "Selecione a Localização dos Metadados",
"HeaderSelectMetadataPathHelp": "Procure ou introduza a localização da pasta para guardar os metadados. O Servidor Jellyfin deve ter acesso de escrita a essa pasta.",
"HeaderSelectPath": "Selecione o Local",
- "HeaderSelectServer": "Selecionar Servidor",
"HeaderSelectServerCachePath": "Selecione a Localização da Cache do Servidor",
"HeaderSelectServerCachePathHelp": "Procure ou introduza a localização da pasta para guardar a cache do servidor. O Servidor Jellyfin deve ter acesso de escrita a essa pasta.",
"HeaderSelectTranscodingPath": "Selecione o Local Temporário da Transcodificação",
@@ -545,7 +542,6 @@
"PasswordMatchError": "A palavra-passe e a confirmação devem coincidir.",
"PasswordResetComplete": "A palavra-passe foi redefinida.",
"PasswordResetConfirmation": "Tem a certeza de que deseja redefinir a palavra-passe?",
- "HeaderResetPassword": "Redefinir Palavra-Passe",
"PasswordSaved": "Palavra-passe guardada.",
"PinCodeResetComplete": "O código PIN foi redefinido.",
"PinCodeResetConfirmation": "Tem a certeza de que devia repôr o código PIN?",
diff --git a/src/strings/pt.json b/src/strings/pt.json
index 23282bf70d..6f8ea9131e 100644
--- a/src/strings/pt.json
+++ b/src/strings/pt.json
@@ -132,7 +132,6 @@
"People": "Pessoas",
"PasswordSaved": "Palavra-passe guardada.",
"PasswordResetProviderHelp": "Seleccione um provedor de reposição de palavra-passe a ser usado quando um utilizador requisitar uma reposição de palavra-passe",
- "HeaderResetPassword": "Redefinir Palavra-Passe",
"PasswordResetConfirmation": "Tem a certeza que deseja redefinir a palavra-passe?",
"PasswordResetComplete": "A palavra-passe foi redefinida.",
"PasswordMatchError": "A palavra-passe e a confirmação devem coincidir.",
@@ -477,7 +476,6 @@
"HeaderSelectTranscodingPath": "Seleccione o Local Temporário da Transcodificação",
"HeaderSelectServerCachePathHelp": "Procure ou introduza a localização da pasta para guardar a cache do servidor. O Servidor Jellyfin deve ter acesso de escrita a essa pasta.",
"HeaderSelectServerCachePath": "Seleccione a Localização da Cache do Servidor",
- "HeaderSelectServer": "Seleccionar Servidor",
"HeaderSelectPath": "Seleccione o Local",
"HeaderSelectMetadataPathHelp": "Procure ou introduza a localização da pasta para guardar os metadados. O Servidor Jellyfin deve ter acesso de escrita a essa pasta.",
"HeaderSelectMetadataPath": "Seleccione a Localização dos Metadados",
@@ -487,7 +485,6 @@
"HeaderScenes": "Cenas",
"HeaderRunningTasks": "Tarefas em Execução",
"HeaderRevisionHistory": "Histórico de Versões",
- "HeaderRestart": "Reiniciar",
"HeaderResponseProfileHelp": "Os perfis de resposta oferecem uma forma de individualizar a informação enviada para o dispositivo ao executar certos ficheiros multimédia.",
"HeaderResponseProfile": "Perfil de Resposta",
"HeaderRemoveMediaLocation": "Remover Localização dos ficheiros multimédia",
@@ -498,7 +495,6 @@
"HeaderRecentlyPlayed": "Reproduzido Recentemente",
"HeaderProfileServerSettingsHelp": "Estes valores controlam como o Servidor Jellyfin se apresenta a si mesmo ao dispositivo.",
"HeaderProfileInformation": "Informação do Perfil",
- "HeaderProfile": "Perfil",
"HeaderPreferredMetadataLanguage": "Idioma Preferido dos Metadados",
"HeaderPluginInstallation": "Instalar Extensão",
"HeaderPleaseSignIn": "Iniciar Sessão",
diff --git a/src/strings/ro.json b/src/strings/ro.json
index 9122d943bf..6d6bf0f2c1 100644
--- a/src/strings/ro.json
+++ b/src/strings/ro.json
@@ -383,7 +383,6 @@
"HeaderRemoveMediaFolder": "Eliminați Dosarul Media",
"HeaderRemoveMediaLocation": "Eliminați locația Media",
"HeaderResponseProfile": "Profilul de răspuns",
- "HeaderRestart": "Repornire",
"HeaderRevisionHistory": "Istoricul reviziilor",
"HeaderRunningTasks": "În desfășurare",
"HeaderScenes": "Scene",
@@ -460,7 +459,6 @@
"HeaderKeepRecording": "Continuă Înregistrarea",
"HeaderLatestMusic": "Cea mai recentă Muzică",
"HeaderNextEpisodePlayingInValue": "Episodul următor se redă în {0}",
- "HeaderProfile": "Profil",
"HeaderCastAndCrew": "Distribuție și echipă",
"HeaderConnectToServer": "Conectați-vă la server",
"HeaderConnectionFailure": "Conexiune eșuată",
@@ -504,7 +502,6 @@
"HeaderSelectServerCachePathHelp": "Căutați sau introduceți ruta dosarului în care doriți să stocați fișierele cache pentru server. Dosarul trebuie să aibă permisiuni de scriere.",
"HeaderSelectMetadataPathHelp": "Căutați sau introduceți ruta dosarului în care doriți să stocați metadatele. Dosarul trebuie să aibă permisiuni de scriere.",
"HeaderSelectPath": "Selectați Ruta",
- "HeaderSelectServer": "Selectați Serverul",
"HeaderSelectServerCachePath": "Selectați ruta pentru Server Cache",
"HeaderSelectTranscodingPath": "Selectați ruta temporară pentru transcodare",
"HeaderSelectTranscodingPathHelp": "Căutați sau introduceți ruta dosarului de utilizat pentru transcodarea fișierelor. Dosarul trebuie permisiuni de scriere.",
@@ -1129,7 +1126,6 @@
"People": "Oameni",
"PasswordSaved": "Parolă salvată.",
"PasswordResetProviderHelp": "Alegeți un furnizor de resetare a parolei pentru a fi utilizat atunci când acest utilizator solicită o resetare a parolei.",
- "HeaderResetPassword": "Resetează parola",
"PasswordResetConfirmation": "Sigur doriți să resetați parola?",
"PasswordResetComplete": "Parola a fost resetată.",
"PasswordMatchError": "Confirmarea parolei și parola trebuie să corespundă.",
diff --git a/src/strings/ru.json b/src/strings/ru.json
index 7ab7b5e52c..8e098c4e63 100644
--- a/src/strings/ru.json
+++ b/src/strings/ru.json
@@ -351,7 +351,6 @@
"HeaderPleaseSignIn": "Выполните вход",
"HeaderPluginInstallation": "Установка плагина",
"HeaderPreferredMetadataLanguage": "Выбор языка метаданных",
- "HeaderProfile": "Профиль",
"HeaderProfileInformation": "О профиле",
"HeaderProfileServerSettingsHelp": "Данные значения управляют тем, как сервер будет представлять себя клиентам.",
"HeaderRecentlyPlayed": "Воспроизведённые недавно",
@@ -362,7 +361,6 @@
"HeaderRemoveMediaLocation": "Изъятие расположения медиаданных",
"HeaderResponseProfile": "Профиль отклика",
"HeaderResponseProfileHelp": "Профили откликов обеспечивают возможность подстроить информацию, посылаемую на устройство при воспроизведении некоторых видов медиаданных.",
- "HeaderRestart": "Перезапуск",
"HeaderRevisionHistory": "История изменений",
"HeaderRunningTasks": "Выполняющиеся задачи",
"HeaderScenes": "Сцены",
@@ -372,7 +370,6 @@
"HeaderSelectMetadataPath": "Выбор пути для метаданных",
"HeaderSelectMetadataPathHelp": "Найдите или введите путь, который хотите использовать для метаданныхе. Папка должна быть доступна для записи.",
"HeaderSelectPath": "Выбор пути",
- "HeaderSelectServer": "Выбор сервера",
"HeaderSelectServerCachePath": "Выбор пути для серверного кэша",
"HeaderSelectServerCachePathHelp": "Найдите или введите путь, чтобы использовать для файлов серверного кэша. Папка должна быть доступна для записи.",
"HeaderSelectTranscodingPath": "Выбор пути для временных файлов перекодировки",
@@ -980,7 +977,6 @@
"PasswordMatchError": "Пароль и подтверждение пароля должны совпадать.",
"PasswordResetComplete": "Пароль был сброшен.",
"PasswordResetConfirmation": "Вы действительно хотите сбросить пароль?",
- "HeaderResetPassword": "Сброс пароля",
"PasswordSaved": "Пароль был сохранён.",
"People": "Люди",
"PerfectMatch": "Полное соответствие",
diff --git a/src/strings/sk.json b/src/strings/sk.json
index 2c34052df7..6c544a91f9 100644
--- a/src/strings/sk.json
+++ b/src/strings/sk.json
@@ -211,18 +211,15 @@
"HeaderPlaybackError": "Chyba prehrávania",
"HeaderPleaseSignIn": "Prosím prihláste sa",
"HeaderPreferredMetadataLanguage": "Uprednostňovaný jazyk metadát",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Informácie o profile",
"HeaderRecentlyPlayed": "Nedávno prehrávané",
"HeaderRemoteControl": "Ďiaľkové ovládanie",
- "HeaderRestart": "Reštartovať",
"HeaderRevisionHistory": "História revízií",
"HeaderRunningTasks": "Bežiace úlohy",
"HeaderScenes": "Scény",
"HeaderSeasons": "Série",
"HeaderSecondsValue": "{0} sekúnd",
"HeaderSelectPath": "Vybrať priečinok",
- "HeaderSelectServer": "Vybrať server",
"HeaderSendMessage": "Poslať správu",
"HeaderServerSettings": "Nastavenia servera",
"HeaderSetupLibrary": "Nastavte Vaše knižnice médií",
@@ -583,7 +580,6 @@
"PasswordMatchError": "Heslo a potvrdenie hesla sa musia zhodovať.",
"PasswordResetComplete": "Heslo bolo obnovené.",
"PasswordResetConfirmation": "Naozaj chcete obnoviť heslo?",
- "HeaderResetPassword": "Obnoviť heslo",
"PasswordSaved": "Heslo uložené.",
"People": "Ľudia",
"PerfectMatch": "Perfektná zhoda",
diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json
index d8a38e3511..00492c9ced 100644
--- a/src/strings/sl-si.json
+++ b/src/strings/sl-si.json
@@ -228,7 +228,6 @@
"DefaultSubtitlesHelp": "Podnapisi so naloženi na podlagi privzetih in prisiljenih oznak v metapodatkih. Če je na voljo več podnapisov, so upoštevane jezikovne nastavitve.",
"HeaderSelectServerCachePathHelp": "Izberite ali vnesite pot, v katero se bodo zapisovali predpomnjeni podatki. Mapa mora omogočati pisanje.",
"HeaderSelectServerCachePath": "Izberite pot predpomnjenih podatkov",
- "HeaderSelectServer": "Izberi strežnik",
"HeaderSelectPath": "Izberi pot",
"HeaderSelectMetadataPathHelp": "Prebrskajte ali vnesite pot, ki jo želite uporabiti za metapodatke. Mapa mora dovoliti pisanje.",
"HeaderSelectMetadataPath": "Izberi pot metapodatkov",
@@ -237,7 +236,6 @@
"HeaderSeasons": "Sezone",
"HeaderScenes": "Scene",
"HeaderRunningTasks": "Aktivna opravila",
- "HeaderRestart": "Ponovni zagon",
"HeaderResponseProfileHelp": "Profili odziva omogočajo prilagoditev informacij poslanih sprejemniku pri predvajanju določenih vrst predstavnosti.",
"HeaderResponseProfile": "Profil odziva",
"HeaderRemoveMediaLocation": "Odstrani lokacijo predstavnosti",
@@ -246,7 +244,6 @@
"HeaderRecordingOptions": "Možnosti snemanja",
"HeaderProfileServerSettingsHelp": "Te vrednosti določajo, kako se bo strežnik predstavil odjemalcem.",
"HeaderProfileInformation": "Informacije o profilu",
- "HeaderProfile": "Profil",
"HeaderPreferredMetadataLanguage": "Prednostni jezik metapodatkov",
"HeaderPluginInstallation": "Namestitev dodatka",
"HeaderPleaseSignIn": "Prosimo prijavite se",
@@ -767,7 +764,6 @@
"PasswordMatchError": "Geslo in potrditev gesla se moreta ujemati.",
"PasswordResetComplete": "Geslo je bilo ponastavljeno.",
"PasswordResetConfirmation": "Ali ste prepričani, da želite ponastaviti geslo?",
- "HeaderResetPassword": "Ponastavi geslo",
"PasswordResetProviderHelp": "Izberite ponudnika ponastavitve gesla, ki bo uporabljen, ko bo ta uporabnik zahteval ponastavitev gesla.",
"PasswordSaved": "Geslo shranjeno.",
"PerfectMatch": "Popolno ujemanje",
diff --git a/src/strings/sv.json b/src/strings/sv.json
index dadb486d24..ea71dffdf5 100644
--- a/src/strings/sv.json
+++ b/src/strings/sv.json
@@ -314,7 +314,6 @@
"HeaderPleaseSignIn": "Var god logga in",
"HeaderPluginInstallation": "Installation av tillägg",
"HeaderPreferredMetadataLanguage": "Önskat språk för metadata",
- "HeaderProfile": "Profil",
"HeaderProfileInformation": "Profilinformation",
"HeaderProfileServerSettingsHelp": "Dessa inställningar kontrollerar hur Jellyfin Server presenterar sig för enheten.",
"HeaderRecentlyPlayed": "Nyligen spelade",
@@ -325,7 +324,6 @@
"HeaderRemoveMediaLocation": "Ta bort mediaplats",
"HeaderResponseProfile": "Svarsprofil",
"HeaderResponseProfileHelp": "Svarsprofiler är ett sätt att anpassa den information som sänds till enheten då olika typer av media spelas upp.",
- "HeaderRestart": "Starta om",
"HeaderRevisionHistory": "Revisionshistorik",
"HeaderRunningTasks": "Pågående aktiviteter",
"HeaderScenes": "Kapitel",
@@ -335,7 +333,6 @@
"HeaderSelectMetadataPath": "Välj plats för metadatalagring",
"HeaderSelectMetadataPathHelp": "Bläddra fram till eller ange plats för lagring av metadata. Katalogen måste vara tillgänglig för skrivning.",
"HeaderSelectPath": "Välj sökväg",
- "HeaderSelectServer": "Välj server",
"HeaderSelectServerCachePath": "Välj plats för serverns cache",
"HeaderSelectServerCachePathHelp": "Bläddra fram till eller ange plats för serverns cache. Katalogen måste vara tillgänglig för skrivning.",
"HeaderSelectTranscodingPath": "Välj plats för mellanlagring vid omkodning",
@@ -908,7 +905,6 @@
"PasswordMatchError": "Lösenordet och bekräftelsen måste överensstämma.",
"PasswordResetComplete": "Lösenordet har återställts.",
"PasswordResetConfirmation": "Är du säker på att du vill återställa lösenordet?",
- "HeaderResetPassword": "Återställ lösenord",
"PasswordSaved": "Lösenordet har sparats.",
"People": "Personer",
"PerfectMatch": "Perfekt matchning",
diff --git a/src/strings/ta.json b/src/strings/ta.json
index c4fb81a7ab..563d23511b 100644
--- a/src/strings/ta.json
+++ b/src/strings/ta.json
@@ -361,7 +361,6 @@
"HeaderSelectTranscodingPath": "டிரான்ஸ்கோடிங் தற்காலிக பாதையைத் தேர்ந்தெடுக்கவும்",
"HeaderSelectServerCachePathHelp": "சேவையக தேக்கக கோப்புகளுக்கு பயன்படுத்த பாதையை உலாவவும் அல்லது உள்ளிடவும். கோப்புறை எழுதக்கூடியதாக இருக்க வேண்டும்.",
"HeaderSelectServerCachePath": "சேவையக தேக்கக பாதையைத் தேர்ந்தெடுக்கவும்",
- "HeaderSelectServer": "சேவையகத்தைத் தேர்ந்தெடுக்கவும்",
"HeaderSelectPath": "பாதையைத் தேர்ந்தெடுக்கவும்",
"HeaderSelectMetadataPathHelp": "மெட்டாடேட்டாவிற்கு நீங்கள் பயன்படுத்த விரும்பும் பாதையை உலாவவும் அல்லது உள்ளிடவும். கோப்புறை எழுதக்கூடியதாக இருக்க வேண்டும்.",
"HeaderSelectMetadataPath": "மெட்டாடேட்டா பாதையைத் தேர்ந்தெடுக்கவும்",
@@ -371,7 +370,6 @@
"HeaderScenes": "காட்சிகள்",
"HeaderRunningTasks": "இயங்கும் பணிகள்",
"HeaderRevisionHistory": "திருத்த வரலாறு",
- "HeaderRestart": "மறுதொடக்கம்",
"HeaderResponseProfileHelp": "சில வகையான மீடியாக்களை இயக்கும்போது சாதனத்திற்கு அனுப்பப்பட்ட தகவல்களைத் தனிப்பயனாக்க பதில் சுயவிவரங்கள் ஒரு வழியை வழங்குகின்றன.",
"HeaderResponseProfile": "பதில் சுயவிவரம்",
"HeaderRemoveMediaLocation": "மீடியா இருப்பிடத்தை அகற்று",
@@ -383,7 +381,6 @@
"HeaderRecentlyPlayed": "சமீபத்தில் இசையப்பட்டுள்ளது",
"HeaderProfileServerSettingsHelp": "இந்த மதிப்புகள் சேவையகம் எவ்வாறு வாடிக்கையாளர்களுக்கு முன்வைக்கும் என்பதைக் கட்டுப்படுத்துகிறது.",
"HeaderProfileInformation": "சுயவிவர தகவல்",
- "HeaderProfile": "சுயவிவரம்",
"HeaderPreferredMetadataLanguage": "விருப்பமான மெட்டாடேட்டா மொழி",
"HeaderPluginInstallation": "செருகுநிரல் நிறுவல்",
"HeaderPleaseSignIn": "உள்நுழைக",
@@ -1100,7 +1097,6 @@
"People": "மக்கள்",
"PasswordSaved": "கடவுச்சொல் சேமிக்கப்பட்டது.",
"PasswordResetProviderHelp": "இந்த பயனர் கடவுச்சொல் மீட்டமைப்பைக் கோரும்போது பயன்படுத்த கடவுச்சொல் மீட்டமைப்பு வழங்குநரைத் தேர்வுசெய்க.",
- "HeaderResetPassword": "கடவுச்சொல்லை மீட்டமைக்க",
"PasswordResetConfirmation": "கடவுச்சொல்லை மீட்டமைக்க நிச்சயமாக விரும்புகிறீர்களா?",
"PasswordResetComplete": "கடவுச்சொல் மீட்டமைக்கப்பட்டது.",
"PasswordMatchError": "கடவுச்சொல் மற்றும் கடவுச்சொல் உறுதிப்படுத்தல் பொருந்த வேண்டும்.",
diff --git a/src/strings/tr.json b/src/strings/tr.json
index e84cd1e03d..8311fb8545 100644
--- a/src/strings/tr.json
+++ b/src/strings/tr.json
@@ -447,7 +447,6 @@
"HeaderVideoType": "Video Tipi",
"HeaderVideoQuality": "Video Kalitesi",
"HeaderSelectServerCachePath": "Sunucu Önbellek Yolunu Seç",
- "HeaderSelectServer": "Sunucu Seç",
"HeaderSelectPath": "Yolu Seç",
"HeaderSelectMetadataPath": "Meta Verisi Yolunu Seç",
"HeaderSelectCertificatePath": "Sertifika Yolunu Seç",
@@ -455,13 +454,11 @@
"HeaderSeasons": "Sezonlar",
"HeaderRunningTasks": "Çalışan Görevler",
"HeaderRevisionHistory": "Revizyon Geçmişi",
- "HeaderRestart": "Yeniden Başlat",
"HeaderRemoveMediaLocation": "Medya Konumunu Kaldır",
"HeaderRemoveMediaFolder": "Medya Klasörünü Kaldır",
"HeaderRecordingPostProcessing": "Kayıt Sonrası İşlemesi",
"HeaderRecordingOptions": "Kayıt Ayarları",
"HeaderProfileInformation": "Profil Bilgileri",
- "HeaderProfile": "Profil",
"HeaderPluginInstallation": "Eklenti Kurulumu",
"HeaderPlaybackError": "Oynatma Hatası",
"HeaderPlayback": "Medya Oynatma",
diff --git a/src/strings/vi.json b/src/strings/vi.json
index 6282c71f3a..ec5fa0745b 100644
--- a/src/strings/vi.json
+++ b/src/strings/vi.json
@@ -355,7 +355,6 @@
"EnableExternalVideoPlayers": "Sử dụng phần mềm phát video từ thiết bị",
"EnableDisplayMirroring": "Cho phép trình chiếu trên thiết bị khác",
"HeaderProfileInformation": "Thông Tin Hồ Sơ",
- "HeaderProfile": "Hồ Sơ",
"HeaderPreferredMetadataLanguage": "Ngôn Ngữ Thông Tin Bổ Trợ Yêu Thích",
"HeaderPluginInstallation": "Cài Đặt Plugin",
"HeaderPleaseSignIn": "Hãy đăng nhập",
@@ -448,7 +447,6 @@
"HeaderSelectTranscodingPath": "Chọn Đường Dẫn Chuyển Mã",
"HeaderSelectServerCachePathHelp": "Hãy chọn đường dẫn để lưu tập tin ghi tạm cho máy chủ. Máy chủ phải có quyền ghi trên thư mục đó.",
"HeaderSelectServerCachePath": "Chọn Đường Dẫn Ghi Tạm Cho Máy Chủ",
- "HeaderSelectServer": "Chọn Máy Chủ",
"HeaderSelectPath": "Chọn Đường Dẫn",
"HeaderSelectMetadataPathHelp": "Hãy chọn đường dẫn mà bạn muốn lưu thông tin bổ trợ. Máy chủ phải có quyền ghi trên thư mục đó.",
"HeaderSelectMetadataPath": "Chọn Đường Dẫn Thông Tin Bổ Trợ",
@@ -458,7 +456,6 @@
"HeaderScenes": "Phân Cảnh",
"HeaderRunningTasks": "Những Tác Vụ Hoạt Động",
"HeaderRevisionHistory": "Lịch Sử Chỉnh Sửa",
- "HeaderRestart": "Khởi Động Lại",
"HeaderResponseProfileHelp": "Hồ sơ phản hồi là phương thức tuỳ chỉnh thông tin gửi về thiết bị phát khi phát một số nội dung nhất định.",
"HeaderResponseProfile": "Hồ Sơ Phản Hồi",
"HeaderRemoveMediaLocation": "Xoá Đường Dẫn Nội Dung",
diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json
index 6865ac35fd..c49b12b938 100644
--- a/src/strings/zh-cn.json
+++ b/src/strings/zh-cn.json
@@ -316,7 +316,6 @@
"HeaderPleaseSignIn": "请登录",
"HeaderPluginInstallation": "插件安装",
"HeaderPreferredMetadataLanguage": "首选元数据语言",
- "HeaderProfile": "配置",
"HeaderProfileInformation": "配置信息",
"HeaderProfileServerSettingsHelp": "这些参数将控制服务器如何将自己呈现给客户端。",
"HeaderRecentlyPlayed": "最近播放",
@@ -327,7 +326,6 @@
"HeaderRemoveMediaLocation": "移除媒体位置",
"HeaderResponseProfile": "响应配置",
"HeaderResponseProfileHelp": "当播放某些类型的媒体时,响应配置文件提供了一种方法来发送自定义信息到设备。",
- "HeaderRestart": "重启",
"HeaderRevisionHistory": "修订历史",
"HeaderRunningTasks": "运行的任务",
"HeaderScenes": "场景",
@@ -337,7 +335,6 @@
"HeaderSelectMetadataPath": "选择元数据路径",
"HeaderSelectMetadataPathHelp": "浏览或输入一个路径用于保存媒体资料,此文件夹必须可写。",
"HeaderSelectPath": "选择路径",
- "HeaderSelectServer": "选择服务器",
"HeaderSelectServerCachePath": "选择服务器缓存路径",
"HeaderSelectServerCachePathHelp": "浏览或输入一个路径用于服务器缓存文件,此文件夹必须可写。",
"HeaderSelectTranscodingPath": "选择临时解码路径",
@@ -939,7 +936,6 @@
"PasswordMatchError": "密码和确认密码必须匹配。",
"PasswordResetComplete": "密码已重置。",
"PasswordResetConfirmation": "你确定要重置密码?",
- "HeaderResetPassword": "密码重置",
"PasswordSaved": "密码已保存。",
"People": "人物",
"PerfectMatch": "最佳匹配",
diff --git a/src/strings/zh-hk.json b/src/strings/zh-hk.json
index 95af32b9c5..562a4843cd 100644
--- a/src/strings/zh-hk.json
+++ b/src/strings/zh-hk.json
@@ -48,7 +48,6 @@
"HeaderPleaseSignIn": "請登入",
"HeaderRecentlyPlayed": "最近播放",
"HeaderRemoteControl": "遙控器",
- "HeaderRestart": "重新啟動",
"HeaderRunningTasks": "運行任務",
"HeaderScenes": "場景",
"HeaderSeasons": "季度劇集",
diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json
index 4ac5d81a30..cefd131d2a 100644
--- a/src/strings/zh-tw.json
+++ b/src/strings/zh-tw.json
@@ -62,7 +62,6 @@
"HeaderPreferredMetadataLanguage": "首選中繼資料資料語言",
"HeaderRecentlyPlayed": "最近播放",
"HeaderScenes": "場景",
- "HeaderSelectServer": "選擇伺服器",
"HeaderSelectServerCachePath": "選擇伺服器快取路徑",
"HeaderStatus": "狀態",
"HeaderSystemDlnaProfiles": "系統設定",
@@ -512,7 +511,6 @@
"HeaderRemoteControl": "遙控",
"HeaderRemoveMediaFolder": "刪除媒體資料夾",
"HeaderRemoveMediaLocation": "刪除媒體位址",
- "HeaderRestart": "重新啟動",
"HeaderRevisionHistory": "更改紀錄",
"HeaderRunningTasks": "正在進行的工作",
"HeaderSeasons": "季數",
@@ -544,7 +542,6 @@
"ValueSpecialEpisodeName": "特典 - {0}",
"AuthProviderHelp": "選擇用於驗證使用者密碼的身份驗證提供者。",
"HeaderParentalRatings": "家長評級",
- "HeaderProfile": "設定檔",
"HeaderProfileInformation": "設定檔訊息",
"HeaderProfileServerSettingsHelp": "這些數值將控制伺服器如何呈現給設備。",
"HeaderResponseProfile": "回覆設定檔",
@@ -690,7 +687,6 @@
"ThemeSongs": "主題曲",
"ThemeVideos": "主題曲影片",
"Upload": "上傳",
- "HeaderResetPassword": "重設密碼",
"ScanLibrary": "掃描媒體庫",
"ValueAudioCodec": "音訊編碼:{0}",
"ValueCodec": "編碼:{0}",
From a4e5d5b76687cdd12ff2de2c687a861d43263ce6 Mon Sep 17 00:00:00 2001
From: dkanada
Date: Thu, 27 Aug 2020 09:38:02 +0900
Subject: [PATCH 027/416] tweak script for unused translations
---
scripts/unused.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/unused.py b/scripts/unused.py
index 12af27320a..abbc399cf6 100644
--- a/scripts/unused.py
+++ b/scripts/unused.py
@@ -16,7 +16,7 @@ langlst.append('en-us.json')
dep = []
def grep(key):
- command = 'grep -r -E "(\(\\\"|\(\'|\{)%s(\\\"|\'|\})" --include=\*.{js,html} --exclude-dir=../src/strings ../src' % key
+ command = 'grep -r -E "(\\\"|\'|\{)%s(\\\"|\'|\})" --include=\*.{js,html} --exclude-dir=../src/strings ../src' % key
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = p.stdout.readlines()
if output:
From 65c30e7a4dce05a00a089571afc89a90fe204d91 Mon Sep 17 00:00:00 2001
From: dkanada
Date: Thu, 27 Aug 2020 09:39:16 +0900
Subject: [PATCH 028/416] remove four more unused strings
---
src/strings/af.json | 1 -
src/strings/ar.json | 2 --
src/strings/bg-bg.json | 4 ----
src/strings/bn_BD.json | 1 -
src/strings/ca.json | 2 --
src/strings/cs.json | 4 ----
src/strings/da.json | 4 ----
src/strings/de.json | 4 ----
src/strings/el.json | 3 ---
src/strings/en-gb.json | 4 ----
src/strings/en-us.json | 4 ----
src/strings/es-ar.json | 4 ----
src/strings/es-mx.json | 4 ----
src/strings/es.json | 4 ----
src/strings/es_419.json | 4 ----
src/strings/fa.json | 4 ----
src/strings/fi.json | 4 ----
src/strings/fr.json | 4 ----
src/strings/he.json | 3 ---
src/strings/hr.json | 3 ---
src/strings/hu.json | 4 ----
src/strings/id.json | 2 --
src/strings/is-is.json | 2 --
src/strings/it.json | 4 ----
src/strings/ja.json | 3 ---
src/strings/kk.json | 4 ----
src/strings/ko.json | 3 ---
src/strings/lt-lt.json | 3 ---
src/strings/lv.json | 3 ---
src/strings/nb.json | 4 ----
src/strings/nl.json | 4 ----
src/strings/pl.json | 4 ----
src/strings/pt-br.json | 4 ----
src/strings/pt-pt.json | 3 ---
src/strings/pt.json | 3 ---
src/strings/ro.json | 4 ----
src/strings/ru.json | 4 ----
src/strings/sk.json | 4 ----
src/strings/sl-si.json | 3 ---
src/strings/sv.json | 4 ----
src/strings/ta.json | 4 ----
src/strings/tr.json | 2 --
src/strings/uk.json | 3 ---
src/strings/vi.json | 2 --
src/strings/zh-cn.json | 4 ----
src/strings/zh-hk.json | 2 --
src/strings/zh-tw.json | 4 ----
47 files changed, 157 deletions(-)
diff --git a/src/strings/af.json b/src/strings/af.json
index 6ac06df748..85c9c817c3 100644
--- a/src/strings/af.json
+++ b/src/strings/af.json
@@ -109,7 +109,6 @@
"Transcoding": "Trankodering",
"Trailers": "Voorprente",
"TrackCount": "{0} nommers",
- "Track": "Nommer",
"TitlePlayback": "Terugspeel",
"TitleHostingSettings": "Hosting Instellings",
"TitleHardwareAcceleration": "Hardeware Versnelling",
diff --git a/src/strings/ar.json b/src/strings/ar.json
index 0d6e50ee49..7dec07fb36 100644
--- a/src/strings/ar.json
+++ b/src/strings/ar.json
@@ -886,7 +886,6 @@
"Album": "الألبوم",
"Disconnect": "قطع الاتصال",
"Disc": "القرص",
- "Disabled": "تعطيل",
"Directors": "المخرجون",
"Director": "المخرج",
"DirectPlaying": "بث بدون تحويل الصيغة",
@@ -984,7 +983,6 @@
"DisplayInOtherHomeScreenSections": "عرض في أقسام الشاشة الرئيسية مثل أحدث الوسائط واستمر في المشاهدة",
"DisplayInMyMedia": "عرض على الشاشة الرئيسية",
"Display": "عرض",
- "Dislike": "لم يعجبنى",
"ButtonSyncPlay": "SyncPlay",
"ExtraLarge": "كبير جدا",
"EnableNextVideoInfoOverlayHelp": "في نهاية الفيديو, عرض معلومات عن الفيديو القادم في قائمة التشغيل.",
diff --git a/src/strings/bg-bg.json b/src/strings/bg-bg.json
index 32ff5f7404..bb1d57fbbc 100644
--- a/src/strings/bg-bg.json
+++ b/src/strings/bg-bg.json
@@ -75,7 +75,6 @@
"Director": "Режисьор",
"Directors": "Режисьори",
"Disc": "Диск",
- "Dislike": "Нехаресване",
"Display": "Показване",
"Download": "Изтегляне",
"DownloadsValue": "{0} изтегляния",
@@ -387,7 +386,6 @@
"Large": "Голям",
"LatestFromLibrary": "Последни {0}",
"LibraryAccessHelp": "Изберете библиотеките, които да споделите с потребителя. Администраторите ще могат да редактират всички папки, използвайки управлението на метаданни.",
- "Like": "Харесване",
"List": "Списък",
"Live": "На живо",
"LiveTV": "Телевизия на живо",
@@ -779,7 +777,6 @@
"DisplayInOtherHomeScreenSections": "Покажи на главната страница (като \"последно добавени\" и \"продължи да гледаш\")",
"DisplayInMyMedia": "Покажи на главната страница",
"Disconnect": "Прекъсване",
- "Disabled": "Изключено",
"DirectStreaming": "Директно възпроизвеждане",
"DirectStreamHelp2": "Директното възпроизвеждане на файла използва минимална процесорна мощност без загуба на качество.",
"DirectStreamHelp1": "Файлът е съвместим с устройството по отношение на резолюция и тип (H.264, AC3 и т.н.), но контейнера е несъвместим (mkv, avi, wmv, т.н.).Файлът ще бъде \"препакетиран\" преди да се възпроизведе от устройството.",
@@ -1069,7 +1066,6 @@
"Uniform": "Еднороден",
"TvLibraryHelp": "Прегледайте {0}ръководството за именуване на ТВ{1}.",
"Transcoding": "Транскодиране",
- "Track": "Пътека",
"TitleHostingSettings": "Настройки за хостинг",
"TitleHardwareAcceleration": "Хардуерно ускорение",
"TabNetworking": "Работа в мрежа",
diff --git a/src/strings/bn_BD.json b/src/strings/bn_BD.json
index bd7a5f30c3..1dbf35daf3 100644
--- a/src/strings/bn_BD.json
+++ b/src/strings/bn_BD.json
@@ -119,7 +119,6 @@
"DisplayInOtherHomeScreenSections": "সর্বশেষ মিডিয়া হিসাবে হোম স্ক্রিন বিভাগে প্রদর্শন করুন এবং দেখা চালিয়ে যান",
"DisplayInMyMedia": "হোম স্ক্রিনে প্রদর্শন করুন",
"Display": "ডিসপ্লে",
- "Dislike": "ডিসলাইক",
"Disconnect": "ডিসকানেক্ট",
"Disc": "ডিস্ক",
"Directors": "পরিচালকবৃন্দ",
diff --git a/src/strings/ca.json b/src/strings/ca.json
index eebe398731..59337281bd 100644
--- a/src/strings/ca.json
+++ b/src/strings/ca.json
@@ -65,7 +65,6 @@
"Desktop": "Escriptori",
"DeviceAccessHelp": "Això només s'aplica a dispositius que poden ser identificats i no previndrà l'accés des del navegador. Filtrant l'accés de dispositius a l'usuari previndrà l'ús de nous dispositius fins que hagin estat aprovats aquí.",
"Disconnect": "Desconnecta",
- "Dislike": "No m'agrada",
"DisplayMissingEpisodesWithinSeasons": "Mostra també els episodis que no tingui a les temporades",
"DisplayModeHelp": "Selecciona el tipus de pantalla en el que tens Jellyfin funcionant.",
"DoNotRecord": "No enregistris",
@@ -374,7 +373,6 @@
"LabelYoureDone": "Ja està!",
"LatestFromLibrary": "Novetats a {0}",
"LibraryAccessHelp": "Selecciona els directoris dels multimèdia a compartir amb aquest usuari. Els administradors podran editar tots els directoris emprant el gestor de metadades.",
- "Like": "M'agrada",
"Live": "Directe",
"MarkPlayed": "Marca com a reproduït",
"MarkUnplayed": "Marca com a no reproduït",
diff --git a/src/strings/cs.json b/src/strings/cs.json
index 343e53ec8d..fbf7ef9bb9 100644
--- a/src/strings/cs.json
+++ b/src/strings/cs.json
@@ -116,7 +116,6 @@
"Director": "Režisér",
"Disc": "Disk",
"Disconnect": "Odpojit",
- "Dislike": "Nemám rád",
"Display": "Zobrazení",
"DisplayMissingEpisodesWithinSeasons": "Zobrazit chybějící epizody",
"DisplayMissingEpisodesWithinSeasonsHelp": "Toto musí být zapnuto pro knihovny TV v nastavení serveru.",
@@ -641,7 +640,6 @@
"LatestFromLibrary": "Nejnovější {0}",
"LearnHowYouCanContribute": "Zjistěte, jak můžete přispět.",
"LibraryAccessHelp": "Vyberte knihovny, které chcete sdílet s tímto uživatelem. Administrátoři budou moci editovat všechny složky pomocí správce metadat.",
- "Like": "Mám rád",
"List": "Seznam",
"Live": "Živě",
"LiveBroadcasts": "Přímé přenosy",
@@ -1052,7 +1050,6 @@
"DetectingDevices": "Hledání zařízení",
"DirectStreamHelp2": "Přímé streamování souboru vyžaduje velmi malý výkon téměř bez ztráty kvality videa.",
"Directors": "Režiséři",
- "Disabled": "Vypnuto",
"DisplayInMyMedia": "Zobrazit na domovské obrazovce",
"DisplayInOtherHomeScreenSections": "Zobrazení v sekcích domovské obrazovky, jako jsou nejnovější média, a pokračování ve sledování",
"DownloadsValue": "{0} ke stažení",
@@ -1282,7 +1279,6 @@
"AllowFfmpegThrottlingHelp": "Pozastaví proces překódování či remuxování, pokud je dostatečně napřed, aby se spotřebovalo méně zdrojů. Nejvhodnější, pokud příliš nepřeskakujete. Pokud máte problémy s přehráváním, tuto funkci vypněte.",
"AllowFfmpegThrottling": "Omezit překódování",
"BoxSet": "Sbírka",
- "Track": "Stopa",
"Season": "Sezóna",
"PreferEmbeddedEpisodeInfosOverFileNames": "Preferovat vloženou informaci o epizodě před názvem souboru",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Používat informaci o epizodě z vložených metadat, pokud jsou k dispozici.",
diff --git a/src/strings/da.json b/src/strings/da.json
index 44f0e010d7..36e8ebb90b 100644
--- a/src/strings/da.json
+++ b/src/strings/da.json
@@ -99,7 +99,6 @@
"DetectingDevices": "Finder enheder",
"DeviceAccessHelp": "Dette gælder kun for enheder, der kan identificeres unikt, og vil ikke forhindre adgang fra en browser. Ved at filtrere brugeres adgang fra enheder, kan du forhindre dem i at bruge nye enheder før de er blevet godkendt her.",
"Director": "Instruktør",
- "Disabled": "Deaktiveret",
"Disconnect": "Afbryd",
"DoNotRecord": "Optag ikke",
"Download": "Hent",
@@ -988,7 +987,6 @@
"DirectStreaming": "Direkte streaming",
"Directors": "Instruktører",
"Disc": "Disk",
- "Dislike": "Kan ikke lide",
"Display": "Visning",
"DisplayInMyMedia": "Visning på hjemmeskærm",
"DisplayInOtherHomeScreenSections": "Visning på hjemmeskærm sektioner som seneste medier og se videre",
@@ -1099,7 +1097,6 @@
"Large": "Stor",
"LearnHowYouCanContribute": "Lær hvordan du kan bidrage.",
"LeaveBlankToNotSetAPassword": "Du kan lade dette felt være tomt hvis du ikke ønsker adgangskode.",
- "Like": "Favorit",
"List": "Liste",
"Live": "Live",
"LiveTV": "Se Live TV",
@@ -1229,7 +1226,6 @@
"PathNotFound": "Stien blev ikke fundet. Sørg for, at stien er gyldig, og prøv igen.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Spor",
"TabNetworking": "Netværk",
"SubtitleOffset": "Undertekst Offset",
"SelectAdminUsername": "Vælg et brugernavn til administrator kontoen.",
diff --git a/src/strings/de.json b/src/strings/de.json
index b6b8f9cb2b..2c764af1c3 100644
--- a/src/strings/de.json
+++ b/src/strings/de.json
@@ -131,10 +131,8 @@
"DirectStreaming": "Direktes Streaming",
"Director": "Regisseur",
"Directors": "Regisseure",
- "Disabled": "Abgeschaltet",
"Disc": "Disk",
"Disconnect": "Verbindung trennen",
- "Dislike": "Mag ich nicht",
"Display": "Anzeige",
"DisplayInMyMedia": "Zeige auf Homescreen",
"DisplayInOtherHomeScreenSections": "Zeige auf dem Homescreen Bereiche wie 'Neueste Medien' oder 'Weiterschauen'",
@@ -710,7 +708,6 @@
"LatestFromLibrary": "Neueste {0}",
"LearnHowYouCanContribute": "Erfahre, wie du unterstützen kannst.",
"LibraryAccessHelp": "Wähle die Bibliotheken aus, die du mit diesem Benutzer teilen möchtest. Administratoren können den Metadaten-Manager verwenden um alle Ordner zu bearbeiten.",
- "Like": "Mag ich",
"List": "Liste",
"LiveBroadcasts": "Liveübertragungen",
"ManageLibrary": "Bibliothek verwalten",
@@ -1295,7 +1292,6 @@
"ListPaging": "{0}-{1} von {2}",
"WriteAccessRequired": "Jellyfin benötigt Schreibrechte auf diesem Ordner. Bitte prüfe die Schreibrechte und versuche es erneut.",
"PathNotFound": "Der Pfad konnte nicht gefunden werden. Bitte versichere dich dass der Pfad korrekt ist und versuche es erneut.",
- "Track": "Track",
"Season": "Staffel",
"Person": "Person",
"Movie": "Film",
diff --git a/src/strings/el.json b/src/strings/el.json
index 984724339a..c79105c69c 100644
--- a/src/strings/el.json
+++ b/src/strings/el.json
@@ -135,10 +135,8 @@
"DirectStreaming": "Απευθείας Αναμετάδοση",
"Director": "Σκηνοθέτης",
"Directors": "Σκηνοθέτες",
- "Disabled": "Απενεργοποιημένο",
"Disc": "Δίσκος",
"Disconnect": "Αποσύνδεση",
- "Dislike": "Δεν μου αρέσει",
"Display": "Εμφάνιση",
"DisplayInMyMedia": "Εμφάνιση στην αρχική οθόνη",
"DisplayInOtherHomeScreenSections": "Εμφάνιση στα τμήματα της αρχικής οθόνης, όπως τα πιο πρόσφατα πολυμέσα και συνεχίστε να παρακολουθείτε",
@@ -624,7 +622,6 @@
"LatestFromLibrary": "Τελευταία {0}",
"LearnHowYouCanContribute": "Μάθετε πώς μπορείτε να συμβάλλετε.",
"LibraryAccessHelp": "Επιλέξτε τους φακέλους μέσων για να το μοιραστείτε με αυτόν το χρήστη. Οι διαχειριστές θα έχουν τη δυνατότητα να επεξεργάζεστε όλα φακέλους χρησιμοποιώντας τα μεταδεδομένα manager.",
- "Like": "Μου αρέσει",
"List": "Λίστα",
"Live": "Ζωντανά",
"LiveBroadcasts": "Ζωντανές εκπομπές",
diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json
index 8ef3c6898d..3c20755a20 100644
--- a/src/strings/en-gb.json
+++ b/src/strings/en-gb.json
@@ -183,10 +183,8 @@
"DirectStreaming": "Direct streaming",
"Director": "Director",
"Directors": "Directors",
- "Disabled": "Disabled",
"Disc": "Disc",
"Disconnect": "Disconnect",
- "Dislike": "Dislike",
"Display": "Display",
"DisplayInMyMedia": "Display on home screen",
"DisplayInOtherHomeScreenSections": "Display in home screen sections such as latest media and continue watching",
@@ -775,7 +773,6 @@
"MediaInfoCodec": "Codec",
"ManageRecording": "Manage recording",
"LiveTV": "Live TV",
- "Like": "Like",
"LatestFromLibrary": "Latest {0}",
"Large": "Large",
"LabelZipCode": "Postcode:",
@@ -1299,7 +1296,6 @@
"PathNotFound": "The path could not be found. Please ensure the path is valid and try again.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Track",
"Season": "Season",
"PreferEmbeddedEpisodeInfosOverFileNames": "Prefer embedded episode information over filenames",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "This uses the episode information from the embedded metadata if available.",
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index 5774f921a6..16e07993cc 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -163,10 +163,8 @@
"DirectStreaming": "Direct streaming",
"Director": "Director",
"Directors": "Directors",
- "Disabled": "Disabled",
"Disc": "Disc",
"Disconnect": "Disconnect",
- "Dislike": "Dislike",
"Display": "Display",
"DisplayInMyMedia": "Display on home screen",
"DisplayInOtherHomeScreenSections": "Display in home screen sections such as latest media and continue watching",
@@ -853,7 +851,6 @@
"LearnHowYouCanContribute": "Learn how you can contribute.",
"LeaveBlankToNotSetAPassword": "You can leave this field blank to set no password.",
"LibraryAccessHelp": "Select the libraries to share with this user. Administrators will be able to edit all folders using the metadata manager.",
- "Like": "Like",
"List": "List",
"Live": "Live",
"LiveBroadcasts": "Live broadcasts",
@@ -1315,7 +1312,6 @@
"TitleHardwareAcceleration": "Hardware Acceleration",
"TitleHostingSettings": "Hosting Settings",
"TitlePlayback": "Playback",
- "Track": "Track",
"TrackCount": "{0} tracks",
"Trailers": "Trailers",
"Transcoding": "Transcoding",
diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json
index ea888e7b3a..a4c80a4342 100644
--- a/src/strings/es-ar.json
+++ b/src/strings/es-ar.json
@@ -176,7 +176,6 @@
"DirectStreaming": "Transmisión directa",
"Director": "Director",
"Directors": "Directores",
- "Disabled": "Deshabilitado",
"Disc": "Disco",
"Disconnect": "Desconectar",
"Display": "Pantalla",
@@ -202,7 +201,6 @@
"AuthProviderHelp": "Seleccione un proveedor de autenticación para ser utilizado para autenticar la contraseña de este usuario.",
"CriticRating": "Valoración crítica",
"DefaultSubtitlesHelp": "Los subtítulos se cargan según los indicadores predeterminados y forzados en los metadatos incrustados. Las preferencias de idioma se consideran cuando hay varias opciones disponibles.",
- "Dislike": "No me gusta",
"EnableDisplayMirroring": "Habilitar duplicación de la pantalla",
"EnableExternalVideoPlayers": "Habilitar reproductores de video externos",
"EnableExternalVideoPlayersHelp": "Se mostrará un menú de reproductor externo al iniciar la reproducción de video.",
@@ -962,7 +960,6 @@
"LiveBroadcasts": "Transmisiones en vivo",
"Live": "En vivo",
"List": "Lista",
- "Like": "Me gusta",
"LeaveBlankToNotSetAPassword": "Puede dejar este campo en blanco para no establecer una contraseña.",
"LearnHowYouCanContribute": "Aprende cómo puedes contribuir.",
"LatestFromLibrary": "Últimos {0}",
@@ -1269,7 +1266,6 @@
"Tuesday": "Martes",
"Transcoding": "Transcodificación",
"TrackCount": "{0} pistas",
- "Track": "Pista",
"TitlePlayback": "Reproducción",
"TitleHostingSettings": "Configuraciones de alojamiento",
"TitleHardwareAcceleration": "Aceleración por hardware",
diff --git a/src/strings/es-mx.json b/src/strings/es-mx.json
index 00417c10ec..3ed6f9a531 100644
--- a/src/strings/es-mx.json
+++ b/src/strings/es-mx.json
@@ -141,10 +141,8 @@
"DirectStreamHelp2": "Transmitir directamente un archivo usa muy poco poder de procesamiento sin ninguna perdida en la calidad de video.",
"DirectStreaming": "Transmisión directa",
"Directors": "Directores",
- "Disabled": "Desactivado",
"Disc": "DIsco",
"Disconnect": "Desconectar",
- "Dislike": "No me gusta",
"Display": "Pantalla",
"DisplayInMyMedia": "Mostrar en la pantalla de inicio",
"DisplayInOtherHomeScreenSections": "Mostrar en las secciones de la pantalla de inicio como recientes o continuar viendo",
@@ -740,7 +738,6 @@
"LatestFromLibrary": "Últimas - {0}",
"LearnHowYouCanContribute": "Aprende cómo puedes contribuir.",
"LibraryAccessHelp": "Selecciona las bibliotecas que deseas compartir con este usuario. Los administradores podrán editar todas las carpetas utilizando el gestor de metadatos.",
- "Like": "Me gusta",
"List": "Lista",
"Live": "En vivo",
"LiveBroadcasts": "Emisiones en vivo",
@@ -1278,7 +1275,6 @@
"ListPaging": "{0}-{1} de {2}",
"WriteAccessRequired": "El servidor Jellyfin requiere permiso de escritura en esta carpeta. Por favor, asegúrate de tener acceso de escritura e inténtalo de nuevo.",
"PathNotFound": "No se pudo encontrar la ruta. Por favor, asegúrate de que la ruta es válida e inténtalo de nuevo.",
- "Track": "Pista",
"Season": "Temporada",
"PreferEmbeddedEpisodeInfosOverFileNames": "Preferir información del episodio incrustada a los nombres de archivo",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Esto utiliza la información del episodio desde los metadatos incrustados si están disponibles.",
diff --git a/src/strings/es.json b/src/strings/es.json
index 9cffe4255b..b4a55efe09 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -119,10 +119,8 @@
"DeviceAccessHelp": "Esto solo aplica a equipos que puedan ser singularmente identificados y no prevendrá acceso al navegador. Filtrar el acceso de equipos del usuario les prevendrá que usen nuevos equipos hasta que sean aprobados aquí.",
"DirectPlaying": "Reproducción directa",
"DirectStreaming": "Streaming directo",
- "Disabled": "Desactivado",
"Disc": "Disco",
"Disconnect": "Desconectar",
- "Dislike": "No me gusta",
"DisplayModeHelp": "Seleccione el estilo de diseño que desea en la Interfaz.",
"DoNotRecord": "No grabar",
"Down": "Abajo",
@@ -673,7 +671,6 @@
"Large": "Grande",
"LatestFromLibrary": "Reciente en {0}",
"LibraryAccessHelp": "Seleccione las bibliotecas a compartir con este usuario. Los administradores podrán editar todas las carpetas usando el gestor de etiquetas.",
- "Like": "Me gusta",
"Live": "Directo",
"LiveBroadcasts": "Emisiones en vivo",
"LiveTV": "Televisión en vivo",
@@ -1298,7 +1295,6 @@
"EveryHour": "Cada hora",
"EveryXHours": "Cada {0} horas",
"OnApplicationStartup": "Al iniciarse el servidor",
- "Track": "Pista",
"Season": "Temporada",
"Person": "Persona",
"Movie": "Película",
diff --git a/src/strings/es_419.json b/src/strings/es_419.json
index 6e6e7ee727..b5ab53a8a7 100644
--- a/src/strings/es_419.json
+++ b/src/strings/es_419.json
@@ -113,7 +113,6 @@
"Tuesday": "Martes",
"Transcoding": "Transcodificando",
"TrackCount": "{0} pistas",
- "Track": "Pista",
"TitlePlayback": "Reproducción",
"TitleHostingSettings": "Configuraciones de alojamiento",
"TitleHardwareAcceleration": "Aceleración por hardware",
@@ -317,7 +316,6 @@
"MessageDirectoryPickerLinuxInstruction": "Para Linux en Arch Linux, CentOS, Debian, Fedora, openSUSE o Ubuntu, debes conceder al usuario del servicio al menos permisos de lectura a tus ubicaciones de almacenamiento.",
"MessageDirectoryPickerBSDInstruction": "Para BSD, quizás necesites configurar el almacenamiento dentro de tu «jail FreeNAS» de manera que Jellyfin pueda acceder a tus medios.",
"List": "Lista",
- "Like": "Me gusta",
"LibraryAccessHelp": "Selecciona las bibliotecas que deseas compartir con este usuario. Los administradores podrán editar todas las carpetas utilizando el gestor de metadatos.",
"LeaveBlankToNotSetAPassword": "Puedes dejar este campo en blanco para no establecer ninguna contraseña.",
"LearnHowYouCanContribute": "Aprende cómo puedes contribuir.",
@@ -1206,10 +1204,8 @@
"DisplayInOtherHomeScreenSections": "Mostrar en las secciones de la pantalla de inicio como recientes o continuar viendo",
"DisplayInMyMedia": "Mostrar en la pantalla de inicio",
"Display": "Pantalla",
- "Dislike": "No me gusta",
"Disconnect": "Desconectar",
"Disc": "DIsco",
- "Disabled": "Desactivado",
"Directors": "Directores",
"DirectStreaming": "Transmisión directa",
"DirectStreamHelp2": "Transmitir directamente un archivo usa muy poco poder de procesamiento sin pérdida en la calidad de video.",
diff --git a/src/strings/fa.json b/src/strings/fa.json
index 7c6e2a33f9..104c5b3742 100644
--- a/src/strings/fa.json
+++ b/src/strings/fa.json
@@ -11,7 +11,6 @@
"ButtonQuickStartGuide": "راهنمای شروع سریع",
"ButtonSignOut": "Sign out",
"DeleteMedia": "حذف رسانه",
- "Disabled": "غیرفعال شده",
"FolderTypeBooks": "کتابها",
"FolderTypeMovies": "فیلمها",
"FolderTypeMusic": "موسیقیها",
@@ -194,7 +193,6 @@
"DisplayMissingEpisodesWithinSeasons": "قسمتهای ناموجود در فصلها را نمایش بده",
"DisplayInMyMedia": "نمایش در صفحهی خانه",
"Display": "نمایش",
- "Dislike": "دوست نداشتن",
"Disconnect": "قطع اتصال",
"Disc": "دیسک",
"Directors": "کارگردانان",
@@ -441,7 +439,6 @@
"Tuesday": "سهشنبه",
"Transcoding": "کدگذاری",
"Trailers": "تریلرها",
- "Track": "آهنگ",
"TrackCount": "{0} آهنگ",
"TitlePlayback": "پخش",
"TitleHostingSettings": "تنظیمات میزبانی",
@@ -1170,7 +1167,6 @@
"LanNetworksHelp": "Comma separated list of IP addresses or IP/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network.",
"LearnHowYouCanContribute": "Learn how you can contribute.",
"LeaveBlankToNotSetAPassword": "You can leave this field blank to set no password.",
- "Like": "Like",
"List": "List",
"Live": "Live",
"LiveBroadcasts": "Live broadcasts",
diff --git a/src/strings/fi.json b/src/strings/fi.json
index 9cc6c22912..3d2b543533 100644
--- a/src/strings/fi.json
+++ b/src/strings/fi.json
@@ -174,10 +174,8 @@
"DirectStreaming": "Suora suoratoisto",
"Director": "Ohjaaja",
"Directors": "Ohjaajat",
- "Disabled": "Pois päältä kytkettynä",
"Disc": "Levy",
"Disconnect": "Katkaise yhteys",
- "Dislike": "Älä tykkää",
"DisplayInMyMedia": "Näytä kotinäytöllä",
"DisplayInOtherHomeScreenSections": "Näytä kotinäytöllä osastoja kuten viimeisin media ja jatka katselua",
"DisplayMissingEpisodesWithinSeasons": "Näytä puuttuvat jaksot tuotantokausissa",
@@ -878,7 +876,6 @@
"DailyAt": "Päivittäin klo {0}",
"Uniform": "Yhtenäinen",
"TrackCount": "{0} raitaa",
- "Track": "Raita",
"TitleHardwareAcceleration": "Laitteistokiihdytys",
"Thumb": "Pikkukuva",
"TabStreaming": "Suoratoisto",
@@ -931,7 +928,6 @@
"MediaInfoCodecTag": "Codec-tunniste",
"MediaInfoCodec": "Codec",
"MediaInfoBitrate": "Bitrate",
- "Like": "Tykkää",
"LabelVideoBitrate": "Videon bitrate:",
"LabelWeb": "Web:",
"LabelVideoCodec": "Videon codec:",
diff --git a/src/strings/fr.json b/src/strings/fr.json
index 757d842728..9ce7b26520 100644
--- a/src/strings/fr.json
+++ b/src/strings/fr.json
@@ -142,10 +142,8 @@
"DirectStreaming": "Streaming direct",
"Director": "Réalisateur(trice)",
"Directors": "Réalisateurs",
- "Disabled": "Désactivé",
"Disc": "Disque",
"Disconnect": "Déconnecter",
- "Dislike": "Je n'aime pas",
"Display": "Affichage",
"DisplayInMyMedia": "Afficher sur l’écran d’accueil",
"DisplayInOtherHomeScreenSections": "Afficher dans les sections de l’écran d’accueil comme Ajouts récents et Reprendre",
@@ -741,7 +739,6 @@
"LatestFromLibrary": "{0}, ajouts récents",
"LearnHowYouCanContribute": "Voir comment vous pouvez contribuer.",
"LibraryAccessHelp": "Sélectionnez les médiathèques à partager avec cet utilisateur. Les administrateurs pourront modifier tous les dossiers en utilisant le gestionnaire de métadonnées.",
- "Like": "J'aime",
"List": "Liste",
"Live": "En direct",
"LiveBroadcasts": "Diffusions en direct",
@@ -1283,7 +1280,6 @@
"PreferEmbeddedEpisodeInfosOverFileNames": "Préférer les informations intégrées aux noms de fichiers",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Utilise les informations des métadonnées intégrées, si disponible.",
"ClientSettings": "Paramètres Client",
- "Track": "Piste",
"Season": "Saison",
"Person": "Personne",
"Movie": "Film",
diff --git a/src/strings/he.json b/src/strings/he.json
index 9d27fa9280..babf0da43e 100644
--- a/src/strings/he.json
+++ b/src/strings/he.json
@@ -46,7 +46,6 @@
"DeleteImageConfirmation": "האם אתה בטוח שברצונך למחוק תמונה זו?",
"DeleteMedia": "מחק מדיה",
"DeleteUser": "מחק משתמש",
- "Dislike": "לא אוהב",
"DoNotRecord": "אל תקליט",
"Download": "הורדה",
"Edit": "ערוך",
@@ -238,7 +237,6 @@
"LabelYear": "שנה:",
"LabelYoureDone": "סיימת!",
"LibraryAccessHelp": "בחר את הספריות אשר ישותפו עם המשתמש. מנהלים יוכלו לערות את כל התיקיות באמצעות עורך המידע.",
- "Like": "אוהב",
"Live": "שידור חי",
"LiveBroadcasts": "שידורים חיים",
"MarkPlayed": "סמן נוגן",
@@ -571,7 +569,6 @@
"Down": "למטה",
"Display": "תצוגה",
"Disc": "דיסק",
- "Disabled": "לא מאופשר",
"DirectStreaming": "הזרמה ישירה",
"DirectPlaying": "ניגון ישיר",
"DetectingDevices": "מזהה מכשירים",
diff --git a/src/strings/hr.json b/src/strings/hr.json
index b462f651b8..43f249fd83 100644
--- a/src/strings/hr.json
+++ b/src/strings/hr.json
@@ -83,7 +83,6 @@
"DeleteUserConfirmation": "Da li ste sigurni da želite izbrisati odabranog korisnika?",
"DeviceAccessHelp": "To se odnosi samo na uređaje koji se mogu jedinstveno identificirati i neće spriječiti pristup preglednika. Filtriranje pristupa korisničkim uređajima spriječiti će ih u korištenju novih uređaja sve dok nisu ovdje odobreni.",
"Director": "Režiser",
- "Dislike": "Ne sviđa mi se",
"DoNotRecord": "Ne snimi",
"Download": "Preuzimanje",
"DrmChannelsNotImported": "Kanali s DRM se neće uvesti.",
@@ -528,7 +527,6 @@
"LabelffmpegPath": "FFmpeg putanja:",
"LabelffmpegPathHelp": "Putanja do FFmpeg aplikacijske datoteke ili mape koja sadrži FFmpeg.",
"LibraryAccessHelp": "Odaberite medijske mape za djeljenje sa ovim korisnikom. Administratori će moći mjenjati sve mape preko Metadata menadžera.",
- "Like": "Sviđa mi se",
"Live": "Uživo",
"LiveBroadcasts": "Emitiranja uživo",
"MapChannels": "Mapiraj kanale",
@@ -1053,7 +1051,6 @@
"Display": "Prikaz",
"Disconnect": "Odspoji",
"Disc": "Disk",
- "Disabled": "Onemogućeno",
"Directors": "Režiseri",
"DirectPlaying": "Direktna reprodukcija",
"DetectingDevices": "Tražim uređaje",
diff --git a/src/strings/hu.json b/src/strings/hu.json
index bbbe88d9b4..5f4bbcf460 100644
--- a/src/strings/hu.json
+++ b/src/strings/hu.json
@@ -58,7 +58,6 @@
"Descending": "Csökkenő",
"Director": "Rendező",
"Directors": "Rendezők",
- "Dislike": "Nem tettszik",
"Display": "Megjelenítés",
"DisplayMissingEpisodesWithinSeasons": "Hiányzó évad epizódok megjelenítése",
"DisplayMissingEpisodesWithinSeasonsHelp": "Ezt engedélyezni kell a szerver beállításában lévő TV könyvtárak esetében is.",
@@ -267,7 +266,6 @@
"LabelYear": "Év:",
"LabelYoureDone": "Készen vagy!",
"LatestFromLibrary": "Nemrég hozzáadott {0}",
- "Like": "Tettszik",
"Live": "Élő",
"ManageLibrary": "Könyvtár kezelése",
"MediaInfoBitrate": "Bitráta",
@@ -524,7 +522,6 @@
"DirectStreamHelp1": "Az adathordozó kompatibilis a készülékkel a felbontás és a médiatípus (H.264, AC3, stb.) tekintetében, de nem kompatibilis a fájltárolóban (.mkv, .avi, .wmv, stb.). A videófelvétel újra csomagolásra kerül, mielőtt azt a készülékre továbbítaná.",
"DirectStreamHelp2": "A fájl közvetlen közvetítése (Direct Streaming) nagyon kevés feldolgozási erőforrást használ, és a videóban is minimális a minőségvesztés.",
"DirectStreaming": "Közvetlen streaming",
- "Disabled": "Tiltva",
"Disc": "Lemez",
"Disconnect": "Szétkapcsol",
"DisplayInMyMedia": "Megjelenítés a kezdőképernyőn",
@@ -1294,7 +1291,6 @@
"ListPaging": "{0}-{1} / {2}",
"WriteAccessRequired": "A Jellyfin írási jogosultságot igényel ehhez a könyvtárhoz. Kérjük, ellenőrizd, hogy van-e jogod írni ide, majd próbáld újra.",
"PathNotFound": "Az elérési út nem található. Kérjük, ellenőrizd, hogy az elérési út megfelelő-e, majd próbáld újra.",
- "Track": "Szám",
"Season": "Évad",
"Person": "Személy",
"Movie": "Film",
diff --git a/src/strings/id.json b/src/strings/id.json
index efa764395b..2a3b6ddb10 100644
--- a/src/strings/id.json
+++ b/src/strings/id.json
@@ -193,10 +193,8 @@
"DisplayInOtherHomeScreenSections": "Tayangkan di bagian layar beranda seperti media terbaru dan lanjutkan menonton",
"Display": "Tampilan",
"DisplayInMyMedia": "Tampilan di layar beranda",
- "Dislike": "Benci",
"Disconnect": "Memutuskan",
"Disc": "CD",
- "Disabled": "Matikan",
"DirectPlaying": "Bermain langsung",
"DirectStreaming": "Streaming langsung",
"DirectStreamHelp2": "Streaming langsung menggunakan daya pemrosesan yang sangat sedikit dengan penurunan kualitas video yang minimal.",
diff --git a/src/strings/is-is.json b/src/strings/is-is.json
index 8fef2eddc9..f6cefc3d81 100644
--- a/src/strings/is-is.json
+++ b/src/strings/is-is.json
@@ -302,8 +302,6 @@
"DisplayMissingEpisodesWithinSeasons": "Birta þætti sem vantar inn í þáttaraðir",
"DisplayInMyMedia": "Birta á heimaskjá",
"Display": "Birta",
- "Dislike": "Mislíka",
- "Disabled": "Óvirkt",
"Directors": "Leikstjórar",
"DirectStreamHelp2": "Beint streymi á skrá notar mjög litið vinnsluafl án þess að tapa myndgæðum.",
"Descending": "Niður",
diff --git a/src/strings/it.json b/src/strings/it.json
index 49632e4a7f..4f9b7947dc 100644
--- a/src/strings/it.json
+++ b/src/strings/it.json
@@ -133,10 +133,8 @@
"DirectStreaming": "Streaming Diretto",
"Director": "Regista",
"Directors": "Registi",
- "Disabled": "Disabilitato",
"Disc": "Disco",
"Disconnect": "Disconnetti",
- "Dislike": "Non mi piace",
"Display": "Schermo",
"DisplayInMyMedia": "Visualizza nella schermata di home",
"DisplayInOtherHomeScreenSections": "Mostra le sezioni della schermata home come gli ultimi media e continua a guardare",
@@ -712,7 +710,6 @@
"LatestFromLibrary": "Ultimi {0}",
"LearnHowYouCanContribute": "Scopri come puoi contribuire.",
"LibraryAccessHelp": "Seleziona le librerie da condividere con questo utente. Gli amministratori saranno in grado di modificare tutte le cartelle utilizzando il gestore dei metadati.",
- "Like": "Mi piace",
"List": "Lista",
"Live": "In diretta",
"LiveBroadcasts": "Tramissioni in diretta",
@@ -1302,7 +1299,6 @@
"PathNotFound": "Percorso non trovato. Assicurarsi che sia valido e riprovare.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Traccia",
"Season": "Stagione",
"Movie": "Film",
"LabelLibraryPageSizeHelp": "Numero di elementi presenti nella paginazione della libreria. Il valore 0 disabilita la paginazione.",
diff --git a/src/strings/ja.json b/src/strings/ja.json
index 0bd9edf507..ec4a9f3b73 100644
--- a/src/strings/ja.json
+++ b/src/strings/ja.json
@@ -146,10 +146,8 @@
"DirectStreaming": "ダイレクトストリーミング",
"Director": "ディレクター",
"Directors": "ディレクターズ",
- "Disabled": "無効",
"Disc": "ディスク",
"Disconnect": "切断",
- "Dislike": "嫌い",
"Display": "ディスプレイ",
"DisplayInMyMedia": "ホームスクリーンに表示",
"DisplayInOtherHomeScreenSections": "最新のメディアなどをホーム画面に表示する",
@@ -487,7 +485,6 @@
"LabelTime": "時刻:",
"LabelTimeLimitHours": "制限時間 (時間):",
"LabelffmpegPath": "FFmpegパス:",
- "Like": "いいね",
"MediaInfoPixelFormat": "画像データフォーマット",
"MediaInfoProfile": "プロフィール",
"MessageItemSaved": "アイテムを保存しました。",
diff --git a/src/strings/kk.json b/src/strings/kk.json
index ada6f9ab71..f40a0b8d0f 100644
--- a/src/strings/kk.json
+++ b/src/strings/kk.json
@@ -147,10 +147,8 @@
"DirectStreaming": "Tikeleı tasymaldanýda",
"Director": "Rejısór",
"Directors": "Rejısórler",
- "Disabled": "Ajyratylǵan",
"Disc": "Dıski",
"Disconnect": "Ajyratý",
- "Dislike": "Unamaıdy",
"Display": "Beıneleý",
"DisplayInMyMedia": "Basqy ekranda beınelenedi",
"DisplayInOtherHomeScreenSections": "Basqy ekran bólimderinde beıneleý (mys. Eń sońǵy tasyǵyshderekter jáne Kórýdi jalǵastyrý)",
@@ -754,7 +752,6 @@
"LatestFromLibrary": "Eń keıingi {0}",
"LearnHowYouCanContribute": "Qalaı úles qosýynyńyz múmkin týraly úırenińiz.",
"LibraryAccessHelp": "Bul paıdalanýshymen ortaqtasý úshin tasyǵyshhanalardy bólekteńiz. Metaderek retteýshini paıdalanyp ákimshiler barlyq qaltalardy óńdeýi múmkin.",
- "Like": "Unaıdy",
"List": "Tizim",
"Live": "Tikeleı",
"LiveBroadcasts": "Tikeleı taratymdar",
@@ -1295,7 +1292,6 @@
"PersonRole": "- {0}",
"ListPaging": "{0}-{1} {2} ishinen",
"Yadif": "YADIF",
- "Track": "Jolshyq",
"Season": "Maýsym",
"Person": "Tulǵa",
"Movie": "Fılm",
diff --git a/src/strings/ko.json b/src/strings/ko.json
index 9413bd1f41..309a114c92 100644
--- a/src/strings/ko.json
+++ b/src/strings/ko.json
@@ -68,7 +68,6 @@
"DeleteUserConfirmation": "이 사용자를 제거하겠습니까?",
"DeviceAccessHelp": "이것은 고유하게 식별할 수 있는 장치에만 적용되므로 브라우저를 통한 접근은 차단할 수 없습니다. 사용자 장치 접근을 필터링하면 이곳에서 승인될 때까지 새 장치를 사용할 수 없게 됩니다.",
"Director": "감독",
- "Dislike": "싫어요",
"Download": "다운로드",
"Edit": "편집",
"EditSubtitles": "자막 편집",
@@ -401,7 +400,6 @@
"LabelYoureDone": "완료!",
"LabelZipCode": "우편 번호:",
"LibraryAccessHelp": "이 사용자와 공유할 라이브러리를 선택합니다. 관리자는 메타데이터 관리자를 사용하여 모든 폴더를 수정할 수 있습니다.",
- "Like": "좋아요",
"Live": "라이브",
"MaxParentalRatingHelp": "더 높은 연령 등급의 콘텐츠가 이 사용자에게 표지 되지 않습니다.",
"MediaInfoAnamorphic": "아나몰픽",
@@ -722,7 +720,6 @@
"Down": "아래",
"DoNotRecord": "녹화 안 함",
"Disconnect": "연결 끊기",
- "Disabled": "비활성화됨",
"DirectPlaying": "다이렉트 재생",
"DirectStreaming": "다이렉트 스트리밍",
"DirectStreamHelp2": "다이렉트 스트리밍은 비디오 퀄리티의 손실없이 매우 적은 처리능력을 사용합니다.",
diff --git a/src/strings/lt-lt.json b/src/strings/lt-lt.json
index e5f55c8aa7..92f306e01e 100644
--- a/src/strings/lt-lt.json
+++ b/src/strings/lt-lt.json
@@ -50,7 +50,6 @@
"DeleteMedia": "Trinti mediją",
"DeviceAccessHelp": "Tai taikoma tik įrenginiams, kurie gali būti identifikuojami, ir neuždraus prieigos per naršyklę. Vartotojo įrenginio prieigos filtravimas neleis jiems naudotis naujais įrenginiais kol jie nepatvirtinti čia.",
"Director": "Režisierius",
- "Dislike": "Nepatinka",
"DoNotRecord": "Neįrašyti",
"Download": "Atsisiųsti",
"Edit": "Redaguoti",
@@ -256,7 +255,6 @@
"LabelYoureDone": "Baigta!",
"LatestFromLibrary": "Vėliausi {0}",
"LibraryAccessHelp": "Pasirinkite medijos aplankus, kuriuos norite dalintis su šiuo vartotoju. Administratoriai galės redaguoti visus aplankus per metaduomenų valdymą.",
- "Like": "Patinka",
"Live": "Tiesiogiai",
"LiveBroadcasts": "Tiesioginėms transliacijoms",
"MarkPlayed": "Žymėti rodytu",
@@ -516,7 +514,6 @@
"Descending": "Mažėjančia tvarka",
"DetectingDevices": "Ieškomi įrenginiai",
"Directors": "Režisieriai",
- "Disabled": "Išjungtas",
"Disc": "Diskas",
"Disconnect": "Atsijungti",
"DisplayInMyMedia": "Rodyti pradiniame ekrane",
diff --git a/src/strings/lv.json b/src/strings/lv.json
index 749fbc4287..f9039cd2e0 100644
--- a/src/strings/lv.json
+++ b/src/strings/lv.json
@@ -318,7 +318,6 @@
"LiveBroadcasts": "Tiešraides:",
"Live": "Tiešraide",
"List": "Saraksts",
- "Like": "Patīk",
"LeaveBlankToNotSetAPassword": "Tu vari atstāt šo lauku tukšu, lai neiestatītu paroli.",
"LatestFromLibrary": "Jaunākais {0}",
"Large": "Liels",
@@ -414,9 +413,7 @@
"DisplayInOtherHomeScreenSections": "Rādīt mājas ekrāna sadaļās kā jaunākā multvide un turpini skatīties",
"DisplayInMyMedia": "Rādīt mājas ekrānā",
"Display": "Displejs",
- "Dislike": "Nepatīk",
"Disc": "Disks",
- "Disabled": "Atspējots",
"Directors": "Direktori",
"Director": "Direktors",
"DirectStreaming": "Tiešā straumēšana",
diff --git a/src/strings/nb.json b/src/strings/nb.json
index 5c916d92c6..e234b310f9 100644
--- a/src/strings/nb.json
+++ b/src/strings/nb.json
@@ -108,7 +108,6 @@
"DeviceAccessHelp": "Dette gjelder kun for enheter som som kan identifiseres som unike og vil ikke forhindre tilgang fra nettleser. Filtrering av tilgang for enheter vil hindre brukere fra å bruke nye enheter inntil de har blitt godkjent her.",
"Director": "Regissør",
"Disconnect": "Koble fra",
- "Dislike": "Misliker",
"DoNotRecord": "Ikke ta opp",
"Down": "Ned",
"Download": "Last ned",
@@ -596,7 +595,6 @@
"LabelffmpegPathHelp": "Filbanen til applikasjonsfilen for FFmpeg eller mappen som inneholder FFmpeg.",
"LatestFromLibrary": "Siste {0}",
"LibraryAccessHelp": "Velg bibliotekene som skal deles med denne brukren. Administratorer vil ha mulighet til å gjøre endringer i alle mapper ved å bruke metadatabehandleren.",
- "Like": "Liker",
"Live": "Direkte",
"LiveBroadcasts": "Direktesendinger",
"LiveTV": "Direkte-TV",
@@ -1100,7 +1098,6 @@
"OptionPosterCard": "Plakatkort",
"Uniform": "Jevn",
"Directors": "Regissører",
- "Disabled": "Deaktivert",
"Disc": "Plate",
"Display": "Vis",
"DisplayMissingEpisodesWithinSeasons": "Vis manglende episoder i sesonger",
@@ -1309,7 +1306,6 @@
"PathNotFound": "Banen ble ikke funnet. Påse at banen er gyldig og prøv igjen.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Spor",
"SyncPlayAccessHelp": "Velg tilgangsnivået denne brukeren skal ha til SyncPlay-funksjonen. SyncPlay muliggjør synkronisert avspilling med andre enheter.",
"Filter": "Filter",
"New": "Ny",
diff --git a/src/strings/nl.json b/src/strings/nl.json
index 1824a7fc70..156476dc6c 100644
--- a/src/strings/nl.json
+++ b/src/strings/nl.json
@@ -135,10 +135,8 @@
"DirectStreaming": "Direct streamen",
"Director": "Regiseur",
"Directors": "Regisseurs",
- "Disabled": "Uitgeschakeld",
"Disc": "Disk",
"Disconnect": "Loskoppelen",
- "Dislike": "Niet leuk",
"Display": "Weergave",
"DisplayInMyMedia": "Op het startscherm weergeven",
"DisplayInOtherHomeScreenSections": "In secties van het startscherm weergeven, zoals \"Recente Media\" en \"Verder Kijken\"",
@@ -709,7 +707,6 @@
"LatestFromLibrary": "Laatste {0}",
"LearnHowYouCanContribute": "Lees meer over hoe u kunt bijdragen.",
"LibraryAccessHelp": "Selecteer de bibliotheken om met deze gebruiker te delen. Beheerders kunnen alle mappen bewerken via de metadata manager.",
- "Like": "Leuk",
"List": "Lijst",
"LiveBroadcasts": "Live uitzendingen",
"ManageLibrary": "Bibliotheek beheren",
@@ -1309,7 +1306,6 @@
"PathNotFound": "Het pad kan niet gevonden worden. Zorg ervoor dat het pad correct is en probeer opnieuw.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Nummer",
"SelectAdminUsername": "Selecteer een gebruikersnaam voor het beheerder account.",
"HeaderFavoritePlaylists": "Favoriete afspeellijsten",
"ButtonTogglePlaylist": "Afspeellijst",
diff --git a/src/strings/pl.json b/src/strings/pl.json
index 71e52f09c4..501638adeb 100644
--- a/src/strings/pl.json
+++ b/src/strings/pl.json
@@ -146,10 +146,8 @@
"DirectStreaming": "Transmisja bezpośrednia",
"Director": "Reżyser",
"Directors": "Reżyserzy",
- "Disabled": "Nieaktywne",
"Disc": "Dysk",
"Disconnect": "Rozłącz",
- "Dislike": "Nie lubię",
"Display": "Wyświetlanie",
"DisplayInMyMedia": "Wyświetlaj na ekranie startowym",
"DisplayInOtherHomeScreenSections": "Wyświetlaj na ekranie startowym sekcje Ostatnio dodane i Kontynuuj odtwarzanie",
@@ -749,7 +747,6 @@
"LatestFromLibrary": "{0} ostatnio dodane",
"LearnHowYouCanContribute": "Dowiedz się jak możesz pomóc.",
"LibraryAccessHelp": "Wybierz biblioteki udostępniane temu użytkownikowi. Administratorzy będą mogli edytować wszystkie foldery używając menedżera metadanych.",
- "Like": "Lubię",
"List": "Lista",
"Live": "Na żywo",
"LiveBroadcasts": "Transmisje na żywo",
@@ -1317,7 +1314,6 @@
"Yadif": "YADIF",
"Writers": "Scenariusz",
"ViewAlbumArtist": "Zobacz wykonawcę albumu",
- "Track": "Utwór",
"TabRepositories": "Repozytoria",
"SyncPlayAccessHelp": "Wybierz poziom dostępu do funkcji SyncPlay jaki posiada ten użytkownik. SyncPlay pozwala na synchronizację odtwarzania z innymi urządzeniami.",
"Filter": "Filtruj",
diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json
index 8bd5fc6127..4a3b36a927 100644
--- a/src/strings/pt-br.json
+++ b/src/strings/pt-br.json
@@ -139,10 +139,8 @@
"DirectStreaming": "Streaming Direto",
"Director": "Diretor",
"Directors": "Diretores",
- "Disabled": "Desativado",
"Disc": "Disco",
"Disconnect": "Desconectar",
- "Dislike": "Não curti",
"Display": "Exibir",
"DisplayInMyMedia": "Exibir na tela inicial",
"DisplayInOtherHomeScreenSections": "Exibir nas seções da tela inicial como mídia recente e continuar assistindo",
@@ -730,7 +728,6 @@
"LatestFromLibrary": "{0} recentes",
"LearnHowYouCanContribute": "Saiba como você pode contribuir.",
"LibraryAccessHelp": "Selecione as bibliotecas para compartilhar com este usuário. Administradores poderão editar todas as pastas usando o gerenciador de metadados.",
- "Like": "Curti",
"List": "Lista",
"Live": "Ao vivo",
"LiveBroadcasts": "Transmissões ao vivo",
@@ -1297,7 +1294,6 @@
"PathNotFound": "O caminho não pôde ser encontrado. Por favor certifique-se da validade e tente novamente.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Trilha",
"Season": "Temporada",
"Person": "Pessoa",
"Movie": "Filme",
diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json
index 1038805ba7..df871816f9 100644
--- a/src/strings/pt-pt.json
+++ b/src/strings/pt-pt.json
@@ -767,9 +767,7 @@
"DisplayMissingEpisodesWithinSeasons": "Mostrar episódios em falta numa série",
"DisplayInOtherHomeScreenSections": "Mostrar no ecrã principal em secções como multimédia recente ou continue a ver",
"DisplayInMyMedia": "Mostrar no ecrã principal",
- "Dislike": "Não gosto",
"Disconnect": "Desligar",
- "Disabled": "Desativado",
"DirectStreaming": "Reprodução direta",
"DirectStreamHelp2": "Reprodução direta de um ficheiro requer pouco processamento e não implica perda de qualidade num vídeo.",
"DefaultSubtitlesHelp": "As legendas são carregadas com base nas definições por defeito ou forçado nos metadados. As preferências de idioma são consideradas quando existem múltiplas opções disponíveis.",
@@ -1239,7 +1237,6 @@
"MediaInfoDefault": "Padrão",
"MediaInfoBitDepth": "Bit profundidade",
"Logo": "Logotipo",
- "Like": "Gosto",
"LabelXDlnaDoc": "X-DLNA doc:",
"LabelXDlnaCap": "X-DLNA cap:",
"LabelVaapiDeviceHelp": "Este é o nó de renderização usado para aceleração de hardware.",
diff --git a/src/strings/pt.json b/src/strings/pt.json
index 6f8ea9131e..7e049e6086 100644
--- a/src/strings/pt.json
+++ b/src/strings/pt.json
@@ -792,10 +792,8 @@
"DisplayInOtherHomeScreenSections": "Mostrar no ecrã principal em secções como multimédia recente ou continue a ver",
"DisplayInMyMedia": "Mostrar no ecrã principal",
"Display": "Visualização",
- "Dislike": "Não gosto",
"Disconnect": "Desligar",
"Disc": "Disco",
- "Disabled": "Desactivado",
"Directors": "Realização",
"Director": "Realizador",
"DirectStreaming": "Reprodução directa",
@@ -1108,7 +1106,6 @@
"ManageRecording": "Gerenciar gravações",
"Logo": "Logo",
"List": "Lista",
- "Like": "Gostei",
"LeaveBlankToNotSetAPassword": "Você pode deixar esse campo em branco para definir nenhuma senha.",
"LearnHowYouCanContribute": "Aprenda como você pode contribuir.",
"Large": "Amplo",
diff --git a/src/strings/ro.json b/src/strings/ro.json
index 6d6bf0f2c1..539dfbf880 100644
--- a/src/strings/ro.json
+++ b/src/strings/ro.json
@@ -287,9 +287,7 @@
"DeleteDeviceConfirmation": "Sigur doriți să ștergeți acest dispozitiv? Acesta va reapărea data viitoare când un utilizator se conectează cu acesta.",
"DeleteUser": "Șterge utilizator",
"Directors": "Regizori",
- "Disabled": "Dezactivat",
"Disconnect": "Deconectare",
- "Dislike": "Neplăcut",
"Display": "Afișare",
"DisplayInMyMedia": "Afișeză pe ecranul de start",
"EnableCinemaMode": "Mod cinema",
@@ -971,7 +969,6 @@
"LiveBroadcasts": "Emisie în direct",
"Live": "În direct",
"List": "Listă",
- "Like": "Îmi place",
"LeaveBlankToNotSetAPassword": "Puteți lăsa acest câmp necompletat pentru a nu seta o parolă.",
"LearnHowYouCanContribute": "Aflați cum puteți contribui.",
"LatestFromLibrary": "Ultimele {0}",
@@ -1280,7 +1277,6 @@
"PlaybackErrorNoCompatibleStream": "Clientul nu este compatibil cu formatul media, iar serverul nu trimite un format media compatibil.",
"AllowFfmpegThrottlingHelp": "Când o transcodare sau un remux se află departe de poziția actuală de redare, întrerupeți procesul, astfel încât acesta să consume mai puține resurse. Acest lucru este cel mai util când priviți fără a căuta prin film des. Dezactivați acest lucru dacă întâmpinați probleme de redare.",
"AllowFfmpegThrottling": "Limitare Transcod-uri",
- "Track": "Cale",
"Season": "Sezon",
"PreferEmbeddedEpisodeInfosOverFileNames": "Preferați informația despre episod încorporată în fișier decât numele fișierelor",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Aceasta folosește informația despre episod din metadatele încorporate, dacă sunt disponibile.",
diff --git a/src/strings/ru.json b/src/strings/ru.json
index 8e098c4e63..8d54778aac 100644
--- a/src/strings/ru.json
+++ b/src/strings/ru.json
@@ -148,10 +148,8 @@
"DirectStreaming": "Транслируется напрямую",
"Director": "Режиссёр",
"Directors": "Режиссёры",
- "Disabled": "Отключено",
"Disc": "Диск",
"Disconnect": "Разъединиться",
- "Dislike": "Не нравится",
"Display": "Отображение",
"DisplayInMyMedia": "Показывать на главном экране",
"DisplayInOtherHomeScreenSections": "Показывать в разделах главного экрана (нпр., новейшие медиаданные, продолжение просмотра и т.п.)",
@@ -755,7 +753,6 @@
"LatestFromLibrary": "Новейшее: {0}",
"LearnHowYouCanContribute": "Изучите, как вы можете внести свой вклад.",
"LibraryAccessHelp": "Выделите медиатеки, чтобы дать доступ этому пользователю. Администраторы могут изменять все папки с помощью «Диспетчера метаданных».",
- "Like": "Нравится",
"List": "Список",
"Live": "Трансляция",
"LiveBroadcasts": "Прямые трансляции",
@@ -1294,7 +1291,6 @@
"PersonRole": "как {0}",
"ListPaging": "{0}-{1} из {2}",
"Yadif": "YADIF",
- "Track": "Дорожка",
"Season": "Сезон",
"Person": "Персона",
"Movie": "Фильм",
diff --git a/src/strings/sk.json b/src/strings/sk.json
index 6c544a91f9..543936d757 100644
--- a/src/strings/sk.json
+++ b/src/strings/sk.json
@@ -95,7 +95,6 @@
"Directors": "Režiséri",
"Disc": "Disk",
"Disconnect": "Odpojiť",
- "Dislike": "Nepáči sa mi to",
"DisplayInMyMedia": "Zobraziť na domácej obrazovke",
"DisplayMissingEpisodesWithinSeasons": "Zobraziť chýbajúce epizódy v rámci série",
"DoNotRecord": "Nenahrávať",
@@ -432,7 +431,6 @@
"LatestFromLibrary": "Najnovšie {0}",
"LearnHowYouCanContribute": "Zistite, ako môžete prispieť.",
"LibraryAccessHelp": "Zvoľte knižnice zdieľané s týmto používateľom. Administrátori budú schopní upraviť všetky priečinky použitím správcu metadát.",
- "Like": "Páči sa mi to",
"Live": "Naživo",
"LiveBroadcasts": "Živé vysielania",
"LiveTV": "Živý TV prenos",
@@ -744,7 +742,6 @@
"ChannelNameOnly": "Iba kanál {0}",
"ChannelNumber": "Číslo kanálu",
"DirectPlaying": "Priame prehrávanie",
- "Disabled": "Vypnuté",
"Display": "Zobrazenie",
"EnableDisplayMirroring": "Zrkadlenie obrazu",
"Ended": "Ukončený",
@@ -1299,7 +1296,6 @@
"PathNotFound": "Táto cesta nebola nájdená. Prosím, uistite sa že cesta je správna a skúste to znovu.",
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
- "Track": "Stopa",
"Season": "Séria",
"Person": "Osoba",
"Movie": "FIlm",
diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json
index 00492c9ced..05a6bdd902 100644
--- a/src/strings/sl-si.json
+++ b/src/strings/sl-si.json
@@ -189,8 +189,6 @@
"DrmChannelsNotImported": "Kanali z DRM ne bodo uvoženi.",
"DownloadsValue": "{0} prenosi",
"Down": "Dol",
- "Dislike": "Ni mi všeč",
- "Disabled": "Onemogočen",
"Directors": "Režiserji",
"Director": "Režiser",
"DetectingDevices": "Zaznavanje naprav",
@@ -780,7 +778,6 @@
"Producer": "Producent",
"Premiere": "Premiera",
"MediaInfoLayout": "Razporeditev",
- "Like": "Všeč mi je",
"LabelPlayDefaultAudioTrack": "Predvajaj privzeti zvočni posnetek ne glede na jezik",
"LabelOriginalTitle": "Izvirni naslov:",
"LabelRefreshMode": "Način osveževanja:",
diff --git a/src/strings/sv.json b/src/strings/sv.json
index ea71dffdf5..1c5907a1f3 100644
--- a/src/strings/sv.json
+++ b/src/strings/sv.json
@@ -130,10 +130,8 @@
"DirectStreaming": "Direktströmning",
"Director": "Regissör",
"Directors": "Regi",
- "Disabled": "Inaktiverad",
"Disc": "Skiva",
"Disconnect": "Koppla bort",
- "Dislike": "Ogilla",
"Display": "Visning",
"DisplayInMyMedia": "Visa på hemskärmen",
"DisplayInOtherHomeScreenSections": "Visa sektioner på hemskärmen som till exempel senast media och fortsätt kolla på",
@@ -697,7 +695,6 @@
"LatestFromLibrary": "Senaste {0}",
"LearnHowYouCanContribute": "Se hur du kan hjälpa till.",
"LibraryAccessHelp": "Ange vilka mediemappar den här användaren ska ha tillgång till. Administratörer har rätt att redigera alla mappar i metadatahanteraren.",
- "Like": "Gilla",
"List": "Lista",
"LiveBroadcasts": "Livesändningar",
"LiveTV": "Live-TV",
@@ -1290,7 +1287,6 @@
"ListPaging": "{0}-{1} av {2}",
"WriteAccessRequired": "Jellyfin Server kräver skrivrättigheter till denna katalog. Säkerställ skrivrättigheter och försök igen.",
"PathNotFound": "Sökvägen hittades inte. Säkerställ att sökvägen är korrekt och försök igen.",
- "Track": "Spår",
"Season": "Säsong",
"PreferEmbeddedEpisodeInfosOverFileNames": "Föredra inbäddad avsnittsinformation före filnamn",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Detta använder avsnittets information från inbäddad metadata om tillgängligt.",
diff --git a/src/strings/ta.json b/src/strings/ta.json
index 563d23511b..08b2faab0d 100644
--- a/src/strings/ta.json
+++ b/src/strings/ta.json
@@ -190,10 +190,8 @@
"DisplayInOtherHomeScreenSections": "சமீபத்திய மீடியா போன்ற முகப்புத் திரைப் பிரிவுகளில் காண்பிக்கவும், தொடர்ந்து பார்க்கவும்",
"DisplayInMyMedia": "முகப்புத் திரையில் காட்சி",
"Display": "காட்சி",
- "Dislike": "விரும்பவில்லை",
"Disconnect": "துண்டிக்கவும்",
"Disc": "வட்டு",
- "Disabled": "முடக்கப்பட்டது",
"Directors": "இயக்குநர்கள்",
"Director": "இயக்குனர்",
"DirectStreaming": "நேரடி ஸ்ட்ரீமிங்",
@@ -739,7 +737,6 @@
"LiveBroadcasts": "நேரடி ஒளிபரப்பு",
"Live": "நேரலை",
"List": "பட்டியல்",
- "Like": "விருப்பம்",
"LibraryAccessHelp": "இந்த பயனருடன் பகிர நூலகங்களைத் தேர்ந்தெடுக்கவும். நிர்வாகிகள் மெட்டாடேட்டா நிர்வாகியைப் பயன்படுத்தி அனைத்து கோப்புறைகளையும் திருத்த முடியும்.",
"LeaveBlankToNotSetAPassword": "கடவுச்சொல் எதுவும் அமைக்க இந்த புலத்தை காலியாக விடலாம்.",
"LearnHowYouCanContribute": "நீங்கள் எவ்வாறு பங்களிக்க முடியும் என்பதை அறிக.",
@@ -1334,7 +1331,6 @@
"Transcoding": "டிரான்ஸ்கோடிங்",
"Trailers": "டிரெய்லர்கள்",
"TrackCount": "{0} தடங்கள்",
- "Track": "தடம்",
"TitlePlayback": "பின்னணி",
"TitleHostingSettings": "ஹோஸ்டிங் அமைப்புகள்",
"TitleHardwareAcceleration": "வன்பொருள் முடுக்கம்",
diff --git a/src/strings/tr.json b/src/strings/tr.json
index 8311fb8545..634a14353c 100644
--- a/src/strings/tr.json
+++ b/src/strings/tr.json
@@ -228,7 +228,6 @@
"DirectStreaming": "Doğrudan akış",
"Director": "Yönetmen",
"Directors": "Yöneticiler",
- "Disabled": "Deaktif",
"DisplayModeHelp": "Arayüz için kullanılmasını istediğiniz şablonu seçin.",
"DoNotRecord": "Kaydetme",
"Down": "Aşağı",
@@ -263,7 +262,6 @@
"ConfirmEndPlayerSession": "Jellyfin'i {0} tarihinde kapatmak ister misiniz?",
"Connect": "Bağlan",
"Disconnect": "Bağlantısız",
- "Dislike": "Beğenmemek",
"Display": "Görüntüle",
"DisplayInMyMedia": "Ana ekranda görüntüleme",
"DisplayInOtherHomeScreenSections": "En son medya gibi ana ekran bölümlerinde görüntüleyin ve izlemeye devam edin",
diff --git a/src/strings/uk.json b/src/strings/uk.json
index 60b878dd36..6adf637e0f 100644
--- a/src/strings/uk.json
+++ b/src/strings/uk.json
@@ -6,7 +6,6 @@
"ButtonRename": "Перейменувати",
"ButtonSignOut": "Вийти",
"DeathDateValue": "Помер: {0}",
- "Dislike": "Не подобається",
"Favorite": "Улюблене",
"FolderTypeBooks": "Книги",
"FolderTypeMovies": "Фільми",
@@ -28,7 +27,6 @@
"LabelLanguage": "Мова:",
"LabelNewPassword": "Новий пароль:",
"LabelPath": "Шлях:",
- "Like": "Подобається",
"MediaInfoAspectRatio": "Співвідношення сторін",
"MediaInfoChannels": "Канали",
"MediaInfoCodec": "Кодек",
@@ -250,7 +248,6 @@
"DirectStreaming": "Пряме мовлення",
"Director": "Режисер",
"Directors": "Режисери",
- "Disabled": "Відключено",
"Disc": "Диск",
"Display": "Дисплей",
"Disconnect": "Відключити"
diff --git a/src/strings/vi.json b/src/strings/vi.json
index ec5fa0745b..884885872f 100644
--- a/src/strings/vi.json
+++ b/src/strings/vi.json
@@ -218,10 +218,8 @@
"DisplayInOtherHomeScreenSections": "Những phần hiển thị trên trang chính như là nội dung mới nhất và nội dung tiếp theo",
"DisplayInMyMedia": "Hiển thị trên trang chính",
"Display": "Hiển thị",
- "Dislike": "Không thích",
"Disconnect": "Ngắt kết nối",
"Disc": "Đĩa",
- "Disabled": "Đã vô hiệu hoá",
"Directors": "Đạo Diễn",
"Director": "Đạo Diễn",
"DirectStreaming": "Phát trực tuyến",
diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json
index c49b12b938..5730cd52a0 100644
--- a/src/strings/zh-cn.json
+++ b/src/strings/zh-cn.json
@@ -131,10 +131,8 @@
"DirectStreamHelp2": "直接串流只占用占用很少的CPU并且视频的品质只会有极小程度的损失。",
"DirectStreaming": "直接串流",
"Director": "导演",
- "Disabled": "已禁用",
"Disc": "光盘",
"Disconnect": "断开连接",
- "Dislike": "不喜欢",
"Display": "显示",
"DisplayInMyMedia": "在主屏幕显示",
"DisplayInOtherHomeScreenSections": "在“最新的媒体”和“继续观看“等主屏幕模块中显示",
@@ -717,7 +715,6 @@
"LatestFromLibrary": "最新的{0}",
"LearnHowYouCanContribute": "学习如何构建。",
"LibraryAccessHelp": "选择共享给此用户的媒体库。管理员有权使用媒体资料管理器来编辑所有文件夹。",
- "Like": "喜欢",
"List": "列表",
"Live": "直播",
"ManageLibrary": "管理媒体库",
@@ -1283,7 +1280,6 @@
"PreferEmbeddedEpisodeInfosOverFileNames": "优先使用内置的剧集信息而不是文件名",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "这将在内置元数据含剧集信息时使用内置信息。",
"ClientSettings": "客户端设置",
- "Track": "音轨",
"Season": "季",
"Person": "人物",
"Movie": "电影",
diff --git a/src/strings/zh-hk.json b/src/strings/zh-hk.json
index 562a4843cd..e6653d231e 100644
--- a/src/strings/zh-hk.json
+++ b/src/strings/zh-hk.json
@@ -302,10 +302,8 @@
"AddToCollection": "添加到收藏",
"AccessRestrictedTryAgainLater": "目前存取受限。 請稍後再試。",
"AllowFfmpegThrottling": "轉碼調節器",
- "Dislike": "不喜歡",
"Disconnect": "中斷連接",
"Disc": "片",
- "Disabled": "已停用",
"Directors": "導演",
"Director": "導演",
"DirectStreaming": "直接串流",
diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json
index cefd131d2a..9d394ae1bf 100644
--- a/src/strings/zh-tw.json
+++ b/src/strings/zh-tw.json
@@ -24,7 +24,6 @@
"DeleteImage": "刪除圖像",
"DeleteImageConfirmation": "你確定要刪除這張圖像?",
"DeleteUser": "刪除使用者",
- "Dislike": "不喜歡",
"Download": "下載",
"Edit": "編輯",
"EditImages": "編輯圖片",
@@ -111,7 +110,6 @@
"LabelUser": "使用者:",
"LabelYoureDone": "完成,耶!",
"LibraryAccessHelp": "選擇媒體資料夾與此使用者共享。管理員將可以使用中繼資料管理器編輯所有的媒體資料夾。",
- "Like": "喜歡",
"MaxParentalRatingHelp": "具有較高的家長評級內容將從這使用者被隱藏。",
"MessageAreYouSureDeleteSubtitles": "您真的要刪除這個字幕檔嗎?",
"MessageDownloadQueued": "下載已排程。",
@@ -331,7 +329,6 @@
"DirectStreaming": "直接串流",
"Director": "導演",
"Directors": "導演",
- "Disabled": "已停用",
"Disc": "光碟",
"Disconnect": "中斷連接",
"Display": "顯示",
@@ -1290,7 +1287,6 @@
"YadifBob": "YADIF Bob",
"WriteAccessRequired": "伺服器需要此資料夾的寫入權限,請確認是否擁有寫入權限並重試。",
"PathNotFound": "無法找到此路徑,請確認路徑可用並重試。",
- "Track": "音軌",
"Yadif": "YADIF",
"ListPaging": "{2} 的 {0}-{1}",
"PersonRole": "作為 {0}",
From 956c2a84b2f97df389e84862d75916293a4631a2 Mon Sep 17 00:00:00 2001
From: dkanada
Date: Fri, 28 Aug 2020 21:05:38 +0900
Subject: [PATCH 029/416] remove useless favorite headers
---
src/components/favoriteitems.js | 14 +++++++-------
src/controllers/favorites.js | 22 +++++++++++-----------
src/strings/ar.json | 10 ----------
src/strings/bg-bg.json | 10 ----------
src/strings/ca.json | 5 -----
src/strings/cs.json | 10 ----------
src/strings/da.json | 10 ----------
src/strings/de.json | 10 ----------
src/strings/el.json | 7 -------
src/strings/en-gb.json | 10 ----------
src/strings/en-us.json | 10 ----------
src/strings/es-ar.json | 10 ----------
src/strings/es-mx.json | 10 ----------
src/strings/es.json | 10 ----------
src/strings/es_419.json | 10 ----------
src/strings/fa.json | 10 ----------
src/strings/fi.json | 10 ----------
src/strings/fr-ca.json | 5 -----
src/strings/fr.json | 10 ----------
src/strings/gsw.json | 5 -----
src/strings/he.json | 9 ---------
src/strings/hr.json | 8 --------
src/strings/hu.json | 10 ----------
src/strings/id.json | 5 -----
src/strings/is-is.json | 10 ----------
src/strings/it.json | 10 ----------
src/strings/ja.json | 10 ----------
src/strings/kk.json | 10 ----------
src/strings/ko.json | 10 ----------
src/strings/lt-lt.json | 10 ----------
src/strings/lv.json | 10 ----------
src/strings/ms.json | 5 -----
src/strings/nb.json | 10 ----------
src/strings/nl.json | 10 ----------
src/strings/pl.json | 10 ----------
src/strings/pr.json | 1 -
src/strings/pt-br.json | 10 ----------
src/strings/pt-pt.json | 10 ----------
src/strings/pt.json | 9 ---------
src/strings/ro.json | 10 ----------
src/strings/ru.json | 10 ----------
src/strings/sk.json | 10 ----------
src/strings/sl-si.json | 10 ----------
src/strings/sr.json | 5 -----
src/strings/sv.json | 10 ----------
src/strings/ta.json | 10 ----------
src/strings/tr.json | 9 ---------
src/strings/uk.json | 5 -----
src/strings/vi.json | 10 ----------
src/strings/zh-cn.json | 10 ----------
src/strings/zh-hk.json | 5 -----
src/strings/zh-tw.json | 10 ----------
52 files changed, 18 insertions(+), 461 deletions(-)
diff --git a/src/components/favoriteitems.js b/src/components/favoriteitems.js
index 7a94b07454..86cd050216 100644
--- a/src/components/favoriteitems.js
+++ b/src/components/favoriteitems.js
@@ -28,21 +28,21 @@ import 'emby-itemscontainer';
function getSections() {
return [{
- name: 'HeaderFavoriteMovies',
+ name: 'Movies',
types: 'Movie',
id: 'favoriteMovies',
shape: getPosterShape(),
showTitle: false,
overlayPlayButton: true
}, {
- name: 'HeaderFavoriteShows',
+ name: 'Shows',
types: 'Series',
id: 'favoriteShows',
shape: getPosterShape(),
showTitle: false,
overlayPlayButton: true
}, {
- name: 'HeaderFavoriteEpisodes',
+ name: 'Episodes',
types: 'Episode',
id: 'favoriteEpisode',
shape: getThumbShape(),
@@ -53,7 +53,7 @@ import 'emby-itemscontainer';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoriteVideos',
+ name: 'Videos',
types: 'Video,MusicVideo',
id: 'favoriteVideos',
shape: getThumbShape(),
@@ -63,7 +63,7 @@ import 'emby-itemscontainer';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoriteArtists',
+ name: 'Artists',
types: 'MusicArtist',
id: 'favoriteArtists',
shape: getSquareShape(),
@@ -75,7 +75,7 @@ import 'emby-itemscontainer';
overlayPlayButton: true,
coverImage: true
}, {
- name: 'HeaderFavoriteAlbums',
+ name: 'Albums',
types: 'MusicAlbum',
id: 'favoriteAlbums',
shape: getSquareShape(),
@@ -87,7 +87,7 @@ import 'emby-itemscontainer';
overlayPlayButton: true,
coverImage: true
}, {
- name: 'HeaderFavoriteSongs',
+ name: 'Songs',
types: 'Audio',
id: 'favoriteSongs',
shape: getSquareShape(),
diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js
index 7e316df118..cc4a8eb26c 100644
--- a/src/controllers/favorites.js
+++ b/src/controllers/favorites.js
@@ -29,7 +29,7 @@ import 'emby-scroller';
function getSections() {
return [{
- name: 'HeaderFavoriteMovies',
+ name: 'Movies',
types: 'Movie',
shape: getPosterShape(),
showTitle: true,
@@ -38,7 +38,7 @@ import 'emby-scroller';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoriteShows',
+ name: 'Shows',
types: 'Series',
shape: getPosterShape(),
showTitle: true,
@@ -47,7 +47,7 @@ import 'emby-scroller';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoriteEpisodes',
+ name: 'Episodes',
types: 'Episode',
shape: getThumbShape(),
preferThumb: false,
@@ -57,7 +57,7 @@ import 'emby-scroller';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoriteVideos',
+ name: 'Videos',
types: 'Video',
shape: getThumbShape(),
preferThumb: true,
@@ -66,7 +66,7 @@ import 'emby-scroller';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoriteCollections',
+ name: 'Collections',
types: 'BoxSet',
shape: getPosterShape(),
showTitle: true,
@@ -74,7 +74,7 @@ import 'emby-scroller';
overlayText: false,
centerText: true
}, {
- name: 'HeaderFavoritePlaylists',
+ name: 'Playlists',
types: 'Playlist',
shape: getSquareShape(),
preferThumb: false,
@@ -85,7 +85,7 @@ import 'emby-scroller';
overlayPlayButton: true,
coverImage: true
}, {
- name: 'HeaderFavoritePeople',
+ name: 'People',
types: 'Person',
shape: getPosterShape(),
preferThumb: false,
@@ -96,7 +96,7 @@ import 'emby-scroller';
overlayPlayButton: true,
coverImage: true
}, {
- name: 'HeaderFavoriteArtists',
+ name: 'Artists',
types: 'MusicArtist',
shape: getSquareShape(),
preferThumb: false,
@@ -107,7 +107,7 @@ import 'emby-scroller';
overlayPlayButton: true,
coverImage: true
}, {
- name: 'HeaderFavoriteAlbums',
+ name: 'Albums',
types: 'MusicAlbum',
shape: getSquareShape(),
preferThumb: false,
@@ -118,7 +118,7 @@ import 'emby-scroller';
overlayPlayButton: true,
coverImage: true
}, {
- name: 'HeaderFavoriteSongs',
+ name: 'Songs',
types: 'Audio',
shape: getSquareShape(),
preferThumb: false,
@@ -130,7 +130,7 @@ import 'emby-scroller';
action: 'instantmix',
coverImage: true
}, {
- name: 'HeaderFavoriteBooks',
+ name: 'Books',
types: 'Book',
shape: getPosterShape(),
showTitle: true,
diff --git a/src/strings/ar.json b/src/strings/ar.json
index 7dec07fb36..392f219cc6 100644
--- a/src/strings/ar.json
+++ b/src/strings/ar.json
@@ -755,14 +755,9 @@
"Playlists": "قوائم التشغيل",
"Photos": "الصور",
"Movies": "الأفلام",
- "HeaderFavoriteSongs": "الأغاني المفضلة",
- "HeaderFavoriteShows": "المسلسلات المفضلة",
- "HeaderFavoriteEpisodes": "الحلقات المفضلة",
- "HeaderFavoriteArtists": "الفنانون المفضلون",
"Shows": "الحلقات",
"Books": "الكتب",
"ValueSpecialEpisodeName": "خاص - {0}",
- "HeaderFavoriteAlbums": "الألبومات المفضلة",
"HeaderAlbumArtists": "فناني الألبومات",
"Genres": "التضنيفات",
"Folders": "المجلدات",
@@ -922,11 +917,6 @@
"HeaderIdentifyItemHelp": "أدخل معيار بحث واحد أو أكثر. إزالة المعايير لزيادة نتائج البحث.",
"HeaderHttpsSettings": "إعدادات HTTPS",
"HeaderFetcherSettings": "إعدادات الجلب",
- "HeaderFavoritePlaylists": "قوائم التشغيل المفضلة",
- "HeaderFavoriteVideos": "مقاطع الفيديو المفضلة",
- "HeaderFavoritePeople": "أناس مفضلين",
- "HeaderFavoriteMovies": "الأفلام المفضلة",
- "HeaderFavoriteBooks": "الكتب المفضلة",
"HeaderExternalIds": "المعرفات الخارجية:",
"HeaderEnabledFieldsHelp": "قم بإلغاء تحديد حقل لقفله ومنع تغيير بياناته.",
"HeaderEnabledFields": "الحقول الممكّنة",
diff --git a/src/strings/bg-bg.json b/src/strings/bg-bg.json
index bb1d57fbbc..bba0556697 100644
--- a/src/strings/bg-bg.json
+++ b/src/strings/bg-bg.json
@@ -642,11 +642,6 @@
"AdditionalNotificationServices": "Разгледайте каталога с добавки за допълнителни услуги за известяване.",
"AddToPlayQueue": "Добавяне към опашка",
"AccessRestrictedTryAgainLater": "Достъпът е временно ограничен. Моля, опитайте отново по-късно.",
- "HeaderFavoriteSongs": "Любими песни",
- "HeaderFavoriteShows": "Любими сериали",
- "HeaderFavoriteEpisodes": "Любими епизоди",
- "HeaderFavoriteArtists": "Любими изпълнители",
- "HeaderFavoriteAlbums": "Любими албуми",
"Folders": "Папки",
"No": "Не",
"Yes": "Да",
@@ -787,10 +782,6 @@
"DeleteDeviceConfirmation": "Сигурни ли сте ,че искате да изтриете устройството? Ще се появи отново ,когато потребителят се впише с него.",
"DeinterlaceMethodHelp": "Избери типа деинтерлейсинг ,когато е необходимо транскодиране на подобно съдържание.",
"DefaultSubtitlesHelp": "Субтитрите са заредени според настройките зададени в метадатата на видеофайла.Когато има повече от едни субтитри се зарежда първо зададените в настройките.",
- "HeaderFavoriteVideos": "Любими видеа",
- "HeaderFavoritePeople": "Любими хора",
- "HeaderFavoriteMovies": "Любими филми",
- "HeaderFavoriteBooks": "Любими книги",
"HeaderExternalIds": "Външни идентификатори:",
"HeaderEnabledFieldsHelp": "Махни отметката ,за да го заключиш и да предотвратиш неговата промяна.",
"HeaderDVR": "DVR (Цифрово записващо устройство)",
@@ -890,7 +881,6 @@
"HeaderHttpsSettings": "HTTPS настройки",
"HeaderHttpHeaders": "HTTP Хедъри",
"HeaderFetcherSettings": "Настройки на програмата за изтегляне",
- "HeaderFavoritePlaylists": "Любими списъци",
"LabelDeathDate": "Дата на смърт:",
"LabelDateAddedBehaviorHelp": "Ако е взета стойност от метаданните, тя винаги ще бъде използвана преди някоя от тези опции.",
"LabelDateAddedBehavior": "за ново съдържание се приема дата на добавяне:",
diff --git a/src/strings/ca.json b/src/strings/ca.json
index 59337281bd..0c660ca028 100644
--- a/src/strings/ca.json
+++ b/src/strings/ca.json
@@ -600,11 +600,6 @@
"Collections": "Col·leccions",
"Favorites": "Preferits",
"HeaderAlbumArtists": "Artistes del Àlbum",
- "HeaderFavoriteAlbums": "Àlbums Preferits",
- "HeaderFavoriteArtists": "Artistes Preferits",
- "HeaderFavoriteEpisodes": "Episodis Preferits",
- "HeaderFavoriteShows": "Programes Preferits",
- "HeaderFavoriteSongs": "Cançons Preferides",
"ChannelNumber": "Número de canal",
"Categories": "Categories",
"ButtonWebsite": "Lloc web",
diff --git a/src/strings/cs.json b/src/strings/cs.json
index fbf7ef9bb9..b33c83b4f7 100644
--- a/src/strings/cs.json
+++ b/src/strings/cs.json
@@ -1075,8 +1075,6 @@
"HeaderDetectMyDevices": "Najít moje zařízení",
"HeaderDownloadSync": "Stahování a synchronizace",
"HeaderExternalIds": "Externí Id:",
- "HeaderFavoritePlaylists": "Oblíbené playlisty",
- "HeaderFavoriteVideos": "Oblíbená videa",
"HeaderFetcherSettings": "Nastavení načítání",
"HeaderImageOptions": "Volby obrázku",
"HeaderKodiMetadataHelp": "Chcete-li povolit nebo zakázat metadata v souborech NFO, upravte nastavení knihovny v sekci ukládání metadat.",
@@ -1141,12 +1139,6 @@
"MediaInfoStreamTypeData": "Data",
"MediaInfoStreamTypeVideo": "Video",
"AuthProviderHelp": "Vyberte poskytovatele ověření, který bude použit k ověření hesla tohoto uživatele.",
- "HeaderFavoriteMovies": "Oblíbená videa",
- "HeaderFavoriteShows": "Oblíbené seriály",
- "HeaderFavoriteEpisodes": "Oblíbené epizody",
- "HeaderFavoriteAlbums": "Oblíbená alba",
- "HeaderFavoriteArtists": "Oblíbení interpreti",
- "HeaderFavoriteSongs": "Oblíbená hudba",
"LabelAuthProvider": "Poskytovatel ověření:",
"LabelServerNameHelp": "Tento název bude použit k identifikaci serveru a ve výchozím nastavení bude použit název hostitele serveru.",
"LabelPasswordResetProvider": "Poskytovatel obnovy hesla:",
@@ -1257,12 +1249,10 @@
"LabelAudioChannels": "Počet kanálů zvuku:",
"LabelAudioBitrate": "Datový tok zvuku:",
"LabelAudioBitDepth": "Bitová hloubka zvuku:",
- "HeaderFavoriteBooks": "Oblíbené knihy",
"FetchingData": "Načítání dalších dat",
"CopyStreamURLSuccess": "Úspěšně zkopírovaná URL.",
"CopyStreamURL": "Kopírovat URL adresu streamu",
"ButtonAddImage": "Přidat obrázek",
- "HeaderFavoritePeople": "Oblíbení lidé",
"OptionRandom": "Náhodně",
"SelectAdminUsername": "Vyberte uživatelské jméno pro účet správce.",
"HeaderNavigation": "Navigace",
diff --git a/src/strings/da.json b/src/strings/da.json
index 36e8ebb90b..5ed9709722 100644
--- a/src/strings/da.json
+++ b/src/strings/da.json
@@ -1023,7 +1023,6 @@
"HeaderBranding": "Mærkning",
"HeaderContinueListening": "Fortsæt med At Høre",
"HeaderDownloadSync": "Hentning Og Sync",
- "HeaderFavoritePlaylists": "Favorit Afspilningslister",
"HeaderLibraryOrder": "Bibliotektsorden",
"HeaderMusicQuality": "Musik Kvalitet",
"HeaderMyMediaSmall": "Mine Medier (lille)",
@@ -1200,13 +1199,6 @@
"Watched": "Set",
"Whitelist": "Hvidliste",
"Yes": "Ja",
- "HeaderFavoriteMovies": "Favoritfilm",
- "HeaderFavoriteShows": "Favoritserier",
- "HeaderFavoriteEpisodes": "Favoritepisoder",
- "HeaderFavoriteAlbums": "Favoritalbummer",
- "HeaderFavoriteArtists": "Favoritkunstnere",
- "HeaderFavoriteSongs": "Favoritsange",
- "HeaderFavoriteVideos": "Favoritvideoer",
"LabelServerName": "Server navn:",
"LabelUserLoginAttemptsBeforeLockout": "Fejlede loginforsøg før bruger lukkes ude:",
"ButtonAddImage": "Tilføj billede",
@@ -1292,8 +1284,6 @@
"LabelAudioChannels": "Lyd kanaler:",
"LabelAudioBitrate": "Lyd bitrate:",
"LabelAudioBitDepth": "Lyd bitdybde:",
- "HeaderFavoritePeople": "Foretrukne Personer",
- "HeaderFavoriteBooks": "Foretrukne Bøger",
"FetchingData": "Henter yderligere data",
"Episode": "Afsnit",
"DeinterlaceMethodHelp": "Vælg hvilken konverteringsmulighed der skal bruges til transkodning af indhold.",
diff --git a/src/strings/de.json b/src/strings/de.json
index 2c764af1c3..37aacc9858 100644
--- a/src/strings/de.json
+++ b/src/strings/de.json
@@ -1199,14 +1199,6 @@
"Whitelist": "Erlaubt",
"AuthProviderHelp": "Wähle einen Authentifizierungsanbieter, der zur Authentifizierung des Passworts dieses Benutzers verwendet werden soll.",
"Features": "Funktionen",
- "HeaderFavoriteBooks": "Lieblingsbücher",
- "HeaderFavoriteMovies": "Lieblingsfilme",
- "HeaderFavoriteShows": "Lieblingsserien",
- "HeaderFavoriteEpisodes": "Lieblingsepisoden",
- "HeaderFavoriteAlbums": "Lieblingsalben",
- "HeaderFavoriteArtists": "Lieblings-Interpreten",
- "HeaderFavoriteSongs": "Lieblingslieder",
- "HeaderFavoriteVideos": "Lieblingsvideos",
"LabelAuthProvider": "Authentifizierungsanbieter:",
"LabelServerName": "Servername:",
"LabelTranscodePath": "Transkodierungspfad:",
@@ -1260,7 +1252,6 @@
"OptionList": "Liste",
"OptionBanner": "Banner",
"MusicVideo": "Musikvideo",
- "HeaderFavoritePeople": "Lieblingskünstler",
"MusicLibraryHelp": "Überprüfe den {0}Musikbenennungsguide{1}.",
"OptionRandom": "Zufällig",
"TabNetworking": "Netzwerk",
@@ -1309,7 +1300,6 @@
"UnsupportedPlayback": "Jellyfin kann keine DRM-geschützten Inhalte entschlüsseln, aber es wird versucht, alle Inhalte unabhängig davon zu entschlüsseln, einschließlich geschützter Titel. Einige Dateien können aufgrund der Verschlüsselung oder anderer nicht unterstützter Funktionen, wie z.B. interaktive Titel, komplett schwarz erscheinen.",
"Filter": "Filter",
"New": "Neu",
- "HeaderFavoritePlaylists": "Lieblings-Wiedergabeliste",
"ButtonTogglePlaylist": "Wiedergabeliste",
"ApiKeysCaption": "Liste der aktuell aktivierten API-Schlüssel",
"LabelStable": "Stable",
diff --git a/src/strings/el.json b/src/strings/el.json
index c79105c69c..9c8d72fb60 100644
--- a/src/strings/el.json
+++ b/src/strings/el.json
@@ -1004,8 +1004,6 @@
"HeaderRemoveMediaFolder": "Αφαίρεση Φακέλου Μέσων",
"HeaderIdentification": "Ταυτοποίηση",
"HeaderGuideProviders": "Πάροχοι Δεδομένων Προγράμματος Τηλεόρασης",
- "HeaderFavoriteVideos": "Αγαπημένα Βίντεο",
- "HeaderFavoriteMovies": "Αγαπημένες Ταινίες",
"HeaderDownloadSync": "Κατέβασμα & Συγχρονισμός",
"HeaderDeleteProvider": "Διαγραφή Παρόχου",
"HeaderConnectToServer": "Σύνδεση στον Διακομιστή",
@@ -1018,11 +1016,6 @@
"LabelTranscodePath": "Διαδρομή μετατροπών:",
"ColorPrimaries": "Πρωταρχικά χρώματα",
"ErrorGettingTvLineups": "Υπήρξε σφάλμα κατά την μεταφόρτωση του προγράμματος τηλεόρασης. Βεβαιωθείτε ότι οι πληροφορίες είναι σωστές και ξαναπροσπαθήστε.",
- "HeaderFavoriteSongs": "Αγαπημένα Τραγούδια",
- "HeaderFavoriteArtists": "Αγαπημένοι Καλλιτέχνες",
- "HeaderFavoriteAlbums": "Αγαπημένα Άλμπουμ",
- "HeaderFavoriteEpisodes": "Αγαπημένα Επεισόδια",
- "HeaderFavoriteShows": "Αγαπημένες Σειρές",
"AllowMediaConversion": "Να επιτρέπονται οι μετατροπές μέσων",
"EncoderPresetHelp": "Επιλέξτε γρηγορότερη επιλογή για να βελτιώσετε την επίδοση, ή πιο αργή για να βελτιώσετε την ποιότητα.",
"ErrorAddingXmlTvFile": "Υπήρξε σφάλμα κατά την πρόσβαση του αρχείου XmlTV. Βεβαιωθείτε ότι το αρχείο υπάρχει και ξαναπροσπαθήστε.",
diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json
index 3c20755a20..4a24ef697d 100644
--- a/src/strings/en-gb.json
+++ b/src/strings/en-gb.json
@@ -318,15 +318,6 @@
"HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent its data from being changed.",
"HeaderError": "Error",
"HeaderExternalIds": "External IDs:",
- "HeaderFavoriteBooks": "Favourite Books",
- "HeaderFavoriteMovies": "Favourite Movies",
- "HeaderFavoriteShows": "Favourite Shows",
- "HeaderFavoriteEpisodes": "Favourite Episodes",
- "HeaderFavoriteAlbums": "Favourite Albums",
- "HeaderFavoriteArtists": "Favourite Artists",
- "HeaderFavoriteSongs": "Favourite Songs",
- "HeaderFavoriteVideos": "Favourite Videos",
- "HeaderFavoritePlaylists": "Favourite Playlists",
"HeaderFeatureAccess": "Feature Access",
"HeaderFetchImages": "Fetch Images:",
"HeaderFetcherSettings": "Fetcher Settings",
@@ -1263,7 +1254,6 @@
"HeaderPlayAll": "Play All",
"HeaderPinCodeReset": "Reset Pin Code",
"HeaderPhotoAlbums": "Photo Albums",
- "HeaderFavoritePeople": "Favourite People",
"FetchingData": "Fetching additional data",
"ButtonAddImage": "Add Image",
"OptionRandom": "Random",
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index 16e07993cc..0593798b24 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -315,16 +315,6 @@
"HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent its data from being changed.",
"HeaderError": "Error",
"HeaderExternalIds": "External IDs:",
- "HeaderFavoriteBooks": "Favorite Books",
- "HeaderFavoriteMovies": "Favorite Movies",
- "HeaderFavoriteShows": "Favorite Shows",
- "HeaderFavoriteEpisodes": "Favorite Episodes",
- "HeaderFavoriteAlbums": "Favorite Albums",
- "HeaderFavoritePeople": "Favorite People",
- "HeaderFavoriteArtists": "Favorite Artists",
- "HeaderFavoriteSongs": "Favorite Songs",
- "HeaderFavoriteVideos": "Favorite Videos",
- "HeaderFavoritePlaylists": "Favorite Playlists",
"HeaderFeatureAccess": "Feature Access",
"HeaderFetchImages": "Fetch Images:",
"HeaderFetcherSettings": "Fetcher Settings",
diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json
index a4c80a4342..92a2b31c03 100644
--- a/src/strings/es-ar.json
+++ b/src/strings/es-ar.json
@@ -254,11 +254,6 @@
"Guide": "Guía",
"GuideProviderLogin": "Iniciar Sesión",
"GuideProviderSelectListings": "Seleccionar Listados",
- "HeaderFavoriteSongs": "Canciones favoritas",
- "HeaderFavoriteShows": "Programas favoritos",
- "HeaderFavoriteEpisodes": "Capítulos favoritos",
- "HeaderFavoriteArtists": "Artistas favoritos",
- "HeaderFavoriteAlbums": "Álbumes favoritos",
"Shows": "Programas",
"CopyStreamURLSuccess": "URL copiada con éxito.",
"CopyStreamURL": "Copiar URL de transmisión",
@@ -319,10 +314,6 @@
"HeaderCancelSeries": "Cancelar serie",
"H264CrfHelp": "El Factor de velocidad constante (CRF) es la configuración de calidad predeterminada para el codificador x264. Puede establecer los valores entre 0 y 51, donde valores más bajos resultarían en una mejor calidad (a expensas de tamaños de archivo más altos). Los valores correctos están entre 18 y 28. El valor predeterminado para x264 es 23, por lo que puede usar esto como punto de partida.",
"DeinterlaceMethodHelp": "Seleccione el método de desentrelazado que se usará al transcodificar contenido entrelazado.",
- "HeaderFavoriteVideos": "Videos favoritos",
- "HeaderFavoritePeople": "Gente favorita",
- "HeaderFavoriteMovies": "Películas Favoritas",
- "HeaderFavoriteBooks": "Libros favoritos",
"HeaderExternalIds": "IDs externos:",
"HeaderError": "Error",
"HeaderEnabledFields": "Campos habilitados",
@@ -371,7 +362,6 @@
"HeaderFetcherSettings": "Configuración del recuperador",
"HeaderFetchImages": "Obtener imágenes:",
"HeaderFeatureAccess": "Acceso a características",
- "HeaderFavoritePlaylists": "Listas de reproducción favoritas",
"ButtonTogglePlaylist": "Lista de reproducción",
"HeaderPlaybackError": "Error de reproducción",
"HeaderPlayback": "Reproducción de medios",
diff --git a/src/strings/es-mx.json b/src/strings/es-mx.json
index 3ed6f9a531..0906f4c613 100644
--- a/src/strings/es-mx.json
+++ b/src/strings/es-mx.json
@@ -1172,13 +1172,6 @@
"HeaderAdmin": "Administrador",
"HeaderApp": "Aplicación",
"HeaderError": "Error",
- "HeaderFavoriteMovies": "Películas favoritas",
- "HeaderFavoriteShows": "Programas favoritos",
- "HeaderFavoriteEpisodes": "Episodios favoritos",
- "HeaderFavoriteAlbums": "Álbumes favoritos",
- "HeaderFavoriteArtists": "Artistas favoritos",
- "HeaderFavoriteSongs": "Canciones favoritas",
- "HeaderFavoriteVideos": "Videos favoritos",
"HeaderVideos": "Videos",
"Horizontal": "Horizontal",
"LabelAuthProvider": "Proveedor de autenticación:",
@@ -1235,7 +1228,6 @@
"Vertical": "Vertical",
"OptionThumb": "Miniatura",
"OptionThumbCard": "Miniatura",
- "HeaderFavoriteBooks": "Libros favoritos",
"LabelPleaseRestart": "Los cambios tendrán efecto después de recargar manualmente el cliente web.",
"LabelPlayMethod": "Método de reproducción:",
"LabelPlayer": "Reproductor:",
@@ -1290,7 +1282,6 @@
"LabelPlayerDimensions": "Dimensiones del reproductor:",
"LabelCorruptedFrames": "Cuadros corruptos:",
"HeaderNavigation": "Navegación",
- "HeaderFavoritePeople": "Personas favoritas",
"Episode": "Episodio",
"ClientSettings": "Configuración del cliente",
"BoxSet": "Colección",
@@ -1308,7 +1299,6 @@
"New": "Nuevo",
"LabelLibraryPageSizeHelp": "Establece el número de elementos a mostrar en una página de biblioteca. Establece en 0 para deshabilitar el paginado.",
"LabelLibraryPageSize": "Tamaño de las páginas de las bibliotecas:",
- "HeaderFavoritePlaylists": "Listas de reproducción favoritas",
"ButtonTogglePlaylist": "Lista de reproducción",
"UnsupportedPlayback": "Jellyfin no puede desencriptar contenido protegido por DRM de todas formas todo el contenido será intentado, incluyendo los títulos protegidos. Algunos archivos pueden aparecer completamente en negro debido al encriptado o características no soportadas, como títulos interactivos.",
"SaveChanges": "Guardar cambios",
diff --git a/src/strings/es.json b/src/strings/es.json
index b4a55efe09..e3ce6b6641 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -1164,13 +1164,6 @@
"OptionIsHD": "HD",
"OptionIsSD": "SD",
"AuthProviderHelp": "Selecciona un proveedor de autenticación a utilizar para autenticar la contraseña de este usuario.",
- "HeaderFavoriteMovies": "Películas favoritas",
- "HeaderFavoriteShows": "Series favoritas",
- "HeaderFavoriteEpisodes": "Episodios favoritos",
- "HeaderFavoriteAlbums": "Álbumes favoritos",
- "HeaderFavoriteArtists": "Artistas favoritos",
- "HeaderFavoriteSongs": "Canciones favoritas",
- "HeaderFavoriteVideos": "Vídeos favoritos",
"LabelAuthProvider": "Proveedor de autenticación:",
"LabelPasswordResetProvider": "Proveedor de restablecimiento de contraseña:",
"LabelServerName": "Nombre del servidor:",
@@ -1256,12 +1249,10 @@
"LabelAudioChannels": "Canales de audio:",
"LabelAudioBitrate": "Bitrate de audio:",
"LabelAudioBitDepth": "Profundidad de bits de audio:",
- "HeaderFavoriteBooks": "Libros Favoritos",
"CopyStreamURLSuccess": "URL copiada correctamente.",
"MusicLibraryHelp": "Revisar la {0}guía de nombres de música{1}.",
"FetchingData": "Obteniendo datos adicionales",
"ButtonAddImage": "Añadir imagen",
- "HeaderFavoritePeople": "Gente favorita",
"OptionRandom": "Aleatorio",
"SelectAdminUsername": "Por favor seleccione un nombre de usuario para la cuenta administrador.",
"ButtonSplit": "Dividir",
@@ -1313,7 +1304,6 @@
"ButtonTogglePlaylist": "Lista de reproducción",
"Filter": "Filtro",
"New": "Nuevo",
- "HeaderFavoritePlaylists": "Lista reproducción favorita",
"ApiKeysCaption": "Lista de las claves API actuales",
"LabelStable": "Estable",
"LabelChromecastVersion": "Versión de Chromecast",
diff --git a/src/strings/es_419.json b/src/strings/es_419.json
index b5ab53a8a7..ae028eace1 100644
--- a/src/strings/es_419.json
+++ b/src/strings/es_419.json
@@ -6,11 +6,6 @@
"Playlists": "Listas de reproducción",
"Photos": "Fotos",
"Movies": "Películas",
- "HeaderFavoriteSongs": "Canciones favoritas",
- "HeaderFavoriteShows": "Programas favoritos",
- "HeaderFavoriteEpisodes": "Episodios favoritos",
- "HeaderFavoriteArtists": "Artistas favoritos",
- "HeaderFavoriteAlbums": "Álbumes favoritos",
"HeaderContinueWatching": "Continuar viendo",
"HeaderAlbumArtists": "Artistas del álbum",
"Genres": "Géneros",
@@ -1018,8 +1013,6 @@
"HeaderFetcherSettings": "Configuración del recolector",
"HeaderFetchImages": "Obtener imágenes:",
"HeaderFeatureAccess": "Acceso a características",
- "HeaderFavoritePlaylists": "Listas de reproducción favoritas",
- "HeaderFavoriteVideos": "Videos favoritos",
"LabelMetadataPath": "Ruta para los metadatos:",
"LabelMetadataDownloadersHelp": "Habilita y prioriza tus recolectores de metadatos preferidos. Los recolectores de metadatos de menor prioridad solo serán utilizados para llenar información faltante.",
"LabelMetadataDownloadLanguage": "Idioma preferido para las descargas:",
@@ -1058,9 +1051,6 @@
"LabelKodiMetadataEnableExtraThumbs": "Copiar extrafanart al campo extrathumbs",
"LabelKodiMetadataDateFormatHelp": "Todas las fechas dentro de los archivos NFO serán analizadas usando este formato.",
"LabelKodiMetadataDateFormat": "Formato de fecha de estreno:",
- "HeaderFavoritePeople": "Personas favoritas",
- "HeaderFavoriteMovies": "Películas favoritas",
- "HeaderFavoriteBooks": "Libros favoritos",
"HeaderExternalIds": "IDs externos:",
"HeaderError": "Error",
"HeaderEnabledFieldsHelp": "Desmarca un campo para bloquearlo y prevenir que sus datos sean cambiados.",
diff --git a/src/strings/fa.json b/src/strings/fa.json
index 104c5b3742..627dbb0218 100644
--- a/src/strings/fa.json
+++ b/src/strings/fa.json
@@ -87,11 +87,6 @@
"Folders": "پوشهها",
"Genres": "ژانرها",
"HeaderAlbumArtists": "هنرمندان آلبوم",
- "HeaderFavoriteShows": "سریالهای مورد علاقه",
- "HeaderFavoriteEpisodes": "قسمتهای مورد علاقه",
- "HeaderFavoriteAlbums": "آلبومهای مورد علاقه",
- "HeaderFavoriteArtists": "هنرمندان مورد علاقه",
- "HeaderFavoriteSongs": "آهنگهای مورد علاقه",
"Movies": "فیلمها",
"Photos": "عکسها",
"Playlists": "لیستهای پخش",
@@ -301,10 +296,6 @@
"HeaderForKids": "برای کودکان",
"HeaderFetchImages": "دریافت عکسها:",
"HeaderFeatureAccess": "دسترسیهای برجسته",
- "HeaderFavoriteVideos": "ویدیوهای مورد علاقه",
- "HeaderFavoritePeople": "افراد مورد علاقه",
- "HeaderFavoriteMovies": "فیلمهای مورد علاقه",
- "HeaderFavoriteBooks": "کتابهای مورد علاقه",
"HeaderExternalIds": "ID های خارجی:",
"HeaderError": "خطا",
"HeaderEnabledFieldsHelp": "یک فیلد را برای جلوگیری از تغییر در دادهی آن علامت بزنید تا قفل بشود.",
@@ -1109,7 +1100,6 @@
"HeaderContainerProfileHelp": "Container profiles indicate the limitations of a device when playing specific formats. If a limitation applies then the media will be transcoded, even if the format is configured for direct play.",
"HeaderContinueListening": "Continue Listening",
"HeaderDVR": "DVR",
- "HeaderFavoritePlaylists": "Favorite Playlists",
"HeaderHttpsSettings": "HTTPS Settings",
"HeaderNavigation": "Navigation",
"HeaderProfileServerSettingsHelp": "These values control how Jellyfin Server will present itself to the device.",
diff --git a/src/strings/fi.json b/src/strings/fi.json
index 3d2b543533..43bd938652 100644
--- a/src/strings/fi.json
+++ b/src/strings/fi.json
@@ -197,11 +197,6 @@
"CopyStreamURL": "Kopioi Toiston Osoite",
"ButtonAddImage": "Lisää kuva",
"Movies": "Elokuvat",
- "HeaderFavoriteSongs": "Lempikappaleet",
- "HeaderFavoriteShows": "Lempisarjat",
- "HeaderFavoriteEpisodes": "Lempijaksot",
- "HeaderFavoriteArtists": "Lempiartistit",
- "HeaderFavoriteAlbums": "Lempialbumit",
"HeaderContinueWatching": "Jatka katsomista",
"HeaderAlbumArtists": "Albumin esittäjä",
"Genres": "Tyylilajit",
@@ -393,10 +388,6 @@
"HeaderLoginFailure": "Kirjautumisvirhe",
"HeaderIdentifyItemHelp": "Anna yksi tai useampi hakukriteeri. Poista kriteerejä lisätäksesi hakutuloksia.",
"HeaderIdentificationCriteriaHelp": "Lisää ainakin yksi tunnistuskriteeri.",
- "HeaderFavoriteVideos": "Suosikkivideot",
- "HeaderFavoritePeople": "Suosikki-ihmiset",
- "HeaderFavoriteMovies": "Suosikkielokuvat",
- "HeaderFavoriteBooks": "Suosikkikirjat",
"HeaderExternalIds": "Ulkoiset IDt:",
"HeaderDirectPlayProfile": "Suoratoistoprofiili",
"HeaderEasyPinCode": "Helppo PIN-koodi",
@@ -951,7 +942,6 @@
"HeaderLiveTvTunerSetup": "Live-TV virittimen määritys",
"HeaderLibrarySettings": "Kirjaston asetukset",
"HeaderGuideProviders": "TV-ohjelmaoppaiden tarjoajat",
- "HeaderFavoritePlaylists": "Suosikki soittolistat",
"HeaderEnabledFields": "Käytössä olevat kentät",
"HeaderCodecProfile": "Codec-profiili",
"HeaderContainerProfile": "Säiliöprofiili",
diff --git a/src/strings/fr-ca.json b/src/strings/fr-ca.json
index 455c068762..c58d0ecaaa 100644
--- a/src/strings/fr-ca.json
+++ b/src/strings/fr-ca.json
@@ -156,11 +156,6 @@
"AlbumArtist": "Artiste de l'Album",
"Album": "Album",
"AuthProviderHelp": "Sélectionner un fournisseur d'authentification pour authentifier le mot de passe de cet utilisateur.",
- "HeaderFavoriteSongs": "Chansons favorites",
- "HeaderFavoriteShows": "Séries favorites",
- "HeaderFavoriteEpisodes": "Épisodes favoris",
- "HeaderFavoriteArtists": "Artistes favoris",
- "HeaderFavoriteAlbums": "Albums favoris",
"ButtonSyncPlay": "SyncPlay",
"Default": "Défaut",
"DeathDateValue": "Mort: {0}",
diff --git a/src/strings/fr.json b/src/strings/fr.json
index 9ce7b26520..9a5715b8a4 100644
--- a/src/strings/fr.json
+++ b/src/strings/fr.json
@@ -1195,13 +1195,6 @@
"ValueMinutes": "{0} min",
"ValueOneAlbum": "1 album",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
- "HeaderFavoriteMovies": "Films favoris",
- "HeaderFavoriteShows": "Séries favorites",
- "HeaderFavoriteEpisodes": "Épisodes favoris",
- "HeaderFavoriteAlbums": "Albums favoris",
- "HeaderFavoriteArtists": "Artistes préférés",
- "HeaderFavoriteSongs": "Chansons préférées",
- "HeaderFavoriteVideos": "Vidéos préférées",
"LabelServerName": "Nom du serveur :",
"DashboardVersionNumber": "Version : {0}",
"DashboardServerName": "Serveur : {0}",
@@ -1255,12 +1248,10 @@
"LabelAudioSampleRate": "Taux d’échantillonnage audio :",
"LabelAudioCodec": "Codec audio :",
"LabelAudioChannels": "Canaux audio :",
- "HeaderFavoriteBooks": "Livres préférés",
"FetchingData": "Récupérer des données supplémentaires",
"CopyStreamURLSuccess": "URL copiée avec succès.",
"CopyStreamURL": "Copier l'URL du flux",
"LabelBaseUrlHelp": "Ajoute un sous-répertoire personnalisé à l'adresse URL du serveur. Par exemple : http://exemple.com/<baseurl>
",
- "HeaderFavoritePeople": "Personnes préférées",
"OptionRandom": "Aléatoire",
"ButtonSplit": "Séparer",
"SelectAdminUsername": "Veuillez choisir un nom d'utilisateur pour le compte administrateur.",
@@ -1310,7 +1301,6 @@
"ButtonTogglePlaylist": "Liste de lecture",
"Filter": "Filtre",
"New": "Nouveau",
- "HeaderFavoritePlaylists": "Listes de lecture favorites",
"LabelChromecastVersion": "Version de Chromecast",
"LabelEnableHttpsHelp": "Écouter les requêtes HTTPS sur le port configuré. Un certificat valide doit être fourni pour permettre ce mode de fonctionnement.",
"LabelEnableHttps": "Activer HTTPS",
diff --git a/src/strings/gsw.json b/src/strings/gsw.json
index 06ea542d33..21bf0bd51b 100644
--- a/src/strings/gsw.json
+++ b/src/strings/gsw.json
@@ -93,11 +93,6 @@
"Genres": "Genres",
"HeaderAlbumArtists": "Album-Künstler",
"HeaderContinueWatching": "weiter schauen",
- "HeaderFavoriteAlbums": "Lieblingsalben",
- "HeaderFavoriteArtists": "Lieblings-Künstler",
- "HeaderFavoriteEpisodes": "Lieblingsepisoden",
- "HeaderFavoriteShows": "Lieblingsserien",
- "HeaderFavoriteSongs": "Lieblingslieder",
"Movies": "Film",
"Photos": "Fotis",
"Playlists": "Wedergabeliste",
diff --git a/src/strings/he.json b/src/strings/he.json
index babf0da43e..c2c39fb973 100644
--- a/src/strings/he.json
+++ b/src/strings/he.json
@@ -444,12 +444,7 @@
"Yesterday": "אתמול",
"HeaderAlbumArtists": "אמני האלבום",
"Favorites": "מועדפים",
- "HeaderFavoriteAlbums": "אלבומים מועדפים",
- "HeaderFavoriteArtists": "אמנים מועדפים",
"Folders": "תיקיות",
- "HeaderFavoriteShows": "תוכניות מועדפות",
- "HeaderFavoriteEpisodes": "פרקים מועדפים",
- "HeaderFavoriteSongs": "שירים מועדפים",
"Collections": "אוספים",
"Channels": "ערוצים",
"HeaderContinueWatching": "המשך לצפות",
@@ -521,10 +516,6 @@
"HeaderInstall": "התקנה",
"HeaderImageOptions": "הגדרות תמונה",
"HeaderForKids": "עבור ילדים",
- "HeaderFavoriteVideos": "סרטונים מועדפים",
- "HeaderFavoritePeople": "אנשים מועדפים",
- "HeaderFavoriteMovies": "סרטים מועדפים",
- "HeaderFavoriteBooks": "ספרים מועדפים",
"HeaderError": "שגיאה",
"HeaderDownloadSync": "הורדה וסנכרון",
"HeaderDevices": "מכשירים",
diff --git a/src/strings/hr.json b/src/strings/hr.json
index 43f249fd83..57222052e9 100644
--- a/src/strings/hr.json
+++ b/src/strings/hr.json
@@ -866,11 +866,6 @@
"Songs": "Pjesme",
"Shows": "Serije",
"Photos": "Slike",
- "HeaderFavoriteSongs": "Omiljene pjesme",
- "HeaderFavoriteArtists": "Omiljeni izvođači",
- "HeaderFavoriteAlbums": "Omiljeni albumi",
- "HeaderFavoriteEpisodes": "Omiljene epizode",
- "HeaderFavoriteShows": "Omiljene serije",
"HeaderContinueWatching": "Nastavi gledati",
"HeaderAlbumArtists": "Izvođači na albumu",
"Folders": "Mape",
@@ -1015,9 +1010,6 @@
"HeaderNavigation": "Navigacija",
"HeaderMyDevice": "Moj uređaj",
"HeaderLibrarySettings": "Postavke biblioteke",
- "HeaderFavoritePeople": "Omiljeni ljudi",
- "HeaderFavoriteMovies": "Omiljeni filmovi",
- "HeaderFavoriteBooks": "Omiljene knjige",
"HeaderDVR": "DVR",
"HeaderDownloadSync": "Preuzmi i sinkroniziraj",
"HeaderContinueListening": "Nastavi slušati",
diff --git a/src/strings/hu.json b/src/strings/hu.json
index 5f4bbcf460..1400576dd2 100644
--- a/src/strings/hu.json
+++ b/src/strings/hu.json
@@ -1114,7 +1114,6 @@
"MessageNoServersAvailable": "Az automatikus kiszolgálókeresés nem talált szervert.",
"OptionLoginAttemptsBeforeLockout": "Meghatározza, hogy hány érvénytelen bejelentkezési kísérlet történhet zárolás előtt.",
"TabNetworking": "Hálózat",
- "HeaderFavoriteArtists": "Kedvenc előadók",
"SmallCaps": "Kiskapitális",
"AllowOnTheFlySubtitleExtractionHelp": "A beágyazott feliratokat ki lehet nyerni a videókból és elküldeni az alkalmazásoknak sima szöveg formátumba, hogy ne legyen átkódolás. Néhány eszközön ez hosszú ideig is eltarthat, valamint a videó lejátszás megakadhat az eltávolítási folyamat futása közben. Ezt kikapcsolva a beágyazott feliratok videó átkódolással beégetésre kerülnek azon kliens eszközökre melyek nem támogatják a külső feliratokat.",
"Art": "ClearArt",
@@ -1132,12 +1131,6 @@
"HeaderBranding": "Személyes arculat",
"HeaderContinueListening": "Folyamatban lévő zenék",
"HeaderDeleteTaskTrigger": "Feladatvezérlő törlése",
- "HeaderFavoriteMovies": "Kedvenc Filmek",
- "HeaderFavoriteShows": "Kedvenc sorozatok",
- "HeaderFavoriteEpisodes": "Kedvenc epizódok",
- "HeaderFavoriteAlbums": "Kedvenc albumok",
- "HeaderFavoriteSongs": "Kedvenc dalok",
- "HeaderFavoriteVideos": "Kedvenc Videók",
"HeaderGuideProviders": "TV műsorújság Szolgáltatók",
"HeaderUpcomingOnTV": "Következő TV műsorok",
"ImportFavoriteChannelsHelp": "Csak a tuner eszközön kedvencként megjelölt csatornák kerülnek importálásra.",
@@ -1178,7 +1171,6 @@
"LabelAudioChannels": "Audió csatorna:",
"LabelAudioBitrate": "Audió bitráta:",
"LabelAudioBitDepth": "Audió bitmélység:",
- "HeaderFavoriteBooks": "Kedvenc Könyvek",
"CopyStreamURLSuccess": "URL másolása sikeres.",
"CopyStreamURL": "Stream URL másolása",
"PlaybackData": "Lejátszási adatok",
@@ -1199,7 +1191,6 @@
"LabelNumberOfGuideDays": "Előre letöltött műsorújságbeli napok száma:",
"LabelFolder": "Mappa:",
"HeaderNavigation": "Navigáció",
- "HeaderFavoritePeople": "Kedvenc emberek",
"HeaderApp": "Alkalmazás",
"GroupVersions": "Verziók csoportosítása",
"OptionSubstring": "Szövegrészlet",
@@ -1310,7 +1301,6 @@
"ButtonTogglePlaylist": "Lejátszási listák",
"Filter": "Szűrés",
"New": "Új",
- "HeaderFavoritePlaylists": "Kedvenc lejátszási listák",
"ApiKeysCaption": "A jelenleg engedélyezett API kulcsok listája",
"LabelStable": "Stabil",
"LabelChromecastVersion": "Chromecast verzió",
diff --git a/src/strings/id.json b/src/strings/id.json
index 2a3b6ddb10..41d30178c8 100644
--- a/src/strings/id.json
+++ b/src/strings/id.json
@@ -31,11 +31,6 @@
"Books": "Buku",
"Favorites": "Favorit",
"Genres": "Genre",
- "HeaderFavoriteSongs": "Lagu Favorit",
- "HeaderFavoriteAlbums": "Album Favorit",
- "HeaderFavoriteArtists": "Artis Favorit",
- "HeaderFavoriteEpisodes": "Episode Favorit",
- "HeaderFavoriteShows": "Tayangan Favorit",
"HeaderAlbumArtists": "Album Artis",
"HeaderContinueWatching": "Lanjutkan Menonton",
"Artists": "Artis",
diff --git a/src/strings/is-is.json b/src/strings/is-is.json
index f6cefc3d81..7c8757e141 100644
--- a/src/strings/is-is.json
+++ b/src/strings/is-is.json
@@ -46,12 +46,7 @@
"PinCodeResetConfirmation": "Ertu viss um að þú viljir endursetja pin kóðann þinn?",
"HeaderAlbumArtists": "Höfundur plötu",
"HeaderContinueWatching": "Halda áfram að horfa",
- "HeaderFavoriteAlbums": "Uppáhalds Plötur",
"Favorites": "Uppáhalds",
- "HeaderFavoriteEpisodes": "Uppáhalds Þættir",
- "HeaderFavoriteShows": "Uppáhalds Sjónvarpsþættir",
- "HeaderFavoriteArtists": "Uppáhalds Listamenn",
- "HeaderFavoriteSongs": "Uppáhalds Lög",
"Play": "Spila",
"Folders": "Möppur",
"OptionSubstring": "Undirstrengur",
@@ -137,8 +132,6 @@
"HeaderPassword": "Lykilorð",
"HeaderLatestMovies": "Kvikmyndir, nýlega bætt við",
"HeaderLatestEpisodes": "Þættir, nýlega bætt við",
- "HeaderFavoriteVideos": "Uppáhalds Myndbönd",
- "HeaderFavoriteMovies": "Uppáhalds Kvikmyndir",
"HeaderError": "Villa",
"HeaderDownloadSync": "Sækja og Samstilla",
"HeaderDeleteDevice": "Eyða Tæki",
@@ -232,7 +225,6 @@
"RemoveFromPlaylist": "Fjarlægja úr spilunarlista",
"RemoveFromCollection": "Fjarlægja úr safni",
"HeaderHttpsSettings": "HTTPS Stillingar",
- "HeaderFavoriteBooks": "Uppáhalds Bækur",
"HeaderEditImages": "Breyta ljósmyndum",
"HeaderContinueListening": "Halda áfram að hlusta",
"ChannelNumber": "Númer rásar",
@@ -250,8 +242,6 @@
"HeaderAlert": "Viðvörun",
"HeaderAppearsOn": "Birtist á",
"HeaderDetectMyDevices": "Finna tækin mín",
- "HeaderFavoritePeople": "Uppáhalds Fólk",
- "HeaderFavoritePlaylists": "Uppáhalds spilunarlistar",
"HeaderForKids": "Fyrir Krakka",
"HeaderFrequentlyPlayed": "Oft Spilað",
"HeaderLatestMusic": "Tónlist, nýlega bætt við",
diff --git a/src/strings/it.json b/src/strings/it.json
index 4f9b7947dc..959e67722f 100644
--- a/src/strings/it.json
+++ b/src/strings/it.json
@@ -1137,13 +1137,6 @@
"HeaderMedia": "Media",
"HeaderPassword": "Password",
"AuthProviderHelp": "Selezionare un provider di autenticazione da utilizzare per autenticare la password dell'utente.",
- "HeaderFavoriteMovies": "Film Preferiti",
- "HeaderFavoriteShows": "Serie TV Preferite",
- "HeaderFavoriteEpisodes": "Episodi Preferiti",
- "HeaderFavoriteAlbums": "Album Preferiti",
- "HeaderFavoriteArtists": "Artisti Preferiti",
- "HeaderFavoriteSongs": "Brani Preferiti",
- "HeaderFavoriteVideos": "Video Preferiti",
"HeaderFetcherSettings": "Impostazioni del Fetcher",
"HeaderImageOptions": "Opzioni Immagine",
"Home": "Home",
@@ -1155,7 +1148,6 @@
"FetchingData": "Recupero di dati aggiuntivi",
"LabelServerHost": "Host:",
"LabelServerHostHelp": "192.168.1.100:8096 o https://myserver.com",
- "HeaderFavoriteBooks": "Libri Preferiti",
"HeaderTypeImageFetchers": "{0} Sorgenti Immagini",
"LabelFolder": "Cartella:",
"LabelTag": "Tag:",
@@ -1205,7 +1197,6 @@
"OptionProfileVideoAudio": "Video Audio",
"LabelFont": "Font:",
"HeaderIdentificationHeader": "Header di Identificazione",
- "HeaderFavoritePeople": "Persone Preferite",
"LabelAudioChannels": "Canali audio:",
"LabelAudioSampleRate": "Frequenza di campionamento audio:",
"LabelAuthProvider": "Provider di Autenticazione:",
@@ -1308,7 +1299,6 @@
"AlbumArtist": "Artisti dell'Album",
"UnsupportedPlayback": "Jellyfin non è in grado di decriptare i contenuti protetti da DRM ma tutti i contenuti verranno tentati a prescindere, compresi quelli protetti. Alcuni file potrebbero apparire completamente neri a causa della crittografia o di altre funzionalità non supportate, come i titoli interattivi.",
"ButtonTogglePlaylist": "Playlist",
- "HeaderFavoritePlaylists": "Playlist Favorite",
"Filter": "Filtro",
"New": "Nuovo",
"ApiKeysCaption": "Elenco chiavi API abilitate",
diff --git a/src/strings/ja.json b/src/strings/ja.json
index ec4a9f3b73..ce9a790c22 100644
--- a/src/strings/ja.json
+++ b/src/strings/ja.json
@@ -297,13 +297,6 @@
"HeaderEnabledFieldsHelp": "フィールドをオフにしてロックし、データが変更されないようにします。",
"HeaderError": "エラー",
"HeaderExternalIds": "外部ID:",
- "HeaderFavoriteMovies": "お気に入りのムービー",
- "HeaderFavoriteShows": "お気に入りの番組",
- "HeaderFavoriteEpisodes": "お気に入りのエピソード",
- "HeaderFavoriteAlbums": "お気に入りのアルバム",
- "HeaderFavoriteArtists": "お気に入りのアーティスト",
- "HeaderFavoriteSongs": "お気に入りの曲",
- "HeaderFavoriteVideos": "お気に入りのビデオ",
"HeaderFeatureAccess": "機能へのアクセス",
"HeaderFetchImages": "画像を取得する:",
"HeaderFetcherSettings": "フェッチャー設定",
@@ -535,7 +528,6 @@
"LabelFont": "フォント:",
"LabelNumber": "数:",
"FetchingData": "追加のデータを取得中",
- "HeaderFavoriteBooks": "お気に入りのブック",
"OneChannel": "1チャンネル",
"ValueContainer": "コンテナ: {0}",
"ImportFavoriteChannelsHelp": "チューナーでのお気に入りのチャンネルのみインポートされます。",
@@ -705,7 +697,6 @@
"HttpsRequiresCert": "セキュア接続のためLet's Encryptなどの信頼できるSSL認証書が必要です。認証書を用意するか、セキュア接続を無効にしてください。",
"LabelAbortedByServerShutdown": "(サーバーのシャットダウンにより中断)",
"LabelAudioSampleRate": "音声サンプルレート:",
- "HeaderFavoritePeople": "お気に入りの俳優",
"LabelFileOrUrl": "ファイル又はURL:",
"LabelHardwareAccelerationTypeHelp": "ハードウェアアクセラレーションを利用するには追加設定が必要です。",
"LabelHomeNetworkQuality": "ホームネットワーク品質:",
@@ -996,7 +987,6 @@
"HeaderServerAddressSettings": "サーバー アドレス設定",
"HeaderRemoteAccessSettings": "リモート接続設定",
"HeaderHttpsSettings": "HTTPS 設定",
- "HeaderFavoritePlaylists": "お気に入りのプレイリスト",
"HeaderDVR": "DVR",
"ApiKeysCaption": "現在有効にしている API キー一覧",
"EnableDetailsBannerHelp": "項目の詳細ページのトップに、バナー画像を表示します。",
diff --git a/src/strings/kk.json b/src/strings/kk.json
index f40a0b8d0f..5d5db6dae2 100644
--- a/src/strings/kk.json
+++ b/src/strings/kk.json
@@ -1192,13 +1192,6 @@
"MessageImageTypeNotSelected": "Sýret túrin ashylmaly mázirden tandańyz.",
"OptionResElement": "res elementi",
"AuthProviderHelp": "Osy paıdalanýshynyń parólin rastaý úshin paıdalanylatyn túpnusqalyq rastama jetkizýshisin bólekteńiz.",
- "HeaderFavoriteMovies": "Tańdaýly fılmder",
- "HeaderFavoriteShows": "Tańdaýly kórsetimder",
- "HeaderFavoriteEpisodes": "Tańdaýly bólimder",
- "HeaderFavoriteAlbums": "Tańdaýly álbomdar",
- "HeaderFavoriteArtists": "Tańdaýly oryndaýshylar",
- "HeaderFavoriteSongs": "Tańdaýly áýender",
- "HeaderFavoriteVideos": "Tandaýly beıneler",
"LabelAuthProvider": "Túpnusqalyq rastamasyn jetkizýshi:",
"LabelPasswordResetProvider": "Paróldi ysyrý jetkizýshisi:",
"LabelServerName": "Server aty:",
@@ -1236,7 +1229,6 @@
"PlaybackData": "Oınatý derekteri",
"SubtitleOffset": "Sýbtıtrler yǵysýy",
"TabNetworking": "Jelilik jumys",
- "HeaderFavoriteBooks": "Tańdaýly kitaptar",
"LabelBaseUrlHelp": "Serverdiń URL-mekenjaıyna jeke ishki katalogty qosady. Mysaly: http://example.com/<baseurl>
",
"MoreMediaInfo": "Tasyǵyshderekter týraly",
"LabelVideoCodec": "Beınelik kodek:",
@@ -1260,7 +1252,6 @@
"FetchingData": "Qosymsha derekterdi shyǵaryp alý",
"ButtonAddImage": "Sýret ústeý",
"MusicLibraryHelp": "{0}Mýzyka ataý nusqaýlyǵyn{1} qarap shyǵý.",
- "HeaderFavoritePeople": "Tańdaýly adamdar",
"NoCreatedLibraries": "Eshqandaı tasyǵyshhanany jasamaǵanyńyz sıaqty. {0}Qazir bireýin jasaısyz ba?{1}",
"SelectAdminUsername": "Ákimshi tirkelgisi úshin paıdalanýshy atyn tańdańyz.",
"OptionRandom": "Kezdeısoq",
@@ -1322,7 +1313,6 @@
"HeaderServerAddressSettings": "Server mekenjaıy parametrleri",
"HeaderRemoteAccessSettings": "Qashyqtan qatynaý parametrleri",
"HeaderHttpsSettings": "HTTPS parametrleri",
- "HeaderFavoritePlaylists": "Tańdaýly oınatý tizimder",
"HeaderDVR": "DVR",
"ButtonSyncPlay": "SyncPlay"
}
diff --git a/src/strings/ko.json b/src/strings/ko.json
index 309a114c92..0326d8da45 100644
--- a/src/strings/ko.json
+++ b/src/strings/ko.json
@@ -642,11 +642,6 @@
"Folders": "폴더",
"Genres": "장르",
"HeaderAlbumArtists": "앨범 아티스트",
- "HeaderFavoriteShows": "즐겨찾는 쇼",
- "HeaderFavoriteEpisodes": "즐겨찾는 에피소드",
- "HeaderFavoriteAlbums": "즐겨찾는 앨범",
- "HeaderFavoriteArtists": "즐겨찾는 아티스트",
- "HeaderFavoriteSongs": "즐겨찾는 노래",
"Movies": "영화",
"Photos": "사진",
"Playlists": "재생목록",
@@ -684,8 +679,6 @@
"Browse": "탐색",
"ButtonFullscreen": "전체 화면",
"HeaderExternalIds": "외부 ID:",
- "HeaderFavoriteMovies": "즐겨찾는 영화",
- "HeaderFavoriteVideos": "즐겨찾는 동영상",
"LabelDropImageHere": "이미지를 여기 드롭하거나 클릭하여 찾아보십시오.",
"ConfirmDeleteImage": "이미지를 제거하시겠습니까?",
"CommunityRating": "커뮤니티 평점",
@@ -929,7 +922,6 @@
"HeaderMusicQuality": "음악 퀄리티",
"HeaderImageOptions": "이미지 옵션",
"HeaderHttpHeaders": "HTTP 헤더",
- "HeaderFavoriteBooks": "즐겨찾는 도서",
"HeaderEditImages": "이미지 수정",
"HeaderDownloadSync": "다운로드 & 동기화",
"MessageYouHaveVersionInstalled": "현재 버전 {0}이 설치되어있습니다.",
@@ -1122,7 +1114,6 @@
"HeaderPlayOn": "여기부터 재생",
"HeaderNavigation": "탐색",
"HeaderKeepSeries": "시리즈 유지",
- "HeaderFavoritePeople": "즐겨찾는 인물",
"HeaderEnabledFieldsHelp": "데이터 변경을 방지하고 잠그기 위해서는 필드를 비활성화하십시오.",
"HeaderEnabledFields": "활성화된 필드",
"HeaderDirectPlayProfileHelp": "디바이스가 원본 재생할 수 있는 파일 형식을 표시하기 위해 다이렉트 재생 프로파일을 추가합니다.",
@@ -1238,7 +1229,6 @@
"NoSubtitlesHelp": "자막을 자동으로 불러오지 않습니다. 재생 중에 수동으로 켤 수 있습니다.",
"MusicLibraryHelp": "{0}음악 이름 지정 규칙{1}을 확인하십시오.",
"MovieLibraryHelp": "{0}영화 이름 지정 규칙{1}을 확인하십시오.",
- "HeaderFavoritePlaylists": "즐겨찾는 플레이리스트",
"ButtonTogglePlaylist": "플레이리스트",
"Rate": "평",
"PerfectMatch": "정확히 일치",
diff --git a/src/strings/lt-lt.json b/src/strings/lt-lt.json
index 92f306e01e..04bd347f32 100644
--- a/src/strings/lt-lt.json
+++ b/src/strings/lt-lt.json
@@ -496,8 +496,6 @@
"Favorites": "Mėgstami",
"Folders": "Katalogai",
"HeaderAlbumArtists": "Albumo atlikėjai",
- "HeaderFavoriteAlbums": "Mėgstami Albumai",
- "HeaderFavoriteArtists": "Mėgstami Atlikėjai",
"AddedOnValue": "Pridėtas {0}",
"AirDate": "Išleidimo data",
"Aired": "Išleista",
@@ -575,7 +573,6 @@
"DefaultSubtitlesHelp": "Subtitrai įkeliami atsižvelgiant į numatytuosius ir priverstinius žymenis įterptuose metaduomenyse. Kalbos nustatymai įvertinami, kai yra keletas variantų.",
"HeaderDeleteProvider": "Ištrinti paslaugos teikėją",
"HeaderDeleteTaskTrigger": "Ištrinti užduoties trigerį",
- "HeaderFavoriteVideos": "Mėgstami video įrašai",
"Absolute": "Visiškas",
"HeaderCastAndCrew": "Aktoriai",
"Shows": "Laidos",
@@ -600,7 +597,6 @@
"Episodes": "Serijos",
"HeaderBranding": "Įforminimas",
"HeaderCodecProfile": "Kodeko profilis",
- "HeaderFavoritePeople": "Mėgstami žmonės",
"HeaderForKids": "Vaikams",
"HeaderGuideProviders": "TV gido informacijos teikėjai",
"HeaderIdentification": "Identifikacija",
@@ -612,12 +608,7 @@
"HeaderDateIssued": "Išdavimo data",
"HeaderDefaultRecordingSettings": "Numatytieji įrašymo nustatymai",
"HeaderDetectMyDevices": "Rasti mano prietaisus",
- "HeaderFavoriteBooks": "Mėgstamiausios knygos",
- "HeaderFavoriteMovies": "Mėgstamiausi filmai",
- "HeaderFavoriteShows": "Mėgstamiausi serialai",
- "HeaderFavoriteEpisodes": "Mėgstamiausios serijos",
"Photos": "Nuotraukos",
- "HeaderFavoriteSongs": "Mėgstamos dainos",
"HeaderImageOptions": "Vaizdo parinktys",
"HeaderInstall": "Diegti",
"HeaderApiKeysHelp": "Išorinėms programoms reikalingas API raktas norint prisijungti prie Jellyfin serverio. Raktai išduodami prisijungus prie Jellyfin paskyros, arba raktas į programą suteikimas rankiniu būdu.",
@@ -851,7 +842,6 @@
"HeaderSelectPath": "Išrinkti kelią",
"LabelCorruptedFrames": "Sugadinti kadrai:",
"HeaderNavigation": "Navigacija",
- "HeaderFavoritePlaylists": "Mėgstami Grojaraščiai",
"ApiKeysCaption": "Įjungtų API raktų sąrašas",
"Episode": "Episodas",
"ClientSettings": "Kliento Nustatymai",
diff --git a/src/strings/lv.json b/src/strings/lv.json
index f9039cd2e0..061f9a130a 100644
--- a/src/strings/lv.json
+++ b/src/strings/lv.json
@@ -1,10 +1,5 @@
{
"Absolute": "Absolūts",
- "HeaderFavoriteSongs": "Dziesmu Favorīti",
- "HeaderFavoriteShows": "Raidījumu Favorīti",
- "HeaderFavoriteEpisodes": "Episožu Favorīti",
- "HeaderFavoriteArtists": "Izpildītāju Favorīti",
- "HeaderFavoriteAlbums": "Albumu Favorīti",
"MusicArtist": "Mūzikas Izpildītājs",
"MusicAlbum": "Mūzikas Albums",
"Movies": "Filmas",
@@ -297,7 +292,6 @@
"HeaderGuideProviders": "TV Gida Datu Nodrošinātāji",
"HeaderFrequentlyPlayed": "Bieži Atskaņots",
"HeaderForKids": "Priekš Bērniem",
- "HeaderFavoriteVideos": "Video Favorīti",
"MediaInfoPath": "Ceļš",
"MediaInfoLevel": "Līmenis",
"MediaInfoLayout": "Izkārtojums",
@@ -324,9 +318,6 @@
"LabelffmpegPath": "FFmped ceļš:",
"LabelZipCode": "Zip Kods:",
"LabelYoureDone": "Esi pabeidzis!",
- "HeaderFavoritePeople": "Cilvēku Favorīti",
- "HeaderFavoriteMovies": "Filmu Favorīti",
- "HeaderFavoriteBooks": "Grāmatu Favorīti",
"HeaderExternalIds": "Ārējie ID:",
"HeaderError": "Kļūda",
"HeaderEditImages": "Rediģēt Attēlus",
@@ -959,7 +950,6 @@
"LabelAirsAfterSeason": "Tiešraidē pēc sezonas:",
"HeaderSubtitleProfilesHelp": "Subtitru profili apraksta ierīces atbalstītos subtitru formātus.",
"HeaderKeepSeries": "Paturēt Sēriju",
- "HeaderFavoritePlaylists": "Atskaņošanas Sarakstu Favorīti",
"ApiKeysCaption": "Saraksts ar pašlaik iespējotajām API atslēgām",
"EncoderPresetHelp": "Izvēlies ātrāku vērtību lai uzlabotu veiktspēju, vai lēnāku vērtību lai uzlabotu kvalitāti.",
"FetchingData": "Iegūst papildu datus",
diff --git a/src/strings/ms.json b/src/strings/ms.json
index d2364510ce..a8755792a8 100644
--- a/src/strings/ms.json
+++ b/src/strings/ms.json
@@ -84,11 +84,6 @@
"Channels": "Saluran",
"ButtonSyncPlay": "SyncPlay",
"Movies": "Filem",
- "HeaderFavoriteSongs": "Lagu-lagu Kegemaran",
- "HeaderFavoriteShows": "Rancangan-rancangan Kegemaran",
- "HeaderFavoriteEpisodes": "Episod-episod Kegemaran",
- "HeaderFavoriteArtists": "Artis-artis Kegemaran",
- "HeaderFavoriteAlbums": "Album-album Kegemaran",
"HeaderAlbumArtists": "Album Artis-artis",
"Folders": "Fail-fail",
"Favorites": "Kegemaran"
diff --git a/src/strings/nb.json b/src/strings/nb.json
index e234b310f9..861349f60a 100644
--- a/src/strings/nb.json
+++ b/src/strings/nb.json
@@ -1031,7 +1031,6 @@
"Option3D": "3D",
"Filters": "Filtre",
"HeaderExternalIds": "Eksterne IDer:",
- "HeaderFavoriteVideos": "Favorittvideoer",
"HeaderFetcherSettings": "Henteinnstillinger",
"TabServer": "Server",
"TabStreaming": "Strømming",
@@ -1075,7 +1074,6 @@
"Thumb": "Miniatyrbilde",
"OptionBluray": "Blu-Ray",
"HeaderAlbumArtists": "Albumartister",
- "HeaderFavoriteShows": "Favorittserier",
"MusicLibraryHelp": "Se igjennom {0}veiledningen for navngivelse av musikk{1}.",
"LabelAudioBitDepth": "Bitdybde for lyd:",
"LabelAudioBitrate": "Bithastighet for lyd:",
@@ -1122,12 +1120,6 @@
"HeaderBlockItemsWithNoRating": "Blokker elementer med manglende eller ukjent aldersgrense:",
"HeaderChapterImages": "Kapittelbilder",
"HeaderConfigureRemoteAccess": "Konfigurer fjerntilgang",
- "HeaderFavoriteBooks": "Favorittbøker",
- "HeaderFavoriteMovies": "Favorittfilmer",
- "HeaderFavoriteEpisodes": "Favorittepisoder",
- "HeaderFavoriteAlbums": "Favorittalbum",
- "HeaderFavoriteArtists": "Favorittartister",
- "HeaderFavoriteSongs": "Favorittsanger",
"HeaderNextEpisodePlayingInValue": "Neste episode starter om {0}",
"HeaderNextVideoPlayingInValue": "Neste video starter om {0}",
"HeaderSeriesStatus": "Seriestatus",
@@ -1260,7 +1252,6 @@
"LabelParentNumber": "Foreldrenummer:",
"OptionResElement": "res element",
"OptionRandom": "Tilfeldig",
- "HeaderFavoritePeople": "Favorittpersoner",
"Raised": "Opphøyet",
"ButtonSplit": "Del opp",
"SelectAdminUsername": "Vennligst velg et brukernavn for administrator-kontoen.",
@@ -1286,7 +1277,6 @@
"LabelLibraryPageSizeHelp": "Angir hvor mange elementer som vises på en bibliotekside. Velg 0 for å deaktivere oppdeling i sider.",
"LabelLibraryPageSize": "Størrelse på bibliotekside:",
"LabelDeinterlaceMethod": "Deinterlacing metode:",
- "HeaderFavoritePlaylists": "Favorittspillelister",
"DeinterlaceMethodHelp": "Velg deinterlacing metoden som skal bli brukt når man transkoder interlaced innhold.",
"ButtonTogglePlaylist": "Spilleliste",
"EnableBlurHashHelp": "Bilder som fortsatt lastes inn vil vises med en tåkete plassholder",
diff --git a/src/strings/nl.json b/src/strings/nl.json
index 156476dc6c..ce782d8806 100644
--- a/src/strings/nl.json
+++ b/src/strings/nl.json
@@ -1119,13 +1119,6 @@
"HeaderHttpHeaders": "HTTP Headers",
"HeaderStatus": "Status",
"AuthProviderHelp": "Selecteer een authenticatie provider om het wachtwoord van deze gebruiker te verifiëren.",
- "HeaderFavoriteMovies": "Favoriete Films",
- "HeaderFavoriteShows": "Favoriete shows",
- "HeaderFavoriteEpisodes": "Favoriete afleveringen",
- "HeaderFavoriteAlbums": "Favoriete albums",
- "HeaderFavoriteArtists": "Favoriete artiesten",
- "HeaderFavoriteSongs": "Favoriete nummers",
- "HeaderFavoriteVideos": "Favoriete Films",
"HeaderInstantMix": "Directe Mix",
"HeaderMedia": "Media",
"HeaderTracks": "Nummers",
@@ -1153,7 +1146,6 @@
"CopyStreamURL": "Kopieer Stream URL",
"ValueAlbumCount": "{0} albums",
"FetchingData": "Meer data op aan het halen",
- "HeaderFavoriteBooks": "Favoriete Boeken",
"LabelUserLoginAttemptsBeforeLockout": "Mislukte aanmeld pogingen voordat de gebruiker buitengesloten wordt:",
"OptionMax": "Max",
"LabelBaseUrl": "Basis URL:",
@@ -1212,7 +1204,6 @@
"OptionThumb": "Miniatuur",
"LabelTranscodingFramerate": "Transcoderen beeldverversing:",
"LabelType": "Type:",
- "HeaderFavoritePeople": "Favoriete Mensen",
"LabelAudioBitrate": "Audio bitrate:",
"LabelAudioCodec": "Audio codec:",
"LabelAudioChannels": "Audio kanalen:",
@@ -1307,7 +1298,6 @@
"YadifBob": "YADIF Bob",
"Yadif": "YADIF",
"SelectAdminUsername": "Selecteer een gebruikersnaam voor het beheerder account.",
- "HeaderFavoritePlaylists": "Favoriete afspeellijsten",
"ButtonTogglePlaylist": "Afspeellijst",
"LabelRequireHttpsHelp": "Indien aangevinkt, zal de server alle verzoeken via HTTP automatisch omleiden naar HTTPS. Dit heeft geen effect als de server niet luistert op HTTPS.",
"EnableDetailsBanner": "Details Banner",
diff --git a/src/strings/pl.json b/src/strings/pl.json
index 501638adeb..4ac3c2087b 100644
--- a/src/strings/pl.json
+++ b/src/strings/pl.json
@@ -1180,13 +1180,6 @@
"ButtonOk": "Ok",
"ButtonStart": "Start",
"FormatValue": "Format: {0}",
- "HeaderFavoriteMovies": "Ulubione filmy",
- "HeaderFavoriteShows": "Ulubione seriale",
- "HeaderFavoriteEpisodes": "Ulubione odcinki",
- "HeaderFavoriteAlbums": "Ulubione albumy",
- "HeaderFavoriteArtists": "Ulubieni wykonawcy",
- "HeaderFavoriteSongs": "Ulubione utwory",
- "HeaderFavoriteVideos": "Ulubione Filmy",
"LabelAuthProvider": "Dostawca autentykacji:",
"LabelDynamicExternalId": "{0} Id:",
"LabelFormat": "Format:",
@@ -1240,7 +1233,6 @@
"CopyStreamURL": "Skopiuj adres URL strumienia",
"ButtonAddImage": "Dodaj obraz",
"LabelVideoCodec": "Kodek video:",
- "HeaderFavoriteBooks": "Ulubione książki",
"LabelFolder": "Nazwa folderu:",
"OptionRandom": "Losowy",
"MusicLibraryHelp": "Przejrzyj {0} przewodnik nazewnictwa muzyki {1}.",
@@ -1260,7 +1252,6 @@
"LabelAudioChannels": "Kanały audio:",
"LabelAudioBitrate": "Audio bitrate:",
"LabelAudioBitDepth": "Głębia bitowa audio:",
- "HeaderFavoritePeople": "Ulubieni ludzie",
"FetchingData": "Pobieranie dodatkowych danych",
"ButtonSplit": "Rozdziel",
"SelectAdminUsername": "Podaj nazwę użytkownika dla konta administratora.",
@@ -1285,7 +1276,6 @@
"LabelLibraryPageSizeHelp": "Ustaw liczbę pozycji pokazywanych na stronie biblioteki. Ustaw 0, aby wyłączyć podział na strony.",
"LabelLibraryPageSize": "Rozmiar strony biblioteki:",
"LabelDeinterlaceMethod": "Metoda usuwania przeplotu:",
- "HeaderFavoritePlaylists": "Ulubione Playlisty",
"Episode": "Odcinek",
"DeinterlaceMethodHelp": "Wybierz metodę usuwania przeplotu używaną podczas transkodowania.",
"ClientSettings": "Ustawienia klienta",
diff --git a/src/strings/pr.json b/src/strings/pr.json
index e5a0cfbbbb..579f867fc5 100644
--- a/src/strings/pr.json
+++ b/src/strings/pr.json
@@ -8,7 +8,6 @@
"HeaderMusicQuality": "Sea Shanty Strength",
"HeaderLatestMusic": "Latest Sea Shanties",
"FolderTypeMusic": "Sea Shanties",
- "HeaderFavoriteBooks": "Fav'rit Tales",
"HeaderAudioBooks": "Spoken Tales",
"FolderTypeBooks": "Tall Tales",
"Books": "Tall Tales",
diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json
index 4a3b36a927..588490bc16 100644
--- a/src/strings/pt-br.json
+++ b/src/strings/pt-br.json
@@ -1168,13 +1168,6 @@
"Normal": "Normal",
"Option3D": "3D",
"AuthProviderHelp": "Selecione um provedor de autenticação que será usado para autenticar a senha do usuário.",
- "HeaderFavoriteMovies": "Filmes Favoritos",
- "HeaderFavoriteShows": "Séries favoritas",
- "HeaderFavoriteEpisodes": "Episódios favoritos",
- "HeaderFavoriteAlbums": "Álbuns Favoritos",
- "HeaderFavoriteArtists": "Artistas favoritos",
- "HeaderFavoriteSongs": "Músicas favoritas",
- "HeaderFavoriteVideos": "Videos favoritos",
"LabelAuthProvider": "Provedor de autenticação:",
"LabelServerName": "Nome do servidor:",
"LabelTranscodePath": "Pasta de transcodificação:",
@@ -1254,13 +1247,11 @@
"LabelAudioChannels": "Canais de áudio:",
"LabelAudioBitrate": "Bitrate do áudio:",
"LabelAudioBitDepth": "Profundidade de bits de áudio:",
- "HeaderFavoriteBooks": "Livros Favoritos",
"CopyStreamURLSuccess": "URL copiada com sucesso.",
"CopyStreamURL": "Copiar URL da Stream",
"FetchingData": "Buscando dados adicionais",
"MusicLibraryHelp": "Verifique o {0}guia de nomes de músicas{1}.",
"ButtonAddImage": "Adicionar Imagem",
- "HeaderFavoritePeople": "Pessoas Favoritas",
"OptionRandom": "Aleatório",
"SelectAdminUsername": "Por favor selecione um nome de usuário para a conta de administrador.",
"OptionForceRemoteSourceTranscoding": "Forçar transcodificação em fontes de mídia remotas (como LiveTV)",
@@ -1310,7 +1301,6 @@
"ButtonTogglePlaylist": "Playlist",
"Filter": "Filtro",
"New": "Novo",
- "HeaderFavoritePlaylists": "Playlists Favoritas",
"ApiKeysCaption": "Lista de chaves API ativadas no momento",
"SaveChanges": "Salvar mudanças",
"LabelRequireHttpsHelp": "Se selecionado, o servidor vai automaticamente redirecionar todas as solicitações HTTP para HTTPS. Isso não terá efeito se o servidor não estiver escutando HTTPS.",
diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json
index df871816f9..ba6d8482be 100644
--- a/src/strings/pt-pt.json
+++ b/src/strings/pt-pt.json
@@ -657,11 +657,6 @@
"Folders": "Pastas",
"Genres": "Géneros",
"HeaderAlbumArtists": "Artistas do Álbum",
- "HeaderFavoriteShows": "Séries Favoritas",
- "HeaderFavoriteEpisodes": "Episódios Favoritos",
- "HeaderFavoriteAlbums": "Álbuns Favoritos",
- "HeaderFavoriteArtists": "Artistas Favoritos",
- "HeaderFavoriteSongs": "Músicas Favoritas",
"Movies": "Filmes",
"Photos": "Fotografias",
"Playlists": "Listas de Reprodução",
@@ -702,8 +697,6 @@
"HeaderKeepSeries": "Manter Série",
"HeaderImageOptions": "Opções de Imagem",
"HeaderForKids": "Para Crianças",
- "HeaderFavoriteVideos": "Vídeos Favoritos",
- "HeaderFavoriteMovies": "Filmes Favoritos",
"HeaderExternalIds": "IDs Externos:",
"HeaderEditImages": "Editar Imagens",
"HeaderDownloadSync": "Transferência & Sincronização",
@@ -933,7 +926,6 @@
"Descending": "Descendente",
"CopyStreamURLSuccess": "URL copiado com sucesso.",
"ErrorAddingListingsToSchedulesDirect": "Ocorreu um erro ao adicionar o alinhamento à sua conta Schedules Direct. As contas Schedules Direct permitem apenas um número limitado de alinhamentos. Poderá ser necessário iniciar sessão na sua conta e remover outras listagens antes de prosseguir.",
- "HeaderFavoriteBooks": "Livros Favoritos",
"HeaderStopRecording": "Parar Gravação",
"HeaderVideoQuality": "Qualidade do Vídeo",
"HeaderVideoType": "Tipo de Vídeo",
@@ -1022,7 +1014,6 @@
"Disc": "Disco",
"LabelLogs": "Registos:",
"LabelSortTitle": "Título para ordenação:",
- "HeaderFavoritePeople": "Pessoas Favoritas",
"HeaderFetcherSettings": "Definições do fornecedor",
"HeaderKodiMetadataHelp": "Para ativar ou desativar metadados NFO, utilize a secção de metadados disponível na página de configurações da biblioteca.",
"HeaderTypeImageFetchers": "{0} fornecedores de imagens",
@@ -1298,7 +1289,6 @@
"HeaderServerAddressSettings": "Definições da Localização do Servidor",
"HeaderRemoteAccessSettings": "Definições do Acesso Remoto",
"HeaderHttpsSettings": "Definições de HTTPS",
- "HeaderFavoritePlaylists": "Listas de Reprodução Favoritas",
"HeaderDVR": "Gravações (DVR)",
"ApiKeysCaption": "Lista das chaves de API atualmente ativadas",
"Episode": "Episódio",
diff --git a/src/strings/pt.json b/src/strings/pt.json
index 7e049e6086..f05e81deb0 100644
--- a/src/strings/pt.json
+++ b/src/strings/pt.json
@@ -3,7 +3,6 @@
"HeaderSubtitleDownloads": "Transferências de Legendas",
"HeaderKodiMetadataHelp": "Para ativar ou desativar metadados, editar uma biblioteca nas configurações e localizar a seção dos metadados.",
"HeaderFetcherSettings": "Definições do Pesquisador",
- "HeaderFavoritePeople": "Pessoas Preferidas",
"HeaderCastAndCrew": "Elenco e Pessoal",
"HeaderAppearsOn": "Presente em",
"HeaderAdmin": "Administrador",
@@ -713,14 +712,6 @@
"LabelScreensaver": "Proteção de Ecrã:",
"LabelScheduledTaskLastRan": "Última execução há {0}. Tempo de execução {1}.",
"HeaderFeatureAccess": "Acesso a Características",
- "HeaderFavoriteVideos": "Vídeos Favoritos",
- "HeaderFavoriteSongs": "Músicas Favoritas",
- "HeaderFavoriteArtists": "Artistas Favoritos",
- "HeaderFavoriteAlbums": "Álbuns Favoritos",
- "HeaderFavoriteEpisodes": "Episódios Favoritos",
- "HeaderFavoriteShows": "Séries Favoritas",
- "HeaderFavoriteMovies": "Filmes Favoritos",
- "HeaderFavoriteBooks": "Livros Favoritos",
"HeaderExternalIds": "IDs Externos:",
"HeaderError": "Erro",
"HeaderEnabledFieldsHelp": "Desmarque um campo para bloqueá-lo e evitar que os seus dados sejam alterados.",
diff --git a/src/strings/ro.json b/src/strings/ro.json
index 539dfbf880..8927e3e656 100644
--- a/src/strings/ro.json
+++ b/src/strings/ro.json
@@ -325,14 +325,11 @@
"HeaderEnabledFieldsHelp": "Debifează un câmp pentru a-l bloca și pentru a împiedica schimbarea datelor sale.",
"HeaderError": "Eroare",
"HeaderExternalIds": "ID-uri Externe:",
- "HeaderFavoriteBooks": "Cărți Favorite",
"HeaderBranding": "Marca",
"HeaderApiKeysHelp": "Aplicațiile externe trebuie să aibă o cheie API pentru a comunica cu serverul. Cheile sunt emise prin conectarea cu un cont de utilizator sau prin acordarea manuală a unei chei aplicației.",
"Sync": "Sincronizare",
"ErrorAddingXmlTvFile": "A apărut o eroare la accesarea fișierului XMLTV. Vă rugăm să vă asigurați că fișierul există și încercați din nou.",
"HeaderApiKey": "Cheie API",
- "HeaderFavoritePeople": "Persoane Favorite",
- "HeaderFavoriteVideos": "Video Favorite",
"HeaderFetcherSettings": "Setări Fetcher",
"HeaderForKids": "Pentru Copii",
"HeaderGuideProviders": "Furnizori de date ghid TV",
@@ -437,7 +434,6 @@
"HeaderResponseProfileHelp": "Profilele de răspuns oferă o modalitate de a personaliza informațiile trimise dispozitivului atunci când redați anumite tipuri de suporturi.",
"Folders": "Dosare",
"HeaderAlbumArtists": "Album Artiști",
- "HeaderFavoriteSongs": "Melodii Favorite",
"Movies": "Filme",
"Playlists": "Liste redare",
"Shows": "Spectacole",
@@ -492,11 +488,6 @@
"ExtraLarge": "Foarte mare",
"FFmpegSavePathNotFound": "Nu putem localiza FFmpeg folosind calea introdusă. FFprobe este de asemenea necesar și trebuie să existe în același dosar. În mod normal, aceste componente sunt grupate în aceeași descărcare. Verificați calea și încercați din nou.",
"FastForward": "Repede inainte",
- "HeaderFavoriteAlbums": "Albume Favorite",
- "HeaderFavoriteArtists": "Artiști Favoriți",
- "HeaderFavoriteEpisodes": "Episoade Favorite",
- "HeaderFavoriteShows": "Spectacole Favorite",
- "HeaderFavoriteMovies": "Filme Favorite",
"HeaderSelectServerCachePathHelp": "Căutați sau introduceți ruta dosarului în care doriți să stocați fișierele cache pentru server. Dosarul trebuie să aibă permisiuni de scriere.",
"HeaderSelectMetadataPathHelp": "Căutați sau introduceți ruta dosarului în care doriți să stocați metadatele. Dosarul trebuie să aibă permisiuni de scriere.",
"HeaderSelectPath": "Selectați Ruta",
@@ -1310,7 +1301,6 @@
"ButtonTogglePlaylist": "Listă de redare",
"Filter": "Filtru",
"New": "Nou",
- "HeaderFavoritePlaylists": "Listă Favorită",
"ApiKeysCaption": "Lista cheilor API active",
"LabelRequireHttpsHelp": "Dacă e selectat, serverul va redirecta automat toate cererile HTTP către HTTPS. Dacă nu se ascultă pe HTTPS, nu are niciun efect.",
"LabelRequireHttps": "Trebuie HTTPS",
diff --git a/src/strings/ru.json b/src/strings/ru.json
index 8d54778aac..34ec09a8dc 100644
--- a/src/strings/ru.json
+++ b/src/strings/ru.json
@@ -1196,13 +1196,6 @@
"MessageImageTypeNotSelected": "Выберите тип изображения из выпадающего меню.",
"OptionResElement": "res-элемент",
"AuthProviderHelp": "Выберите поставщика аутентификации, который будет использоваться для аутентификации пароля этого пользователя.",
- "HeaderFavoriteMovies": "Избранные фильмы",
- "HeaderFavoriteShows": "Избранные сериалы",
- "HeaderFavoriteEpisodes": "Избранные эпизоды",
- "HeaderFavoriteAlbums": "Избранные альбомы",
- "HeaderFavoriteArtists": "Избранные исполнители",
- "HeaderFavoriteSongs": "Избранные композиции",
- "HeaderFavoriteVideos": "Избранные видео",
"LabelAuthProvider": "Поставщик аутентификации:",
"LabelPasswordResetProvider": "Поставщик сброса пароля:",
"LabelServerName": "Имя сервера:",
@@ -1257,14 +1250,12 @@
"LabelAudioChannels": "Аудио каналы:",
"LabelAudioBitrate": "Битрейт аудио:",
"LabelAudioBitDepth": "Битовая глубина аудио:",
- "HeaderFavoriteBooks": "Избранные книги",
"CopyStreamURL": "Копировать URL потока",
"LabelPleaseRestart": "Изменения вступят в силу после перезагрузки веб-клиента вручную.",
"CopyStreamURLSuccess": "URL скопирован успешно.",
"MusicLibraryHelp": "Просмотрите {0}руководство по именованию музыки{1}.",
"FetchingData": "Выборка дополнительных данных",
"ButtonAddImage": "Добавить изображение",
- "HeaderFavoritePeople": "Избранные люди",
"OptionRandom": "Случайный",
"ButtonSplit": "Разделить",
"SelectAdminUsername": "Выберите имя пользователя для учётной записи администратора.",
@@ -1310,7 +1301,6 @@
"LabelDeinterlaceMethod": "Метод устранения гребёнки:",
"DeinterlaceMethodHelp": "Выберите метод устранения гребёнки, который будет использоваться при перекодировании чересстрочного содержания.",
"UnsupportedPlayback": "Jellyfin не может расшифровать содержимое, защищенное DRM, но в любом случае будет предпринята попытка расшифровки всего содержимого, включая защищенные заголовки. Некоторые файлы могут выглядеть полностью черными из-за шифрования или других неподдерживаемых функций, таких как интерактивные заголовки.",
- "HeaderFavoritePlaylists": "Избранные плей-листы",
"LabelRequireHttpsHelp": "Если этот флажок установлен, сервер будет автоматически перенаправлять все запросы через HTTP на HTTPS. Это не имеет никакого эффекта, если сервер не слушает HTTPS.",
"LabelEnableHttpsHelp": "Прослушивается указанный HTTPS-порт. Чтобы это вступило в силу, также необходимо предоставить действительный сертификат.",
"ApiKeysCaption": "Список действующих текущих API-ключей",
diff --git a/src/strings/sk.json b/src/strings/sk.json
index 543936d757..8927374e69 100644
--- a/src/strings/sk.json
+++ b/src/strings/sk.json
@@ -750,13 +750,6 @@
"GuideProviderLogin": "Prihlásenie",
"HeaderCancelRecording": "Zrušiť nahrávanie",
"HeaderDetectMyDevices": "Nájsť moje zariadenia",
- "HeaderFavoriteMovies": "Obľúbené filmy",
- "HeaderFavoriteShows": "Obľúbené seriály",
- "HeaderFavoriteEpisodes": "Obľúbené epizódy",
- "HeaderFavoriteAlbums": "Obľúbené albumy",
- "HeaderFavoriteArtists": "Obľúbení umelci",
- "HeaderFavoriteSongs": "Obľúbené piesne",
- "HeaderFavoriteVideos": "Obľúbené videá",
"HeaderRecordingOptions": "Nastavenia nahrávania",
"HeaderStatus": "Stav",
"LabelAccessEnd": "Koniec:",
@@ -951,8 +944,6 @@
"HeaderIdentificationHeader": "Hlavička identifikácie",
"HeaderGuideProviders": "Poskytovatelia TV sprievodcov",
"HeaderFetcherSettings": "Nastavenie sťahovača",
- "HeaderFavoritePeople": "Obľúbené osoby",
- "HeaderFavoriteBooks": "Obľúbené knihy",
"HeaderEnabledFieldsHelp": "Zrušte zaškrtnutie, aby ste zabránili zmenám dát.",
"HeaderDirectPlayProfile": "Profil Priameho prehrávania",
"HeaderDeveloperInfo": "Informácie pre vývojára",
@@ -1309,7 +1300,6 @@
"UnsupportedPlayback": "Jellyfin nemôže dešifrovať obsah chránený technológiou DRM, ale pokúsi sa o to, vrátane chránených titulov. Niektoré súbory sa môžu zobraziť ako kompletne čierne z dôvodu, že sú zašifrované alebo obsahujú nepodporované funckie, ako napríklad interaktívne funkcie.",
"Filter": "Filter",
"New": "Nové",
- "HeaderFavoritePlaylists": "Obľúbené playlisty",
"ButtonTogglePlaylist": "Playlist",
"ApiKeysCaption": "Zoznam v súčasnosti povolených API kľúčov",
"LabelStable": "Stabilná",
diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json
index 05a6bdd902..b94ea45485 100644
--- a/src/strings/sl-si.json
+++ b/src/strings/sl-si.json
@@ -171,11 +171,6 @@
"ContinueWatching": "Nadaljuj ogled",
"Continuing": "Nadaljuje se",
"CriticRating": "Ocena kritikov",
- "HeaderFavoriteShows": "Priljubljene serije",
- "HeaderFavoriteEpisodes": "Priljubljene epizode",
- "HeaderFavoriteAlbums": "Priljubljeni albumi",
- "HeaderFavoriteArtists": "Priljubljeni izvajalci",
- "HeaderFavoriteSongs": "Priljubljene pesmi",
"DirectPlaying": "Neposredno predvajanje",
"DeviceAccessHelp": "To za nanaša zgolj na naprave, ki jih je možno unikatno identificirati in ne bo preprečilo dostopa z brskalnikom. Filtriranje uporabniških naprav bo preprečilo uporabo novih naprav dokler te ne bodo potrjene.",
"DeleteUserConfirmation": "Ste prepričani, da želite izbrisati tega uporabnika?",
@@ -292,9 +287,6 @@
"HeaderForKids": "Za otroke",
"HeaderFetcherSettings": "Nastavitve pridobivanja",
"HeaderFetchImages": "Pridobi slike:",
- "HeaderFavoriteVideos": "Priljubljeni videi",
- "HeaderFavoriteMovies": "Priljubljeni filmi",
- "HeaderFavoriteBooks": "Priljubljene knjige",
"HeaderExternalIds": "Zunanji ID-ji:",
"HeaderError": "Napaka",
"HeaderEnabledFieldsHelp": "Odznači polja in s tem prepreči njihovo urejanje.",
@@ -885,7 +877,6 @@
"MediaInfoChannels": "Kanali",
"MediaInfoBitrate": "Bitna hitrost",
"MediaInfoBitDepth": "Bitna globina",
- "HeaderFavoritePeople": "Priljubljene osebe",
"ReleaseDate": "Datum izida",
"LabelReleaseDate": "Datum izida:",
"Runtime": "Trajanje",
@@ -1094,7 +1085,6 @@
"HeaderIdentificationHeader": "Identifikacija zaglavja",
"HeaderHttpsSettings": "Nastavitve HTTPS",
"HeaderHttpHeaders": "HTTP zaglavje",
- "HeaderFavoritePlaylists": "Priljubljeni seznami predvajanja",
"HeaderDVR": "DVR",
"HeaderBlockItemsWithNoRating": "Blokiraj vsebine brez oziroma z neprepoznanimi starševskimi ocenami:",
"ApiKeysCaption": "Seznam trenutno uporabljenih API ključev",
diff --git a/src/strings/sr.json b/src/strings/sr.json
index 494b88401c..59561f0d74 100644
--- a/src/strings/sr.json
+++ b/src/strings/sr.json
@@ -6,11 +6,6 @@
"Playlists": "Листе",
"Photos": "Фотографије",
"Movies": "Филмови",
- "HeaderFavoriteSongs": "Омиљене песме",
- "HeaderFavoriteShows": "Омиљене серије",
- "HeaderFavoriteEpisodes": "Омиљене епизоде",
- "HeaderFavoriteArtists": "Омиљени извођачи",
- "HeaderFavoriteAlbums": "Омиљени албуми",
"HeaderContinueWatching": "Настави гледање",
"HeaderAlbumArtists": "Извођачи албума",
"Genres": "Жанрови",
diff --git a/src/strings/sv.json b/src/strings/sv.json
index 1c5907a1f3..e63ac8164d 100644
--- a/src/strings/sv.json
+++ b/src/strings/sv.json
@@ -1098,7 +1098,6 @@
"XmlTvSportsCategoriesHelp": "Program med dessa kategorier kommer visas som sportprogram. Separerade med '|'.",
"Yes": "Ja",
"Yesterday": "Igår",
- "HeaderFavoriteMovies": "Favoritfilmer",
"HeaderAppearsOn": "Medverkar i",
"HeaderApp": "Applikation",
"HeaderAdmin": "Administratör",
@@ -1130,13 +1129,6 @@
"AllowMediaConversion": "Tillåt media konvertering",
"Alerts": "Alarm",
"HeaderMedia": "Media",
- "HeaderFavoriteVideos": "Favoritvideor",
- "HeaderFavoriteSongs": "Favoritlåtar",
- "HeaderFavoriteArtists": "Favoritartister",
- "HeaderFavoriteAlbums": "Favoritalbum",
- "HeaderFavoriteEpisodes": "Favoritavsnitt",
- "HeaderFavoriteShows": "Favoritserier",
- "HeaderFavoriteBooks": "Favoritböcker",
"FormatValue": "Format: {0}",
"CopyStreamURLSuccess": "Videoadress kopierad.",
"CopyStreamURL": "Kopiera videoadress",
@@ -1146,7 +1138,6 @@
"HeaderStopRecording": "Stoppa inspelning",
"HeaderImageOptions": "Bildalternativ",
"Absolute": "Komplett",
- "HeaderFavoritePeople": "Favoritmänniskor",
"HeaderStatus": "Status",
"LabelPostProcessor": "Program för efterbehandling:",
"LabelPleaseRestart": "Ändringar genomförs efter att webbklienten manuellt har laddats om .",
@@ -1306,7 +1297,6 @@
"Yadif": "YADIF",
"Filter": "Filter",
"New": "Ny",
- "HeaderFavoritePlaylists": "Favoritspellista",
"OnWakeFromSleep": "Vid start från vilande läge",
"UnsupportedPlayback": "Jellyfin kan inte dekryptera inehåll skyddat av DRM men allt inehåll kommer ändå försökas, även skyddade titlar. Vissa filer kan se helt svarta ut på grund av kryptering eller andra funktioner som inte stöds, till exempel interaktiva titlar.",
"LabelLibraryPageSizeHelp": "Sätter en begränsad sidstorlek i bibliotek. Sätt 0 för att avaktivera begränsad sidstorlek.",
diff --git a/src/strings/ta.json b/src/strings/ta.json
index 08b2faab0d..8a8d7efb6c 100644
--- a/src/strings/ta.json
+++ b/src/strings/ta.json
@@ -76,11 +76,6 @@
"Movies": "திரைப்படங்கள்",
"HeaderNextUp": "அடுத்ததாக",
"HeaderLiveTV": "நேரடித் தொலைக்காட்சி",
- "HeaderFavoriteSongs": "பிடித்த பாட்டுகள்",
- "HeaderFavoriteArtists": "பிடித்த கலைஞர்கள்",
- "HeaderFavoriteAlbums": "பிடித்த ஆல்பங்கள்",
- "HeaderFavoriteEpisodes": "பிடித்த அத்தியாயங்கள்",
- "HeaderFavoriteShows": "பிடித்த தொடர்கள்",
"HeaderContinueWatching": "தொடர்ந்து பார்",
"HeaderAlbumArtists": "இசைக் கலைஞர்கள்",
"Genres": "வகைகள்",
@@ -314,11 +309,6 @@
"ExtraLarge": "கூடுதல் பெரியது",
"ExitFullscreen": "முழு திரையில் இருந்து வெளியேறவும்",
"HeaderFeatureAccess": "அம்ச அணுகல்",
- "HeaderFavoritePlaylists": "பிடித்த இசைப்பட்டியல்கள்",
- "HeaderFavoriteVideos": "பிடித்த வீடியோக்கள்",
- "HeaderFavoritePeople": "பிடித்த மக்கள்",
- "HeaderFavoriteMovies": "பிடித்த திரைப்படங்கள்",
- "HeaderFavoriteBooks": "பிடித்த புத்தகங்கள்",
"HeaderExternalIds": "வெளி ஐடிகள்:",
"HeaderError": "பிழை",
"HeaderEnabledFieldsHelp": "ஒரு புலத்தை பூட்டவும், அதன் தரவு மாற்றப்படுவதைத் தடுக்கவும் தேர்வுநீக்கு.",
diff --git a/src/strings/tr.json b/src/strings/tr.json
index 634a14353c..bcac3e6109 100644
--- a/src/strings/tr.json
+++ b/src/strings/tr.json
@@ -190,9 +190,6 @@
"Folders": "Klasörler",
"Genres": "Türler",
"HeaderAlbumArtists": "Albüm Sanatçıları",
- "HeaderFavoriteAlbums": "Favori Albümler",
- "HeaderFavoriteArtists": "Favori Sanatçılar",
- "HeaderFavoriteSongs": "Favori Şarkılar",
"Movies": "Filmler",
"Photos": "Fotoğraflar",
"Playlists": "Çalma listeleri",
@@ -323,8 +320,6 @@
"DeleteUserConfirmation": "Bu kullanıcıyı silmek istediğinden emin misin?",
"Depressed": "Bunalımlı",
"Desktop": "Masaüstü",
- "HeaderFavoriteShows": "Favori Diziler",
- "HeaderFavoriteEpisodes": "Favori Bölümler",
"BookLibraryHelp": "Ses ve ders kitapları desteklenir. {0} kitap adlandırma kılavuzunu {1} gözden geçirin.",
"EnableDisplayMirroring": "Ekran Yansıtma",
"EnableExternalVideoPlayers": "Harici video oynatıcılar",
@@ -341,9 +336,6 @@
"HeaderFetcherSettings": "Alıcı Ayarları",
"HeaderFetchImages": "Görüntüleri Getir:",
"HeaderFeatureAccess": "Özellik Erişimi",
- "HeaderFavoriteVideos": "Favori Videolar",
- "HeaderFavoriteMovies": "Favori Filmler",
- "HeaderFavoriteBooks": "favori kitaplar",
"HeaderExternalIds": "Dış kimlikler:",
"HeaderError": "Hata",
"HeaderEnabledFieldsHelp": "Kilitlemek ve verilerinin değişmesini önlemek için bir alanın işaretini kaldırın.",
@@ -494,7 +486,6 @@
"HeaderIdentificationCriteriaHelp": "En az bir kimlik kriteri girmelisiniz.",
"HeaderIdentification": "Kimlik",
"HeaderHttpHeaders": "HTTP Başlıkları",
- "HeaderFavoritePeople": "Favori Kişiler",
"LabelEnableAutomaticPortMap": "Otomatik port eşleştirmeyi etkinleştir",
"LabelEasyPinCode": "Basit pin kodu:",
"LabelDropImageHere": "Görüntüyü buraya bırakın veya göz atmak için tıklayın.",
diff --git a/src/strings/uk.json b/src/strings/uk.json
index 6adf637e0f..4d07b08a65 100644
--- a/src/strings/uk.json
+++ b/src/strings/uk.json
@@ -79,20 +79,15 @@
"AddedOnValue": "Додано {0}",
"Albums": "Альбоми",
"Absolute": "Абсолютний",
- "HeaderFavoriteEpisodes": "Улюблені серії",
"Movies": "Фільми",
"Collections": "Колекції",
"Folders": "Каталоги",
"HeaderAlbumArtists": "Виконавці альбому",
- "HeaderFavoriteSongs": "Улюблені пісні",
"Favorites": "Улюблені",
- "HeaderFavoriteAlbums": "Улюблені альбоми",
"Genres": "Жанри",
"Books": "Книги",
"Artists": "Виконавці",
"Channels": "Канали",
- "HeaderFavoriteArtists": "Улюблені виконавці",
- "HeaderFavoriteShows": "Улюблені шоу",
"HeaderContinueWatching": "Продовжити перегляд",
"AllowedRemoteAddressesHelp": "Список розділених комами IP-адрес або IP/мережевих масок, яким буде дозволено віддалено підключатися. Якщо залишити порожнім, усі віддалені адреси будуть дозволені.",
"AllowRemoteAccessHelp": "Якщо не відмічено прапорцем, усі віддалені підключення будуть заблоковані.",
diff --git a/src/strings/vi.json b/src/strings/vi.json
index 884885872f..731c86bd2b 100644
--- a/src/strings/vi.json
+++ b/src/strings/vi.json
@@ -407,15 +407,6 @@
"HeaderForKids": "Dành Cho Trẻ Em",
"HeaderFetcherSettings": "Cài Đặt Chương Trình Tải Xuống",
"HeaderFetchImages": "Tải Hình Ảnh:",
- "HeaderFavoritePeople": "Nhân Vật Yêu Thích",
- "HeaderFavoriteAlbums": "Album Yêu Thích",
- "HeaderFavoriteBooks": "Sách Yêu Thích",
- "HeaderFavoriteVideos": "Video Yêu Thích",
- "HeaderFavoriteSongs": "Bài Hát Yêu Thích",
- "HeaderFavoriteArtists": "Nghệ Sĩ Yêu Thích",
- "HeaderFavoriteEpisodes": "Tập Phim Yêu Thích",
- "HeaderFavoriteShows": "Chương Trình Yêu Thích",
- "HeaderFavoriteMovies": "Phim Yêu Thích",
"HeaderExternalIds": "Mã Định Danh Từ Bên Ngoài:",
"HeaderError": "Lỗi",
"HeaderEnabledFieldsHelp": "Bỏ chọn một mục để khoá lựa chọn đó và không để nó thay đổi.",
@@ -594,7 +585,6 @@
"LabelDateAddedBehavior": "Ngày thêm hành vi cho nội dung mới:",
"LabelDateAdded": "Ngày thêm vào:",
"LabelCustomRating": "Đánh giá tuỳ chọn:",
- "HeaderFavoritePlaylists": "Danh Sách Phát Yêu Thích",
"ApiKeysCaption": "Danh sách các mã API đang hoạt động",
"LabelBaseUrl": "URL cơ bản:",
"LabelEveryXMinutes": "Mỗi:",
diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json
index 5730cd52a0..2eaf47ecaa 100644
--- a/src/strings/zh-cn.json
+++ b/src/strings/zh-cn.json
@@ -1143,11 +1143,6 @@
"Genre": "风格",
"Guide": "指南",
"HeaderCancelRecording": "取消录制",
- "HeaderFavoriteMovies": "最爱的电影",
- "HeaderFavoriteShows": "最爱的节目",
- "HeaderFavoriteAlbums": "收藏的专辑",
- "HeaderFavoriteSongs": "最爱的歌曲",
- "HeaderFavoriteVideos": "最爱的视频",
"HeaderVideoType": "视频类型",
"Items": "项目",
"LabelServerName": "服务器名称:",
@@ -1164,8 +1159,6 @@
"DirectStreamHelp1": "该媒体文件的分辨率和编码(H.264、AC3 等)与您的设备兼容,但文件格式(.mkv、.avi、.wmv 等)不受支持。因此,视频在串流至您的设备之前将会被即时封装为另一种格式。",
"HeaderAppearsOn": "同时出现于",
"HeaderCancelSeries": "取消系列",
- "HeaderFavoriteEpisodes": "最爱的剧集",
- "HeaderFavoriteArtists": "最爱的艺术家",
"HeaderKeepRecording": "继续录制",
"HeaderKeepSeries": "保持系列",
"HeaderMusicQuality": "音频质量",
@@ -1242,7 +1235,6 @@
"SubtitleOffset": "字幕偏移",
"MessageNoServersAvailable": "未能自动发现服务器。",
"TabNetworking": "联网",
- "HeaderFavoriteBooks": "最爱的书籍",
"LabelVideoCodec": "视频编码:",
"LabelVideoBitrate": "视频码率:",
"LabelTranscodingProgress": "转码进度:",
@@ -1265,7 +1257,6 @@
"LabelBaseUrl": "基础 URL:",
"LabelBaseUrlHelp": "为服务器 URL添加自定义子目录,例如:http://example.com/<baseurl>
",
"MusicLibraryHelp": "重播 {0}音乐命名指南{1}。",
- "HeaderFavoritePeople": "最喜欢的人物",
"OptionRandom": "随机",
"ButtonSplit": "拆分",
"SelectAdminUsername": "请为管理员账户选择一个用户名。",
@@ -1309,7 +1300,6 @@
"UnsupportedPlayback": "Jellyfin无法解密被DRM保护的内容,但仍然会尝试播放包括受保护内容在内的所有内容。某些文件由于被加密或包含不受支持的特性(如互动标题),在播放时可能显示为黑屏。",
"Filter": "过滤",
"New": "新的",
- "HeaderFavoritePlaylists": "收藏的播放列表",
"ButtonTogglePlaylist": "播放列表",
"HeaderServerAddressSettings": "服务器地址设置",
"HeaderRemoteAccessSettings": "远程访问设置",
diff --git a/src/strings/zh-hk.json b/src/strings/zh-hk.json
index e6653d231e..b286be00f2 100644
--- a/src/strings/zh-hk.json
+++ b/src/strings/zh-hk.json
@@ -256,11 +256,6 @@
"Playlists": "播放清單",
"Photos": "相片",
"Movies": "電影",
- "HeaderFavoriteSongs": "最愛的歌曲",
- "HeaderFavoriteShows": "最愛的節目",
- "HeaderFavoriteEpisodes": "最愛的劇集",
- "HeaderFavoriteArtists": "最愛的藝人",
- "HeaderFavoriteAlbums": "最愛專輯",
"HeaderContinueWatching": "繼續觀看",
"HeaderAlbumArtists": "專輯藝人",
"Genres": "風格",
diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json
index 9d394ae1bf..6794d31ec6 100644
--- a/src/strings/zh-tw.json
+++ b/src/strings/zh-tw.json
@@ -452,14 +452,6 @@
"HeaderEnabledFieldsHelp": "反選欄位以鎖定並不讓其數據被更改。",
"HeaderError": "錯誤",
"HeaderExternalIds": "外部 ID:",
- "HeaderFavoriteAlbums": "最愛專輯",
- "HeaderFavoriteArtists": "最愛演出者",
- "HeaderFavoriteEpisodes": "最愛影集",
- "HeaderFavoriteMovies": "最愛電影",
- "HeaderFavoritePlaylists": "最愛播放清單",
- "HeaderFavoriteShows": "最愛節目",
- "HeaderFavoriteSongs": "最愛歌曲",
- "HeaderFavoriteVideos": "最愛的影片",
"HeaderFetcherSettings": "擷取器設置",
"HeaderForKids": "給兒童",
"HeaderHttpHeaders": "HTTP 標頭",
@@ -705,7 +697,6 @@
"ShowYear": "顯示年份",
"Shuffle": "隨機播放",
"Smart": "智慧",
- "HeaderFavoriteBooks": "最愛的書籍",
"LabelAudioBitrate": "音訊位元率:",
"LabelAudioCodec": "音訊編碼:",
"LabelBitrate": "位元率:",
@@ -1259,7 +1250,6 @@
"PlaceFavoriteChannelsAtBeginning": "將喜愛的頻道置頂",
"PlaybackData": "恢復播放資料",
"OptionRandom": "隨機",
- "HeaderFavoritePeople": "最愛人物",
"XmlDocumentAttributeListHelp": "這些屬性會在每一個 XML 回應的根元素上套用。",
"SkipEpisodesAlreadyInMyLibraryHelp": "劇集將使用季和劇集編號進行比較。",
"SelectAdminUsername": "請為管理員帳戶選擇一個使用者名稱。",
From 0987e9387b1d716396473842cefbe96b18933525 Mon Sep 17 00:00:00 2001
From: dkanada
Date: Fri, 28 Aug 2020 21:24:00 +0900
Subject: [PATCH 030/416] update list view layout strings
---
src/scripts/libraryBrowser.js | 2 +-
src/strings/bg-bg.json | 6 ------
src/strings/cs.json | 6 ------
src/strings/da.json | 6 ------
src/strings/de.json | 6 ------
src/strings/en-gb.json | 6 ------
src/strings/en-us.json | 9 +++------
src/strings/es-ar.json | 6 ------
src/strings/es-mx.json | 6 ------
src/strings/es.json | 6 ------
src/strings/es_419.json | 6 ------
src/strings/fa.json | 6 ------
src/strings/fi.json | 6 ------
src/strings/fr.json | 6 ------
src/strings/he.json | 3 ---
src/strings/hr.json | 4 ----
src/strings/hu.json | 6 ------
src/strings/it.json | 6 ------
src/strings/ja.json | 4 ----
src/strings/kk.json | 6 ------
src/strings/ko.json | 4 ----
src/strings/lt-lt.json | 1 -
src/strings/lv.json | 3 ---
src/strings/nb.json | 6 ------
src/strings/nl.json | 6 ------
src/strings/pl.json | 6 ------
src/strings/pt-br.json | 6 ------
src/strings/pt-pt.json | 6 ------
src/strings/pt.json | 6 ------
src/strings/ro.json | 6 ------
src/strings/ru.json | 6 ------
src/strings/sk.json | 6 ------
src/strings/sl-si.json | 5 -----
src/strings/sv.json | 6 ------
src/strings/ta.json | 6 ------
src/strings/zh-cn.json | 6 ------
src/strings/zh-tw.json | 6 ------
37 files changed, 4 insertions(+), 199 deletions(-)
diff --git a/src/scripts/libraryBrowser.js b/src/scripts/libraryBrowser.js
index 033c47d1c4..151cb7ff57 100644
--- a/src/scripts/libraryBrowser.js
+++ b/src/scripts/libraryBrowser.js
@@ -49,7 +49,7 @@ export function showLayoutMenu (button, currentLayout, views) {
var menuItems = views.map(function (v) {
return {
- name: globalize.translate('Option' + v),
+ name: globalize.translate(v),
id: v,
selected: currentLayout == v
};
diff --git a/src/strings/bg-bg.json b/src/strings/bg-bg.json
index bba0556697..1c6f29d76c 100644
--- a/src/strings/bg-bg.json
+++ b/src/strings/bg-bg.json
@@ -1269,8 +1269,6 @@
"OptionWeekends": "Почивни дни",
"OptionWeekdays": "Делници",
"OptionTvdbRating": "Рейтинг според ТВДБ",
- "OptionThumbCard": "Икона карта",
- "OptionThumb": "Икона",
"OptionSubstring": "Подниз",
"OptionSaveMetadataAsHiddenHelp": "Промяната на това ще се прилага за нови метаданни, запазени занапред. Съществуващите файлове с метаданни ще бъдат актуализирани следващия път, когато бъдат запазени на сървъра.",
"OptionSaveMetadataAsHidden": "Запишете метаданните и изображенията като скрити файлове",
@@ -1281,14 +1279,11 @@
"OptionRandom": "Случаен",
"OptionProtocolHttp": "HTTP",
"OptionProtocolHls": "Директно предаване по HTTP",
- "OptionPosterCard": "Плакат карта",
- "OptionPoster": "Плакат",
"OptionPlainVideoItemsHelp": "Ако е активирано, всички видеофайлове са представени в DIDL като \"object.item.videoItem\" вместо по-конкретен тип, като например \"object.item.videoItem.movie\".",
"OptionPlainStorageFoldersHelp": "Ако е активирано, всички папки са представени в DIDL като \"object.container.storageFolder\" вместо по-конкретен тип, като например \"object.container.person.musicArtist\".",
"OptionMax": "Максимално",
"OptionLoginAttemptsBeforeLockoutHelp": "Стойност нула означава наследяване по подразбиране на три опита за нормални потребители и пет за администратори. Задаването на това на -1 ще деактивира функцията.",
"OptionLoginAttemptsBeforeLockout": "Определя колко неправилни опита за влизане могат да бъдат направени, преди да бъде блокиран.",
- "OptionList": "Списък",
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Ако са активирани, тези заявки ще бъдат удовлетворени, но ще се пренебрегне заглавната част от обхвата на байтовете.",
"OptionIgnoreTranscodeByteRangeRequests": "Игнорирайте заявките за обхват на байтове при прекодиране",
"OptionHlsSegmentedSubtitles": "HLS сегментирани субтитри",
@@ -1307,7 +1302,6 @@
"OptionDateAddedFileTime": "Използвай датата на създаване на файла",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionBluray": "Блу-рей",
- "OptionBanner": "Банер",
"OptionAutomaticallyGroupSeriesHelp": "Ако е активирано, сезоните, които се намират в различни папки, ще бъдат автоматично обединени в един сериал.",
"OptionAutomaticallyGroupSeries": "Автоматично обединява сезони, които са разпределени в множество папки",
"OptionAllowVideoPlaybackTranscoding": "Разреши възпроизвеждане на видео, което изисква транскодиране",
diff --git a/src/strings/cs.json b/src/strings/cs.json
index b33c83b4f7..c4576da3ef 100644
--- a/src/strings/cs.json
+++ b/src/strings/cs.json
@@ -1220,12 +1220,6 @@
"DashboardOperatingSystem": "Operační systém: {0}",
"DashboardArchitecture": "Architektura: {0}",
"MessageNoServersAvailable": "Pomocí automatického zjišťování nebyly nalezeny žádné servery.",
- "OptionBanner": "Banner",
- "OptionList": "Seznam",
- "OptionPoster": "Plakát",
- "OptionPosterCard": "Filmový pás",
- "OptionThumb": "Náhled",
- "OptionThumbCard": "Panel náhledů",
"PlaybackData": "Data přehrávání",
"MusicAlbum": "Hudební album",
"MusicArtist": "Interpret",
diff --git a/src/strings/da.json b/src/strings/da.json
index 5ed9709722..c05d824e0a 100644
--- a/src/strings/da.json
+++ b/src/strings/da.json
@@ -1127,7 +1127,6 @@
"OnlyForcedSubtitlesHelp": "Kun undertekster markeret som tvungne vil blive indlæst.",
"OnlyImageFormats": "Kun billedformater (VOBSUB, PGS, SUB)",
"Option3D": "3D",
- "OptionBanner": "Banner",
"OptionBluray": "Blu-Ray",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionIsHD": "HD",
@@ -1228,14 +1227,9 @@
"PlaybackData": "Afspilningsdata",
"Person": "Person",
"PasswordResetProviderHelp": "Vælg en leverandør af nulstil adgangskode, der skal bruges, når denne bruger anmoder om en nulstilling af adgangskode",
- "OptionThumbCard": "Thumb card",
- "OptionThumb": "Thumb",
"OptionRandom": "Tilfældig",
- "OptionPosterCard": "Plakatkort",
- "OptionPoster": "Plakat",
"OptionLoginAttemptsBeforeLockoutHelp": "En værdi på nul betyder at arve standard for tre forsøg for normale brugere og fem for administratorer. Indstilling af dette til -1 vil deaktivere funktionen.",
"OptionLoginAttemptsBeforeLockout": "Bestemmer, hvor mange forkerte loginforsøg, der kan gøres, før lockout finder sted.",
- "OptionList": "Liste",
"OptionForceRemoteSourceTranscoding": "Tving transcoding af eksterne mediekilder (som LiveTV)",
"NoCreatedLibraries": "Det ser ud til, at du ikke har oprettet nogen biblioteker endnu. {0} Vil du oprette en nu? {1}",
"MusicVideo": "Musik Video",
diff --git a/src/strings/de.json b/src/strings/de.json
index 37aacc9858..9ab5ee1358 100644
--- a/src/strings/de.json
+++ b/src/strings/de.json
@@ -1190,7 +1190,6 @@
"OptionMax": "Maximum",
"OptionProfileVideoAudio": "Video Audio",
"OptionSubstring": "Teilzeichenfolge",
- "OptionThumb": "Miniaturansicht",
"Premiere": "Premiere",
"Smart": "Schlau",
"Tags": "Markierungen",
@@ -1246,11 +1245,6 @@
"MediaInfoCodecTag": "Codec Tag",
"SubtitleOffset": "Untertitel-Synchronisierung",
"PlaybackData": "Wiedergabeinformationen",
- "OptionThumbCard": "Vorschaukarte",
- "OptionPosterCard": "Posterkarte",
- "OptionPoster": "Poster",
- "OptionList": "Liste",
- "OptionBanner": "Banner",
"MusicVideo": "Musikvideo",
"MusicLibraryHelp": "Überprüfe den {0}Musikbenennungsguide{1}.",
"OptionRandom": "Zufällig",
diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json
index 4a24ef697d..38b4549a96 100644
--- a/src/strings/en-gb.json
+++ b/src/strings/en-gb.json
@@ -527,8 +527,6 @@
"OptionWakeFromSleep": "Wake from sleep",
"OptionUnairedEpisode": "Unaired Episodes",
"OptionTrackName": "Track Name",
- "OptionThumbCard": "Thumb card",
- "OptionThumb": "Thumb",
"OptionSubstring": "Substring",
"OptionSpecialEpisode": "Specials",
"OptionSaveMetadataAsHiddenHelp": "Changing this will apply to new metadata saved going forward. Existing metadata files will be updated the next time they are saved by Jellyfin Server.",
@@ -553,9 +551,7 @@
"OptionMax": "Max",
"OptionLoginAttemptsBeforeLockoutHelp": "A value of zero means inheriting the default of three attempts for normal users and five for administrators. Setting this to -1 will disable the feature.",
"OptionLoginAttemptsBeforeLockout": "Determines how many incorrect login attempts can be made before lockout occurs.",
- "OptionList": "List",
"OptionDatePlayed": "Date Played",
- "OptionBanner": "Banner",
"OptionAutomaticallyGroupSeriesHelp": "If enabled, series that are spread across multiple folders within this library will be automatically merged into a single series.",
"OptionAutomaticallyGroupSeries": "Automatically merge series that are spread across multiple folders",
"OptionAllowVideoPlaybackTranscoding": "Allow video playback that requires transcoding",
@@ -1077,8 +1073,6 @@
"ServerNameIsRestarting": "Jellyfin Server - {0} is restarting.",
"OptionProtocolHls": "HTTP Live Streaming",
"OptionProfileVideoAudio": "Video Audio",
- "OptionPosterCard": "Poster card",
- "OptionPoster": "Poster",
"OneChannel": "One channel",
"MediaInfoChannels": "Channels",
"MediaInfoBitDepth": "Bit depth",
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index 0593798b24..380612ca95 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -1022,7 +1022,6 @@
"OptionAllowVideoPlaybackTranscoding": "Allow video playback that requires transcoding",
"OptionAutomaticallyGroupSeries": "Automatically merge series that are spread across multiple folders",
"OptionAutomaticallyGroupSeriesHelp": "Series that are spread across multiple folders within this library will be automatically merged into a single series.",
- "OptionBanner": "Banner",
"OptionBluray": "Blu-ray",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionCommunityRating": "Community Rating",
@@ -1066,7 +1065,6 @@
"OptionIsHD": "HD",
"OptionIsSD": "SD",
"OptionLikes": "Likes",
- "OptionList": "List",
"OptionLoginAttemptsBeforeLockout": "Determines how many incorrect login attempts can be made before lockout occurs.",
"OptionLoginAttemptsBeforeLockoutHelp": "A value of zero means inheriting the default of three attempts for normal users and five for administrators. Setting this to -1 will disable the feature.",
"OptionMax": "Max",
@@ -1079,8 +1077,6 @@
"OptionPlainVideoItems": "Display all videos as plain video items",
"OptionPlainVideoItemsHelp": "All videos are represented in DIDL as \"object.item.videoItem\" instead of a more specific type, such as \"object.item.videoItem.movie\".",
"OptionPlayCount": "Play Count",
- "OptionPoster": "Poster",
- "OptionPosterCard": "Poster card",
"OptionPremiereDate": "Premiere Date",
"OptionProfilePhoto": "Photo",
"OptionProfileVideo": "Video",
@@ -1100,8 +1096,6 @@
"OptionSaveMetadataAsHiddenHelp": "Changing this will apply to new metadata saved going forward. Existing metadata files will be updated the next time they are saved by the server.",
"OptionSpecialEpisode": "Specials",
"OptionSubstring": "Substring",
- "OptionThumb": "Thumb",
- "OptionThumbCard": "Thumb card",
"OptionTrackName": "Track Name",
"OptionTvdbRating": "TVDB Rating",
"OptionUnairedEpisode": "Unaired Episodes",
@@ -1144,6 +1138,8 @@
"PleaseEnterNameOrId": "Please enter a name or an external ID.",
"PleaseRestartServerName": "Please restart Jellyfin on {0}.",
"PleaseSelectTwoItems": "Please select at least two items.",
+ "Poster": "Poster",
+ "PosterCard": "Poster Card",
"MessagePluginInstalled": "The plugin has been successfully installed. The server will need to be restarted for changes to take effect.",
"MessagePluginInstallError": "An error occured while installing the plugin.",
"MessageGetInstalledPluginsError": "An error occured while getting the list of currently installed plugins.",
@@ -1298,6 +1294,7 @@
"TheseSettingsAffectSubtitlesOnThisDevice": "These settings affect subtitles on this device",
"ThisWizardWillGuideYou": "This wizard will help guide you through the setup process. To begin, please select your preferred language.",
"Thumb": "Thumb",
+ "ThumbCard": "Thumb Card",
"Thursday": "Thursday",
"TitleHardwareAcceleration": "Hardware Acceleration",
"TitleHostingSettings": "Hosting Settings",
diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json
index 92a2b31c03..c3f266f38c 100644
--- a/src/strings/es-ar.json
+++ b/src/strings/es-ar.json
@@ -777,7 +777,6 @@
"LabelLibraryPageSize": "Tamaño de página de la biblioteca:",
"LabelLanguage": "Idioma:",
"LabelLanNetworks": "Redes LAN:",
- "OptionBanner": "Pancarta",
"OptionAutomaticallyGroupSeriesHelp": "Si está habilitado, las series que se distribuyen en varias carpetas dentro de esta biblioteca se fusionarán automáticamente en una sola serie.",
"OptionAutomaticallyGroupSeries": "Combinar automáticamente series que se extienden a través de múltiples carpetas",
"OptionAllowVideoPlaybackTranscoding": "Permitir reproducción de video que requiere transcodificación",
@@ -1131,8 +1130,6 @@
"OptionWakeFromSleep": "Despertarse del sueño",
"OptionTvdbRating": "Calificación de TVDB",
"OptionTrackName": "Nombre de la pista",
- "OptionThumbCard": "Tarjeta del pulgar",
- "OptionThumb": "Pulgar",
"OptionSubstring": "Subcadena",
"OptionSpecialEpisode": "Especiales",
"OptionSaveMetadataAsHiddenHelp": "Cambiar esto se aplicará a los nuevos metadatos guardados en el futuro. Los archivos de metadatos existentes se actualizarán la próxima vez que el servidor Jellyfin los guarde.",
@@ -1152,8 +1149,6 @@
"OptionProfileVideo": "Video",
"OptionProfilePhoto": "Foto",
"OptionPremiereDate": "Fecha de estreno",
- "OptionPosterCard": "Tarjeta de póster",
- "OptionPoster": "Póster",
"OptionPlayCount": "Cuento de reproducciones",
"OptionPlainVideoItemsHelp": "Si está habilitado, todos los videos se representan en DIDL como \"object.item.videoItem\" en lugar de un tipo más específico, como \"object.item.videoItem.movie\".",
"OptionPlainVideoItems": "Mostrar todos los videos como elementos de video simples",
@@ -1165,7 +1160,6 @@
"OptionMax": "Máx.",
"OptionLoginAttemptsBeforeLockoutHelp": "Un valor de cero significa heredar el valor predeterminado de tres intentos para usuarios normales y cinco para administradores. Establecer esto en -1 deshabilitará la función.",
"OptionLoginAttemptsBeforeLockout": "Determina cuántos intentos de inicio de sesión incorrectos se pueden realizar antes de que ocurra el bloqueo.",
- "OptionList": "Lista",
"OptionLikes": "Me gustas",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
diff --git a/src/strings/es-mx.json b/src/strings/es-mx.json
index 0906f4c613..9caebe2f7e 100644
--- a/src/strings/es-mx.json
+++ b/src/strings/es-mx.json
@@ -1204,16 +1204,12 @@
"No": "No",
"Normal": "Normal",
"Option3D": "3D",
- "OptionBanner": "Banner",
"OptionBluray": "Blu-ray",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "Lista",
"OptionLoginAttemptsBeforeLockout": "Determina cuantos intentos de inicio de sesión incorrectos se pueden hacer antes de que ocurra el bloqueo.",
"OptionLoginAttemptsBeforeLockoutHelp": "Un valor de cero significa heredar el valor predeterminado de tres intentos para los usuarios normales y cinco para los administradores. Ajustar esto a -1 deshabilitará la función.",
- "OptionPoster": "Póster",
- "OptionPosterCard": "Ficha de póster",
"OptionProfileVideo": "Video",
"OptionProtocolHttp": "HTTP",
"OptionRegex": "Expresión regular",
@@ -1226,8 +1222,6 @@
"ValueMinutes": "{0} min",
"ValueSeriesCount": "{0} series",
"Vertical": "Vertical",
- "OptionThumb": "Miniatura",
- "OptionThumbCard": "Miniatura",
"LabelPleaseRestart": "Los cambios tendrán efecto después de recargar manualmente el cliente web.",
"LabelPlayMethod": "Método de reproducción:",
"LabelPlayer": "Reproductor:",
diff --git a/src/strings/es.json b/src/strings/es.json
index e3ce6b6641..969c926a9c 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -1158,7 +1158,6 @@
"Normal": "Normal",
"Off": "Apagado",
"Option3D": "3D",
- "OptionBanner": "Cabecera",
"OptionBluray": "Blu-ray",
"OptionDvd": "DVD",
"OptionIsHD": "HD",
@@ -1186,17 +1185,12 @@
"MusicArtist": "Artista musical",
"MusicVideo": "Vídeo musical",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
- "OptionList": "Lista",
"OptionLoginAttemptsBeforeLockout": "Determina cuántos intentos de inicio de sesión fallidos se pueden realizar antes de que se produzca el bloqueo.",
"OptionLoginAttemptsBeforeLockoutHelp": "El valor cero implica heredar el valor por defecto de tres intentos para usuarios y cinco intentos para administradores. El valor -1 desactiva esta funcionalidad.",
- "OptionPoster": "Póster",
- "OptionPosterCard": "Cartelera",
"OptionProfileVideo": "Vídeo",
"OptionProtocolHttp": "HTTP",
"OptionRegex": "Regex (expresión regular)",
"OptionSubstring": "Subcadena",
- "OptionThumb": "Miniatura",
- "OptionThumbCard": "Miniatura pequeña",
"PasswordResetProviderHelp": "Elige un proveedor de restablecimiento de contraseña que se utilizará cuando este usuario solicite un restablecimiento de contraseña",
"PerfectMatch": "Coincidencia perfecta",
"PictureInPicture": "Imagen sobre imagen",
diff --git a/src/strings/es_419.json b/src/strings/es_419.json
index ae028eace1..bcd131c717 100644
--- a/src/strings/es_419.json
+++ b/src/strings/es_419.json
@@ -33,7 +33,6 @@
"Absolute": "Absoluto",
"YadifBob": "YADIF Bob",
"Trailers": "Trailers",
- "OptionThumbCard": "Miniatura de imagen",
"OptionResElement": "elemento reanudable",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionBluray": "Blu-ray",
@@ -141,7 +140,6 @@
"TabContainers": "Contenedores",
"TabCodecs": "Códecs",
"TabCatalog": "Catálogo",
- "OptionPoster": "Póster",
"OptionPlayCount": "Contador de reproducciones",
"OptionPlainVideoItemsHelp": "Todos los videos serán representados en DIDL como «object.item.videoItem» en lugar de un tipo más específico, como «object.item.videoItem.movie».",
"OptionPlainVideoItems": "Mostrar todos los videos como elementos de video simples",
@@ -154,7 +152,6 @@
"OptionMax": "Máximo",
"OptionLoginAttemptsBeforeLockoutHelp": "Un valor de cero significa heredar el valor predeterminado de tres intentos para los usuarios normales y cinco para los administradores. Ajustar esto a -1 deshabilitará la función.",
"OptionLoginAttemptsBeforeLockout": "Determina cuantos intentos de inicio de sesión incorrectos se pueden hacer antes de que ocurra el bloqueo.",
- "OptionList": "Lista",
"OptionLikes": "Me gusta",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
@@ -196,7 +193,6 @@
"OptionCustomUsers": "Personalizado",
"OptionCriticRating": "Calificación de los críticos",
"OptionCommunityRating": "Calificación de la comunidad",
- "OptionBanner": "Banner",
"OptionAutomaticallyGroupSeriesHelp": "Series que estén repartidas en múltiples carpetas dentro de esta biblioteca serán automáticamente fusionadas en una sola serie.",
"OptionAutomaticallyGroupSeries": "Fusionar automáticamente series esparcidas a través de múltiples carpetas",
"OptionAllowVideoPlaybackTranscoding": "Permitir la reproducción de video que requiera de transcodificación",
@@ -550,7 +546,6 @@
"OptionUnairedEpisode": "Episodios no emitidos",
"OptionTvdbRating": "Calificación de TVDB",
"OptionTrackName": "Nombre de la pista",
- "OptionThumb": "Miniatura",
"OptionSubstring": "Subcadena",
"OptionSpecialEpisode": "Especiales",
"OptionSaveMetadataAsHiddenHelp": "Cambiar esto se aplicará a los nuevos metadatos guardados en el futuro. Los archivos de metadatos existentes serán actualizados la próxima vez que sean guardados por el servidor.",
@@ -569,7 +564,6 @@
"OptionProfileVideo": "Video",
"OptionProfilePhoto": "Foto",
"OptionPremiereDate": "Fecha de estreno",
- "OptionPosterCard": "Ficha de póster",
"LabelSize": "Tamaño:",
"LabelSimultaneousConnectionLimit": "Límite de transmisiones simultáneas:",
"LabelServerName": "Nombre del servidor:",
diff --git a/src/strings/fa.json b/src/strings/fa.json
index 627dbb0218..ecb4070626 100644
--- a/src/strings/fa.json
+++ b/src/strings/fa.json
@@ -506,8 +506,6 @@
"AllowedRemoteAddressesHelp": "لیستی از آدرس های IP یا ورودیهای IP/netmask برای شبکه هایی که به آنها امکان ارتباط از راه دور داده میشود ، با کاما از هم جدا شدند. در صورت خالی ماندن ، تمام آدرسهای راه دور مجاز خواهند بود.",
"AllowOnTheFlySubtitleExtractionHelp": "زیرنویس های جاسازی شده را میتوان از ویدئو ها استخراج کرد و به منظور جلوگیری از کدگذاری فیلم ، به صورت متن ساده به بازدید کننده ارسال کرد. در بعضی از سیستمها این میتواند مدت زیادی طول بکشد و باعث شود پخش فیلم در طول فرآیند استخراج متوقف شود. این گزینه را غیرفعال کنید تا زیرنویسهای جاسازی شده با استفاده از رمزگذاری ویدیو در حالی که به طور محلی توسط دستگاه بازدیدکننده پشتیبانی نمیشوند ارسال شود.",
"AdditionalNotificationServices": "برای نصب سرویسهای اعلان اضافی، در فروشگاه افزونهها جستجو کنید.",
- "OptionThumbCard": "کارت بندانگشتی",
- "OptionThumb": "بندانگشتی",
"OptionSubstring": "زیررشته",
"OptionSpecialEpisode": "ویژهها",
"OptionSaveMetadataAsHidden": "ذخیره فرادادهها و عکسها به عنوان فایلهای پنهان",
@@ -521,8 +519,6 @@
"OptionProfileVideoAudio": "صوتی تصویری",
"OptionProfilePhoto": "عکس",
"OptionPremiereDate": "تاریخ پخش",
- "OptionPosterCard": "کارتِ پوستر",
- "OptionPoster": "پوستر",
"OptionPlayCount": "تعداد پخش",
"OptionPlainVideoItems": "نمایش همه فیلمها به عنوان موارد ویدیویی ساده",
"OptionPlainStorageFolders": "نمایش همه پوشهها به عنوان پوشههای ذخیره سازی ساده",
@@ -865,7 +861,6 @@
"OptionAllowVideoPlaybackTranscoding": "Allow video playback that requires transcoding",
"OptionAutomaticallyGroupSeries": "Automatically merge series that are spread across multiple folders",
"OptionAutomaticallyGroupSeriesHelp": "If enabled, series that are spread across multiple folders within this library will be automatically merged into a single series.",
- "OptionBanner": "Banner",
"OptionBluray": "Blu-ray",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionCommunityRating": "Community Rating",
@@ -979,7 +974,6 @@
"OptionImdbRating": "IMDb Rating",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "List",
"OptionLoginAttemptsBeforeLockout": "Determines how many incorrect login attempts can be made before lockout occurs.",
"OptionLoginAttemptsBeforeLockoutHelp": "A value of zero means inheriting the default of three attempts for normal users and five for administrators. Setting this to -1 will disable the feature.",
"OptionMax": "Max",
diff --git a/src/strings/fi.json b/src/strings/fi.json
index 43bd938652..91b69cd277 100644
--- a/src/strings/fi.json
+++ b/src/strings/fi.json
@@ -254,8 +254,6 @@
"OptionWeekdays": "Arkipäivät",
"OptionTvdbRating": "TVDB luokitus",
"OptionTrackName": "Raidan nimi",
- "OptionThumbCard": "Pienoiskuvakortti",
- "OptionThumb": "Pienoiskuva",
"OptionSubstring": "Substring",
"OptionSpecialEpisode": "Erikoisjaksot",
"OptionSaveMetadataAsHidden": "Tallenna metadata ja kuvat piilotettuina tiedostoina",
@@ -270,13 +268,10 @@
"OptionProfileVideo": "Video",
"OptionProfilePhoto": "Kuva",
"OptionPremiereDate": "Ensi-iltapäivä",
- "OptionPosterCard": "Julistekortti",
- "OptionPoster": "Juliste",
"OptionPlayCount": "Toistokerrat",
"OptionNew": "Uusi…",
"OptionMissingEpisode": "Puuttuvat jaksot",
"OptionMax": "Maksimi",
- "OptionList": "Lista",
"OptionLikes": "Likes",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
@@ -298,7 +293,6 @@
"OptionCustomUsers": "Mukautettu",
"OptionCriticRating": "Kriitikoiden luokitus",
"OptionCommunityRating": "Yhteisön luokitus",
- "OptionBanner": "Lippu",
"OnlyForcedSubtitlesHelp": "Vain pakotetuiksi merkityt tekstitykset ladataan.",
"OnlyImageFormats": "Vain kuvaformaatit (VOBSUB, PGS, SUB)",
"OnlyForcedSubtitles": "Vain pakotetut",
diff --git a/src/strings/fr.json b/src/strings/fr.json
index 9a5715b8a4..1932f81e55 100644
--- a/src/strings/fr.json
+++ b/src/strings/fr.json
@@ -1211,12 +1211,7 @@
"MediaInfoStreamTypeEmbeddedImage": "Miniature",
"MessageNoCollectionsAvailable": "Les collections vous permettent de profiter de groupes personnalisés de Films, Séries et d'Albums. Cliquer sur le bouton + pour commencer à créer des collections.",
"MessageNoServersAvailable": "Aucun serveur n'a été trouvé en utilisant la recherche automatique de serveur.",
- "OptionBanner": "Bannière",
- "OptionList": "Liste",
"OptionLoginAttemptsBeforeLockout": "Définis le nombre de tentatives de connexion échouées avant blocage du compte.",
- "OptionPoster": "Affiche",
- "OptionPosterCard": "Affichette",
- "OptionThumb": "Vignette",
"LabelAuthProvider": "Fournisseur d'authentification :",
"LabelPasswordResetProvider": "Fournisseur de réinitialisation du mot de passe :",
"LabelTranscodePath": "Emplacement du transcodeur :",
@@ -1227,7 +1222,6 @@
"OptionLoginAttemptsBeforeLockoutHelp": "Une valeur de 0 signifie la règle par défaut soit 3 essais pour les utilisateurs et 5 pour les administrateurs. Une valeur à -1 désactive le blocage.",
"TabNetworking": "Réseau",
"PlaybackData": "Données de lecture",
- "OptionThumbCard": "Vignette (cadre)",
"SubtitleOffset": "Décalage des sous-titres",
"ButtonAddImage": "Ajouter une image",
"LabelSize": "Taille :",
diff --git a/src/strings/he.json b/src/strings/he.json
index c2c39fb973..1fd73d3906 100644
--- a/src/strings/he.json
+++ b/src/strings/he.json
@@ -584,7 +584,6 @@
"ButtonEditOtherUserPreferences": "ערוך את הפרופיל, התמונה וההגדרות האישיות של משתמש זה.",
"ButtonChangeServer": "החלף שרת",
"ButtonBack": "חזרה",
- "OptionBanner": "באנר",
"ButtonAudioTracks": "רצועות שמע",
"ButtonArrowRight": "ימינה",
"ButtonArrowLeft": "שמאלה",
@@ -709,10 +708,8 @@
"OptionReleaseDate": "תאריך שחרור",
"OptionRegex": "ביטוי-רגולרי",
"OptionRandom": "אקראי",
- "OptionPoster": "פוסטר",
"OptionMax": "מקסימום",
"List": "רשימה",
- "OptionList": "רשימה",
"OptionIsSD": "הבחנה רגילה (SD)",
"OptionIsHD": "הבחנה גבוהה (HD)",
"OptionExternallyDownloaded": "הורדה חיצונית",
diff --git a/src/strings/hr.json b/src/strings/hr.json
index 57222052e9..75ea2a6854 100644
--- a/src/strings/hr.json
+++ b/src/strings/hr.json
@@ -909,16 +909,12 @@
"Box": "Kutija",
"AskAdminToCreateLibrary": "Traži administratora da kreira biblioteku.",
"PictureInPicture": "Slika u slici",
- "OptionThumb": "Sličica",
"OptionProtocolHttp": "HTTP",
"OptionProfileVideo": "Video",
- "OptionPoster": "Poster",
- "OptionList": "Lista",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
"OptionDvd": "DVD",
"OptionBluray": "Blu-ray",
- "OptionBanner": "Zaglavlje",
"Option3D": "3D",
"OneChannel": "Jedan kanal",
"Off": "Isključi",
diff --git a/src/strings/hu.json b/src/strings/hu.json
index 1400576dd2..a46ccfb016 100644
--- a/src/strings/hu.json
+++ b/src/strings/hu.json
@@ -1200,16 +1200,10 @@
"SubtitleOffset": "Felirat eltolása",
"SeriesDisplayOrderHelp": "Rakd sorba az epizódokat az adásba kerülésük dátuma, a DVD sorszám, vagy az abszolút számozás szerint.",
"SelectAdminUsername": "Kérjük válassz felhasználónevet az adminisztrátor fiók számára.",
- "OptionThumbCard": "Miniatűr kártya",
- "OptionThumb": "Miniatűr",
"OptionSpecialEpisode": "Különkiadások",
"OptionRandom": "Véletlenszerű",
- "OptionPosterCard": "Poszter kártya",
- "OptionPoster": "Poszter",
"OptionLoginAttemptsBeforeLockoutHelp": "A 0 érték beállítással az alapértelmezett beállítások lesznek bekapcsolva. A sima felhasználóknak 3, az adminisztrátoroknak 5 lehetőségük lesz. A -1 érték kikapcsolja ezt a funkciót.",
- "OptionList": "Lista",
"OptionCustomUsers": "Egyéni",
- "OptionBanner": "Banner",
"OnlyForcedSubtitlesHelp": "Csak a kényszerítettnek jelölt feliratok fognak megjelenni.",
"OnlyForcedSubtitles": "Csak kényszerített",
"Normal": "Normális",
diff --git a/src/strings/it.json b/src/strings/it.json
index 959e67722f..e996943ad8 100644
--- a/src/strings/it.json
+++ b/src/strings/it.json
@@ -1226,18 +1226,12 @@
"NextUp": "Prossimo",
"No": "No",
"Option3D": "3D",
- "OptionBanner": "Banner",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionDvd": "DVD",
"OptionIsSD": "SD",
- "OptionList": "Lista",
"OptionLoginAttemptsBeforeLockout": "Determina quanti tentativi di accesso errati possono essere fatti prima che avvenga il blocco.",
"OptionLoginAttemptsBeforeLockoutHelp": "Se imposti qui zero verranno considerati i valori di default, ossia tre tentativi per gli utenti normali e cinque per gli amministratori. Impostare questo a -1 disabiliterà la funzione.",
- "OptionPoster": "Locandina",
- "OptionPosterCard": "Carte/locandina",
"OptionRegex": "Espressioni Regolari",
- "OptionThumb": "Icona",
- "OptionThumbCard": "Carte/icone",
"PictureInPicture": "Mini-schermo",
"ShowAdvancedSettings": "Mostra impostazioni avanzate",
"Smaller": "Più piccolo",
diff --git a/src/strings/ja.json b/src/strings/ja.json
index ce9a790c22..433550ca78 100644
--- a/src/strings/ja.json
+++ b/src/strings/ja.json
@@ -488,7 +488,6 @@
"NewCollection": "新しいコレクション",
"OptionDatePlayed": "再生日",
"OptionMissingEpisode": "所有してないエピソード",
- "OptionPoster": "ポスター",
"OptionProfilePhoto": "フォト",
"OptionProfileVideo": "ビデオ",
"OptionProfileVideoAudio": "ビデオオーディオ",
@@ -563,7 +562,6 @@
"LabelSortTitle": "タイトルによる並び替え:",
"Metadata": "メタデータ",
"OptionAutomaticallyGroupSeries": "複数のフォルダーに分かれたエピソードを自動的に統合",
- "OptionBanner": "バナー",
"ReleaseDate": "公開日",
"OptionDvd": "DVD",
"Save": "保存",
@@ -611,7 +609,6 @@
"Quality": "品質",
"OptionIsSD": "SD",
"OptionLikes": "いいね",
- "OptionList": "リスト",
"RecommendationDirectedBy": "{0} 監督",
"RefreshMetadata": "リフレッシュメタデータ",
"RemoveFromPlaylist": "プレイリストから削除",
@@ -925,7 +922,6 @@
"OptionAllUsers": "すべてのユーザー",
"OptionAllowRemoteSharedDevices": "共有デバイスのリモートコントロールを許可",
"OptionMax": "最大",
- "OptionPosterCard": "ポスターカード",
"PasswordMatchError": "パスワードと確認用のパスワードは同一でないといけません。",
"ReplaceExistingImages": "現在の画像を置き換える",
"SearchForSubtitles": "字幕を検索",
diff --git a/src/strings/kk.json b/src/strings/kk.json
index 5d5db6dae2..37af77ba63 100644
--- a/src/strings/kk.json
+++ b/src/strings/kk.json
@@ -1214,17 +1214,11 @@
"MusicArtist": "Mýzyka oryndaýshysy",
"MusicVideo": "Mýzykalyq beıne",
"Option3D": "3D",
- "OptionBanner": "Baner",
"OptionCaptionInfoExSamsung": "CaptionInfoEx [Samsung]",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "Tizim",
"OptionLoginAttemptsBeforeLockout": "Qulyptalǵansha deıin qansha durys emes kirý áreketi jasalýy múmkin ekendigin anyqtaıdy.",
"OptionLoginAttemptsBeforeLockoutHelp": "0 máni qarapaıym paıdalanýshylar úshin úsh jáne ákimshiler úshin bes árekettiń ádepki mánin bildiredi. Osyny -1 etip ornatý múmkindikti ajyratady.",
- "OptionPoster": "Póster",
- "OptionPosterCard": "Poster-karta",
- "OptionThumb": "Nobaı",
- "OptionThumbCard": "Nobaı-karta",
"PasswordResetProviderHelp": "Bul paıdalanýshy paróldi ysyrý saýalyn jibergen kezde paıdalanylatyn paróldi ysyrý jetkizýshisin tańdańyz",
"PlaybackData": "Oınatý derekteri",
"SubtitleOffset": "Sýbtıtrler yǵysýy",
diff --git a/src/strings/ko.json b/src/strings/ko.json
index 0326d8da45..a831d2b805 100644
--- a/src/strings/ko.json
+++ b/src/strings/ko.json
@@ -797,14 +797,10 @@
"Overview": "개요",
"OptionSubstring": "Substring",
"OptionProtocolHttp": "HTTP",
- "OptionPosterCard": "포스터 카드",
- "OptionPoster": "포스터",
"OptionNew": "새로운..",
- "OptionList": "목록",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
"OptionEnableForAllTuners": "모든 튜너 장치 활성화",
- "OptionBanner": "배너",
"Option3D": "3D",
"OnlyImageFormats": "이미지 포맷만 (VOBSUB, PGS, SUB)",
"Off": "끄기",
diff --git a/src/strings/lt-lt.json b/src/strings/lt-lt.json
index 04bd347f32..8469c36c46 100644
--- a/src/strings/lt-lt.json
+++ b/src/strings/lt-lt.json
@@ -603,7 +603,6 @@
"HeaderIdentificationHeader": "Identifikavimo antraštė",
"HeaderHttpHeaders": "HTTP-antraštės",
"OptionAutomaticallyGroupSeriesHelp": "Jei įjungta - serijos skirtinguose bibliotekos aplankaluose bus apjungtos į vieną serialą.",
- "OptionBanner": "Juosta",
"Playlists": "Grojaraštis",
"HeaderDateIssued": "Išdavimo data",
"HeaderDefaultRecordingSettings": "Numatytieji įrašymo nustatymai",
diff --git a/src/strings/lv.json b/src/strings/lv.json
index 061f9a130a..06bd5e6ec6 100644
--- a/src/strings/lv.json
+++ b/src/strings/lv.json
@@ -677,7 +677,6 @@
"OptionParentalRating": "Vecāku Reitings",
"OptionOnInterval": "Pēc intervāla",
"OptionNew": "Jauns...",
- "OptionList": "Saraksts",
"OptionLikes": "Patīk",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
@@ -989,14 +988,12 @@
"OptionWeekdays": "Darba dienās",
"OptionWakeFromSleep": "Modināt no miega",
"OptionTrackName": "Celiņa Nosaukums",
- "OptionThumb": "Sīktēls",
"OptionSaveMetadataAsHidden": "Saglabāt metadatus un attēlus kā paslēptas datnes",
"OptionRequirePerfectSubtitleMatch": "Lejupielādēt tikai subtitrus, kas perfekti sakrīt ar manām video datnēm",
"OptionRegex": "Regex",
"OptionProtocolHls": "HTTP Tiešraides Straumes",
"OptionProfilePhoto": "Attēls",
"OptionPremiereDate": "Pirmizrādes Datums",
- "OptionPoster": "Plakāts",
"OptionPlayCount": "Atskaņošanas Skaits",
"OptionMissingEpisode": "Trūkstošās Epizodes",
"OptionMax": "Maksimums",
diff --git a/src/strings/nb.json b/src/strings/nb.json
index 861349f60a..d46b878303 100644
--- a/src/strings/nb.json
+++ b/src/strings/nb.json
@@ -1009,7 +1009,6 @@
"MediaInfoStreamTypeSubtitle": "Undertekst",
"MediaInfoStreamTypeVideo": "Video",
"CopyStreamURLSuccess": "URLen ble kopiert.",
- "OptionThumb": "Miniatyrbilde",
"LabelInternetQuality": "Internettkvalitet:",
"SubtitleAppearanceSettingsDisclaimer": "Disse innstillingene vil ikke påvirke grafiske undertekster (PGS, DVD, osv.) eller ASS/SSA-teksting som inkluderer sin egen formatering.",
"TheseSettingsAffectSubtitlesOnThisDevice": "Disse innstillingene påvirker undertekster på denne enheten",
@@ -1021,8 +1020,6 @@
"LabelUserAgent": "Brukeragent:",
"Mobile": "Mobil",
"Off": "Av",
- "OptionBanner": "Banner",
- "OptionThumbCard": "Miniatyrbildekort",
"Premiere": "Premiere",
"Label3DFormat": "3D-format:",
"Hide": "Skjul",
@@ -1093,7 +1090,6 @@
"LabelBaseUrlHelp": "Legg til en egendefinert undermappe til serverens nettadresse. For eksempel: http://example.com/<baseurl>
",
"LabelFont": "Skrifttype:",
"LabelMatchType": "Matchtype:",
- "OptionPosterCard": "Plakatkort",
"Uniform": "Jevn",
"Directors": "Regissører",
"Disc": "Plate",
@@ -1203,9 +1199,7 @@
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionDownloadImagesInAdvanceHelp": "Som standard vil de fleste bilder kun lastes ned når de blir forespurt av en klient. Aktiver denne innstillingen for å laste ned alle bilder på forhånd når ny media oppdages. Dette kan føre til at skanning av biblioteket tar betydelig lenger tid.",
"OptionIsSD": "SD",
- "OptionList": "Liste",
"OptionLoginAttemptsBeforeLockout": "Bestemmer hvor mange mislykkede innloggingsførsøk som kan finne sted før brukeren blir utestengt.",
- "OptionPoster": "Plakat",
"OptionProfileVideo": "Video",
"OptionProtocolHls": "HTTP-direktestrømming",
"OptionProtocolHttp": "HTTP",
diff --git a/src/strings/nl.json b/src/strings/nl.json
index ce782d8806..b554a1f95d 100644
--- a/src/strings/nl.json
+++ b/src/strings/nl.json
@@ -1158,7 +1158,6 @@
"MusicArtist": "Muziek Artiest",
"MusicVideo": "Muziek Video",
"Option3D": "3D",
- "OptionPosterCard": "Poster kaart",
"TabCodecs": "Codecs",
"ValueOneAlbum": "1 album",
"SubtitleOffset": "Ondertiteling Compensatie",
@@ -1185,10 +1184,8 @@
"ValueMinutes": "{0} min",
"OptionProtocolHttp": "HTTP",
"MusicLibraryHelp": "Bekijk de {0}muziek benaming gids{1}.",
- "OptionList": "lijst",
"LabelAudioBitDepth": "Audio bit diepte:",
"OptionRandom": "Willekeurig",
- "OptionThumbCard": "Miniatuur kaart",
"PlaybackData": "Afspeel Data",
"PasswordResetProviderHelp": "Kies een wachtwoord reset provider om te gebruiken wanneer deze gebruiker een wachtwoord reset aanvraagt",
"Screenshots": "Schermafdruk",
@@ -1201,7 +1198,6 @@
"Whitelist": "Whitelist",
"MediaInfoCodec": "Codec",
"Menu": "Menu",
- "OptionThumb": "Miniatuur",
"LabelTranscodingFramerate": "Transcoderen beeldverversing:",
"LabelType": "Type:",
"LabelAudioBitrate": "Audio bitrate:",
@@ -1244,10 +1240,8 @@
"MetadataManager": "Metadata Beheerder",
"MusicAlbum": "Muziek Album",
"NumLocationsValue": "{0} mappen",
- "OptionBanner": "Banner",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionLoginAttemptsBeforeLockoutHelp": "Een waarde van nul betekent dat de standaard waarden van drie pogingen voor normale gebruikers en vijf voor administratoren gebruikt zullen worden. Een waarde van -1 zal deze functionaliteit uit zetten.",
- "OptionPoster": "Poster",
"OptionProtocolHls": "HTTP Live Streaming",
"OptionRegex": "Regex",
"TabServer": "Server",
diff --git a/src/strings/pl.json b/src/strings/pl.json
index 4ac3c2087b..6f2de99702 100644
--- a/src/strings/pl.json
+++ b/src/strings/pl.json
@@ -1212,17 +1212,11 @@
"MusicArtist": "Artysta Muzyczny",
"MusicVideo": "Teledysk",
"Option3D": "3D",
- "OptionBanner": "Baner",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "Lista",
"OptionLoginAttemptsBeforeLockout": "Określa, ile nieprawidłowych prób logowania można wykonać przed wystąpieniem blokady.",
"OptionLoginAttemptsBeforeLockoutHelp": "Wartość zero oznacza dziedziczenie domyślnej wartości (trzy dla osób niebędących administratorami i pięć dla administratora). Ustawienia na -1 wyłącza blokadę.",
- "OptionPoster": "Plakat",
- "OptionPosterCard": "Karta plakatu",
- "OptionThumb": "Podgląd",
- "OptionThumbCard": "Karta miniatury",
"PasswordResetProviderHelp": "Wybierz dostawcę resetowania hasła, który będzie używany, gdy ten użytkownik zażąda resetowania hasła.",
"PlaybackData": "Dane Odtwarzania",
"SubtitleOffset": "Przesunięcie Napisów",
diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json
index 588490bc16..478f61f865 100644
--- a/src/strings/pt-br.json
+++ b/src/strings/pt-br.json
@@ -1193,21 +1193,15 @@
"MusicAlbum": "Álbum de Música",
"MusicArtist": "Artista da Música",
"MusicVideo": "Videoclipe",
- "OptionBanner": "Banner",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "Lista",
"OptionLoginAttemptsBeforeLockout": "Determinar quantas tentativas de logins incorretas podem ser feitas antes de ocorrer o bloqueio.",
"OptionLoginAttemptsBeforeLockoutHelp": "O valor zero significa herdar o padrão de três tentativas para usuários normais e cinco para administradores. Configurar para -1 desativará o recurso.",
- "OptionPoster": "Poster",
- "OptionPosterCard": "Cartaz",
"OptionProtocolHls": "Streaming ao Vivo por HTTP",
"OptionProtocolHttp": "HTTP",
"OptionRegex": "Regex",
"OptionSubstring": "Substring",
- "OptionThumb": "Miniatura",
- "OptionThumbCard": "Cartão de miniatura",
"PasswordResetProviderHelp": "Escolha um fornecedor de redefinição de senhas para ser usado quando este usuário solicitar a redefinição de senha",
"PictureInPicture": "Picture in picture",
"PlaybackData": "Dados de Reprodução",
diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json
index ba6d8482be..c44841ad22 100644
--- a/src/strings/pt-pt.json
+++ b/src/strings/pt-pt.json
@@ -1043,7 +1043,6 @@
"MessageChangeRecordingPath": "Alterar a localização das gravações não irá migrar as gravações existentes da localização atual para a nova. Os ficheiros deverão ser movidos manualmente, se necessário.",
"ManageRecording": "Gerir gravação",
"OptionLoginAttemptsBeforeLockout": "Determina quantas falhas de início de sessão são admitidas antes de a conta ser bloqueada.",
- "OptionList": "Lista",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
"OptionExtractChapterImage": "Ativar extração de imagens do capítulo",
@@ -1213,12 +1212,7 @@
"Premiere": "Estreia",
"PreferEmbeddedTitlesOverFileNames": "Preferir títulos embutidos a nomes de ficheiro",
"PictureInPicture": "Imagem em imagem",
- "OptionThumbCard": "Miniatura cartão",
- "OptionThumb": "Miniatura",
- "OptionPosterCard": "Poster cartão",
- "OptionPoster": "Poster",
"OptionDisplayFolderView": "Mostre em vista de pasta para ver pastas de mídia",
- "OptionBanner": "Cartaz",
"NewCollectionHelp": "Coleções permitem criar grupos personalizados de filmes e outros tipos de conteúdo.",
"MusicLibraryHelp": "Reveja o {0}guia de nomeação de música{1}.",
"MovieLibraryHelp": "Reveja o {0} guia de nomeação de filmes {1}.",
diff --git a/src/strings/pt.json b/src/strings/pt.json
index f05e81deb0..a0a60411ea 100644
--- a/src/strings/pt.json
+++ b/src/strings/pt.json
@@ -1153,16 +1153,13 @@
"Episode": "Episódio",
"OptionRequirePerfectSubtitleMatch": "Baixar apenas legendas que correspondem corretamente aos arquivos de vídeo",
"OptionRandom": "Aleatório",
- "OptionPoster": "Encarte",
"OptionLoginAttemptsBeforeLockout": "Determinar a quantidade de tentativas de login incorretas até que ocorra bloqueio.",
- "OptionList": "Listar",
"OptionIsSD": "Definição padrão",
"OptionIsHD": "Alta definição",
"OptionEnableExternalContentInSuggestions": "Habilitar sugestão de conteúdo externo",
"OptionDisplayFolderViewHelp": "Exiba pastas ao lado de outras bibliotecas de mídia. Isso pode ser útil se você quiser ter uma visualização simples de pastas.",
"OptionDisplayFolderView": "Exibir uma exibição de pasta para mostrar pastas de mídia simples",
"OptionBluray": "Bluray",
- "OptionBanner": "Poster",
"OptionAllowVideoPlaybackRemuxing": "Permitir execução de vídeo que requer conversão sem recodificar",
"OptionAllowLinkSharingHelp": "Somente páginas da web que contêm informações sobre mídia são compartilhadas. Os arquivos de mídia nunca são compartilhados publicamente. O tempo de compartilhamento é limitado e expira após {0} dias.",
"Option3D": "3D",
@@ -1176,7 +1173,6 @@
"Quality": "Qualidade",
"Previous": "Anterior",
"PictureInPicture": "vídeo destacado",
- "OptionThumb": "Miniatura",
"OptionRequirePerfectSubtitleMatchHelp": "Solicitar a \"correspondência perfeita\" filtrará as legendas incluindo apenas aquelas que foram testadas com o arquivo de vídeo. Desmarcar isto aumentará a probabilidade de baixar legendas, mas poderá obter legendas incorretas ou não sincronizadas.",
"StopRecording": "Parar gravação",
"ShowYear": "Exibir ano",
@@ -1211,8 +1207,6 @@
"PreferEmbeddedTitlesOverFileNamesHelp": "Isso determina o título quando nenhum metadado da Internet ou local está disponível.",
"PlaybackErrorNoCompatibleStream": "Este cliente não é compatível com a mídia e o servidor não está enviando um formato de mídia compatível.",
"Person": "Pessoa",
- "OptionThumbCard": "Cartão de polegar",
- "OptionPosterCard": "Cartão de pôster",
"LabelRequireHttpsHelp": "Se marcado, o servidor redirecionará automaticamente todas as solicitações por HTTP para HTTPS. Isso não terá efeito se o servidor não estiver escutando HTTPS.",
"LabelRequireHttps": "Requer HTTPS",
"LabelChromecastVersion": "Versão do Chromecast",
diff --git a/src/strings/ro.json b/src/strings/ro.json
index 8927e3e656..2dce687202 100644
--- a/src/strings/ro.json
+++ b/src/strings/ro.json
@@ -827,7 +827,6 @@
"OptionCustomUsers": "Personalizat",
"OptionCaptionInfoExSamsung": "Informații pentru legendă ex: (Samsung)",
"OptionBluray": "BluRay",
- "OptionBanner": "Steag",
"OptionAutomaticallyGroupSeriesHelp": "Seriile distribuite pe mai multe foldere din această bibliotecă vor fi comasate automat într-o singură serie.",
"OptionAutomaticallyGroupSeries": "Fuzionează automat seriile care sunt răspândite pe mai multe foldere",
"OptionAllowVideoPlaybackTranscoding": "Permiteți redarea video care necesită transcodare",
@@ -1128,8 +1127,6 @@
"OptionWakeFromSleep": "Trezește din suspendare",
"OptionUnairedEpisode": "Episoade netransmise",
"OptionTvdbRating": "Evaluare TVDB",
- "OptionThumbCard": "Card în miniatură",
- "OptionThumb": "Miniatură",
"OptionSubstring": "Subșir",
"OptionSpecialEpisode": "Speciale",
"OptionSaveMetadataAsHiddenHelp": "Modificarea acestui lucru se va aplica la noi metadate salvate de acum înainte. Fișierele de metadate existente vor fi actualizate data viitoare când sunt salvate de server.",
@@ -1146,8 +1143,6 @@
"OptionProfileVideoAudio": "Audioul videoclipului",
"OptionProfileVideo": "Video",
"OptionProfilePhoto": "Fotografie",
- "OptionPosterCard": "Carte de afiș",
- "OptionPoster": "Afiș",
"OptionPlainVideoItemsHelp": "Toate videoclipurile sunt reprezentate în DIDL ca „object.item.videoItem” în loc de un tip mai specific, cum ar fi „object.item.videoItem.movie”.",
"OptionPlainVideoItems": "Afișați toate videoclipurile ca elemente video simple",
"OptionPlainStorageFoldersHelp": "Toate dosarele sunt reprezentate în DIDL ca „object.container.storageFolder” în loc de un tip mai specific, cum ar fi „object.container.person.musicArtist”.",
@@ -1158,7 +1153,6 @@
"OptionMax": "Max",
"OptionLoginAttemptsBeforeLockoutHelp": "O valoare zero înseamnă că va moșteni valoarea implicită de trei încercări pentru utilizatorii normali și cinci pentru administratori. Setarea acestei opțiuni la -1 va dezactiva funcția.",
"OptionLoginAttemptsBeforeLockout": "Determină câte încercări de conectare incorecte pot fi făcute înainte de blocare.",
- "OptionList": "Listă",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Aceste solicitări vor fi respectate, dar vor ignora antetul intervalului de octeți.",
diff --git a/src/strings/ru.json b/src/strings/ru.json
index 34ec09a8dc..f4b2f45687 100644
--- a/src/strings/ru.json
+++ b/src/strings/ru.json
@@ -1218,17 +1218,11 @@
"MusicArtist": "Муз. исполнитель",
"MusicVideo": "Муз. видео",
"Option3D": "3D",
- "OptionBanner": "Баннер",
"OptionCaptionInfoExSamsung": "CaptionInfoEx [Samsung]",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "Список",
"OptionLoginAttemptsBeforeLockout": "Определяет, сколько неудачных попыток входа можно сделать до блокировки.",
"OptionLoginAttemptsBeforeLockoutHelp": "При значении 0 наследуются по умолчанию три попытки для обычных пользователей и пять для администратора. При установке этого значения в -1 функция отключается.",
- "OptionPoster": "Постер",
- "OptionPosterCard": "Постер-карта",
- "OptionThumb": "Эскиз",
- "OptionThumbCard": "Эскиз-карта",
"PasswordResetProviderHelp": "Выберите поставщика сброса пароля, который использовуется при запросе пользователем сброса пароля.",
"PlaybackData": "Данные воспроизведения",
"SubtitleOffset": "Сдвиг субтитров",
diff --git a/src/strings/sk.json b/src/strings/sk.json
index 8927374e69..12bf8d9fa6 100644
--- a/src/strings/sk.json
+++ b/src/strings/sk.json
@@ -815,13 +815,10 @@
"OptionExtractChapterImage": "Povoliť extrakciu obrázkov z videa",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "OptionList": "Zoznam",
"OptionMax": "Max",
- "OptionPoster": "Plagát",
"OptionProfileVideo": "Video",
"OptionProtocolHls": "Živý HTTP stream",
"OptionRequirePerfectSubtitleMatch": "Sťahovať iba titulky, ktoré perfektne sedia k mojim video súborom",
- "OptionThumb": "Náhľad",
"Rate": "Hodnotenie",
"Recordings": "Nahrávky",
"RemoveFromPlaylist": "Odobrať z playlistu",
@@ -1050,7 +1047,6 @@
"PlaybackData": "Podrobnosti prehrávania",
"PlayAllFromHere": "Prehrať všetko odtiaľto",
"PasswordResetProviderHelp": "Zvoľte poskytovateľa obnovy hesla, ktorý bude použitý, keď používateľ požiada o obnovu hesla.",
- "OptionThumbCard": "Náhľadové kartičky",
"OptionSubstring": "Podreťazec",
"OptionSpecialEpisode": "Špeciály",
"OptionSaveMetadataAsHiddenHelp": "Zmena bude platiť pre nové metadáta uložené v budúcnosti. Existujúce metadáta budú aktualizované na ďalší raz, akonáhle budú uložené serverom.",
@@ -1060,7 +1056,6 @@
"OptionReportByteRangeSeekingWhenTranscoding": "Hlásiť, že server podporuje bajtové pretáčanie pri transkódovaní",
"OptionRandom": "Náhodne",
"OptionProfileVideoAudio": "Video Zvuk",
- "OptionPosterCard": "Plagátová karta",
"OptionPlainVideoItemsHelp": "Všetky videá sú reprezentované v DIDL ako \"object.item.videoItem\" namiesto viac špecifického typu, ako napríklad \"object.item.videoItem.movie\".",
"OptionPlainStorageFoldersHelp": "Všetky priečinky sú reprezentované v DIDL ako \"object.container.storageFolder\" namiesto viac špecifického typu, ako napríklad \"object.container.person.musicArtist\".",
"OptionPlainStorageFolders": "Zobraziť všetky priečinky ako jednoduché priečinky pre ukladanie",
@@ -1075,7 +1070,6 @@
"OptionDownloadImagesInAdvanceHelp": "Vo východzom stave sa väčšina obrázkov sťahuje až po vyžiadaní klientom. Povolením tejto možnosti sa budú všetky obrázky sťahovať popredu, keď sa budú importovať nové médiá. Toto môže spôsobiť výrazne dlhšie skenovanie knižnice.",
"OptionDisplayFolderViewHelp": "Zobraziť priečinky popri ostatných médiách v knižnici. Toto môže byť užitočné, pokiaľ chcete vidieť jednoduché zobrazenie priečinku.",
"OptionDisplayFolderView": "Zobraziť priečinok s jednoduchým zobrazením priečinkov medií",
- "OptionBanner": "Banner",
"OptionAutomaticallyGroupSeriesHelp": "Seriály uložené vo viacerých priečinkoch v tejto knižnici, budú automaticky zlúčené do jedného seriálu.",
"OptionAllowVideoPlaybackRemuxing": "Povoliť prehrávanie videa, ktoré vyžaduje konverziu bez opätovného enkódovania",
"OptionAllowSyncTranscoding": "Povoliť sťahovanie a synchronizáciu medií, ktoré vyžadujú transkódovanie",
diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json
index b94ea45485..9303d3aac4 100644
--- a/src/strings/sl-si.json
+++ b/src/strings/sl-si.json
@@ -816,7 +816,6 @@
"OptionCommunityRating": "Ocena skupnosti",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
"OptionBluray": "Blu-ray",
- "OptionBanner": "Pasica",
"OptionAutomaticallyGroupSeriesHelp": "Serije, ki so razdeljene v več mapah znotraj knjižnice bodo samodejno združene v eno serijo.",
"OptionAutomaticallyGroupSeries": "Samodejno združi serije, ki so razdeljene po več mapah",
"OptionAllowUserToManageServer": "Dovoli temu uporabniku upravljanje strežnika",
@@ -895,8 +894,6 @@
"LabelSortOrder": "Vrstni red:",
"LabelSortBy": "Razvrsti po:",
"Thumb": "Sličica",
- "OptionThumbCard": "Sličica",
- "OptionThumb": "Sličica",
"ButtonSplit": "Razdeli",
"MessageYouHaveVersionInstalled": "Trenutno je nameščena različica {0}.",
"DashboardVersionNumber": "Različica: {0}",
@@ -1168,9 +1165,7 @@
"RecommendationDirectedBy": "Režija",
"Person": "Oseba",
"OptionProfileVideo": "Video",
- "OptionPoster": "Plakat",
"OptionMax": "Maks.",
- "OptionList": "Seznam",
"OptionHasThemeSong": "Uvodna špica",
"NextUp": "Sledi",
"Next": "Naslednji",
diff --git a/src/strings/sv.json b/src/strings/sv.json
index e63ac8164d..23b077f91a 100644
--- a/src/strings/sv.json
+++ b/src/strings/sv.json
@@ -1200,24 +1200,18 @@
"MessageChangeRecordingPath": "Ändring av din inspelnings mapp kommer inte migrera existerande inspelningar från gamla platsen till den nya. Du behöver flytta dom manuellt om så önskas.",
"PlaybackData": "Uppspelnings Data",
"PasswordResetProviderHelp": "Välj en Lösenords Återställnings Provider att använda när denna användare begär att återställa lösenordet",
- "OptionThumbCard": "Miniatyr kort",
- "OptionThumb": "Miniatyr",
"OptionSaveMetadataAsHiddenHelp": "Ändring av detta kommer att tilldelas till ny metadata som sparas. Existerande metadata filer kommer att uppdateras nästa gång dom sparas av Jellyfin Server.",
"OptionResElement": "återskapa element",
"OptionRegex": "Regex",
"OptionRandom": "Slumpmässig",
"OptionProtocolHttp": "HTTP",
"OptionProfileVideo": "Video",
- "OptionPosterCard": "Omslags kort",
- "OptionPoster": "Omslag",
"OptionMax": "Max",
"OptionLoginAttemptsBeforeLockoutHelp": "Ett värde av noll menas att använda standard av tre försök för normala användare och fem för administratörer. -1 kommer att stänga av denna funktion.",
"OptionLoginAttemptsBeforeLockout": "Avgör hur många felaktiga inloggnings försök som kan utföras innan kontot låses.",
- "OptionList": "List",
"OptionIsSD": "SD",
"OptionIsHD": "HD",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)",
- "OptionBanner": "Banner",
"OptionForceRemoteSourceTranscoding": "Tvinga omkodning på fjärr media källor (som LiveTV)",
"Option3D": "3D",
"Normal": "Normal",
diff --git a/src/strings/ta.json b/src/strings/ta.json
index 8a8d7efb6c..5125177f2d 100644
--- a/src/strings/ta.json
+++ b/src/strings/ta.json
@@ -1016,7 +1016,6 @@
"OptionCommunityRating": "சமூக மதிப்பீடு",
"OptionCaptionInfoExSamsung": "CaptionInfoEx (சாம்சங்)",
"OptionBluray": "ப்ளூ-ரே",
- "OptionBanner": "பதாகை",
"OptionAutomaticallyGroupSeriesHelp": "இந்த நூலகத்திற்குள் பல கோப்புறைகளில் பரவியிருக்கும் தொடர்கள் தானாக ஒரு தொடராக ஒன்றிணைக்கப்படும்.",
"OptionAutomaticallyGroupSeries": "பல கோப்புறைகளில் பரவியிருக்கும் தொடர்களை தானாக இணைக்கவும்",
"OptionAllowVideoPlaybackTranscoding": "டிரான்ஸ்கோடிங் தேவைப்படும் வீடியோ பிளேபேக்கை அனுமதிக்கவும்",
@@ -1100,8 +1099,6 @@
"OptionUnairedEpisode": "ஒளிபரப்பப்படாத அத்தியாயங்கள்",
"OptionTvdbRating": "TVDB மதிப்பீடு",
"OptionTrackName": "ட்ராக் பெயர்",
- "OptionThumbCard": "சிறுபட அட்டை",
- "OptionThumb": "சிறுபடம்",
"OptionSubstring": "மூலக்கூறு",
"OptionSpecialEpisode": "சிறப்பு",
"OptionSaveMetadataAsHiddenHelp": "இதை மாற்றுவது முன்னோக்கிச் செல்லும் புதிய மெட்டாடேட்டாவுக்கு பொருந்தும். தற்போதுள்ள மெட்டாடேட்டா கோப்புகள் அடுத்த முறை சேவையகத்தால் சேமிக்கப்படும் போது அவை புதுப்பிக்கப்படும்.",
@@ -1121,8 +1118,6 @@
"OptionProfileVideo": "காணொளி",
"OptionProfilePhoto": "புகைப்படம்",
"OptionPremiereDate": "பிரீமியர் தேதி",
- "OptionPosterCard": "சுவரொட்டி அட்டை",
- "OptionPoster": "சுவரொட்டி",
"OptionPlayCount": "ப்ளே கவுண்ட்",
"OptionPlainVideoItemsHelp": "எல்லா வீடியோக்களும் டிஐடிஎல்லில் \"object.item.videoItem\" என குறிப்பிடப்படுகின்றன, அதாவது \"object.item.videoItem.movie\" போன்ற ஒரு குறிப்பிட்ட வகைக்கு பதிலாக.",
"OptionPlainVideoItems": "எல்லா வீடியோக்களையும் எளிய வீடியோ உருப்படிகளாகக் காண்பி",
@@ -1135,7 +1130,6 @@
"OptionMax": "அதிகபட்சம்",
"OptionLoginAttemptsBeforeLockoutHelp": "பூஜ்ஜியத்தின் மதிப்பு என்பது சாதாரண பயனர்களுக்கான மூன்று முயற்சிகளின் இயல்புநிலையையும், நிர்வாகிகளுக்கு ஐந்து முயற்சிகளையும் பெறுவதாகும். இதை -1 ஆக அமைப்பது அம்சத்தை முடக்கும்.",
"OptionLoginAttemptsBeforeLockout": "கதவடைப்பு ஏற்படுவதற்கு முன்பு எத்தனை தவறான உள்நுழைவு முயற்சிகள் செய்யப்படலாம் என்பதை தீர்மானிக்கிறது.",
- "OptionList": "பட்டியல்",
"OptionLikes": "விருப்பங்கள்",
"OptionIsSD": "எஸ்டி",
"OptionIsHD": "எச்டி",
diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json
index 2eaf47ecaa..aa7fcc4dbf 100644
--- a/src/strings/zh-cn.json
+++ b/src/strings/zh-cn.json
@@ -1224,12 +1224,6 @@
"MusicAlbum": "音乐专辑",
"MusicArtist": "音乐艺术家",
"MusicVideo": "音乐视频",
- "OptionBanner": "横幅",
- "OptionList": "列表",
- "OptionPoster": "海报",
- "OptionPosterCard": "海报卡片",
- "OptionThumb": "缩略图",
- "OptionThumbCard": "缩略图卡片",
"PlaybackData": "回放数据",
"SmallCaps": "小型大写字母",
"SubtitleOffset": "字幕偏移",
diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json
index 6794d31ec6..83d773c93e 100644
--- a/src/strings/zh-tw.json
+++ b/src/strings/zh-tw.json
@@ -768,7 +768,6 @@
"Off": "關閉",
"OptionAdminUsers": "管理員",
"OptionAllowRemoteControlOthers": "允許其他使用者遠端控制",
- "OptionPosterCard": "海報卡片",
"OptionProfileVideo": "影片",
"OptionProfileVideoAudio": "影片與圖片",
"OptionReleaseDate": "釋出日期",
@@ -793,11 +792,8 @@
"MessageConfirmRestart": "您確定要重新啟動 Jellyfin 嗎?",
"Metadata": "中繼資料",
"OptionAllUsers": "所有使用者",
- "OptionPoster": "海報",
"OptionProfilePhoto": "圖片",
"OptionRegex": "正則表達式",
- "OptionThumb": "預覽",
- "OptionThumbCard": "預覽卡片",
"RecommendationBecauseYouWatched": "因為您看過 {0}",
"RepeatMode": "重複模式",
"Runtime": "運行時間",
@@ -836,7 +832,6 @@
"Normal": "正常",
"OptionAllowContentDownloading": "允許下載及同步媒體",
"OptionAllowLinkSharing": "允許分享到社群媒體",
- "OptionList": "清單",
"Yesterday": "昨天",
"Yes": "是",
"ButtonAddImage": "新增圖片",
@@ -948,7 +943,6 @@
"LabelModelNumber": "型號",
"LabelNewsCategories": "新分類:",
"LabelValue": "數值:",
- "OptionBanner": "橫幅",
"OptionEnableAccessToAllChannels": "允許存取所有頻道",
"OptionEnableAccessToAllLibraries": "允許存取所有媒體庫",
"OptionEnableForAllTuners": "開啟所有調諧器",
From f2a86b965d9a7deb26a0d6c82a78b44e22bf9072 Mon Sep 17 00:00:00 2001
From: dkanada
Date: Fri, 28 Aug 2020 21:38:56 +0900
Subject: [PATCH 031/416] simplify media info strings
---
src/components/itemMediaInfo/itemMediaInfo.js | 16 +++++++++++++++-
src/strings/ar.json | 5 -----
src/strings/bg-bg.json | 5 -----
src/strings/cs.json | 5 -----
src/strings/da.json | 5 -----
src/strings/de.json | 5 -----
src/strings/el.json | 3 ---
src/strings/en-gb.json | 5 -----
src/strings/en-us.json | 8 +++-----
src/strings/es-ar.json | 5 -----
src/strings/es-mx.json | 5 -----
src/strings/es.json | 5 -----
src/strings/es_419.json | 5 -----
src/strings/fa.json | 5 -----
src/strings/fi.json | 5 -----
src/strings/fr.json | 5 -----
src/strings/hr.json | 4 ----
src/strings/hu.json | 5 -----
src/strings/it.json | 5 -----
src/strings/ja.json | 5 -----
src/strings/kk.json | 5 -----
src/strings/ko.json | 5 -----
src/strings/lv.json | 5 -----
src/strings/nb.json | 5 -----
src/strings/nl.json | 5 -----
src/strings/pl.json | 5 -----
src/strings/pt-br.json | 5 -----
src/strings/pt-pt.json | 5 -----
src/strings/pt.json | 5 -----
src/strings/ro.json | 5 -----
src/strings/ru.json | 5 -----
src/strings/sk.json | 5 -----
src/strings/sl-si.json | 5 -----
src/strings/sv.json | 5 -----
src/strings/ta.json | 5 -----
src/strings/zh-cn.json | 5 -----
src/strings/zh-tw.json | 5 -----
37 files changed, 18 insertions(+), 178 deletions(-)
diff --git a/src/components/itemMediaInfo/itemMediaInfo.js b/src/components/itemMediaInfo/itemMediaInfo.js
index c3fd9e0d0a..b3f58165aa 100644
--- a/src/components/itemMediaInfo/itemMediaInfo.js
+++ b/src/components/itemMediaInfo/itemMediaInfo.js
@@ -52,8 +52,22 @@ import 'flexStyles';
if (stream.Type === 'Data') {
continue;
}
+
html += '';
- const displayType = globalize.translate(`MediaInfoStreamType${stream.Type}`);
+ let translateString;
+ switch (stream.Type) {
+ case 'Audio':
+ case 'Data':
+ case 'Subtitle':
+ case 'Video':
+ translateString = stream.Type;
+ break;
+ case 'EmbeddedImage':
+ translateString = 'Image';
+ break;
+ }
+
+ const displayType = globalize.translate(translateString);
html += `
`;
const attributes = [];
if (stream.DisplayTitle) {
diff --git a/src/strings/ar.json b/src/strings/ar.json
index 392f219cc6..67845cc458 100644
--- a/src/strings/ar.json
+++ b/src/strings/ar.json
@@ -831,12 +831,7 @@
"MessageConfirmRecordingCancellation": "الغاء التسجيل؟",
"MessageAreYouSureDeleteSubtitles": "هل انت متأكد انك تريد حذف ملف الترجمة هذا؟",
"Menu": "القائمة",
- "MediaInfoStreamTypeSubtitle": "الترجمة",
- "MediaInfoStreamTypeEmbeddedImage": "الصورة المضمنة",
- "MediaInfoStreamTypeData": "البيانات",
- "MediaInfoStreamTypeAudio": "الصوت",
"MediaIsBeingConverted": "يتم تحويل الوسط الى صيغة متوافقة مع الحهاز الذي يشغل الوسط.",
- "MediaInfoStreamTypeVideo": "فيديو",
"ContinueWatching": "اكمل المشاهدة",
"Horizontal": "عرضي",
"Home": "الصفحة الرئيسية",
diff --git a/src/strings/bg-bg.json b/src/strings/bg-bg.json
index b76d008291..b26c68f993 100644
--- a/src/strings/bg-bg.json
+++ b/src/strings/bg-bg.json
@@ -645,16 +645,11 @@
"Folders": "Папки",
"No": "Не",
"Yes": "Да",
- "MediaInfoStreamTypeSubtitle": "Субтитри",
- "MediaInfoStreamTypeEmbeddedImage": "Вградено изображение",
- "MediaInfoStreamTypeData": "Данни",
- "MediaInfoStreamTypeAudio": "Звук",
"MediaInfoContainer": "Контейнер",
"MediaInfoInterlaced": "Презредово",
"MediaInfoForced": "Принудително",
"MediaInfoLayout": "Подредба",
"MusicVideo": "Музикален клип",
- "MediaInfoStreamTypeVideo": "Видео",
"HeaderVideoTypes": "Видове видеа",
"HeaderVideoType": "Вид на видеото",
"EnableExternalVideoPlayers": "Външни възпроизводители",
diff --git a/src/strings/cs.json b/src/strings/cs.json
index c4576da3ef..870f2196a9 100644
--- a/src/strings/cs.json
+++ b/src/strings/cs.json
@@ -1135,9 +1135,6 @@
"Logo": "Logo",
"ManageLibrary": "Spravovat knihovnu",
"MediaInfoDefault": "Výchozí",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeVideo": "Video",
"AuthProviderHelp": "Vyberte poskytovatele ověření, který bude použit k ověření hesla tohoto uživatele.",
"LabelAuthProvider": "Poskytovatel ověření:",
"LabelServerNameHelp": "Tento název bude použit k identifikaci serveru a ve výchozím nastavení bude použit název hostitele serveru.",
@@ -1149,8 +1146,6 @@
"DashboardVersionNumber": "Verze: {0}",
"DashboardServerName": "Server: {0}",
"LabelWeb": "Web:",
- "MediaInfoStreamTypeEmbeddedImage": "Vložený obrázek",
- "MediaInfoStreamTypeSubtitle": "Titulky",
"MediaIsBeingConverted": "Média se konvertují do formátu kompatibilního se zařízením, které médium přehrává.",
"MessageEnablingOptionLongerScans": "Povolení této možnosti může mít za následek podstatně delší skenování knihoven.",
"MessageImageFileTypeAllowed": "Podporovány jsou pouze soubory JPEG a PNG.",
diff --git a/src/strings/da.json b/src/strings/da.json
index c05d824e0a..3989da7ecb 100644
--- a/src/strings/da.json
+++ b/src/strings/da.json
@@ -1108,8 +1108,6 @@
"MediaInfoLayout": "Udlæg",
"MediaInfoRefFrames": "Ref billeder",
"MediaInfoSampleRate": "Sample rate",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeVideo": "Video",
"MediaIsBeingConverted": "Mediet bliver konverteret til et format der er kompatibel med enheden der afspiller mediet.",
"Menu": "Menu",
"MessageImageFileTypeAllowed": "Kun JPEG og PNG filer er understøttet.",
@@ -1241,9 +1239,6 @@
"MessageNoServersAvailable": "Der er ikke fundet nogen servere ved hjælp af den automatiske serveropdagelse.",
"MessageNoCollectionsAvailable": "Samlinger tillader dig at nyde personlige grupperinger af Film, Serier og Albums. Klik på + knappen for at skabe en samling.",
"MessageConfirmAppExit": "Vil du afslutte?",
- "MediaInfoStreamTypeSubtitle": "Undertekst",
- "MediaInfoStreamTypeEmbeddedImage": "Indlejret billede",
- "MediaInfoStreamTypeAudio": "Lyd",
"LabelWeb": "Web:",
"LabelVideoResolution": "Videoopløsning:",
"LabelVideoBitrate": "Video bitrate:",
diff --git a/src/strings/de.json b/src/strings/de.json
index 9ab5ee1358..da904b08fe 100644
--- a/src/strings/de.json
+++ b/src/strings/de.json
@@ -1205,11 +1205,6 @@
"DashboardVersionNumber": "Version: {0}",
"DashboardServerName": "Server: {0}",
"LabelWeb": "Web:",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Daten",
- "MediaInfoStreamTypeEmbeddedImage": "Eingebettetes Bild",
- "MediaInfoStreamTypeSubtitle": "Untertitel",
- "MediaInfoStreamTypeVideo": "Video",
"MessageNoCollectionsAvailable": "Sammlungen ermöglichen es, personalisierte Gruppierungen von Filmen, Serien und Alben zu genießen. Klicken Sie auf die Schaltfläche +, um mit der Erstellung von Sammlungen zu beginnen.",
"OptionLoginAttemptsBeforeLockout": "Legt fest, wie viele falsche Anmeldeversuche durchgeführt werden können, bevor es zur Sperrung kommt.",
"OptionLoginAttemptsBeforeLockoutHelp": "Null (0) bedeutet den Standardwert von drei Versuchen für normale, sowie fünf für Administrator-Benutzer zu übernehmen. Ein Wert von -1 deaktiviert die Funktion.",
diff --git a/src/strings/el.json b/src/strings/el.json
index 9c8d72fb60..6c76672225 100644
--- a/src/strings/el.json
+++ b/src/strings/el.json
@@ -1031,9 +1031,6 @@
"AllowMediaConversionHelp": "Παραχώρηση ή στέρηση πρόσβασης στην λειτουργία μετατροπής μέσων.",
"AllowHWTranscodingHelp": "Επιτρέπει τον δέκτη να επανακωδικοποιεί τις ροές σε πραγματικό χρόνο. Αυτό μπορεί να μειώσει τον φόρτο κωδικοποίησης τον σέρβερ.",
"Alerts": "Προειδοποίηση",
- "MediaInfoStreamTypeVideo": "Βίντεο",
- "MediaInfoStreamTypeSubtitle": "Υπότιτλος",
- "MediaInfoStreamTypeData": "Δεδομένα",
"LeaveBlankToNotSetAPassword": "Μπορείτε να αφήσετε αυτό το πεδίο άδειο για να μην έχετε κωδικό.",
"DashboardArchitecture": "Αρχιτεκτονική:{0}",
"DashboardOperatingSystem": "Λειτουργικό Σύστημα:{0}",
diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json
index 38b4549a96..8a0f893cfd 100644
--- a/src/strings/en-gb.json
+++ b/src/strings/en-gb.json
@@ -617,9 +617,6 @@
"MessageAlreadyInstalled": "This version is already installed.",
"Menu": "Menu",
"MediaIsBeingConverted": "The media is being converted into a format that is compatible with the device that is playing the media.",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeEmbeddedImage": "Embedded Image",
- "MediaInfoStreamTypeAudio": "Audio",
"MediaInfoTimestamp": "Timestamp",
"MediaInfoSize": "Size",
"MediaInfoSampleRate": "Sample rate",
@@ -748,7 +745,6 @@
"MoreUsersCanBeAddedLater": "More users can be added later from within the dashboard.",
"MoreFromValue": "More from {0}",
"MessageDownloadQueued": "Download queued.",
- "MediaInfoStreamTypeData": "Data",
"MediaInfoLanguage": "Language",
"MediaInfoInterlaced": "Interlaced",
"MediaInfoFramerate": "Framerate",
@@ -1152,7 +1148,6 @@
"LabelBaseUrl": "Base URL:",
"Up": "Up",
"SearchForCollectionInternetMetadata": "Search the internet for artwork and metadata",
- "MediaInfoStreamTypeSubtitle": "Subtitle",
"ValueOneSeries": "1 series",
"MediaInfoBitrate": "Bitrate",
"LabelPostProcessorArgumentsHelp": "Use {path} as the path to the recording file.",
diff --git a/src/strings/en-us.json b/src/strings/en-us.json
index 380612ca95..eedaef7170 100644
--- a/src/strings/en-us.json
+++ b/src/strings/en-us.json
@@ -137,6 +137,7 @@
"CopyStreamURLSuccess": "URL copied successfully.",
"CriticRating": "Critic rating",
"CustomDlnaProfilesHelp": "Create a custom profile to target a new device or override a system profile.",
+ "Data": "Data",
"DateAdded": "Date added",
"DatePlayed": "Date played",
"DeathDateValue": "Died: {0}",
@@ -446,6 +447,7 @@
"Horizontal": "Horizontal",
"HttpsRequiresCert": "To enable secure connections, you will need to supply a trusted SSL certificate, such as Let's Encrypt. Please either supply a certificate, or disable secure connections.",
"Identify": "Identify",
+ "Image": "Image",
"Images": "Images",
"ImportFavoriteChannelsHelp": "Only channels that are marked as favorite on the tuner device will be imported.",
"ImportMissingEpisodesHelp": "Information about missing episodes will be imported into your database and displayed within seasons and series. This may cause significantly longer library scans.",
@@ -876,11 +878,6 @@
"MediaInfoSampleRate": "Sample rate",
"MediaInfoSize": "Size",
"MediaInfoTimestamp": "Timestamp",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeEmbeddedImage": "Embedded Image",
- "MediaInfoStreamTypeSubtitle": "Subtitle",
- "MediaInfoStreamTypeVideo": "Video",
"MediaIsBeingConverted": "The media is being converted into a format that is compatible with the device that is playing the media.",
"Menu": "Menu",
"MessageAlreadyInstalled": "This version is already installed.",
@@ -1254,6 +1251,7 @@
"SubtitleAppearanceSettingsDisclaimer": "These settings will not apply to graphical subtitles (PGS, DVD, etc) or ASS/SSA subtitles that embed their own styles.",
"SubtitleDownloadersHelp": "Enable and rank your preferred subtitle downloaders in order of priority.",
"SubtitleOffset": "Subtitle Offset",
+ "Subtitle": "Subtitle",
"Subtitles": "Subtitles",
"Suggestions": "Suggestions",
"Sunday": "Sunday",
diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json
index c3f266f38c..c07d72b3df 100644
--- a/src/strings/es-ar.json
+++ b/src/strings/es-ar.json
@@ -911,11 +911,6 @@
"MessageAlreadyInstalled": "Esta versión ya está instalada.",
"Menu": "Menú",
"MediaIsBeingConverted": "Los medios se están convirtiendo a un formato compatible con el dispositivo que los reproduce.",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Subtítulo",
- "MediaInfoStreamTypeEmbeddedImage": "Imagen incrustada",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeAudio": "Audio",
"MediaInfoTimestamp": "Marca de tiempo",
"MediaInfoSize": "Tamaño",
"MediaInfoSampleRate": "Frecuencia de muestreo",
diff --git a/src/strings/es-mx.json b/src/strings/es-mx.json
index 9caebe2f7e..b26683f77f 100644
--- a/src/strings/es-mx.json
+++ b/src/strings/es-mx.json
@@ -1189,11 +1189,6 @@
"LabelWeb": "Web:",
"LeaveBlankToNotSetAPassword": "Puedes dejar este campo en blanco para no establecer ninguna contraseña.",
"MediaInfoCodec": "Códec",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Dato",
- "MediaInfoStreamTypeEmbeddedImage": "Imagen incrustada",
- "MediaInfoStreamTypeSubtitle": "Subtítulo",
- "MediaInfoStreamTypeVideo": "Video",
"MessageImageFileTypeAllowed": "Solo son soportados archivos JPEG y PNG.",
"MessageImageTypeNotSelected": "Por favor, selecciona un tipo de imagen del menú desplegable.",
"MessageNoCollectionsAvailable": "Las colecciones te permiten disfrutar de agrupaciones personalizadas de películas, series y álbumes. Haz clic en el botón + para comenzar a crear colecciones.",
diff --git a/src/strings/es.json b/src/strings/es.json
index 969c926a9c..f336157603 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -1174,11 +1174,6 @@
"DashboardOperatingSystem": "Sistema operativo: {0}",
"DashboardArchitecture": "Arquitectura: {0}",
"LabelWeb": "Web:",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Datos",
- "MediaInfoStreamTypeEmbeddedImage": "Imagen incrustada",
- "MediaInfoStreamTypeSubtitle": "Subtítulo",
- "MediaInfoStreamTypeVideo": "Vídeo",
"MessageNoCollectionsAvailable": "Las colecciones te permiten disfrutar de grupos personalizados de películas, series y álbumes. Haz clic en el botón + para empezar a crear colecciones.",
"MessageNoServersAvailable": "No se ha encontrado ningún servidor usando la detección automática de servidores.",
"MusicAlbum": "Álbum de música",
diff --git a/src/strings/es_419.json b/src/strings/es_419.json
index bcd131c717..54ffbc53c2 100644
--- a/src/strings/es_419.json
+++ b/src/strings/es_419.json
@@ -791,11 +791,6 @@
"MessageAlreadyInstalled": "Esta versión ya se encuentra instalada.",
"Menu": "Menú",
"MediaIsBeingConverted": "Los medios están siendo convertidos a un formato compatible con el dispositivo que está reproduciendo el medio.",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Subtítulo",
- "MediaInfoStreamTypeEmbeddedImage": "Imagen incrustada",
- "MediaInfoStreamTypeData": "Dato",
- "MediaInfoStreamTypeAudio": "Audio",
"MediaInfoTimestamp": "Fecha y hora",
"MediaInfoSize": "Tamaño",
"MediaInfoSampleRate": "Tasa de muestreo",
diff --git a/src/strings/fa.json b/src/strings/fa.json
index ecb4070626..663b4ef385 100644
--- a/src/strings/fa.json
+++ b/src/strings/fa.json
@@ -1184,11 +1184,6 @@
"MediaInfoSampleRate": "Sample rate",
"MediaInfoSize": "Size",
"MediaInfoTimestamp": "Timestamp",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeEmbeddedImage": "Embedded Image",
- "MediaInfoStreamTypeSubtitle": "Subtitle",
- "MediaInfoStreamTypeVideo": "Video",
"MediaIsBeingConverted": "The media is being converted into a format that is compatible with the device that is playing the media.",
"Menu": "Menu",
"MessageAlreadyInstalled": "This version is already installed.",
diff --git a/src/strings/fi.json b/src/strings/fi.json
index 91b69cd277..b48d5337d6 100644
--- a/src/strings/fi.json
+++ b/src/strings/fi.json
@@ -436,10 +436,6 @@
"MessageAreYouSureDeleteSubtitles": "Haluatko varmasti poistaa tämän tekstitystiedoston?",
"MessageAlreadyInstalled": "Tämä versio on jo asennettu.",
"Menu": "Valikko",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Tekstitys",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeAudio": "Audio",
"MediaInfoTimestamp": "Aikaleima",
"MediaInfoResolution": "Resoluutio",
"MediaInfoSize": "Koko",
@@ -905,7 +901,6 @@
"MessageConfirmRemoveMediaLocation": "Haluatko varmasti poistaa tämän sijainnin?",
"MessageConfirmRecordingCancellation": "Peruuta tallennus?",
"MessageConfirmDeleteGuideProvider": "Haluatko varmasti poistaa tämän ohjelmaoppaan tarjoajan?",
- "MediaInfoStreamTypeEmbeddedImage": "Upotettu kuva",
"MediaInfoSampleRate": "Näytteenottotaajuus",
"MediaInfoPixelFormat": "Pikseliformaatti",
"MediaInfoLayout": "Asettelu",
diff --git a/src/strings/fr.json b/src/strings/fr.json
index 1932f81e55..45c287298b 100644
--- a/src/strings/fr.json
+++ b/src/strings/fr.json
@@ -1199,16 +1199,11 @@
"DashboardVersionNumber": "Version : {0}",
"DashboardServerName": "Serveur : {0}",
"LabelWeb": "Web :",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Données",
- "MediaInfoStreamTypeSubtitle": "Sous-titres",
- "MediaInfoStreamTypeVideo": "Video",
"AuthProviderHelp": "Sélectionner un fournisseur d'authentification pour authentifier le mot de passe de cet utilisateur.",
"PasswordResetProviderHelp": "Choisissez un fournisseur de réinitialisation de mot de passe à utiliser lorsqu'un utilisateur demande la réinitialisation de son mot de passe.",
"LabelUserLoginAttemptsBeforeLockout": "Tentatives de connexion échouées avant que l'utilisateur ne soit verrouillé :",
"DashboardOperatingSystem": "Système d'Exploitation: {0}",
"DashboardArchitecture": "Architecture : {0}",
- "MediaInfoStreamTypeEmbeddedImage": "Miniature",
"MessageNoCollectionsAvailable": "Les collections vous permettent de profiter de groupes personnalisés de Films, Séries et d'Albums. Cliquer sur le bouton + pour commencer à créer des collections.",
"MessageNoServersAvailable": "Aucun serveur n'a été trouvé en utilisant la recherche automatique de serveur.",
"OptionLoginAttemptsBeforeLockout": "Définis le nombre de tentatives de connexion échouées avant blocage du compte.",
diff --git a/src/strings/hr.json b/src/strings/hr.json
index 75ea2a6854..93404cd222 100644
--- a/src/strings/hr.json
+++ b/src/strings/hr.json
@@ -937,10 +937,6 @@
"MessageNoRepositories": "Nema repozitorija.",
"MessageConfirmAppExit": "Da li želite izaći?",
"Menu": "Meni",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Prijevod",
- "MediaInfoStreamTypeData": "Podaci",
- "MediaInfoStreamTypeAudio": "Audio",
"Logo": "Logo",
"List": "Lista",
"LabelYear": "Godina:",
diff --git a/src/strings/hu.json b/src/strings/hu.json
index a46ccfb016..4a846c67a3 100644
--- a/src/strings/hu.json
+++ b/src/strings/hu.json
@@ -1103,9 +1103,6 @@
"DashboardVersionNumber": "Verzió: {0}",
"DashboardServerName": "Szerver: {0}",
"LabelWeb": "Web:",
- "MediaInfoStreamTypeAudio": "Audió",
- "MediaInfoStreamTypeSubtitle": "Felirat",
- "MediaInfoStreamTypeVideo": "Videó",
"LabelUserAgent": "Felhasználó ügynök:",
"LabelUserLoginAttemptsBeforeLockout": "Sikertelen bejelentkezési kísérletek a felhasználó zárolása előtt:",
"DashboardOperatingSystem": "Operációs rendszer: {0}",
@@ -1163,8 +1160,6 @@
"UserAgentHelp": "Adj meg egy egyedi HTTP user-agent fejlécet.",
"XmlDocumentAttributeListHelp": "Ezek a tulajdonságok minden XML válaszüzenet gyökér elemére alkalmazásra kerülnek.",
"Thumb": "Miniatűr",
- "MediaInfoStreamTypeData": "Adat",
- "MediaInfoStreamTypeEmbeddedImage": "Beágyazott kép",
"LabelBitrate": "Bitráta:",
"LabelAudioSampleRate": "Audió mintavételi ráta:",
"LabelAudioCodec": "Audió kódek:",
diff --git a/src/strings/it.json b/src/strings/it.json
index e996943ad8..9a81ed45dd 100644
--- a/src/strings/it.json
+++ b/src/strings/it.json
@@ -1155,11 +1155,6 @@
"Logo": "Logo",
"ManageLibrary": "Gestisci libreria",
"MediaInfoBitrate": "Bitrate",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Dati",
- "MediaInfoStreamTypeEmbeddedImage": "Immagine Incorporata",
- "MediaInfoStreamTypeSubtitle": "Sottotitolo",
- "MediaInfoStreamTypeVideo": "Video",
"MessageNoCollectionsAvailable": "Le collezioni ti consentono di fruire di raggruppamenti personalizzati di Film, Serie e Album. Clicca il tasto + per iniziare a creare collezioni.",
"MessageNoServersAvailable": "Nessun server è stato trovato usando la ricerca automatica di server.",
"LabelBaseUrlHelp": "Aggiunge una cartella personalizzata all'URL del server, ad esempio
http://example.com/<baseurl>
",
diff --git a/src/strings/ja.json b/src/strings/ja.json
index 433550ca78..bb48b4d409 100644
--- a/src/strings/ja.json
+++ b/src/strings/ja.json
@@ -843,11 +843,6 @@
"MediaInfoResolution": "解像度",
"MediaInfoSampleRate": "サンプルレート",
"MediaInfoSize": "大きさ",
- "MediaInfoStreamTypeAudio": "音声",
- "MediaInfoStreamTypeData": "データ",
- "MediaInfoStreamTypeEmbeddedImage": "埋め込み画像",
- "MediaInfoStreamTypeSubtitle": "字幕",
- "MediaInfoStreamTypeVideo": "映像",
"MessageAlreadyInstalled": "このバージョンはすでにインストールされています。",
"MessageAreYouSureDeleteSubtitles": "本当にこの字幕ファイルを削除しますか?",
"LabelTranscodePath": "トランスコードパス:",
diff --git a/src/strings/kk.json b/src/strings/kk.json
index 37af77ba63..7e2c15167d 100644
--- a/src/strings/kk.json
+++ b/src/strings/kk.json
@@ -1203,11 +1203,6 @@
"DashboardOperatingSystem": "Operasıalyq júıe: {0}",
"DashboardArchitecture": "Arhıtektýrasy: {0}",
"LabelWeb": "Ýeb:",
- "MediaInfoStreamTypeAudio": "Dybys",
- "MediaInfoStreamTypeData": "Derekter",
- "MediaInfoStreamTypeEmbeddedImage": "Endirilgen sýret",
- "MediaInfoStreamTypeSubtitle": "Sýbtıtrler",
- "MediaInfoStreamTypeVideo": "Beıne",
"MessageNoCollectionsAvailable": "Jıyntyqtar fılmder, telehıkaıalar jáne álbomdar derbestendirilgen toptarymen rahattanýǵa múmkindik beredi. Jıyntyq jasaýyn bastaý úshin + túımeshigin basyńyz.",
"MessageNoServersAvailable": "Serverdi avtomatty tabý arqyly eshqandaı server tabylmady.",
"MusicAlbum": "Mýzykalyq álbom",
diff --git a/src/strings/ko.json b/src/strings/ko.json
index a831d2b805..5c5bb4d13a 100644
--- a/src/strings/ko.json
+++ b/src/strings/ko.json
@@ -827,11 +827,6 @@
"MessagePleaseWait": "기다려주십시오. 1분 정도 걸릴 수 있습니다.",
"MessageImageFileTypeAllowed": "JPEG 또는 PNG파일만 지원됩니다.",
"Menu": "메뉴",
- "MediaInfoStreamTypeVideo": "비디오",
- "MediaInfoStreamTypeSubtitle": "자막",
- "MediaInfoStreamTypeEmbeddedImage": "내장된 이미지",
- "MediaInfoStreamTypeData": "데이터",
- "MediaInfoStreamTypeAudio": "오디오",
"MediaInfoTimestamp": "타임스탬프",
"MediaInfoSize": "크기",
"MediaInfoLevel": "수준",
diff --git a/src/strings/lv.json b/src/strings/lv.json
index 06bd5e6ec6..f8e3daf2de 100644
--- a/src/strings/lv.json
+++ b/src/strings/lv.json
@@ -32,10 +32,6 @@
"MessageConfirmRecordingCancellation": "Atcelt ierakstu?",
"MessageConfirmAppExit": "Vai tu vēlies iziet?",
"MessageAlreadyInstalled": "Šī versija jau ir uzstādīta.",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Subtitri",
- "MediaInfoStreamTypeData": "Dati",
- "MediaInfoStreamTypeAudio": "Audio",
"MediaInfoSize": "Lielums",
"MediaInfoResolution": "Izšķirtspēja",
"MediaInfoProfile": "Profils",
@@ -896,7 +892,6 @@
"MessageAreYouSureYouWishToRemoveMediaFolder": "Vai tiešām vēlies noņemt šo mediju datni?",
"MessageAreYouSureDeleteSubtitles": "Vai tiešām vēlies izdzēst šo subtitru datni?",
"MediaIsBeingConverted": "Medijs tiek pārveidots uz formātu kuru atbalsta tā atskaņojošā ierīce.",
- "MediaInfoStreamTypeEmbeddedImage": "Iegults Attēls",
"MediaInfoTimestamp": "Laika zīmogs",
"MediaInfoSampleRate": "Izlases ātrums",
"MediaInfoInterlaced": "Rindpārlēkts",
diff --git a/src/strings/nb.json b/src/strings/nb.json
index d46b878303..7bde7f6b3f 100644
--- a/src/strings/nb.json
+++ b/src/strings/nb.json
@@ -1003,11 +1003,7 @@
"LabelRemoteClientBitrateLimitHelp": "En valgfri begrensning på bithastighet per strøm for alle enheter utenfor hjemmenettverket. Dette er nyttig for å hindre enheter fra å be om en høyere bithastighet enn internettilkoblingen din kan håndtere. Dette kan føre til økt CPU-bruk på serveren for å kunne omkode videoer fortløpende til en lavere bithastighet.",
"MediaInfoRefFrames": "Referanserammer",
"MediaIsBeingConverted": "Mediet blir konvertert til et format som er kompatibelt med enheten som spiller av mediet.",
- "MediaInfoStreamTypeAudio": "Lyd",
"OptionLoginAttemptsBeforeLockoutHelp": "En verdi på null betyr at standardinnstillingen på tre forsøk for vanlige brukere og fem for administratorer vil bli brukt. Funksjonen kan deaktiveres ved å sette verdien til -1.",
- "MediaInfoStreamTypeEmbeddedImage": "Integrert bilde",
- "MediaInfoStreamTypeSubtitle": "Undertekst",
- "MediaInfoStreamTypeVideo": "Video",
"CopyStreamURLSuccess": "URLen ble kopiert.",
"LabelInternetQuality": "Internettkvalitet:",
"SubtitleAppearanceSettingsDisclaimer": "Disse innstillingene vil ikke påvirke grafiske undertekster (PGS, DVD, osv.) eller ASS/SSA-teksting som inkluderer sin egen formatering.",
@@ -1024,7 +1020,6 @@
"Label3DFormat": "3D-format:",
"Hide": "Skjul",
"MediaInfoSampleRate": "Samplingsfrekvens",
- "MediaInfoStreamTypeData": "Data",
"Option3D": "3D",
"Filters": "Filtre",
"HeaderExternalIds": "Eksterne IDer:",
diff --git a/src/strings/nl.json b/src/strings/nl.json
index b554a1f95d..2c964bd49c 100644
--- a/src/strings/nl.json
+++ b/src/strings/nl.json
@@ -1168,7 +1168,6 @@
"OptionDvd": "DVD",
"OptionResElement": "res element",
"TV": "TV",
- "MediaInfoStreamTypeEmbeddedImage": "Ingeladen Afbeelding",
"LabelTypeMetadataDownloaders": "{0} metadata downloaders:",
"OptionLoginAttemptsBeforeLockout": "Bepaald hoeveel foutieve login pogingen plaats kunnen vinden voor dat de gebruiker buitengesloten wordt.",
"Premiere": "Première",
@@ -1223,10 +1222,6 @@
"LabelXDlnaCap": "X-DLNA cap:",
"DashboardVersionNumber": "Versie: {0}",
"DashboardArchitecture": "Architectuur: {0}",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeSubtitle": "Ondertiteling",
- "MediaInfoStreamTypeVideo": "Video",
"Logo": "Logo",
"MediaInfoCodecTag": "Codec tag",
"MediaInfoContainer": "Container",
diff --git a/src/strings/pl.json b/src/strings/pl.json
index 6f2de99702..5885911680 100644
--- a/src/strings/pl.json
+++ b/src/strings/pl.json
@@ -1198,11 +1198,6 @@
"LabelXDlnaDoc": "Dokumentacja X-DLNA:",
"LeaveBlankToNotSetAPassword": "Pozostaw puste, aby nie ustawiać hasła.",
"Logo": "Logo",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Dane",
- "MediaInfoStreamTypeEmbeddedImage": "Osadzony Obraz",
- "MediaInfoStreamTypeSubtitle": "Napisy",
- "MediaInfoStreamTypeVideo": "Wideo",
"Menu": "Menu",
"MessageImageFileTypeAllowed": "Obsługiwane są tylko pliki JPEG i PNG.",
"MessageImageTypeNotSelected": "Wybierz typ obrazu z menu rozwijanego.",
diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json
index 24c407998f..e219a92231 100644
--- a/src/strings/pt-br.json
+++ b/src/strings/pt-br.json
@@ -1183,11 +1183,6 @@
"LabelProfileContainer": "Formato:",
"LabelXDlnaCap": "X-DLNA cap:",
"LabelXDlnaDoc": "X-DLNA doc:",
- "MediaInfoStreamTypeAudio": "Áudio",
- "MediaInfoStreamTypeData": "Dados",
- "MediaInfoStreamTypeEmbeddedImage": "Imagem Incorporada",
- "MediaInfoStreamTypeSubtitle": "Legenda",
- "MediaInfoStreamTypeVideo": "Vídeo",
"MessageNoCollectionsAvailable": "Coletâneas permitem a você ter grupos personalizados de Filmes, Séries e Álbuns. Clique no botão + para iniciar a criação de coletâneas.",
"MessageNoServersAvailable": "Nenhum servidor encontrado ao usar a busca automática de servidores.",
"MusicAlbum": "Álbum de Música",
diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json
index c44841ad22..ebb9e5dae8 100644
--- a/src/strings/pt-pt.json
+++ b/src/strings/pt-pt.json
@@ -995,11 +995,6 @@
"MessageAlreadyInstalled": "Esta versão já se encontra instalada.",
"Menu": "Menu",
"MediaIsBeingConverted": "O conteúdo está a ser convertido num formato compatível com o dispositivo que o está a reproduzir.",
- "MediaInfoStreamTypeVideo": "Vídeo",
- "MediaInfoStreamTypeSubtitle": "Legenda",
- "MediaInfoStreamTypeEmbeddedImage": "Imagem Integrada",
- "MediaInfoStreamTypeData": "Dados",
- "MediaInfoStreamTypeAudio": "Áudio",
"MediaInfoTimestamp": "Data e Hora",
"MediaInfoSampleRate": "Taxa de Amostragem",
"MediaInfoResolution": "Resolução",
diff --git a/src/strings/pt.json b/src/strings/pt.json
index a0a60411ea..90aa1a5fd0 100644
--- a/src/strings/pt.json
+++ b/src/strings/pt.json
@@ -567,7 +567,6 @@
"OptionAllowRemoteSharedDevicesHelp": "Dispositivos DLNA são considerados partilhados até que um utilizador comece a controlá-lo.",
"OptionAllowRemoteSharedDevices": "Permitir controlo remoto de dispositivos partilhados",
"MessageConfirmDeleteTunerDevice": "Tem a certeza que deseja remover este dispositivo?",
- "MediaInfoStreamTypeVideo": "Vídeo",
"MapChannels": "Mapear Canais",
"ManageLibrary": "Gerir biblioteca",
"LabelSize": "Tamanho:",
@@ -636,10 +635,6 @@
"MessageAlreadyInstalled": "Esta versão já se encontra instalada.",
"Menu": "Menu",
"MediaIsBeingConverted": "O conteúdo está a ser convertido para um formato compatível com o dispositivo em que o está a reproduzir.",
- "MediaInfoStreamTypeSubtitle": "Legenda",
- "MediaInfoStreamTypeEmbeddedImage": "Imagem Integrada",
- "MediaInfoStreamTypeData": "Dados",
- "MediaInfoStreamTypeAudio": "Áudio",
"MediaInfoTimestamp": "Data e Hora",
"MediaInfoSize": "Tamanho",
"MediaInfoSampleRate": "Taxa de Amostragem",
diff --git a/src/strings/ro.json b/src/strings/ro.json
index 2dce687202..19834ac399 100644
--- a/src/strings/ro.json
+++ b/src/strings/ro.json
@@ -920,11 +920,6 @@
"MessageAlreadyInstalled": "Această versiune este deja instalată.",
"Menu": "Meniu",
"MediaIsBeingConverted": "Fișierul media este transformat într-un format compatibil cu dispozitivul folosit pentru redare.",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Subtitrare",
- "MediaInfoStreamTypeEmbeddedImage": "Imaginea încorporată",
- "MediaInfoStreamTypeData": "Date",
- "MediaInfoStreamTypeAudio": "Audio",
"MediaInfoTimestamp": "Data și ora",
"MediaInfoSize": "Mărime",
"MediaInfoSampleRate": "Rata monstrei",
diff --git a/src/strings/ru.json b/src/strings/ru.json
index f4b2f45687..e005e26c83 100644
--- a/src/strings/ru.json
+++ b/src/strings/ru.json
@@ -1207,11 +1207,6 @@
"DashboardOperatingSystem": "Операционная система: {0}",
"DashboardArchitecture": "Архитектура: {0}",
"LabelWeb": "Веб:",
- "MediaInfoStreamTypeAudio": "Аудио",
- "MediaInfoStreamTypeData": "Данные",
- "MediaInfoStreamTypeEmbeddedImage": "Встроенное изображение",
- "MediaInfoStreamTypeSubtitle": "Субтитры",
- "MediaInfoStreamTypeVideo": "Видео",
"MessageNoCollectionsAvailable": "Коллекции позволяют вам наслаждаться персонализированными группами фильмов, сериалов и альбомов. Нажмите кнопку +, чтобы начать создавать коллекции.",
"MessageNoServersAvailable": "Не найдено ни одного сервера, используя автоматическое обнаружение сервера.",
"MusicAlbum": "Музыкальный альбом",
diff --git a/src/strings/sk.json b/src/strings/sk.json
index 12bf8d9fa6..bc688de054 100644
--- a/src/strings/sk.json
+++ b/src/strings/sk.json
@@ -768,10 +768,6 @@
"LeaveBlankToNotSetAPassword": "Toto pole môžete nechať prázdne pre nastavenie bez hesla.",
"List": "Zoznam",
"Logo": "Logo",
- "MediaInfoStreamTypeAudio": "Audio",
- "MediaInfoStreamTypeData": "Dáta",
- "MediaInfoStreamTypeSubtitle": "Titulky",
- "MediaInfoStreamTypeVideo": "Video",
"MessageImageFileTypeAllowed": "Sú podporované iba súbory JPEG a PNG.",
"Playlists": "Playlisty",
"Sync": "Synchronizácia",
@@ -1110,7 +1106,6 @@
"MessageConfirmRevokeApiKey": "Ste si istý, že chcete odvolať tento API kľúč? Aplikácie pripojené k tomuto serveru budú rázne ukončené.",
"Menu": "Menu",
"MediaIsBeingConverted": "Médium sa konvertuje do formátu, ktorý je kompatibilný so zariadením, kde sa médium prehráva.",
- "MediaInfoStreamTypeEmbeddedImage": "Vložený obrázok",
"MediaInfoSampleRate": "Vzorkovacia frekvencia",
"MediaInfoRefFrames": "Ref snímky",
"MediaInfoPixelFormat": "Pixel formát",
diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json
index 8f3a1fd033..fc821e53ff 100644
--- a/src/strings/sl-si.json
+++ b/src/strings/sl-si.json
@@ -854,11 +854,6 @@
"MessageAlreadyInstalled": "Ta različica je že nameščena.",
"Menu": "Meni",
"MediaIsBeingConverted": "Predstavnost se pretvarja v format, ki je združljiv z napravo, ki predstavnost predvaja.",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Podnapis",
- "MediaInfoStreamTypeEmbeddedImage": "Vdelana sličica",
- "MediaInfoStreamTypeData": "Podatki",
- "MediaInfoStreamTypeAudio": "Zvok",
"MediaInfoTimestamp": "Časovni žig",
"MediaInfoSize": "Velikost",
"MediaInfoSampleRate": "Vzorčna hitrost",
diff --git a/src/strings/sv.json b/src/strings/sv.json
index 23b077f91a..aff41b96e6 100644
--- a/src/strings/sv.json
+++ b/src/strings/sv.json
@@ -1229,11 +1229,6 @@
"MessageImageTypeNotSelected": "Vänligen välj en bild typ från rullningslisten.",
"MessageImageFileTypeAllowed": "Endast JPEG och PNG filer stöds.",
"MessageConfirmAppExit": "Vill du avsluta?",
- "MediaInfoStreamTypeVideo": "Video",
- "MediaInfoStreamTypeSubtitle": "Undertext",
- "MediaInfoStreamTypeEmbeddedImage": "Inbäddad bild",
- "MediaInfoStreamTypeData": "Data",
- "MediaInfoStreamTypeAudio": "Ljud",
"MediaInfoLayout": "Design",
"MediaInfoContainer": "Behållare",
"ManageLibrary": "Hantera bibliotek",
diff --git a/src/strings/ta.json b/src/strings/ta.json
index 5125177f2d..186b02dfa1 100644
--- a/src/strings/ta.json
+++ b/src/strings/ta.json
@@ -954,11 +954,6 @@
"MessageAlreadyInstalled": "இந்த பதிப்பு ஏற்கனவே நிறுவப்பட்டுள்ளது.",
"Menu": "பட்டியல்",
"MediaIsBeingConverted": "மீடியா இயங்கும் சாதனத்துடன் பொருந்தக்கூடிய வடிவமாக ஊடகங்கள் மாற்றப்படுகின்றன.",
- "MediaInfoStreamTypeVideo": "காணொளி",
- "MediaInfoStreamTypeSubtitle": "வசன வரிகள்",
- "MediaInfoStreamTypeEmbeddedImage": "உட்பொதிக்கப்பட்ட படம்",
- "MediaInfoStreamTypeData": "தகவல்",
- "MediaInfoStreamTypeAudio": "ஆடியோ",
"MediaInfoTimestamp": "நேர முத்திரை",
"MediaInfoSize": "அளவு",
"MediaInfoSampleRate": "மாதிரி விகிதம்",
diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json
index aa7fcc4dbf..a824ee506b 100644
--- a/src/strings/zh-cn.json
+++ b/src/strings/zh-cn.json
@@ -1183,11 +1183,6 @@
"LiveTV": "电视直播",
"Logo": "商标",
"ManageRecording": "管理录音",
- "MediaInfoStreamTypeAudio": "音频",
- "MediaInfoStreamTypeData": "数据",
- "MediaInfoStreamTypeEmbeddedImage": "内嵌图片",
- "MediaInfoStreamTypeSubtitle": "字幕",
- "MediaInfoStreamTypeVideo": "视频",
"Menu": "菜单",
"MessageImageFileTypeAllowed": "只支持JPEG和PNG格式的文件。",
"MessageImageTypeNotSelected": "请在下拉菜单中选择图片类型。",
diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json
index 83d773c93e..8c276c3711 100644
--- a/src/strings/zh-tw.json
+++ b/src/strings/zh-tw.json
@@ -647,7 +647,6 @@
"LabelIconMaxHeightHelp": "通過 upnp:icon 的圖示最大解析度。",
"CopyStreamURL": "複製串流連結",
"MediaInfoDefault": "預設",
- "MediaInfoStreamTypeAudio": "音訊",
"LabelDateAddedBehaviorHelp": "若原本就有中繼資料,將會優先使用。",
"LabelScreensaver": "螢幕保護程式:",
"LabelSeasonNumber": "季:",
@@ -821,10 +820,6 @@
"LabelVideoBitrate": "影片位元率:",
"MediaInfoSize": "大小",
"MediaInfoTimestamp": "時間戳",
- "MediaInfoStreamTypeData": "檔案",
- "MediaInfoStreamTypeEmbeddedImage": "內嵌語言",
- "MediaInfoStreamTypeSubtitle": "字幕",
- "MediaInfoStreamTypeVideo": "影片",
"Menu": "選單",
"MetadataManager": "中繼資料管理器",
"MessageNoPluginConfiguration": "這個附加元件沒有選項可供更改。",
From 6d5ed18386ec407f8c9216ac6e145237d89a3fe0 Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Thu, 20 Aug 2020 12:27:25 +0200
Subject: [PATCH 032/416] Redesign OSD and Up Next dialog
---
src/assets/css/videoosd.css | 34 +++--
src/components/upnextdialog/upnextdialog.css | 10 +-
src/components/upnextdialog/upnextdialog.js | 75 -----------
src/controllers/playback/video/index.html | 42 +++---
src/controllers/playback/video/index.js | 135 ++-----------------
5 files changed, 57 insertions(+), 239 deletions(-)
diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css
index 808915e58b..7273121f53 100644
--- a/src/assets/css/videoosd.css
+++ b/src/assets/css/videoosd.css
@@ -14,21 +14,23 @@
}
.osdHeader {
- -webkit-transition: opacity 0.3s ease-out;
- -o-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
position: relative;
z-index: 1;
- background: rgba(0, 0, 0, 0.7) !important;
- -webkit-backdrop-filter: none !important;
- backdrop-filter: none !important;
- color: #eee !important;
+ background: linear-gradient(180deg, rgba(16, 16 16, 0.75) 0%, rgba(16, 16, 16, 0.15) 80%, rgba(16, 16, 16, 0) 100%);
+ backdrop-filter: none;
+ color: #eee;
+ height: 7.5em;
}
.osdHeader-hidden {
opacity: 0;
}
+.osdHeader .headerTop {
+ max-height: 3.5em;
+}
+
.osdHeader .headerButton:not(.headerBackButton):not(.headerCastButton):not(.headerSyncButton) {
display: none;
}
@@ -88,18 +90,13 @@
.videoOsdBottom {
position: fixed;
- background-color: rgba(0, 0, 0, 0.7);
- padding: 1%;
- display: -webkit-box;
- display: -webkit-flex;
+ background: linear-gradient(0deg, rgba(16, 16, 16, 0.75) 0%, rgba(16, 16, 16, 0.15) 80%, rgba(16, 16, 16, 0) 100%);
+ padding-top: 10em;
+ padding-bottom: 1.75em;
display: flex;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -webkit-flex-direction: row;
flex-direction: row;
+ justify-content: center;
will-change: opacity;
- -webkit-transition: opacity 0.3s ease-out;
- -o-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
color: #fff;
user-select: none;
@@ -111,9 +108,9 @@
}
.osdControls {
- -webkit-box-flex: 1;
- -webkit-flex-grow: 1;
flex-grow: 1;
+ max-width: calc(100vh * 1.77);
+ padding: 0 0.8em;
}
.videoOsdBottom .buttons {
@@ -145,7 +142,7 @@
}
.volumeButtons {
- margin: 0 0.5em 0 auto;
+ margin: 0 1em 0 0.29em;
display: flex;
-webkit-align-items: center;
align-items: center;
@@ -153,6 +150,7 @@
.osdTimeText {
margin-left: 1em;
+ margin-right: auto;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
diff --git a/src/components/upnextdialog/upnextdialog.css b/src/components/upnextdialog/upnextdialog.css
index 05e3b10f57..067804919f 100644
--- a/src/components/upnextdialog/upnextdialog.css
+++ b/src/components/upnextdialog/upnextdialog.css
@@ -1,6 +1,7 @@
.upNextDialog {
+ width: 30vw;
position: fixed;
- left: 0;
+ left: auto;
bottom: 0;
right: 0;
padding: 1%;
@@ -23,6 +24,7 @@
}
.upNextDialog-poster {
+ display: none;
max-width: 40%;
max-height: 15%;
position: relative;
@@ -31,6 +33,10 @@
margin-bottom: 0.5em;
}
+.upNextDialog-buttons {
+ justify-content: end;
+}
+
.upNextDialog-button {
background: #404040;
color: #fff;
@@ -44,7 +50,7 @@
.upNextDialog-poster {
max-width: initial;
max-height: initial;
- width: 10%;
+ width: 30%;
margin-bottom: 0;
}
}
diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js
index e28bb03abe..c665d81173 100644
--- a/src/components/upnextdialog/upnextdialog.js
+++ b/src/components/upnextdialog/upnextdialog.js
@@ -1,6 +1,5 @@
import dom from 'dom';
import playbackManager from 'playbackManager';
-import connectionManager from 'connectionManager';
import events from 'events';
import mediaInfo from 'mediaInfo';
import layoutManager from 'layoutManager';
@@ -15,78 +14,6 @@ import 'flexStyles';
const transitionEndEventName = dom.whichTransitionEvent();
- function seriesImageUrl(item, options) {
- if (item.Type !== 'Episode') {
- return null;
- }
-
- options = options || {};
- options.type = options.type || 'Primary';
-
- if (options.type === 'Primary') {
- if (item.SeriesPrimaryImageTag) {
- options.tag = item.SeriesPrimaryImageTag;
-
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
- }
- }
-
- if (options.type === 'Thumb') {
- if (item.SeriesThumbImageTag) {
- options.tag = item.SeriesThumbImageTag;
-
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
- }
- if (item.ParentThumbImageTag) {
- options.tag = item.ParentThumbImageTag;
-
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
- }
- }
-
- return null;
- }
-
- function imageUrl(item, options) {
- options = options || {};
- options.type = options.type || 'Primary';
-
- if (item.ImageTags && item.ImageTags[options.type]) {
- options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
- }
-
- if (options.type === 'Primary') {
- if (item.AlbumId && item.AlbumPrimaryImageTag) {
- options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
- }
- }
-
- return null;
- }
-
- function setPoster(osdPoster, item, secondaryItem) {
- if (item) {
- let imgUrl = seriesImageUrl(item, { type: 'Primary' }) ||
- seriesImageUrl(item, { type: 'Thumb' }) ||
- imageUrl(item, { type: 'Primary' });
-
- if (!imgUrl && secondaryItem) {
- imgUrl = seriesImageUrl(secondaryItem, { type: 'Primary' }) ||
- seriesImageUrl(secondaryItem, { type: 'Thumb' }) ||
- imageUrl(secondaryItem, { type: 'Primary' });
- }
-
- if (imgUrl) {
- osdPoster.innerHTML = '
';
- return;
- }
- }
-
- osdPoster.innerHTML = '';
- }
-
function getHtml() {
let html = '';
@@ -146,8 +73,6 @@ import 'flexStyles';
const elem = instance.options.parent;
- setPoster(elem.querySelector('.upNextDialog-poster'), item);
-
elem.querySelector('.upNextDialog-overview').innerHTML = item.Overview || '';
elem.querySelector('.upNextDialog-mediainfo').innerHTML = mediaInfo.getPrimaryMediaInfoHtml(item, {
diff --git a/src/controllers/playback/video/index.html b/src/controllers/playback/video/index.html
index 77274230e4..6651fc3da2 100644
--- a/src/controllers/playback/video/index.html
+++ b/src/controllers/playback/video/index.html
@@ -1,11 +1,9 @@
-
diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js
index 420268ea75..5da8ec45d8 100644
--- a/src/controllers/playback/video/index.js
+++ b/src/controllers/playback/video/index.js
@@ -21,50 +21,6 @@ import 'css!assets/css/videoosd';
/* eslint-disable indent */
- function seriesImageUrl(item, options) {
- if (item.Type !== 'Episode') {
- return null;
- }
-
- options = options || {};
- options.type = options.type || 'Primary';
- if (options.type === 'Primary' && item.SeriesPrimaryImageTag) {
- options.tag = item.SeriesPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
- }
-
- if (options.type === 'Thumb') {
- if (item.SeriesThumbImageTag) {
- options.tag = item.SeriesThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
- }
-
- if (item.ParentThumbImageTag) {
- options.tag = item.ParentThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
- }
- }
-
- return null;
- }
-
- function imageUrl(item, options) {
- options = options || {};
- options.type = options.type || 'Primary';
-
- if (item.ImageTags && item.ImageTags[options.type]) {
- options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
- }
-
- if (options.type === 'Primary' && item.AlbumId && item.AlbumPrimaryImageTag) {
- options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
- }
-
- return null;
- }
-
function getOpenedDialog() {
return document.querySelector('.dialogContainer .dialog.opened');
}
@@ -164,7 +120,6 @@ import 'css!assets/css/videoosd';
currentItem = item;
const displayItem = itemInfo.displayItem || item;
updateRecordingButton(displayItem);
- setPoster(displayItem, item);
let parentName = displayItem.SeriesName || displayItem.Album;
if (displayItem.EpisodeTitle || displayItem.IsSeries) {
@@ -172,42 +127,6 @@ import 'css!assets/css/videoosd';
}
setTitle(displayItem, parentName);
- const titleElement = view.querySelector('.osdTitle');
- let displayName = itemHelper.getDisplayName(displayItem, {
- includeParentInfo: displayItem.Type !== 'Program',
- includeIndexNumber: displayItem.Type !== 'Program'
- });
-
- if (!displayName) {
- displayName = displayItem.Type;
- }
-
- titleElement.innerHTML = displayName;
-
- if (displayName) {
- titleElement.classList.remove('hide');
- } else {
- titleElement.classList.add('hide');
- }
-
- const mediaInfoHtml = mediaInfo.getPrimaryMediaInfoHtml(displayItem, {
- runtime: false,
- subtitles: false,
- tomatoes: false,
- endsAt: false,
- episodeTitle: false,
- originalAirDate: displayItem.Type !== 'Program',
- episodeTitleIndexNumber: displayItem.Type !== 'Program',
- programIndicator: false
- });
- const osdMediaInfo = view.querySelector('.osdMediaInfo');
- osdMediaInfo.innerHTML = mediaInfoHtml;
-
- if (mediaInfoHtml) {
- osdMediaInfo.classList.remove('hide');
- } else {
- osdMediaInfo.classList.add('hide');
- }
const secondaryMediaInfo = view.querySelector('.osdSecondaryMediaInfo');
const secondaryMediaInfoHtml = mediaInfo.getSecondaryMediaInfoHtml(displayItem, {
@@ -222,12 +141,6 @@ import 'css!assets/css/videoosd';
secondaryMediaInfo.classList.add('hide');
}
- if (displayName) {
- view.querySelector('.osdMainTextContainer').classList.remove('hide');
- } else {
- view.querySelector('.osdMainTextContainer').classList.add('hide');
- }
-
if (enableProgressByTimeOfDay) {
setDisplayTime(startTimeText, displayItem.StartDate);
setDisplayTime(endTimeText, displayItem.EndDate);
@@ -277,7 +190,6 @@ import 'css!assets/css/videoosd';
currentItem = item;
if (!item) {
- setPoster(null);
updateRecordingButton(null);
Emby.Page.setTitle('');
nowPlayingVolumeSlider.disabled = true;
@@ -314,7 +226,20 @@ import 'css!assets/css/videoosd';
}
function setTitle(item, parentName) {
- Emby.Page.setTitle(parentName || '');
+ let itemName = itemHelper.getDisplayName(item, {
+ includeParentInfo: item.Type !== 'Program',
+ includeIndexNumber: item.Type !== 'Program'
+ });
+
+ if (itemName && parentName) {
+ itemName = `${parentName} - ${itemName}`;
+ }
+
+ if (!itemName) {
+ itemName = parentName || '';
+ }
+
+ Emby.Page.setTitle(itemName);
const documentTitle = parentName || (item ? item.Name : null);
@@ -323,38 +248,6 @@ import 'css!assets/css/videoosd';
}
}
- function setPoster(item, secondaryItem) {
- const osdPoster = view.querySelector('.osdPoster');
-
- if (item) {
- let imgUrl = seriesImageUrl(item, {
- maxWidth: osdPoster.clientWidth,
- type: 'Primary'
- }) || seriesImageUrl(item, {
- maxWidth: osdPoster.clientWidth,
- type: 'Thumb'
- }) || imageUrl(item, {
- maxWidth: osdPoster.clientWidth,
- type: 'Primary'
- });
-
- if (!imgUrl && secondaryItem && (imgUrl = seriesImageUrl(secondaryItem, {
- maxWidth: osdPoster.clientWidth,
- type: 'Primary'
- }) || seriesImageUrl(secondaryItem, {
- maxWidth: osdPoster.clientWidth,
- type: 'Thumb'
- }) || imageUrl(secondaryItem, {
- maxWidth: osdPoster.clientWidth,
- type: 'Primary'
- })), imgUrl) {
- return void (osdPoster.innerHTML = '

');
- }
- }
-
- osdPoster.innerHTML = '';
- }
-
let mouseIsDown = false;
function showOsd() {
From 3f592881583d18025f8475b58e3f2366a56225e4 Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Thu, 20 Aug 2020 20:39:33 +0200
Subject: [PATCH 033/416] Improve Up Next dialog
---
src/assets/css/videoosd.css | 51 +++++---------------
src/components/mediainfo/mediainfo.js | 12 ++---
src/components/upnextdialog/upnextdialog.css | 23 +++++++--
src/components/upnextdialog/upnextdialog.js | 13 +++--
4 files changed, 44 insertions(+), 55 deletions(-)
diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css
index 7273121f53..9995a7ff84 100644
--- a/src/assets/css/videoosd.css
+++ b/src/assets/css/videoosd.css
@@ -6,18 +6,29 @@
-ms-user-select: none;
}
-.osdPoster img,
.videoOsdBottom {
bottom: 0;
left: 0;
right: 0;
+ position: fixed;
+ background: linear-gradient(0deg, rgba(16, 16, 16, 0.6) 0%, rgba(16, 16, 16, 0) 100%);
+ padding-top: 7.5em;
+ padding-bottom: 1.75em;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ will-change: opacity;
+ transition: opacity 0.3s ease-out;
+ color: #fff;
+ user-select: none;
+ -webkit-touch-callout: none;
}
.osdHeader {
transition: opacity 0.3s ease-out;
position: relative;
z-index: 1;
- background: linear-gradient(180deg, rgba(16, 16 16, 0.75) 0%, rgba(16, 16, 16, 0.15) 80%, rgba(16, 16, 16, 0) 100%);
+ background: linear-gradient(180deg, rgba(16, 16, 16, 0.6) 0%, rgba(16, 16, 16, 0) 100%);
backdrop-filter: none;
color: #eee;
height: 7.5em;
@@ -88,21 +99,6 @@
opacity: 0.6;
}
-.videoOsdBottom {
- position: fixed;
- background: linear-gradient(0deg, rgba(16, 16, 16, 0.75) 0%, rgba(16, 16, 16, 0.15) 80%, rgba(16, 16, 16, 0) 100%);
- padding-top: 10em;
- padding-bottom: 1.75em;
- display: flex;
- flex-direction: row;
- justify-content: center;
- will-change: opacity;
- transition: opacity 0.3s ease-out;
- color: #fff;
- user-select: none;
- -webkit-touch-callout: none;
-}
-
.videoOsdBottom-hidden {
opacity: 0;
}
@@ -157,27 +153,6 @@
user-select: none;
}
-.osdPoster {
- width: 10%;
- position: relative;
- margin-right: 0.5em;
-}
-
-.osdPoster img {
- position: absolute;
- height: auto;
- width: 100%;
- -webkit-box-shadow: 0 0 1.9vh #000;
- box-shadow: 0 0 1.9vh #000;
- border: 0.08em solid #222;
- user-drag: none;
- user-select: none;
- -moz-user-select: none;
- -webkit-user-drag: none;
- -webkit-user-select: none;
- -ms-user-select: none;
-}
-
.osdTitle,
.osdTitleSmall {
margin: 0 1em 0 0;
diff --git a/src/components/mediainfo/mediainfo.js b/src/components/mediainfo/mediainfo.js
index 1d78d490a2..d5da29d3bc 100644
--- a/src/components/mediainfo/mediainfo.js
+++ b/src/components/mediainfo/mediainfo.js
@@ -100,11 +100,10 @@ import 'emby-button';
return html;
}
- export function getMediaInfoHtml(item, options) {
+ export function getMediaInfoHtml(item, options = {}) {
let html = '';
const miscInfo = [];
- options = options || {};
let text;
let date;
let minutes;
@@ -289,7 +288,9 @@ import 'emby-button';
return getMediaInfoItem(m);
}).join('');
- html += getStarIconsHtml(item);
+ if (options.starRating !== false) {
+ html += getStarIconsHtml(item);
+ }
if (item.HasSubtitles && options.subtitles !== false) {
html += 'CC
';
@@ -418,9 +419,8 @@ import 'emby-button';
return false;
}
- export function getPrimaryMediaInfoHtml(item, options) {
- options = options || {};
- if (options.interactive == null) {
+ export function getPrimaryMediaInfoHtml(item, options = {}) {
+ if (options.interactive === undefined) {
options.interactive = false;
}
diff --git a/src/components/upnextdialog/upnextdialog.css b/src/components/upnextdialog/upnextdialog.css
index 067804919f..754fd418ca 100644
--- a/src/components/upnextdialog/upnextdialog.css
+++ b/src/components/upnextdialog/upnextdialog.css
@@ -1,9 +1,24 @@
-.upNextDialog {
- width: 30vw;
+.upNextContainer {
+ box-sizing: border-box;
position: fixed;
- left: auto;
+ top: 0;
bottom: 0;
- right: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ padding: 1em;
+ display: flex;
+ flex-grow: 1;
+ width: calc(100vh * (16 / 9));
+ height: 100vh;
+ justify-content: end;
+ align-items: flex-end;
+}
+
+.upNextDialog-container {
+ border-radius: 5px;
+ width: 30em;
+ height: 11em;
+ left: auto;
padding: 1%;
display: flex;
flex-direction: column;
diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js
index c665d81173..8d3202cc1c 100644
--- a/src/components/upnextdialog/upnextdialog.js
+++ b/src/components/upnextdialog/upnextdialog.js
@@ -17,9 +17,7 @@ import 'flexStyles';
function getHtml() {
let html = '';
- html += '';
- html += '
';
-
+ html += '';
html += '
';
html += '
';
@@ -29,8 +27,6 @@ import 'flexStyles';
html += '
';
html += '
';
- html += '
';
-
html += '
';
html += '
';
+ html += '
';
return html;
}
@@ -73,9 +70,11 @@ import 'flexStyles';
const elem = instance.options.parent;
- elem.querySelector('.upNextDialog-overview').innerHTML = item.Overview || '';
-
elem.querySelector('.upNextDialog-mediainfo').innerHTML = mediaInfo.getPrimaryMediaInfoHtml(item, {
+ criticRating: false,
+ originalAirDate: false,
+ starRating: false,
+ subtitles: false
});
let title = itemHelper.getDisplayName(item);
From e38fa15e4d40d1ccc6e51e10bb6052502317adea Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Sat, 22 Aug 2020 02:38:06 +0200
Subject: [PATCH 034/416] Constrain width only on desktop
---
src/assets/css/videoosd.css | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css
index 9995a7ff84..a23a4cf8ee 100644
--- a/src/assets/css/videoosd.css
+++ b/src/assets/css/videoosd.css
@@ -105,10 +105,13 @@
.osdControls {
flex-grow: 1;
- max-width: calc(100vh * 1.77);
padding: 0 0.8em;
}
+.layout-desktop .osdControls {
+ max-width: calc(100vh * 1.77 - 2vh);
+}
+
.videoOsdBottom .buttons {
padding: 0.25em 0 0;
display: -webkit-box;
From 1812df57ad9a45c40b24378f5bc35953bceead40 Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Sat, 22 Aug 2020 14:07:54 +0200
Subject: [PATCH 035/416] Fix up next dialog on Chrome
---
src/components/upnextdialog/upnextdialog.css | 67 ++++----------------
src/components/upnextdialog/upnextdialog.js | 2 -
2 files changed, 11 insertions(+), 58 deletions(-)
diff --git a/src/components/upnextdialog/upnextdialog.css b/src/components/upnextdialog/upnextdialog.css
index 754fd418ca..efb0366488 100644
--- a/src/components/upnextdialog/upnextdialog.css
+++ b/src/components/upnextdialog/upnextdialog.css
@@ -1,25 +1,10 @@
.upNextContainer {
- box-sizing: border-box;
position: fixed;
- top: 0;
+ right: 0;
bottom: 0;
- left: 50%;
- transform: translateX(-50%);
- padding: 1em;
- display: flex;
- flex-grow: 1;
- width: calc(100vh * (16 / 9));
- height: 100vh;
- justify-content: end;
- align-items: flex-end;
-}
-
-.upNextDialog-container {
- border-radius: 5px;
width: 30em;
- height: 11em;
- left: auto;
- padding: 1%;
+ padding: 1em;
+ margin: 0 2em 2em 0;
display: flex;
flex-direction: column;
will-change: transform, opacity;
@@ -38,18 +23,18 @@
font-weight: 500;
}
-.upNextDialog-poster {
- display: none;
- max-width: 40%;
- max-height: 15%;
- position: relative;
- margin-right: 1em;
- flex-shrink: 0;
- margin-bottom: 0.5em;
+.upNextDialog-nextVideoText,
+.upNextDialog-title {
+ width: 25.5em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
.upNextDialog-buttons {
+ width: 29.75em;
justify-content: end;
+ align-content: flex-end;
}
.upNextDialog-button {
@@ -61,34 +46,4 @@
.upNextDialog {
flex-direction: row;
}
-
- .upNextDialog-poster {
- max-width: initial;
- max-height: initial;
- width: 30%;
- margin-bottom: 0;
- }
-}
-
-@media all and (max-width: 50em) {
- .upNextDialog-overview {
- display: none !important;
- }
-}
-
-.upNextDialog-poster-img {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- height: auto;
- width: 100%;
- box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37);
- user-drag: none;
- border: 0;
- user-select: none;
- -moz-user-select: none;
- -webkit-user-drag: none;
- -webkit-user-select: none;
- -ms-user-select: none;
}
diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js
index 8d3202cc1c..1d55556710 100644
--- a/src/components/upnextdialog/upnextdialog.js
+++ b/src/components/upnextdialog/upnextdialog.js
@@ -17,7 +17,6 @@ import 'flexStyles';
function getHtml() {
let html = '';
- html += '';
html += '
';
html += '
';
@@ -42,7 +41,6 @@ import 'flexStyles';
// main
html += '';
- html += '
';
return html;
}
From 02015aaa9c60e727242c34363a7130d2c069a831 Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Sat, 29 Aug 2020 18:32:42 +0200
Subject: [PATCH 036/416] Adjust OSD color for WCAG compliance
---
src/assets/css/videoosd.css | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css
index a23a4cf8ee..f0792c2c45 100644
--- a/src/assets/css/videoosd.css
+++ b/src/assets/css/videoosd.css
@@ -11,7 +11,7 @@
left: 0;
right: 0;
position: fixed;
- background: linear-gradient(0deg, rgba(16, 16, 16, 0.6) 0%, rgba(16, 16, 16, 0) 100%);
+ background: linear-gradient(0deg, rgba(16, 16, 16, 0.75) 0%, rgba(16, 16, 16, 0) 100%);
padding-top: 7.5em;
padding-bottom: 1.75em;
display: flex;
@@ -28,7 +28,7 @@
transition: opacity 0.3s ease-out;
position: relative;
z-index: 1;
- background: linear-gradient(180deg, rgba(16, 16, 16, 0.6) 0%, rgba(16, 16, 16, 0) 100%);
+ background: linear-gradient(180deg, rgba(16, 16, 16, 0.75) 0%, rgba(16, 16, 16, 0) 100%);
backdrop-filter: none;
color: #eee;
height: 7.5em;
From c97d7a6f598cddf95b107c165414ec8af588c606 Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Sun, 30 Aug 2020 06:06:47 +0200
Subject: [PATCH 037/416] Use connectionManager global
---
src/components/activitylog.js | 5 +-
src/components/appRouter.js | 15 +++---
src/components/backdrop/backdrop.js | 3 +-
src/components/cardbuilder/cardBuilder.js | 3 +-
.../cardbuilder/chaptercardbuilder.js | 3 +-
src/components/channelMapper/channelMapper.js | 5 +-
.../collectionEditor/collectionEditor.js | 5 +-
.../displaySettings/displaySettings.js | 5 +-
src/components/filterdialog/filterdialog.js | 3 +-
src/components/filtermenu/filtermenu.js | 3 +-
src/components/groupedcards.js | 3 +-
src/components/guide/guide.js | 5 +-
.../homeScreenSettings/homeScreenSettings.js | 5 +-
src/components/homesections/homesections.js | 13 +++--
.../imageDownloader/imageDownloader.js | 3 +-
src/components/imageUploader/imageUploader.js | 3 +-
src/components/imageeditor/imageeditor.js | 13 +++--
src/components/itemContextMenu.js | 3 +-
src/components/itemMediaInfo/itemMediaInfo.js | 3 +-
.../itemidentifier/itemidentifier.js | 3 +-
src/components/listview/listview.js | 5 +-
.../metadataEditor/metadataEditor.js | 11 ++---
src/components/multiSelect/multiSelect.js | 3 +-
src/components/nowPlayingBar/nowPlayingBar.js | 13 +++--
src/components/playback/mediasession.js | 11 ++---
src/components/playback/playbackmanager.js | 49 +++++++++----------
src/components/playback/playersettingsmenu.js | 3 +-
.../playbackSettings/playbackSettings.js | 5 +-
src/components/playerstats/playerstats.js | 5 +-
.../playlisteditor/playlisteditor.js | 5 +-
.../recordingcreator/recordingbutton.js | 3 +-
.../recordingcreator/recordingcreator.js | 5 +-
.../recordingcreator/recordingeditor.js | 7 ++-
.../recordingcreator/recordingfields.js | 7 ++-
.../recordingcreator/recordinghelper.js | 9 ++--
.../recordingcreator/seriesrecordingeditor.js | 7 ++-
src/components/refreshdialog/refreshdialog.js | 3 +-
src/components/remotecontrol/remotecontrol.js | 13 +++--
src/components/search/searchresults.js | 3 +-
src/components/shortcuts.js | 9 ++--
src/components/slideshow/slideshow.js | 3 +-
.../subtitleeditor/subtitleeditor.js | 9 ++--
.../subtitlesettings/subtitlesettings.js | 5 +-
src/components/syncPlay/groupSelectionMenu.js | 5 +-
src/components/syncPlay/syncPlayManager.js | 9 ++--
src/components/syncPlay/timeSyncManager.js | 3 +-
src/components/themeMediaPlayer.js | 3 +-
src/components/tunerPicker.js | 3 +-
src/components/upnextdialog/upnextdialog.js | 11 ++---
.../userdatabuttons/userdatabuttons.js | 9 ++--
src/controllers/dashboard/dashboard.js | 15 +++---
src/controllers/favorites.js | 3 +-
src/controllers/hometab.js | 3 +-
src/controllers/itemDetails/index.js | 25 +++++-----
src/controllers/list.js | 7 ++-
src/controllers/playback/video/index.js | 17 +++----
src/controllers/session/addServer/index.js | 2 +-
src/controllers/session/login/index.js | 3 +-
src/controllers/session/selectServer/index.js | 7 ++-
.../emby-itemscontainer.js | 3 +-
.../emby-playstatebutton.js | 3 +-
.../emby-ratingbutton/emby-ratingbutton.js | 3 +-
src/libraries/screensavermanager.js | 3 +-
src/plugins/backdropScreensaver/plugin.js | 3 +-
src/plugins/bookPlayer/plugin.js | 3 +-
.../chromecastPlayer/chromecastHelper.js | 4 +-
src/plugins/chromecastPlayer/plugin.js | 15 +++---
src/plugins/htmlVideoPlayer/plugin.js | 5 +-
src/plugins/photoPlayer/plugin.js | 3 +-
src/plugins/playAccessValidation/plugin.js | 3 +-
src/plugins/sessionPlayer/plugin.js | 5 +-
src/scripts/autoThemes.js | 3 +-
src/scripts/clientUtils.js | 2 +-
src/scripts/deleteHelper.js | 3 +-
src/scripts/itembynamedetailpage.js | 3 +-
src/scripts/libraryMenu.js | 17 +++----
src/scripts/serverNotifications.js | 5 +-
src/scripts/site.js | 33 +++++--------
src/scripts/taskbutton.js | 11 ++---
79 files changed, 233 insertions(+), 319 deletions(-)
diff --git a/src/components/activitylog.js b/src/components/activitylog.js
index ab489a3f31..3878d03355 100644
--- a/src/components/activitylog.js
+++ b/src/components/activitylog.js
@@ -4,7 +4,6 @@ import dom from 'dom';
import * as datefns from 'date-fns';
import dfnshelper from 'dfnshelper';
import serverNotifications from 'serverNotifications';
-import connectionManager from 'connectionManager';
import 'emby-button';
import 'listViewStyle';
@@ -141,7 +140,7 @@ class ActivityLog {
const element = options.element;
element.classList.add('activityLogListWidget');
element.addEventListener('click', onListClick.bind(this));
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
reloadData(this, element, apiClient);
const onUpdate = onActivityLogUpdate.bind(this);
this.updateFn = onUpdate;
@@ -153,7 +152,7 @@ class ActivityLog {
if (options) {
options.element.classList.remove('activityLogListWidget');
- connectionManager.getApiClient(options.serverId).sendMessage('ActivityLogEntryStop', '0,1500');
+ window.connectionManager.getApiClient(options.serverId).sendMessage('ActivityLogEntryStop', '0,1500');
}
const onUpdate = this.updateFn;
diff --git a/src/components/appRouter.js b/src/components/appRouter.js
index f986e71357..75199fc639 100644
--- a/src/components/appRouter.js
+++ b/src/components/appRouter.js
@@ -2,7 +2,6 @@ import appHost from 'apphost';
import appSettings from 'appSettings';
import backdrop from 'backdrop';
import browser from 'browser';
-import connectionManager from 'connectionManager';
import events from 'events';
import globalize from 'globalize';
import itemHelper from 'itemHelper';
@@ -95,7 +94,7 @@ class AppRouter {
beginConnectionWizard() {
backdrop.clearBackdrop();
loading.show();
- connectionManager.connect({
+ window.connectionManager.connect({
enableAutoLogin: appSettings.enableAutoLogin()
}).then((result) => {
this.handleConnectionResult(result);
@@ -154,7 +153,7 @@ class AppRouter {
events.on(appHost, 'beforeexit', this.onBeforeExit);
events.on(appHost, 'resume', this.onAppResume);
- connectionManager.connect({
+ window.connectionManager.connect({
enableAutoLogin: appSettings.enableAutoLogin()
}).then((result) => {
this.firstConnectionResult = result;
@@ -210,7 +209,7 @@ class AppRouter {
showItem(item, serverId, options) {
// TODO: Refactor this so it only gets items, not strings.
if (typeof (item) === 'string') {
- const apiClient = serverId ? connectionManager.getApiClient(serverId) : connectionManager.currentApiClient();
+ const apiClient = serverId ? window.connectionManager.getApiClient(serverId) : window.connectionManager.currentApiClient();
apiClient.getItem(apiClient.getCurrentUserId(), item).then((itemObject) => {
this.showItem(itemObject, options);
});
@@ -492,15 +491,15 @@ class AppRouter {
}
initApiClients() {
- connectionManager.getApiClients().forEach((apiClient) => {
+ window.connectionManager.getApiClients().forEach((apiClient) => {
this.initApiClient(apiClient, this);
});
- events.on(connectionManager, 'apiclientcreated', this.onApiClientCreated);
+ events.on(window.connectionManager, 'apiclientcreated', this.onApiClientCreated);
}
onAppResume() {
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
if (apiClient) {
apiClient.ensureWebSocket();
@@ -518,7 +517,7 @@ class AppRouter {
}
}
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
const pathname = ctx.pathname.toLowerCase();
console.debug('appRouter - processing path request ' + pathname);
diff --git a/src/components/backdrop/backdrop.js b/src/components/backdrop/backdrop.js
index d3c9e58b59..83888b81b9 100644
--- a/src/components/backdrop/backdrop.js
+++ b/src/components/backdrop/backdrop.js
@@ -1,5 +1,4 @@
import browser from 'browser';
-import connectionManager from 'connectionManager';
import playbackManager from 'playbackManager';
import dom from 'dom';
import * as userSettings from 'userSettings';
@@ -177,7 +176,7 @@ import 'css!./backdrop';
function getItemImageUrls(item, imageOptions) {
imageOptions = imageOptions || {};
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
if (item.BackdropImageTags && item.BackdropImageTags.length > 0) {
return item.BackdropImageTags.map((imgTag, index) => {
return apiClient.getScaledImageUrl(item.BackdropItemId || item.Id, Object.assign(imageOptions, {
diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js
index 63eaf2bdfe..63b2e26adb 100644
--- a/src/components/cardbuilder/cardBuilder.js
+++ b/src/components/cardbuilder/cardBuilder.js
@@ -7,7 +7,6 @@
import datetime from 'datetime';
import imageLoader from 'imageLoader';
-import connectionManager from 'connectionManager';
import itemHelper from 'itemHelper';
import focusManager from 'focusManager';
import indicators from 'indicators';
@@ -371,7 +370,7 @@ import 'programStyles';
if (serverId !== lastServerId) {
lastServerId = serverId;
- apiClient = connectionManager.getApiClient(lastServerId);
+ apiClient = window.connectionManager.getApiClient(lastServerId);
}
if (options.indexBy) {
diff --git a/src/components/cardbuilder/chaptercardbuilder.js b/src/components/cardbuilder/chaptercardbuilder.js
index 642a87db2a..35ae2b0cdd 100644
--- a/src/components/cardbuilder/chaptercardbuilder.js
+++ b/src/components/cardbuilder/chaptercardbuilder.js
@@ -7,7 +7,6 @@
import datetime from 'datetime';
import imageLoader from 'imageLoader';
-import connectionManager from 'connectionManager';
import layoutManager from 'layoutManager';
import browser from 'browser';
@@ -48,7 +47,7 @@ import browser from 'browser';
let html = '';
let itemsInRow = 0;
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
for (let i = 0, length = chapters.length; i < length; i++) {
if (options.rows && itemsInRow === 0) {
diff --git a/src/components/channelMapper/channelMapper.js b/src/components/channelMapper/channelMapper.js
index e747279693..65d30ebe0d 100644
--- a/src/components/channelMapper/channelMapper.js
+++ b/src/components/channelMapper/channelMapper.js
@@ -1,7 +1,6 @@
import dom from 'dom';
import dialogHelper from 'dialogHelper';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import actionsheet from 'actionsheet';
import 'emby-input';
@@ -16,7 +15,7 @@ export default class channelMapper {
function mapChannel(button, channelId, providerChannelId) {
loading.show();
const providerId = options.providerId;
- connectionManager.getApiClient(options.serverId).ajax({
+ window.connectionManager.getApiClient(options.serverId).ajax({
type: 'POST',
url: ApiClient.getUrl('LiveTv/ChannelMappings'),
data: JSON.stringify({
@@ -58,7 +57,7 @@ export default class channelMapper {
}
function getChannelMappingOptions(serverId, providerId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.getJSON(apiClient.getUrl('LiveTv/ChannelMappingOptions', {
providerId: providerId
}));
diff --git a/src/components/collectionEditor/collectionEditor.js b/src/components/collectionEditor/collectionEditor.js
index dd8b3d6837..2d0d025929 100644
--- a/src/components/collectionEditor/collectionEditor.js
+++ b/src/components/collectionEditor/collectionEditor.js
@@ -2,7 +2,6 @@ import dom from 'dom';
import dialogHelper from 'dialogHelper';
import loading from 'loading';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import appRouter from 'appRouter';
import globalize from 'globalize';
import 'emby-checkbox';
@@ -25,7 +24,7 @@ import 'flexStyles';
const collectionId = panel.querySelector('#selectCollectionToAddTo').value;
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
if (collectionId) {
addToCollection(apiClient, panel, collectionId);
@@ -106,7 +105,7 @@ import 'flexStyles';
EnableTotalRecordCount: false
};
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
apiClient.getItems(apiClient.getCurrentUserId(), options).then(result => {
let html = '';
diff --git a/src/components/displaySettings/displaySettings.js b/src/components/displaySettings/displaySettings.js
index ae7647f98b..9def27dc8a 100644
--- a/src/components/displaySettings/displaySettings.js
+++ b/src/components/displaySettings/displaySettings.js
@@ -6,7 +6,6 @@ import focusManager from 'focusManager';
import datetime from 'datetime';
import globalize from 'globalize';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import skinManager from 'skinManager';
import events from 'events';
import 'emby-select';
@@ -182,7 +181,7 @@ import 'emby-button';
function onSubmit(e) {
const self = this;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userId = self.options.userId;
const userSettings = self.options.userSettings;
@@ -221,7 +220,7 @@ import 'emby-button';
loading.show();
const userId = self.options.userId;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userSettings = self.options.userSettings;
return apiClient.getUser(userId).then(user => {
diff --git a/src/components/filterdialog/filterdialog.js b/src/components/filterdialog/filterdialog.js
index df17c19dec..d11edb40a2 100644
--- a/src/components/filterdialog/filterdialog.js
+++ b/src/components/filterdialog/filterdialog.js
@@ -1,7 +1,6 @@
import dom from 'dom';
import dialogHelper from 'dialogHelper';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import events from 'events';
import 'emby-checkbox';
import 'emby-collapse';
@@ -420,7 +419,7 @@ import 'css!./style.css';
this.bindEvents(dlg);
if (enableDynamicFilters(this.options.mode)) {
dlg.classList.add('dynamicFilterDialog');
- const apiClient = connectionManager.getApiClient(this.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(this.options.serverId);
loadDynamicFilters(dlg, apiClient, apiClient.getCurrentUserId(), this.options.query);
}
});
diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js
index 637214a878..be12b04edd 100644
--- a/src/components/filtermenu/filtermenu.js
+++ b/src/components/filtermenu/filtermenu.js
@@ -3,7 +3,6 @@ import focusManager from 'focusManager';
import dialogHelper from 'dialogHelper';
import inputManager from 'inputManager';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import * as userSettings from 'userSettings';
import 'emby-checkbox';
@@ -194,7 +193,7 @@ function initEditor(context, settings) {
}
}
function loadDynamicFilters(context, options) {
- var apiClient = connectionManager.getApiClient(options.serverId);
+ var apiClient = window.connectionManager.getApiClient(options.serverId);
var filterMenuOptions = Object.assign(options.filterMenuOptions, {
diff --git a/src/components/groupedcards.js b/src/components/groupedcards.js
index 3361db5f02..38d08d129b 100644
--- a/src/components/groupedcards.js
+++ b/src/components/groupedcards.js
@@ -2,12 +2,11 @@
import dom from 'dom';
import appRouter from 'appRouter';
-import connectionManager from 'connectionManager';
function onGroupedCardClick(e, card) {
var itemId = card.getAttribute('data-id');
var serverId = card.getAttribute('data-serverid');
- var apiClient = connectionManager.getApiClient(serverId);
+ var apiClient = window.connectionManager.getApiClient(serverId);
var userId = apiClient.getCurrentUserId();
var playedIndicator = card.querySelector('.playedIndicator');
var playedIndicatorHtml = playedIndicator ? playedIndicator.innerHTML : null;
diff --git a/src/components/guide/guide.js b/src/components/guide/guide.js
index b63490a5a5..a5ed55e67c 100644
--- a/src/components/guide/guide.js
+++ b/src/components/guide/guide.js
@@ -1,7 +1,6 @@
import inputManager from 'inputManager';
import browser from 'browser';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import scrollHelper from 'scrollHelper';
import serverNotifications from 'serverNotifications';
import loading from 'loading';
@@ -213,7 +212,7 @@ function Guide(options) {
}
function reloadGuide(context, newStartDate, scrollToTimeMs, focusToTimeMs, startTimeOfDayMs, focusProgramOnRender) {
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
const channelQuery = {
@@ -873,7 +872,7 @@ function Guide(options) {
function reloadPage(page) {
showLoading();
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
apiClient.getLiveTvGuideInfo().then(function (guideInfo) {
setDateRange(page, guideInfo);
diff --git a/src/components/homeScreenSettings/homeScreenSettings.js b/src/components/homeScreenSettings/homeScreenSettings.js
index b5695fc818..3348348f20 100644
--- a/src/components/homeScreenSettings/homeScreenSettings.js
+++ b/src/components/homeScreenSettings/homeScreenSettings.js
@@ -2,7 +2,6 @@ import layoutManager from 'layoutManager';
import focusManager from 'focusManager';
import globalize from 'globalize';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import homeSections from 'homeSections';
import dom from 'dom';
import events from 'events';
@@ -380,7 +379,7 @@ import 'emby-checkbox';
function onSubmit(e) {
const self = this;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userId = self.options.userId;
const userSettings = self.options.userSettings;
@@ -452,7 +451,7 @@ import 'emby-checkbox';
loading.show();
const userId = self.options.userId;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userSettings = self.options.userSettings;
apiClient.getUser(userId).then(user => {
diff --git a/src/components/homesections/homesections.js b/src/components/homesections/homesections.js
index e933cf2c3a..758773689b 100644
--- a/src/components/homesections/homesections.js
+++ b/src/components/homesections/homesections.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import cardBuilder from 'cardBuilder';
import dom from 'dom';
import layoutManager from 'layoutManager';
@@ -212,7 +211,7 @@ import 'css!./homesections';
function getFetchLatestItemsFn(serverId, parentId, collectionType) {
return function () {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
let limit = 16;
if (enableScrollX()) {
@@ -368,7 +367,7 @@ import 'css!./homesections';
function getContinueWatchingFetchFn(serverId) {
return function () {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const screenWidth = dom.getWindowSize().innerWidth;
let limit;
@@ -441,7 +440,7 @@ import 'css!./homesections';
function getContinueListeningFetchFn(serverId) {
return function () {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const screenWidth = dom.getWindowSize().innerWidth;
let limit;
@@ -514,7 +513,7 @@ import 'css!./homesections';
function getOnNowFetchFn(serverId) {
return function () {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.getLiveTvRecommendedPrograms({
userId: apiClient.getCurrentUserId(),
IsAiring: true,
@@ -657,7 +656,7 @@ import 'css!./homesections';
function getNextUpFetchFn(serverId) {
return function () {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.getNextUpEpisodes({
Limit: enableScrollX() ? 24 : 15,
Fields: 'PrimaryImageAspectRatio,SeriesInfo,DateCreated,BasicSyncInfo,Path',
@@ -728,7 +727,7 @@ import 'css!./homesections';
function getLatestRecordingsFetchFn(serverId, activeRecordingsOnly) {
return function () {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.getLiveTvRecordings({
userId: apiClient.getCurrentUserId(),
Limit: enableScrollX() ? 12 : 5,
diff --git a/src/components/imageDownloader/imageDownloader.js b/src/components/imageDownloader/imageDownloader.js
index 3f78a5ecbb..1ec459ff83 100644
--- a/src/components/imageDownloader/imageDownloader.js
+++ b/src/components/imageDownloader/imageDownloader.js
@@ -2,7 +2,6 @@ import dom from 'dom';
import loading from 'loading';
import appHost from 'apphost';
import dialogHelper from 'dialogHelper';
-import connectionManager from 'connectionManager';
import imageLoader from 'imageLoader';
import browser from 'browser';
import layoutManager from 'layoutManager';
@@ -317,7 +316,7 @@ import 'cardStyle';
loading.show();
import('text!./imageDownloader.template.html').then(({default: template}) => {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
currentItemId = itemId;
currentItemType = itemType;
diff --git a/src/components/imageUploader/imageUploader.js b/src/components/imageUploader/imageUploader.js
index 59c31724d0..e89cbda2ae 100644
--- a/src/components/imageUploader/imageUploader.js
+++ b/src/components/imageUploader/imageUploader.js
@@ -6,7 +6,6 @@
*/
import dialogHelper from 'dialogHelper';
-import connectionManager from 'connectionManager';
import dom from 'dom';
import loading from 'loading';
import scrollHelper from 'scrollHelper';
@@ -108,7 +107,7 @@ import 'css!./style';
return false;
}
- connectionManager.getApiClient(currentServerId).uploadItemImage(currentItemId, imageType, file).then(() => {
+ window.connectionManager.getApiClient(currentServerId).uploadItemImage(currentItemId, imageType, file).then(() => {
dlg.querySelector('#uploadImage').value = '';
loading.hide();
diff --git a/src/components/imageeditor/imageeditor.js b/src/components/imageeditor/imageeditor.js
index a67b0afef1..a21fb76270 100644
--- a/src/components/imageeditor/imageeditor.js
+++ b/src/components/imageeditor/imageeditor.js
@@ -1,5 +1,4 @@
import dialogHelper from 'dialogHelper';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import dom from 'dom';
import layoutManager from 'layoutManager';
@@ -36,10 +35,10 @@ import 'css!./imageeditor';
let apiClient;
if (item) {
- apiClient = connectionManager.getApiClient(item.ServerId);
+ apiClient = window.connectionManager.getApiClient(item.ServerId);
reloadItem(page, item, apiClient, focusContext);
} else {
- apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
apiClient.getItem(apiClient.getCurrentUserId(), currentItem.Id).then(function (item) {
reloadItem(page, item, apiClient, focusContext);
});
@@ -293,7 +292,7 @@ import 'css!./imageeditor';
function showActionSheet(context, imageCard) {
const itemId = imageCard.getAttribute('data-id');
const serverId = imageCard.getAttribute('data-serverid');
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const type = imageCard.getAttribute('data-imagetype');
const index = parseInt(imageCard.getAttribute('data-index'));
@@ -404,7 +403,7 @@ import 'css!./imageeditor';
const type = this.getAttribute('data-imagetype');
let index = this.getAttribute('data-index');
index = index === 'null' ? null : parseInt(index);
- const apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ const apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
deleteImage(context, currentItem.Id, type, index, apiClient, true);
});
@@ -412,7 +411,7 @@ import 'css!./imageeditor';
const type = this.getAttribute('data-imagetype');
const index = this.getAttribute('data-index');
const newIndex = this.getAttribute('data-newindex');
- const apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ const apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
moveImage(context, apiClient, currentItem.Id, type, index, newIndex, dom.parentWithClass(this, 'itemsContainer'));
});
}
@@ -424,7 +423,7 @@ import 'css!./imageeditor';
loading.show();
import('text!./imageeditor.template.html').then(({default: template}) => {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function (item) {
const dialogOptions = {
removeOnClose: true
diff --git a/src/components/itemContextMenu.js b/src/components/itemContextMenu.js
index a42a7537a1..f36f623d9f 100644
--- a/src/components/itemContextMenu.js
+++ b/src/components/itemContextMenu.js
@@ -1,6 +1,5 @@
import appHost from 'apphost';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import itemHelper from 'itemHelper';
import appRouter from 'appRouter';
import playbackManager from 'playbackManager';
@@ -330,7 +329,7 @@ import actionsheet from 'actionsheet';
function executeCommand(item, id, options) {
const itemId = item.Id;
const serverId = item.ServerId;
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return new Promise(function (resolve, reject) {
switch (id) {
diff --git a/src/components/itemMediaInfo/itemMediaInfo.js b/src/components/itemMediaInfo/itemMediaInfo.js
index c3fd9e0d0a..cc60c4c462 100644
--- a/src/components/itemMediaInfo/itemMediaInfo.js
+++ b/src/components/itemMediaInfo/itemMediaInfo.js
@@ -8,7 +8,6 @@
import dialogHelper from 'dialogHelper';
import layoutManager from 'layoutManager';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import 'emby-select';
import 'listViewStyle';
@@ -137,7 +136,7 @@ import 'flexStyles';
}
function loadMediaInfo(itemId, serverId, template) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(item => {
const dialogOptions = {
size: 'small',
diff --git a/src/components/itemidentifier/itemidentifier.js b/src/components/itemidentifier/itemidentifier.js
index 5630680fbf..956cbb4f64 100644
--- a/src/components/itemidentifier/itemidentifier.js
+++ b/src/components/itemidentifier/itemidentifier.js
@@ -7,7 +7,6 @@
import dialogHelper from 'dialogHelper';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import scrollHelper from 'scrollHelper';
import layoutManager from 'layoutManager';
@@ -31,7 +30,7 @@ import 'cardStyle';
let currentSearchResult;
function getApiClient() {
- return connectionManager.getApiClient(currentServerId);
+ return window.connectionManager.getApiClient(currentServerId);
}
function searchForIdentificationResults(page) {
diff --git a/src/components/listview/listview.js b/src/components/listview/listview.js
index 11e8e953ae..dd0c1b5801 100644
--- a/src/components/listview/listview.js
+++ b/src/components/listview/listview.js
@@ -8,7 +8,6 @@
import itemHelper from 'itemHelper';
import mediaInfo from 'mediaInfo';
import indicators from 'indicators';
-import connectionManager from 'connectionManager';
import layoutManager from 'layoutManager';
import globalize from 'globalize';
import datetime from 'datetime';
@@ -77,7 +76,7 @@ import 'emby-playstatebutton';
}
function getImageUrl(item, width) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
let itemId;
const options = {
@@ -106,7 +105,7 @@ import 'emby-playstatebutton';
}
function getChannelImageUrl(item, width) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const options = {
maxWidth: width,
type: 'Primary'
diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js
index 82b3c66f53..e2ff2a6b56 100644
--- a/src/components/metadataEditor/metadataEditor.js
+++ b/src/components/metadataEditor/metadataEditor.js
@@ -4,7 +4,6 @@ import dialogHelper from 'dialogHelper';
import datetime from 'datetime';
import loading from 'loading';
import focusManager from 'focusManager';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import shell from 'shell';
import 'emby-checkbox';
@@ -290,7 +289,7 @@ import 'flexStyles';
}
function getApiClient() {
- return connectionManager.getApiClient(currentItem.ServerId);
+ return window.connectionManager.getApiClient(currentItem.ServerId);
}
function bindAll(elems, eventName, fn) {
@@ -370,7 +369,7 @@ import 'flexStyles';
}
function getItem(itemId, serverId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (itemId) {
return apiClient.getItem(apiClient.getCurrentUserId(), itemId);
@@ -380,7 +379,7 @@ import 'flexStyles';
}
function getEditorConfig(itemId, serverId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (itemId) {
return apiClient.getJSON(apiClient.getUrl('Items/' + itemId + '/MetadataEditor'));
@@ -1068,7 +1067,7 @@ import 'flexStyles';
currentContext = dlg;
- init(dlg, connectionManager.getApiClient(serverId));
+ init(dlg, window.connectionManager.getApiClient(serverId));
reload(dlg, itemId, serverId);
});
@@ -1095,7 +1094,7 @@ import 'flexStyles';
currentContext = elem;
- init(elem, connectionManager.getApiClient(serverId));
+ init(elem, window.connectionManager.getApiClient(serverId));
reload(elem, itemId, serverId);
focusManager.autoFocus(elem);
diff --git a/src/components/multiSelect/multiSelect.js b/src/components/multiSelect/multiSelect.js
index fdce40ab86..e7ce440f06 100644
--- a/src/components/multiSelect/multiSelect.js
+++ b/src/components/multiSelect/multiSelect.js
@@ -1,7 +1,6 @@
import browser from 'browser';
import appHost from 'apphost';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import dom from 'dom';
import 'css!./multiSelect';
@@ -170,7 +169,7 @@ import 'css!./multiSelect';
}
function showMenuForSelectedItems(e) {
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
apiClient.getCurrentUser().then(user => {
const menuItems = [];
diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js
index 7aa8c623b3..a7cbe1d9c0 100644
--- a/src/components/nowPlayingBar/nowPlayingBar.js
+++ b/src/components/nowPlayingBar/nowPlayingBar.js
@@ -7,7 +7,6 @@ import playbackManager from 'playbackManager';
import nowPlayingHelper from 'nowPlayingHelper';
import appHost from 'apphost';
import dom from 'dom';
-import connectionManager from 'connectionManager';
import itemContextMenu from 'itemContextMenu';
import 'paper-icon-button-light';
import 'emby-ratingbutton';
@@ -452,7 +451,7 @@ import 'emby-ratingbutton';
if (item.SeriesPrimaryImageTag) {
options.tag = item.SeriesPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
}
@@ -460,12 +459,12 @@ import 'emby-ratingbutton';
if (item.SeriesThumbImageTag) {
options.tag = item.SeriesThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
if (item.ParentThumbImageTag) {
options.tag = item.ParentThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
}
}
@@ -482,12 +481,12 @@ import 'emby-ratingbutton';
if (item.ImageTags && item.ImageTags[options.type]) {
options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
}
if (item.AlbumId && item.AlbumPrimaryImageTag) {
options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
}
return null;
@@ -548,7 +547,7 @@ import 'emby-ratingbutton';
if (nowPlayingItem.Id) {
if (isRefreshing) {
- const apiClient = connectionManager.getApiClient(nowPlayingItem.ServerId);
+ const apiClient = window.connectionManager.getApiClient(nowPlayingItem.ServerId);
apiClient.getItem(apiClient.getCurrentUserId(), nowPlayingItem.Id).then(function (item) {
const userData = item.UserData || {};
const likes = userData.Likes == null ? '' : userData.Likes;
diff --git a/src/components/playback/mediasession.js b/src/components/playback/mediasession.js
index 5c7ddf45dd..2478c52d6e 100644
--- a/src/components/playback/mediasession.js
+++ b/src/components/playback/mediasession.js
@@ -1,7 +1,6 @@
import playbackManager from 'playbackManager';
import nowPlayingHelper from 'nowPlayingHelper';
import events from 'events';
-import connectionManager from 'connectionManager';
/* eslint-disable indent */
// Reports media playback to the device for lock screen control
@@ -16,16 +15,16 @@ import connectionManager from 'connectionManager';
} else if (options.type === 'Primary' && item.SeriesPrimaryImageTag) {
options.tag = item.SeriesPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
} else if (options.type === 'Thumb') {
if (item.SeriesThumbImageTag) {
options.tag = item.SeriesThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
} else if (item.ParentThumbImageTag) {
options.tag = item.ParentThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
}
}
@@ -38,11 +37,11 @@ import connectionManager from 'connectionManager';
if (item.ImageTags && item.ImageTags[options.type]) {
options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.Id, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.Id, options);
} else if (item.AlbumId && item.AlbumPrimaryImageTag) {
options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
}
return null;
diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js
index 3b4099d540..4291c90d8a 100644
--- a/src/components/playback/playbackmanager.js
+++ b/src/components/playback/playbackmanager.js
@@ -6,7 +6,6 @@ import pluginManager from 'pluginManager';
import PlayQueueManager from 'playQueueManager';
import * as userSettings from 'userSettings';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import appHost from 'apphost';
import screenfull from 'screenfull';
@@ -69,7 +68,7 @@ function reportPlayback(playbackManagerInstance, state, player, reportPlaylist,
addPlaylistToPlaybackReport(playbackManagerInstance, info, player, serverId);
}
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const reportPlaybackPromise = apiClient[method](info);
// Notify that report has been sent
reportPlaybackPromise.then(() => {
@@ -106,7 +105,7 @@ function normalizeName(t) {
}
function getItemsForPlayback(serverId, query) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (query.Ids && query.Ids.split(',').length === 1) {
const itemId = query.Ids.split(',');
@@ -874,7 +873,7 @@ class PlaybackManager {
const promises = players.filter(displayPlayerIndividually).map(getPlayerTargets);
return Promise.all(promises).then(function (responses) {
- return connectionManager.currentApiClient().getCurrentUser().then(function (user) {
+ return window.connectionManager.currentApiClient().getCurrentUser().then(function (user) {
const targets = [];
targets.push({
@@ -1372,7 +1371,7 @@ class PlaybackManager {
function getSavedMaxStreamingBitrate(apiClient, mediaType) {
if (!apiClient) {
// This should hopefully never happen
- apiClient = connectionManager.currentApiClient();
+ apiClient = window.connectionManager.currentApiClient();
}
const endpointInfo = apiClient.getSavedEndpointInfo() || {};
@@ -1395,7 +1394,7 @@ class PlaybackManager {
const mediaType = playerData.streamInfo ? playerData.streamInfo.mediaType : null;
const currentItem = self.currentItem(player);
- const apiClient = currentItem ? connectionManager.getApiClient(currentItem.ServerId) : connectionManager.currentApiClient();
+ const apiClient = currentItem ? window.connectionManager.getApiClient(currentItem.ServerId) : window.connectionManager.currentApiClient();
return getSavedMaxStreamingBitrate(apiClient, mediaType);
};
@@ -1409,7 +1408,7 @@ class PlaybackManager {
const mediaType = playerData.streamInfo ? playerData.streamInfo.mediaType : null;
const currentItem = self.currentItem(player);
- const apiClient = currentItem ? connectionManager.getApiClient(currentItem.ServerId) : connectionManager.currentApiClient();
+ const apiClient = currentItem ? window.connectionManager.getApiClient(currentItem.ServerId) : window.connectionManager.currentApiClient();
const endpointInfo = apiClient.getSavedEndpointInfo() || {};
return appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork, mediaType);
@@ -1421,7 +1420,7 @@ class PlaybackManager {
return player.setMaxStreamingBitrate(options);
}
- const apiClient = connectionManager.getApiClient(self.currentItem(player).ServerId);
+ const apiClient = window.connectionManager.getApiClient(self.currentItem(player).ServerId);
apiClient.getEndpointInfo().then(function (endpointInfo) {
const playerData = getPlayerData(player);
@@ -1691,7 +1690,7 @@ class PlaybackManager {
const subtitleStreamIndex = params.SubtitleStreamIndex == null ? getPlayerData(player).subtitleStreamIndex : params.SubtitleStreamIndex;
let currentMediaSource = self.currentMediaSource(player);
- const apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ const apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
if (ticks) {
ticks = parseInt(ticks);
@@ -1847,7 +1846,7 @@ class PlaybackManager {
}, queryOptions));
} else if (firstItem.Type === 'Episode' && items.length === 1 && getPlayer(firstItem, options).supportsProgress !== false) {
promise = new Promise(function (resolve, reject) {
- const apiClient = connectionManager.getApiClient(firstItem.ServerId);
+ const apiClient = window.connectionManager.getApiClient(firstItem.ServerId);
apiClient.getCurrentUser().then(function (user) {
if (!user.Configuration.EnableNextEpisodeAutoPlay || !firstItem.SeriesId) {
@@ -2078,7 +2077,7 @@ class PlaybackManager {
return playOther(items, options, user);
}
- const apiClient = connectionManager.getApiClient(firstItem.ServerId);
+ const apiClient = window.connectionManager.getApiClient(firstItem.ServerId);
return getIntros(firstItem, apiClient, options).then(function (introsResult) {
const introItems = introsResult.Items;
@@ -2141,14 +2140,14 @@ class PlaybackManager {
const mediaType = item.MediaType;
const onBitrateDetectionFailure = function () {
- return playAfterBitrateDetect(getSavedMaxStreamingBitrate(connectionManager.getApiClient(item.ServerId), mediaType), item, playOptions, onPlaybackStartedFn);
+ return playAfterBitrateDetect(getSavedMaxStreamingBitrate(window.connectionManager.getApiClient(item.ServerId), mediaType), item, playOptions, onPlaybackStartedFn);
};
if (!isServerItem(item) || itemHelper.isLocalItem(item)) {
return onBitrateDetectionFailure();
}
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
apiClient.getEndpointInfo().then(function (endpointInfo) {
if ((mediaType === 'Video' || mediaType === 'Audio') && appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork, mediaType)) {
return apiClient.detectBitrate().then(function (bitrate) {
@@ -2267,7 +2266,7 @@ class PlaybackManager {
return Promise.all([promise, player.getDeviceProfile(item)]).then(function (responses) {
const deviceProfile = responses[1];
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const mediaSourceId = playOptions.mediaSourceId;
const audioStreamIndex = playOptions.audioStreamIndex;
@@ -2312,11 +2311,11 @@ class PlaybackManager {
const startPosition = options.startPositionTicks || 0;
const mediaType = options.mediaType || item.MediaType;
const player = getPlayer(item, options);
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
// Call this just to ensure the value is recorded, it is needed with getSavedMaxStreamingBitrate
return apiClient.getEndpointInfo().then(function () {
- const maxBitrate = getSavedMaxStreamingBitrate(connectionManager.getApiClient(item.ServerId), mediaType);
+ const maxBitrate = getSavedMaxStreamingBitrate(window.connectionManager.getApiClient(item.ServerId), mediaType);
return player.getDeviceProfile(item).then(function (deviceProfile) {
return getPlaybackMediaSource(player, apiClient, deviceProfile, maxBitrate, item, startPosition, options.mediaSourceId, options.audioStreamIndex, options.subtitleStreamIndex).then(function (mediaSource) {
@@ -2332,11 +2331,11 @@ class PlaybackManager {
const mediaType = options.mediaType || item.MediaType;
// TODO: Remove the true forceLocalPlayer hack
const player = getPlayer(item, options, true);
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
// Call this just to ensure the value is recorded, it is needed with getSavedMaxStreamingBitrate
return apiClient.getEndpointInfo().then(function () {
- const maxBitrate = getSavedMaxStreamingBitrate(connectionManager.getApiClient(item.ServerId), mediaType);
+ const maxBitrate = getSavedMaxStreamingBitrate(window.connectionManager.getApiClient(item.ServerId), mediaType);
return player.getDeviceProfile(item).then(function (deviceProfile) {
return getPlaybackInfo(player, apiClient, item, deviceProfile, maxBitrate, startPosition, false, null, null, null, null).then(function (playbackInfoResult) {
@@ -2720,7 +2719,7 @@ class PlaybackManager {
const queueDirectToPlayer = player && !enableLocalPlaylistManagement(player);
if (queueDirectToPlayer) {
- const apiClient = connectionManager.getApiClient(items[0].ServerId);
+ const apiClient = window.connectionManager.getApiClient(items[0].ServerId);
player.getDeviceProfile(items[0]).then(function (profile) {
setStreamUrls(items, profile, self.getMaxStreamingBitrate(player), apiClient, 0).then(function () {
@@ -3170,13 +3169,13 @@ class PlaybackManager {
streamInfo.lastMediaInfoQuery = new Date().getTime();
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (!apiClient.isMinServerVersion('3.2.70.7')) {
return;
}
- connectionManager.getApiClient(serverId).getLiveStreamMediaInfo(liveStreamId).then(function (info) {
+ window.connectionManager.getApiClient(serverId).getLiveStreamMediaInfo(liveStreamId).then(function (info) {
mediaSource.MediaStreams = info.MediaStreams;
events.trigger(player, 'mediastreamschange');
}, function () {
@@ -3233,7 +3232,7 @@ class PlaybackManager {
return Promise.reject();
}
- const apiClient = connectionManager.getApiClient(nextItem.item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(nextItem.item.ServerId);
return apiClient.getItem(apiClient.getCurrentUserId(), nextItem.item.Id);
}
@@ -3374,7 +3373,7 @@ class PlaybackManager {
return player.playTrailers(item);
}
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const instance = this;
@@ -3406,7 +3405,7 @@ class PlaybackManager {
}
getSubtitleUrl(textStream, serverId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return !textStream.IsExternalUrl ? apiClient.getUrl(textStream.DeliveryUrl) : textStream.DeliveryUrl;
}
@@ -3486,7 +3485,7 @@ class PlaybackManager {
return player.instantMix(item);
}
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const options = {};
options.UserId = apiClient.getCurrentUserId();
diff --git a/src/components/playback/playersettingsmenu.js b/src/components/playback/playersettingsmenu.js
index cd227afcb4..77f22b6b6c 100644
--- a/src/components/playback/playersettingsmenu.js
+++ b/src/components/playback/playersettingsmenu.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import actionsheet from 'actionsheet';
import playbackManager from 'playbackManager';
import globalize from 'globalize';
@@ -251,7 +250,7 @@ export function show(options) {
return showWithUser(options, player, null);
}
- var apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ var apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
return apiClient.getCurrentUser().then(function (user) {
return showWithUser(options, player, user);
});
diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js
index 66e1ae777f..782e3d38e1 100644
--- a/src/components/playbackSettings/playbackSettings.js
+++ b/src/components/playbackSettings/playbackSettings.js
@@ -5,7 +5,6 @@ import focusManager from 'focusManager';
import qualityoptions from 'qualityoptions';
import globalize from 'globalize';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import events from 'events';
import 'emby-select';
import 'emby-checkbox';
@@ -258,7 +257,7 @@ import 'emby-checkbox';
function onSubmit(e) {
const self = this;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userId = self.options.userId;
const userSettings = self.options.userSettings;
@@ -305,7 +304,7 @@ import 'emby-checkbox';
loading.show();
const userId = self.options.userId;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userSettings = self.options.userSettings;
apiClient.getUser(userId).then(user => {
diff --git a/src/components/playerstats/playerstats.js b/src/components/playerstats/playerstats.js
index 23a84310fb..28181756a3 100644
--- a/src/components/playerstats/playerstats.js
+++ b/src/components/playerstats/playerstats.js
@@ -1,7 +1,6 @@
import events from 'events';
import globalize from 'globalize';
import playbackManager from 'playbackManager';
-import connectionManager from 'connectionManager';
import syncPlayManager from 'syncPlayManager';
import playMethodHelper from 'playMethodHelper';
import layoutManager from 'layoutManager';
@@ -95,7 +94,7 @@ import 'css!./playerstats';
return Promise.resolve(instance.lastSession);
}
- const apiClient = connectionManager.getApiClient(playbackManager.currentItem(player).ServerId);
+ const apiClient = window.connectionManager.getApiClient(playbackManager.currentItem(player).ServerId);
return apiClient.getSessions({
deviceId: apiClient.deviceId()
@@ -386,7 +385,7 @@ import 'css!./playerstats';
name: 'Original Media Info'
});
- var apiClient = connectionManager.getApiClient(playbackManager.currentItem(player).ServerId);
+ var apiClient = window.connectionManager.getApiClient(playbackManager.currentItem(player).ServerId);
if (syncPlayManager.isSyncPlayEnabled() && apiClient.isMinServerVersion('10.6.0')) {
categories.push({
stats: getSyncPlayStats(),
diff --git a/src/components/playlisteditor/playlisteditor.js b/src/components/playlisteditor/playlisteditor.js
index 78f0cf3dec..dda9436a29 100644
--- a/src/components/playlisteditor/playlisteditor.js
+++ b/src/components/playlisteditor/playlisteditor.js
@@ -3,7 +3,6 @@ import dialogHelper from 'dialogHelper';
import loading from 'loading';
import layoutManager from 'layoutManager';
import playbackManager from 'playbackManager';
-import connectionManager from 'connectionManager';
import * as userSettings from 'userSettings';
import appRouter from 'appRouter';
import globalize from 'globalize';
@@ -22,7 +21,7 @@ import 'emby-button';
const panel = dom.parentWithClass(this, 'dialog');
const playlistId = panel.querySelector('#selectPlaylistToAddTo').value;
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
if (playlistId) {
userSettings.set('playlisteditor-lastplaylistid', playlistId);
@@ -113,7 +112,7 @@ import 'emby-button';
EnableTotalRecordCount: false
};
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
apiClient.getItems(apiClient.getCurrentUserId(), options).then(result => {
let html = '';
diff --git a/src/components/recordingcreator/recordingbutton.js b/src/components/recordingcreator/recordingbutton.js
index 9f102e2f9c..dc7da836da 100644
--- a/src/components/recordingcreator/recordingbutton.js
+++ b/src/components/recordingcreator/recordingbutton.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import dom from 'dom';
import recordingHelper from 'recordingHelper';
import 'paper-icon-button-light';
@@ -53,7 +52,7 @@ class RecordingButton {
}
refresh(serverId, itemId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const self = this;
apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function (item) {
self.refreshItem(item);
diff --git a/src/components/recordingcreator/recordingcreator.js b/src/components/recordingcreator/recordingcreator.js
index 9cb4e41d2e..27ad0584d5 100644
--- a/src/components/recordingcreator/recordingcreator.js
+++ b/src/components/recordingcreator/recordingcreator.js
@@ -2,7 +2,6 @@ import dialogHelper from 'dialogHelper';
import globalize from 'globalize';
import layoutManager from 'layoutManager';
import mediaInfo from 'mediaInfo';
-import connectionManager from 'connectionManager';
import require from 'require';
import loading from 'loading';
import scrollHelper from 'scrollHelper';
@@ -103,7 +102,7 @@ function renderRecording(context, defaultTimer, program, apiClient, refreshRecor
function reload(context, programId, serverId, refreshRecordingStateOnly) {
loading.show();
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const promise1 = apiClient.getNewLiveTvTimerDefaults({ programId: programId });
const promise2 = apiClient.getLiveTvProgram(programId, apiClient.getCurrentUserId());
@@ -119,7 +118,7 @@ function reload(context, programId, serverId, refreshRecordingStateOnly) {
function executeCloseAction(action, programId, serverId) {
if (action === 'play') {
import('playbackManager').then(({ default: playbackManager }) => {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
apiClient.getLiveTvProgram(programId, apiClient.getCurrentUserId()).then(function (item) {
playbackManager.play({
diff --git a/src/components/recordingcreator/recordingeditor.js b/src/components/recordingcreator/recordingeditor.js
index 096ea3b62c..37b55e4eec 100644
--- a/src/components/recordingcreator/recordingeditor.js
+++ b/src/components/recordingcreator/recordingeditor.js
@@ -1,7 +1,6 @@
import dialogHelper from 'dialogHelper';
import globalize from 'globalize';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import scrollHelper from 'scrollHelper';
import 'scrollStyles';
@@ -41,7 +40,7 @@ function closeDialog(isDeleted) {
function onSubmit(e) {
const form = this;
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
apiClient.getLiveTvTimer(currentItemId).then(function (item) {
item.PrePaddingSeconds = form.querySelector('#txtPrePaddingMinutes').value * 60;
@@ -61,7 +60,7 @@ function init(context) {
});
context.querySelector('.btnCancelRecording').addEventListener('click', function () {
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
deleteTimer(apiClient, currentItemId).then(function () {
closeDialog(true);
@@ -75,7 +74,7 @@ function reload(context, id) {
loading.show();
currentItemId = id;
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
apiClient.getLiveTvTimer(id).then(function (result) {
renderTimer(context, result, apiClient);
loading.hide();
diff --git a/src/components/recordingcreator/recordingfields.js b/src/components/recordingcreator/recordingfields.js
index d9d7c0098c..9b3f0d16a3 100644
--- a/src/components/recordingcreator/recordingfields.js
+++ b/src/components/recordingcreator/recordingfields.js
@@ -1,5 +1,4 @@
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import serverNotifications from 'serverNotifications';
import loading from 'loading';
import dom from 'dom';
@@ -46,7 +45,7 @@ function loadData(parent, program, apiClient) {
function fetchData(instance) {
const options = instance.options;
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
options.parent.querySelector('.recordingFields').classList.remove('hide');
return apiClient.getLiveTvProgram(options.programId, apiClient.getCurrentUserId()).then(function (program) {
@@ -197,7 +196,7 @@ function onRecordChange(e) {
const self = this;
const options = this.options;
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
const button = dom.parentWithTag(e.target, 'BUTTON');
const isChecked = !button.querySelector('.material-icons').classList.contains('recordingIcon-active');
@@ -236,7 +235,7 @@ function onRecordSeriesChange(e) {
const self = this;
const options = this.options;
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
const button = dom.parentWithTag(e.target, 'BUTTON');
const isChecked = !button.querySelector('.material-icons').classList.contains('recordingIcon-active');
diff --git a/src/components/recordingcreator/recordinghelper.js b/src/components/recordingcreator/recordinghelper.js
index 13359de2bc..495378106c 100644
--- a/src/components/recordingcreator/recordinghelper.js
+++ b/src/components/recordingcreator/recordinghelper.js
@@ -1,6 +1,5 @@
import globalize from 'globalize';
import loading from 'loading';
-import connectionManager from 'connectionManager';
/*eslint prefer-const: "error"*/
@@ -40,7 +39,7 @@ function cancelTimerWithConfirmation(timerId, serverId) {
}).then(function () {
loading.show();
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
cancelTimer(apiClient, timerId, true).then(resolve, reject);
}, reject);
});
@@ -60,7 +59,7 @@ function cancelSeriesTimerWithConfirmation(timerId, serverId) {
}).then(function () {
loading.show();
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
apiClient.cancelLiveTvSeriesTimer(timerId).then(function () {
import('toast').then(({default: toast}) => {
toast(globalize.translate('SeriesCancelled'));
@@ -141,7 +140,7 @@ function showMultiCancellationPrompt(serverId, programId, timerId, timerStatus,
buttons: items
}).then(function (result) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (result === 'canceltimer') {
loading.show();
@@ -167,7 +166,7 @@ function showMultiCancellationPrompt(serverId, programId, timerId, timerStatus,
}
function toggleRecording(serverId, programId, timerId, timerStatus, seriesTimerId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const hasTimer = timerId && timerStatus !== 'Cancelled';
if (seriesTimerId && hasTimer) {
// cancel
diff --git a/src/components/recordingcreator/seriesrecordingeditor.js b/src/components/recordingcreator/seriesrecordingeditor.js
index 48fbbcf22c..e3a6ae6853 100644
--- a/src/components/recordingcreator/seriesrecordingeditor.js
+++ b/src/components/recordingcreator/seriesrecordingeditor.js
@@ -1,7 +1,6 @@
import dialogHelper from 'dialogHelper';
import globalize from 'globalize';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import scrollHelper from 'scrollHelper';
import datetime from 'datetime';
@@ -64,7 +63,7 @@ function closeDialog(isDeleted) {
function onSubmit(e) {
const form = this;
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
apiClient.getLiveTvSeriesTimer(currentItemId).then(function (item) {
item.PrePaddingSeconds = form.querySelector('#txtPrePaddingMinutes').value * 60;
@@ -92,7 +91,7 @@ function init(context) {
});
context.querySelector('.btnCancelRecording').addEventListener('click', function () {
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
deleteTimer(apiClient, currentItemId).then(function () {
closeDialog(true);
});
@@ -102,7 +101,7 @@ function init(context) {
}
function reload(context, id) {
- const apiClient = connectionManager.getApiClient(currentServerId);
+ const apiClient = window.connectionManager.getApiClient(currentServerId);
loading.show();
if (typeof id === 'string') {
diff --git a/src/components/refreshdialog/refreshdialog.js b/src/components/refreshdialog/refreshdialog.js
index 1ec0517448..e5ceb1e6e0 100644
--- a/src/components/refreshdialog/refreshdialog.js
+++ b/src/components/refreshdialog/refreshdialog.js
@@ -2,7 +2,6 @@ import dom from 'dom';
import dialogHelper from 'dialogHelper';
import loading from 'loading';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import 'emby-input';
import 'emby-checkbox';
@@ -66,7 +65,7 @@ function onSubmit(e) {
const dlg = dom.parentWithClass(e.target, 'dialog');
const options = instance.options;
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
const replaceAllMetadata = dlg.querySelector('#selectMetadataRefreshMode').value === 'all';
diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js
index 8d6c53cead..a9385222e3 100644
--- a/src/components/remotecontrol/remotecontrol.js
+++ b/src/components/remotecontrol/remotecontrol.js
@@ -5,7 +5,6 @@ import imageLoader from 'imageLoader';
import playbackManager from 'playbackManager';
import nowPlayingHelper from 'nowPlayingHelper';
import events from 'events';
-import connectionManager from 'connectionManager';
import appHost from 'apphost';
import globalize from 'globalize';
import layoutManager from 'layoutManager';
@@ -96,18 +95,18 @@ function seriesImageUrl(item, options) {
options.type = options.type || 'Primary';
if (options.type === 'Primary' && item.SeriesPrimaryImageTag) {
options.tag = item.SeriesPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
if (options.type === 'Thumb') {
if (item.SeriesThumbImageTag) {
options.tag = item.SeriesThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
if (item.ParentThumbImageTag) {
options.tag = item.ParentThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
}
}
@@ -120,12 +119,12 @@ function imageUrl(item, options) {
if (item.ImageTags && item.ImageTags[options.type]) {
options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
}
if (item.AlbumId && item.AlbumPrimaryImageTag) {
options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
}
return null;
@@ -216,7 +215,7 @@ function updateNowPlayingInfo(context, state, serverId) {
openAlbum: false,
positionTo: contextButton
};
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
apiClient.getItem(apiClient.getCurrentUserId(), item.Id).then(function (fullItem) {
apiClient.getCurrentUser().then(function (user) {
contextButton.addEventListener('click', function () {
diff --git a/src/components/search/searchresults.js b/src/components/search/searchresults.js
index 64be0e3e87..d35868d433 100644
--- a/src/components/search/searchresults.js
+++ b/src/components/search/searchresults.js
@@ -1,6 +1,5 @@
import layoutManager from 'layoutManager';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import cardBuilder from 'cardBuilder';
import appRouter from 'appRouter';
import 'emby-scroller';
@@ -606,7 +605,7 @@ class SearchResults {
embed(options.element, this, options);
}
search(value) {
- const apiClient = connectionManager.getApiClient(this.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(this.options.serverId);
search(this, apiClient, this.options.element, value);
}
diff --git a/src/components/shortcuts.js b/src/components/shortcuts.js
index 5bd65ae1d9..2959fd3372 100644
--- a/src/components/shortcuts.js
+++ b/src/components/shortcuts.js
@@ -7,7 +7,6 @@
import playbackManager from 'playbackManager';
import inputManager from 'inputManager';
-import connectionManager from 'connectionManager';
import appRouter from 'appRouter';
import globalize from 'globalize';
import dom from 'dom';
@@ -81,7 +80,7 @@ import recordingHelper from 'recordingHelper';
const id = button.getAttribute('data-id');
const type = button.getAttribute('data-type');
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (type === 'Timer') {
return apiClient.getLiveTvTimer(id);
@@ -111,7 +110,7 @@ import recordingHelper from 'recordingHelper';
}
import('itemContextMenu').then(({default: itemContextMenu}) => {
- connectionManager.getApiClient(item.ServerId).getCurrentUser().then(user => {
+ window.connectionManager.getApiClient(item.ServerId).getCurrentUser().then(user => {
itemContextMenu.show(Object.assign({
item: item,
play: true,
@@ -280,7 +279,7 @@ import recordingHelper from 'recordingHelper';
}
function playTrailer(item) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
apiClient.getLocalTrailers(apiClient.getCurrentUserId(), item.Id).then(trailers => {
playbackManager.play({ items: trailers });
@@ -288,7 +287,7 @@ import recordingHelper from 'recordingHelper';
}
function editItem(item, serverId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return new Promise((resolve, reject) => {
const serverId = apiClient.serverInfo().Id;
diff --git a/src/components/slideshow/slideshow.js b/src/components/slideshow/slideshow.js
index 82f541a116..87e6e41b7b 100644
--- a/src/components/slideshow/slideshow.js
+++ b/src/components/slideshow/slideshow.js
@@ -4,7 +4,6 @@
*/
import dialogHelper from 'dialogHelper';
import inputManager from 'inputManager';
-import connectionManager from 'connectionManager';
import layoutManager from 'layoutManager';
import focusManager from 'focusManager';
import browser from 'browser';
@@ -85,7 +84,7 @@ function getBackdropImageUrl(item, options, apiClient) {
* @returns {string} URL of the item's image.
*/
function getImgUrl(item, user) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const imageOptions = {};
if (item.BackdropImageTags && item.BackdropImageTags.length) {
diff --git a/src/components/subtitleeditor/subtitleeditor.js b/src/components/subtitleeditor/subtitleeditor.js
index dfd7f9446c..2ade9966cb 100644
--- a/src/components/subtitleeditor/subtitleeditor.js
+++ b/src/components/subtitleeditor/subtitleeditor.js
@@ -2,7 +2,6 @@ import dialogHelper from 'dialogHelper';
import layoutManager from 'layoutManager';
import globalize from 'globalize';
import * as userSettings from 'userSettings';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import focusManager from 'focusManager';
import dom from 'dom';
@@ -21,7 +20,7 @@ let hasChanges;
function downloadRemoteSubtitles(context, id) {
let url = 'Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + id;
- let apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ let apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
apiClient.ajax({
type: 'POST',
@@ -55,7 +54,7 @@ function deleteLocalSubtitle(context, index) {
let itemId = currentItem.Id;
let url = 'Videos/' + itemId + '/Subtitles/' + index;
- let apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ let apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
apiClient.ajax({
@@ -243,7 +242,7 @@ function searchForSubtitles(context, language) {
loading.show();
- let apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ let apiClient = window.connectionManager.getApiClient(currentItem.ServerId);
let url = apiClient.getUrl('Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + language);
apiClient.getJSON(url).then(function (results) {
@@ -356,7 +355,7 @@ function centerFocus(elem, horiz, on) {
function showEditorInternal(itemId, serverId, template) {
hasChanges = false;
- let apiClient = connectionManager.getApiClient(serverId);
+ let apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function (item) {
let dialogOptions = {
removeOnClose: true,
diff --git a/src/components/subtitlesettings/subtitlesettings.js b/src/components/subtitlesettings/subtitlesettings.js
index 46760be4c8..0e2c4e3661 100644
--- a/src/components/subtitlesettings/subtitlesettings.js
+++ b/src/components/subtitlesettings/subtitlesettings.js
@@ -4,7 +4,6 @@ import appSettings from 'appSettings';
import focusManager from 'focusManager';
import layoutManager from 'layoutManager';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import subtitleAppearanceHelper from 'subtitleAppearanceHelper';
import settingsHelper from 'settingsHelper';
import dom from 'dom';
@@ -232,7 +231,7 @@ export class SubtitleSettings {
loading.show();
const userId = self.options.userId;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userSettings = self.options.userSettings;
apiClient.getUser(userId).then(function (user) {
@@ -256,7 +255,7 @@ export class SubtitleSettings {
onSubmit(e) {
const self = this;
- const apiClient = connectionManager.getApiClient(self.options.serverId);
+ const apiClient = window.connectionManager.getApiClient(self.options.serverId);
const userId = self.options.userId;
const userSettings = self.options.userSettings;
diff --git a/src/components/syncPlay/groupSelectionMenu.js b/src/components/syncPlay/groupSelectionMenu.js
index 360aa0b0c2..655dc76010 100644
--- a/src/components/syncPlay/groupSelectionMenu.js
+++ b/src/components/syncPlay/groupSelectionMenu.js
@@ -1,5 +1,4 @@
import events from 'events';
-import connectionManager from 'connectionManager';
import playbackManager from 'playbackManager';
import syncPlayManager from 'syncPlayManager';
import loading from 'loading';
@@ -172,8 +171,8 @@ export function show (button) {
});
});
- const apiClient = connectionManager.currentApiClient();
- connectionManager.user(apiClient).then((user) => {
+ const apiClient = window.connectionManager.currentApiClient();
+ window.connectionManager.user(apiClient).then((user) => {
if (syncPlayEnabled) {
showLeaveGroupSelection(button, user, apiClient);
} else {
diff --git a/src/components/syncPlay/syncPlayManager.js b/src/components/syncPlay/syncPlayManager.js
index 2366172a79..68949aeeaf 100644
--- a/src/components/syncPlay/syncPlayManager.js
+++ b/src/components/syncPlay/syncPlayManager.js
@@ -4,7 +4,6 @@
*/
import events from 'events';
-import connectionManager from 'connectionManager';
import playbackManager from 'playbackManager';
import timeSyncManager from 'timeSyncManager';
import toast from 'toast';
@@ -128,7 +127,7 @@ class SyncPlayManager {
// Report ping
if (this.syncEnabled) {
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
const sessionId = getActivePlayerId();
if (!sessionId) {
@@ -660,7 +659,7 @@ class SyncPlayManager {
* Overrides PlaybackManager's unpause method.
*/
playRequest (player) {
- var apiClient = connectionManager.currentApiClient();
+ var apiClient = window.connectionManager.currentApiClient();
apiClient.requestSyncPlayStart();
}
@@ -668,7 +667,7 @@ class SyncPlayManager {
* Overrides PlaybackManager's pause method.
*/
pauseRequest (player) {
- var apiClient = connectionManager.currentApiClient();
+ var apiClient = window.connectionManager.currentApiClient();
apiClient.requestSyncPlayPause();
// Pause locally as well, to give the user some little control
playbackManager._localUnpause(player);
@@ -678,7 +677,7 @@ class SyncPlayManager {
* Overrides PlaybackManager's seek method.
*/
seekRequest (PositionTicks, player) {
- var apiClient = connectionManager.currentApiClient();
+ var apiClient = window.connectionManager.currentApiClient();
apiClient.requestSyncPlaySeek({
PositionTicks: PositionTicks
});
diff --git a/src/components/syncPlay/timeSyncManager.js b/src/components/syncPlay/timeSyncManager.js
index e219fb0413..6ded631de3 100644
--- a/src/components/syncPlay/timeSyncManager.js
+++ b/src/components/syncPlay/timeSyncManager.js
@@ -4,7 +4,6 @@
*/
import events from 'events';
-import connectionManager from 'connectionManager';
/**
* Time estimation
@@ -114,7 +113,7 @@ class TimeSyncManager {
if (!this.poller) {
this.poller = setTimeout(() => {
this.poller = null;
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
const requestSent = new Date();
apiClient.getServerTime().then((response) => {
const responseReceived = new Date();
diff --git a/src/components/themeMediaPlayer.js b/src/components/themeMediaPlayer.js
index 8225156bf0..8f288a5348 100644
--- a/src/components/themeMediaPlayer.js
+++ b/src/components/themeMediaPlayer.js
@@ -1,6 +1,5 @@
import playbackManager from 'playbackManager';
import * as userSettings from 'userSettings';
-import connectionManager from 'connectionManager';
let currentOwnerId;
let currentThemeIds = [];
@@ -62,7 +61,7 @@ function loadThemeMedia(item) {
return;
}
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
apiClient.getThemeMedia(apiClient.getCurrentUserId(), item.Id, true).then(function (themeMediaResult) {
const ownerId = themeMediaResult.ThemeVideosResult.Items.length ? themeMediaResult.ThemeVideosResult.OwnerId : themeMediaResult.ThemeSongsResult.OwnerId;
diff --git a/src/components/tunerPicker.js b/src/components/tunerPicker.js
index 13625ddb67..2e7629a3c5 100644
--- a/src/components/tunerPicker.js
+++ b/src/components/tunerPicker.js
@@ -1,7 +1,6 @@
import dialogHelper from 'dialogHelper';
import dom from 'dom';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import loading from 'loading';
import browser from 'browser';
@@ -163,7 +162,7 @@ function tunerPicker() {
scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false);
}
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
discoverDevices(dlg, apiClient);
if (layoutManager.tv) {
diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js
index e28bb03abe..f0c4a82991 100644
--- a/src/components/upnextdialog/upnextdialog.js
+++ b/src/components/upnextdialog/upnextdialog.js
@@ -1,6 +1,5 @@
import dom from 'dom';
import playbackManager from 'playbackManager';
-import connectionManager from 'connectionManager';
import events from 'events';
import mediaInfo from 'mediaInfo';
import layoutManager from 'layoutManager';
@@ -27,7 +26,7 @@ import 'flexStyles';
if (item.SeriesPrimaryImageTag) {
options.tag = item.SeriesPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
}
@@ -35,12 +34,12 @@ import 'flexStyles';
if (item.SeriesThumbImageTag) {
options.tag = item.SeriesThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
if (item.ParentThumbImageTag) {
options.tag = item.ParentThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
}
}
@@ -53,13 +52,13 @@ import 'flexStyles';
if (item.ImageTags && item.ImageTags[options.type]) {
options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
}
if (options.type === 'Primary') {
if (item.AlbumId && item.AlbumPrimaryImageTag) {
options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
}
}
diff --git a/src/components/userdatabuttons/userdatabuttons.js b/src/components/userdatabuttons/userdatabuttons.js
index 2b09095574..6c0cbb8a29 100644
--- a/src/components/userdatabuttons/userdatabuttons.js
+++ b/src/components/userdatabuttons/userdatabuttons.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import dom from 'dom';
import itemHelper from 'itemHelper';
@@ -188,12 +187,12 @@ function markPlayed(link) {
}
function likes(id, serverId, isLiked) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.updateUserItemRating(apiClient.getCurrentUserId(), id, isLiked);
}
function played(id, serverId, isPlayed) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
const method = isPlayed ? 'markPlayed' : 'markUnplayed';
@@ -201,13 +200,13 @@ function played(id, serverId, isPlayed) {
}
function favorite(id, serverId, isFavorite) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.updateFavoriteStatus(apiClient.getCurrentUserId(), id, isFavorite);
}
function clearLike(id, serverId) {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return apiClient.clearUserItemRating(apiClient.getCurrentUserId(), id);
}
diff --git a/src/controllers/dashboard/dashboard.js b/src/controllers/dashboard/dashboard.js
index a1ce7f489e..8e63faf381 100644
--- a/src/controllers/dashboard/dashboard.js
+++ b/src/controllers/dashboard/dashboard.js
@@ -7,7 +7,6 @@ import globalize from 'globalize';
import * as datefns from 'date-fns';
import dfnshelper from 'dfnshelper';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import playMethodHelper from 'playMethodHelper';
import cardBuilder from 'cardBuilder';
import imageLoader from 'imageLoader';
@@ -60,7 +59,7 @@ import 'emby-itemscontainer';
confirmText: globalize.translate('ButtonSend')
}).then(function (text) {
if (text) {
- connectionManager.getApiClient(session.ServerId).sendMessageCommand(session.Id, {
+ window.connectionManager.getApiClient(session.ServerId).sendMessageCommand(session.Id, {
Text: text,
TimeoutMs: 5e3
});
@@ -73,7 +72,7 @@ import 'emby-itemscontainer';
import('actionsheet').then(({default: actionsheet}) => {
const menuItems = [];
- if (session.ServerId && session.DeviceId !== connectionManager.deviceId()) {
+ if (session.ServerId && session.DeviceId !== window.connectionManager.deviceId()) {
menuItems.push({
name: globalize.translate('SendMessage'),
id: 'sendmessage'
@@ -123,9 +122,9 @@ import 'emby-itemscontainer';
} else if (btn.classList.contains('btnSessionSendMessage')) {
showSendMessageForm(btn, session);
} else if (btn.classList.contains('btnSessionStop')) {
- connectionManager.getApiClient(session.ServerId).sendPlayStateCommand(session.Id, 'Stop');
+ window.connectionManager.getApiClient(session.ServerId).sendPlayStateCommand(session.Id, 'Stop');
} else if (btn.classList.contains('btnSessionPlayPause') && session.PlayState) {
- connectionManager.getApiClient(session.ServerId).sendPlayStateCommand(session.Id, 'PlayPause');
+ window.connectionManager.getApiClient(session.ServerId).sendPlayStateCommand(session.Id, 'PlayPause');
}
}
}
@@ -313,7 +312,7 @@ import 'emby-itemscontainer';
btnCssClass = session.TranscodingInfo && session.TranscodingInfo.TranscodeReasons && session.TranscodingInfo.TranscodeReasons.length ? '' : ' hide';
html += '';
- btnCssClass = session.ServerId && session.SupportedCommands.indexOf('DisplayMessage') !== -1 && session.DeviceId !== connectionManager.deviceId() ? '' : ' hide';
+ btnCssClass = session.ServerId && session.SupportedCommands.indexOf('DisplayMessage') !== -1 && session.DeviceId !== window.connectionManager.deviceId() ? '' : ' hide';
html += '';
html += ' ';
@@ -551,7 +550,7 @@ import 'emby-itemscontainer';
row.classList.remove('playingSession');
}
- if (session.ServerId && session.SupportedCommands.indexOf('DisplayMessage') !== -1 && session.DeviceId !== connectionManager.deviceId()) {
+ if (session.ServerId && session.SupportedCommands.indexOf('DisplayMessage') !== -1 && session.DeviceId !== window.connectionManager.deviceId()) {
row.querySelector('.btnSessionSendMessage').classList.remove('hide');
} else {
row.querySelector('.btnSessionSendMessage').classList.add('hide');
@@ -565,7 +564,7 @@ import 'emby-itemscontainer';
const btnSessionPlayPause = row.querySelector('.btnSessionPlayPause');
- if (session.ServerId && nowPlayingItem && session.SupportsRemoteControl && session.DeviceId !== connectionManager.deviceId()) {
+ if (session.ServerId && nowPlayingItem && session.SupportsRemoteControl && session.DeviceId !== window.connectionManager.deviceId()) {
btnSessionPlayPause.classList.remove('hide');
row.querySelector('.btnSessionStop').classList.remove('hide');
} else {
diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js
index 7e316df118..ff60f2ee58 100644
--- a/src/controllers/favorites.js
+++ b/src/controllers/favorites.js
@@ -2,7 +2,6 @@ import appRouter from 'appRouter';
import cardBuilder from 'cardBuilder';
import dom from 'dom';
import globalize from 'globalize';
-import connectionManager from 'connectionManager';
import appHost from 'apphost';
import layoutManager from 'layoutManager';
import focusManager from 'focusManager';
@@ -270,7 +269,7 @@ class FavoritesTab {
constructor(view, params) {
this.view = view;
this.params = params;
- this.apiClient = connectionManager.currentApiClient();
+ this.apiClient = window.connectionManager.currentApiClient();
this.sectionsContainer = view.querySelector('.sections');
createSections(this, this.sectionsContainer, this.apiClient);
}
diff --git a/src/controllers/hometab.js b/src/controllers/hometab.js
index d834e3e233..ff56e08d14 100644
--- a/src/controllers/hometab.js
+++ b/src/controllers/hometab.js
@@ -1,6 +1,5 @@
import * as userSettings from 'userSettings';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import focusManager from 'focusManager';
import homeSections from 'homeSections';
import 'emby-itemscontainer';
@@ -9,7 +8,7 @@ class HomeTab {
constructor(view, params) {
this.view = view;
this.params = params;
- this.apiClient = connectionManager.currentApiClient();
+ this.apiClient = window.connectionManager.currentApiClient();
this.sectionsContainer = view.querySelector('.sections');
view.querySelector('.sections').addEventListener('settingschange', onHomeScreenSettingsChanged.bind(this));
}
diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js
index b1781e75f0..012b0ff67b 100644
--- a/src/controllers/itemDetails/index.js
+++ b/src/controllers/itemDetails/index.js
@@ -3,7 +3,6 @@ import loading from 'loading';
import appRouter from 'appRouter';
import itemShortcuts from 'itemShortcuts';
import layoutManager from 'layoutManager';
-import connectionManager from 'connectionManager';
import * as userSettings from 'userSettings';
import cardBuilder from 'cardBuilder';
import datetime from 'datetime';
@@ -564,7 +563,7 @@ function renderDetailPageBackdrop(page, item, apiClient) {
}
function reloadFromItem(instance, page, params, item, user) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
Emby.Page.setTitle('');
@@ -797,7 +796,7 @@ function renderNextUp(page, item, user) {
return void section.classList.add('hide');
}
- connectionManager.getApiClient(item.ServerId).getNextUpEpisodes({
+ window.connectionManager.getApiClient(item.ServerId).getNextUpEpisodes({
SeriesId: item.Id,
UserId: user.Id
}).then(function (result) {
@@ -1196,7 +1195,7 @@ function renderSimilarItems(page, item, context) {
}
similarCollapsible.classList.remove('hide');
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const options = {
userId: apiClient.getCurrentUserId(),
limit: 12,
@@ -1310,7 +1309,7 @@ function renderChildren(page, item) {
}
let promise;
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const userId = apiClient.getCurrentUserId();
if (item.Type == 'Series') {
@@ -1549,7 +1548,7 @@ function renderChannelGuide(page, apiClient, item) {
}
function renderSeriesSchedule(page, item) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
apiClient.getLiveTvPrograms({
UserId: apiClient.getCurrentUserId(),
HasAired: false,
@@ -1709,7 +1708,7 @@ function renderCollectionItemType(page, parentItem, type, items) {
}
function renderMusicVideos(page, item, user) {
- connectionManager.getApiClient(item.ServerId).getItems(user.Id, {
+ window.connectionManager.getApiClient(item.ServerId).getItems(user.Id, {
SortBy: 'SortName',
SortOrder: 'Ascending',
IncludeItemTypes: 'MusicVideo',
@@ -1729,7 +1728,7 @@ function renderMusicVideos(page, item, user) {
}
function renderAdditionalParts(page, item, user) {
- connectionManager.getApiClient(item.ServerId).getAdditionalVideoParts(user.Id, item.Id).then(function (result) {
+ window.connectionManager.getApiClient(item.ServerId).getAdditionalVideoParts(user.Id, item.Id).then(function (result) {
if (result.Items.length) {
page.querySelector('#additionalPartsCollapsible').classList.remove('hide');
const additionalPartsContent = page.querySelector('#additionalPartsContent');
@@ -1774,7 +1773,7 @@ function getVideosHtml(items) {
}
function renderSpecials(page, item, user) {
- connectionManager.getApiClient(item.ServerId).getSpecialFeatures(user.Id, item.Id).then(function (specials) {
+ window.connectionManager.getApiClient(item.ServerId).getSpecialFeatures(user.Id, item.Id).then(function (specials) {
const specialsContent = page.querySelector('#specialsContent');
specialsContent.innerHTML = getVideosHtml(specials);
imageLoader.lazyChildren(specialsContent);
@@ -1830,7 +1829,7 @@ export default function (view, params) {
function reload(instance, page, params) {
loading.show();
- const apiClient = params.serverId ? connectionManager.getApiClient(params.serverId) : ApiClient;
+ const apiClient = params.serverId ? window.connectionManager.getApiClient(params.serverId) : ApiClient;
Promise.all([getPromise(apiClient, params), apiClient.getCurrentUser()]).then(([item, user]) => {
currentItem = item;
@@ -1879,7 +1878,7 @@ export default function (view, params) {
const item = currentItem;
if (item.Type === 'Program') {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
return void apiClient.getLiveTvChannel(item.ChannelId, apiClient.getCurrentUserId()).then(function (channel) {
playbackManager.play({
items: [channel]
@@ -1916,7 +1915,7 @@ export default function (view, params) {
function onCancelTimerClick() {
import('recordingHelper').then(({ default: recordingHelper }) => {
- recordingHelper.cancelTimer(connectionManager.getApiClient(currentItem.ServerId), currentItem.TimerId).then(function () {
+ recordingHelper.cancelTimer(window.connectionManager.getApiClient(currentItem.ServerId), currentItem.TimerId).then(function () {
reload(self, view, params);
});
});
@@ -1980,7 +1979,7 @@ export default function (view, params) {
let currentItem;
const self = this;
- const apiClient = params.serverId ? connectionManager.getApiClient(params.serverId) : ApiClient;
+ const apiClient = params.serverId ? window.connectionManager.getApiClient(params.serverId) : ApiClient;
view.querySelectorAll('.btnPlay');
bindAll(view, '.btnPlay', 'click', onPlayClick);
bindAll(view, '.btnResume', 'click', onPlayClick);
diff --git a/src/controllers/list.js b/src/controllers/list.js
index 0027c576f1..fe04fc18e8 100644
--- a/src/controllers/list.js
+++ b/src/controllers/list.js
@@ -5,7 +5,6 @@ import * as userSettings from 'userSettings';
import focusManager from 'focusManager';
import cardBuilder from 'cardBuilder';
import loading from 'loading';
-import connectionManager from 'connectionManager';
import AlphaNumericShortcuts from 'alphaNumericShortcuts';
import playbackManager from 'playbackManager';
import AlphaPicker from 'alphaPicker';
@@ -16,7 +15,7 @@ import 'emby-scroller';
function getInitialLiveTvQuery(instance, params) {
const query = {
- UserId: connectionManager.getApiClient(params.serverId).getCurrentUserId(),
+ UserId: window.connectionManager.getApiClient(params.serverId).getCurrentUserId(),
StartIndex: 0,
Fields: 'ChannelInfo,PrimaryImageAspectRatio',
Limit: 300
@@ -232,7 +231,7 @@ import 'emby-scroller';
}
function getItems(instance, params, item, sortBy, startIndex, limit) {
- const apiClient = connectionManager.getApiClient(params.serverId);
+ const apiClient = window.connectionManager.getApiClient(params.serverId);
instance.queryRecursive = false;
if (params.type === 'Recordings') {
@@ -333,7 +332,7 @@ import 'emby-scroller';
return Promise.resolve(null);
}
- const apiClient = connectionManager.getApiClient(params.serverId);
+ const apiClient = window.connectionManager.getApiClient(params.serverId);
const itemId = params.genreId || params.musicGenreId || params.studioId || params.personId || params.parentId;
if (itemId) {
diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js
index 420268ea75..9294c7d9b8 100644
--- a/src/controllers/playback/video/index.js
+++ b/src/controllers/playback/video/index.js
@@ -7,7 +7,6 @@ import itemHelper from 'itemHelper';
import mediaInfo from 'mediaInfo';
import focusManager from 'focusManager';
import events from 'events';
-import connectionManager from 'connectionManager';
import browser from 'browser';
import globalize from 'globalize';
import appHost from 'apphost';
@@ -30,18 +29,18 @@ import 'css!assets/css/videoosd';
options.type = options.type || 'Primary';
if (options.type === 'Primary' && item.SeriesPrimaryImageTag) {
options.tag = item.SeriesPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
if (options.type === 'Thumb') {
if (item.SeriesThumbImageTag) {
options.tag = item.SeriesThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId, options);
}
if (item.ParentThumbImageTag) {
options.tag = item.ParentThumbImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId, options);
}
}
@@ -54,12 +53,12 @@ import 'css!assets/css/videoosd';
if (item.ImageTags && item.ImageTags[options.type]) {
options.tag = item.ImageTags[options.type];
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId || item.Id, options);
}
if (options.type === 'Primary' && item.AlbumId && item.AlbumPrimaryImageTag) {
options.tag = item.AlbumPrimaryImageTag;
- return connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
+ return window.connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId, options);
}
return null;
@@ -118,7 +117,7 @@ import 'css!assets/css/videoosd';
function getDisplayItem(item) {
if (item.Type === 'TvChannel') {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
return apiClient.getItem(apiClient.getCurrentUserId(), item.Id).then(function (refreshedItem) {
return {
originalItem: refreshedItem,
@@ -142,7 +141,7 @@ import 'css!assets/css/videoosd';
return void view.querySelector('.btnRecord').classList.add('hide');
}
- connectionManager.getApiClient(item.ServerId).getCurrentUser().then(function (user) {
+ window.connectionManager.getApiClient(item.ServerId).getCurrentUser().then(function (user) {
if (user.Policy.EnableLiveTvManagement) {
import('recordingButton').then(({default: RecordingButton}) => {
if (recordingButtonManager) {
@@ -1623,7 +1622,7 @@ import 'css!assets/css/videoosd';
const item = currentItem;
if (item && item.Chapters && item.Chapters.length && item.Chapters[0].ImageTag) {
- const html = getChapterBubbleHtml(connectionManager.getApiClient(item.ServerId), item, item.Chapters, ticks);
+ const html = getChapterBubbleHtml(window.connectionManager.getApiClient(item.ServerId), item, item.Chapters, ticks);
if (html) {
return html;
diff --git a/src/controllers/session/addServer/index.js b/src/controllers/session/addServer/index.js
index 7d3ba7f471..472d1274a9 100644
--- a/src/controllers/session/addServer/index.js
+++ b/src/controllers/session/addServer/index.js
@@ -36,7 +36,7 @@ import 'emby-button';
function submitServer(page) {
loading.show();
const host = page.querySelector('#txtServerHost').value;
- ConnectionManager.connectToAddress(host, {
+ window.connectionManager.connectToAddress(host, {
enableAutoLogin: appSettings.enableAutoLogin()
}).then(function(result) {
handleConnectionResult(page, result);
diff --git a/src/controllers/session/login/index.js b/src/controllers/session/login/index.js
index e8541563f0..0c0f0bcdad 100644
--- a/src/controllers/session/login/index.js
+++ b/src/controllers/session/login/index.js
@@ -1,7 +1,6 @@
import appHost from 'apphost';
import appSettings from 'appSettings';
import dom from 'dom';
-import connectionManager from 'connectionManager';
import loading from 'loading';
import layoutManager from 'layoutManager';
import libraryMenu from 'libraryMenu';
@@ -139,7 +138,7 @@ import 'emby-checkbox';
const serverId = params.serverid;
if (serverId) {
- return connectionManager.getOrCreateApiClient(serverId);
+ return window.connectionManager.getOrCreateApiClient(serverId);
}
return ApiClient;
diff --git a/src/controllers/session/selectServer/index.js b/src/controllers/session/selectServer/index.js
index b7d7b9d221..6a590fc318 100644
--- a/src/controllers/session/selectServer/index.js
+++ b/src/controllers/session/selectServer/index.js
@@ -4,7 +4,6 @@ import layoutManager from 'layoutManager';
import libraryMenu from 'libraryMenu';
import appSettings from 'appSettings';
import focusManager from 'focusManager';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import actionSheet from 'actionsheet';
import dom from 'dom';
@@ -113,7 +112,7 @@ import 'emby-button';
export default function (view, params) {
function connectToServer(server) {
loading.show();
- connectionManager.connectToServer(server, {
+ window.connectionManager.connectToServer(server, {
enableAutoLogin: appSettings.enableAutoLogin()
}).then(function (result) {
loading.hide();
@@ -145,7 +144,7 @@ import 'emby-button';
function deleteServer(server) {
loading.show();
- connectionManager.deleteServer(server.Id).then(function () {
+ window.connectionManager.deleteServer(server.Id).then(function () {
loading.hide();
loadServers();
});
@@ -187,7 +186,7 @@ import 'emby-button';
function loadServers() {
loading.show();
- connectionManager.getAvailableServers().then(onServersRetrieved);
+ window.connectionManager.getAvailableServers().then(onServersRetrieved);
}
let servers;
diff --git a/src/elements/emby-itemscontainer/emby-itemscontainer.js b/src/elements/emby-itemscontainer/emby-itemscontainer.js
index ef30d1e663..7d8f941603 100644
--- a/src/elements/emby-itemscontainer/emby-itemscontainer.js
+++ b/src/elements/emby-itemscontainer/emby-itemscontainer.js
@@ -1,6 +1,5 @@
import itemShortcuts from 'itemShortcuts';
import inputManager from 'inputManager';
-import connectionManager from 'connectionManager';
import playbackManager from 'playbackManager';
import imageLoader from 'imageLoader';
import layoutManager from 'layoutManager';
@@ -103,7 +102,7 @@ import 'webcomponents';
}
const serverId = el.getAttribute('data-serverid');
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
loading.show();
diff --git a/src/elements/emby-playstatebutton/emby-playstatebutton.js b/src/elements/emby-playstatebutton/emby-playstatebutton.js
index 322b7b3722..8d17ddf9ff 100644
--- a/src/elements/emby-playstatebutton/emby-playstatebutton.js
+++ b/src/elements/emby-playstatebutton/emby-playstatebutton.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import serverNotifications from 'serverNotifications';
import events from 'events';
import globalize from 'globalize';
@@ -24,7 +23,7 @@ import EmbyButtonPrototype from 'emby-button';
const button = this;
const id = button.getAttribute('data-id');
const serverId = button.getAttribute('data-serverid');
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (!button.classList.contains('playstatebutton-played')) {
apiClient.markPlayed(apiClient.getCurrentUserId(), id, new Date());
diff --git a/src/elements/emby-ratingbutton/emby-ratingbutton.js b/src/elements/emby-ratingbutton/emby-ratingbutton.js
index 06a88e6ea1..865d918b45 100644
--- a/src/elements/emby-ratingbutton/emby-ratingbutton.js
+++ b/src/elements/emby-ratingbutton/emby-ratingbutton.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import serverNotifications from 'serverNotifications';
import events from 'events';
import globalize from 'globalize';
@@ -28,7 +27,7 @@ import EmbyButtonPrototype from 'emby-button';
const button = this;
const id = button.getAttribute('data-id');
const serverId = button.getAttribute('data-serverid');
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
let likes = this.getAttribute('data-likes');
const isFavorite = this.getAttribute('data-isfavorite') === 'true';
diff --git a/src/libraries/screensavermanager.js b/src/libraries/screensavermanager.js
index 5c24ec63d0..68a7dda73b 100644
--- a/src/libraries/screensavermanager.js
+++ b/src/libraries/screensavermanager.js
@@ -2,7 +2,6 @@ import events from 'events';
import playbackManager from 'playbackManager';
import pluginManager from 'pluginManager';
import inputManager from 'inputManager';
-import connectionManager from 'connectionManager';
import * as userSettings from 'userSettings';
function getMinIdleTime() {
@@ -85,7 +84,7 @@ function ScreenSaverManager() {
this.show = function () {
let isLoggedIn;
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
if (apiClient && apiClient.isLoggedIn()) {
isLoggedIn = true;
diff --git a/src/plugins/backdropScreensaver/plugin.js b/src/plugins/backdropScreensaver/plugin.js
index 61b5b808a5..917d8f48a3 100644
--- a/src/plugins/backdropScreensaver/plugin.js
+++ b/src/plugins/backdropScreensaver/plugin.js
@@ -1,5 +1,4 @@
/* eslint-disable indent */
-import connectionManager from 'connectionManager';
class BackdropScreensaver {
constructor() {
@@ -21,7 +20,7 @@ class BackdropScreensaver {
Limit: 200
};
- const apiClient = connectionManager.currentApiClient();
+ const apiClient = window.connectionManager.currentApiClient();
apiClient.getItems(apiClient.getCurrentUserId(), query).then((result) => {
if (result.Items.length) {
import('slideshow').then(({default: Slideshow}) => {
diff --git a/src/plugins/bookPlayer/plugin.js b/src/plugins/bookPlayer/plugin.js
index 415bd7b958..0303275be2 100644
--- a/src/plugins/bookPlayer/plugin.js
+++ b/src/plugins/bookPlayer/plugin.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import loading from 'loading';
import keyboardnavigation from 'keyboardnavigation';
import dialogHelper from 'dialogHelper';
@@ -243,7 +242,7 @@ export class BookPlayer {
};
const serverId = item.ServerId;
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
return new Promise((resolve, reject) => {
import('epubjs').then(({default: epubjs}) => {
diff --git a/src/plugins/chromecastPlayer/chromecastHelper.js b/src/plugins/chromecastPlayer/chromecastHelper.js
index 7aac76c544..e92fa4471b 100644
--- a/src/plugins/chromecastPlayer/chromecastHelper.js
+++ b/src/plugins/chromecastPlayer/chromecastHelper.js
@@ -221,8 +221,8 @@ function getCachedValue(key) {
return null;
}
-events.on(ConnectionManager, 'localusersignedin', clearCache);
-events.on(ConnectionManager, 'localusersignedout', clearCache);
+events.on(window.connectionManager, 'localusersignedin', clearCache);
+events.on(window.connectionManager, 'localusersignedout', clearCache);
export default {
getServerAddress: getServerAddress
diff --git a/src/plugins/chromecastPlayer/plugin.js b/src/plugins/chromecastPlayer/plugin.js
index 5ba8596089..91bc5a9df2 100644
--- a/src/plugins/chromecastPlayer/plugin.js
+++ b/src/plugins/chromecastPlayer/plugin.js
@@ -1,7 +1,6 @@
import appSettings from 'appSettings';
import * as userSettings from 'userSettings';
import playbackManager from 'playbackManager';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import events from 'events';
import castSenderApiLoader from 'castSenderApiLoader';
@@ -325,11 +324,11 @@ class CastPlayer {
let apiClient;
if (message.options && message.options.ServerId) {
- apiClient = connectionManager.getApiClient(message.options.ServerId);
+ apiClient = window.connectionManager.getApiClient(message.options.ServerId);
} else if (message.options && message.options.items && message.options.items.length) {
- apiClient = connectionManager.getApiClient(message.options.items[0].ServerId);
+ apiClient = window.connectionManager.getApiClient(message.options.items[0].ServerId);
} else {
- apiClient = connectionManager.currentApiClient();
+ apiClient = window.connectionManager.currentApiClient();
}
message = Object.assign(message, {
@@ -673,7 +672,7 @@ class ChromecastPlayer {
playWithCommand(options, command) {
if (!options.items) {
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
const instance = this;
return apiClient.getItem(apiClient.getCurrentUserId(), options.ids[0]).then(function (item) {
@@ -985,7 +984,7 @@ class ChromecastPlayer {
}
shuffle(item) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const userId = apiClient.getCurrentUserId();
const instance = this;
@@ -998,7 +997,7 @@ class ChromecastPlayer {
}
instantMix(item) {
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
const userId = apiClient.getCurrentUserId();
const instance = this;
@@ -1036,7 +1035,7 @@ class ChromecastPlayer {
}
const instance = this;
- const apiClient = connectionManager.getApiClient(options.serverId);
+ const apiClient = window.connectionManager.getApiClient(options.serverId);
return getItemsForPlayback(apiClient, {
Ids: options.ids.join(',')
diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js
index 58c8624e34..e616303c11 100644
--- a/src/plugins/htmlVideoPlayer/plugin.js
+++ b/src/plugins/htmlVideoPlayer/plugin.js
@@ -5,7 +5,6 @@ import loading from 'loading';
import dom from 'dom';
import playbackManager from 'playbackManager';
import appRouter from 'appRouter';
-import connectionManager from 'connectionManager';
import {
bindEventsToHlsPlayer,
destroyHlsPlayer,
@@ -325,7 +324,7 @@ function tryRemoveElement(elem) {
console.debug(`prefetching hls playlist: ${hlsPlaylistUrl}`);
- return connectionManager.getApiClient(item.ServerId).ajax({
+ return window.connectionManager.getApiClient(item.ServerId).ajax({
type: 'GET',
url: hlsPlaylistUrl
@@ -1036,7 +1035,7 @@ function tryRemoveElement(elem) {
*/
renderSsaAss(videoElement, track, item) {
const attachments = this._currentPlayOptions.mediaSource.MediaAttachments || [];
- const apiClient = connectionManager.getApiClient(item);
+ const apiClient = window.connectionManager.getApiClient(item);
const htmlVideoPlayer = this;
const options = {
video: videoElement,
diff --git a/src/plugins/photoPlayer/plugin.js b/src/plugins/photoPlayer/plugin.js
index d8e55fa67e..a7a4ab3760 100644
--- a/src/plugins/photoPlayer/plugin.js
+++ b/src/plugins/photoPlayer/plugin.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
export default class PhotoPlayer {
constructor() {
@@ -13,7 +12,7 @@ export default class PhotoPlayer {
import('slideshow').then(({default: slideshow}) => {
var index = options.startIndex || 0;
- var apiClient = connectionManager.currentApiClient();
+ var apiClient = window.connectionManager.currentApiClient();
apiClient.getCurrentUser().then(function(result) {
var newSlideShow = new slideshow({
showTitle: false,
diff --git a/src/plugins/playAccessValidation/plugin.js b/src/plugins/playAccessValidation/plugin.js
index a9fbeda9a9..c64b63332b 100644
--- a/src/plugins/playAccessValidation/plugin.js
+++ b/src/plugins/playAccessValidation/plugin.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
function showErrorMessage() {
@@ -25,7 +24,7 @@ class PlayAccessValidation {
return Promise.resolve();
}
- return connectionManager.getApiClient(serverId).getCurrentUser().then(function (user) {
+ return window.connectionManager.getApiClient(serverId).getCurrentUser().then(function (user) {
if (user.Policy.EnableMediaPlayback) {
return Promise.resolve();
}
diff --git a/src/plugins/sessionPlayer/plugin.js b/src/plugins/sessionPlayer/plugin.js
index 7e5dc9f4f7..c319c38f3c 100644
--- a/src/plugins/sessionPlayer/plugin.js
+++ b/src/plugins/sessionPlayer/plugin.js
@@ -1,7 +1,6 @@
import playbackManager from 'playbackManager';
import events from 'events';
import serverNotifications from 'serverNotifications';
-import connectionManager from 'connectionManager';
function getActivePlayerId() {
const info = playbackManager.getPlayerInfo();
@@ -54,10 +53,10 @@ function getCurrentApiClient(instance) {
const currentServerId = instance.currentServerId;
if (currentServerId) {
- return connectionManager.getApiClient(currentServerId);
+ return window.connectionManager.getApiClient(currentServerId);
}
- return connectionManager.currentApiClient();
+ return window.connectionManager.currentApiClient();
}
function sendCommandByName(instance, name, options) {
diff --git a/src/scripts/autoThemes.js b/src/scripts/autoThemes.js
index 75309f377b..e278a80dc9 100644
--- a/src/scripts/autoThemes.js
+++ b/src/scripts/autoThemes.js
@@ -1,12 +1,11 @@
import * as userSettings from 'userSettings';
import skinManager from 'skinManager';
-import connectionManager from 'connectionManager';
import events from 'events';
// Set the default theme when loading
skinManager.setTheme(userSettings.theme());
// Set the user's prefered theme when signing in
-events.on(connectionManager, 'localusersignedin', function (e, user) {
+events.on(window.connectionManager, 'localusersignedin', function (e, user) {
skinManager.setTheme(userSettings.theme());
});
diff --git a/src/scripts/clientUtils.js b/src/scripts/clientUtils.js
index 70d42d0782..28421c59b9 100644
--- a/src/scripts/clientUtils.js
+++ b/src/scripts/clientUtils.js
@@ -48,7 +48,7 @@ export function onServerChanged(userId, accessToken, apiClient) {
}
export function logout() {
- ConnectionManager.logout().then(function () {
+ window.connectionManager.logout().then(function () {
let loginPage;
if (AppInfo.isNativeApp) {
diff --git a/src/scripts/deleteHelper.js b/src/scripts/deleteHelper.js
index 44876c75b3..a18d951e60 100644
--- a/src/scripts/deleteHelper.js
+++ b/src/scripts/deleteHelper.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import confirm from 'confirm';
import appRouter from 'appRouter';
import globalize from 'globalize';
@@ -15,7 +14,7 @@ export function deleteItem(options) {
const item = options.item;
const parentId = item.SeasonId || item.SeriesId || item.ParentId;
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
return confirm({
diff --git a/src/scripts/itembynamedetailpage.js b/src/scripts/itembynamedetailpage.js
index f77bb73652..8254d18add 100644
--- a/src/scripts/itembynamedetailpage.js
+++ b/src/scripts/itembynamedetailpage.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import listView from 'listView';
import cardBuilder from 'cardBuilder';
import imageLoader from 'imageLoader';
@@ -358,7 +357,7 @@ function getItemsFunction(options, item) {
query.Fields += ',' + fields;
}
- const apiClient = connectionManager.getApiClient(item.ServerId);
+ const apiClient = window.connectionManager.getApiClient(item.ServerId);
if (query.IncludeItemTypes === 'MusicArtist') {
query.IncludeItemTypes = null;
diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js
index 07d59c76cc..ae7c80b63f 100644
--- a/src/scripts/libraryMenu.js
+++ b/src/scripts/libraryMenu.js
@@ -1,7 +1,6 @@
import dom from 'dom';
import layoutManager from 'layoutManager';
import inputManager from 'inputManager';
-import connectionManager from 'connectionManager';
import events from 'events';
import viewManager from 'viewManager';
import appRouter from 'appRouter';
@@ -57,10 +56,10 @@ import 'flexStyles';
function getCurrentApiClient() {
if (currentUser && currentUser.localUser) {
- return connectionManager.getApiClient(currentUser.localUser.ServerId);
+ return window.connectionManager.getApiClient(currentUser.localUser.ServerId);
}
- return connectionManager.currentApiClient();
+ return window.connectionManager.currentApiClient();
}
function lazyLoadViewMenuBarImages() {
@@ -749,7 +748,7 @@ import 'flexStyles';
}
if (requiresUserRefresh) {
- connectionManager.user(getCurrentApiClient()).then(updateUserInHeader);
+ window.connectionManager.user(getCurrentApiClient()).then(updateUserInHeader);
}
}
@@ -791,7 +790,7 @@ import 'flexStyles';
if (user) {
Promise.resolve(user);
} else {
- connectionManager.user(getCurrentApiClient()).then(function (user) {
+ window.connectionManager.user(getCurrentApiClient()).then(function (user) {
refreshLibraryInfoInDrawer(user);
updateLibraryMenu(user.localUser);
});
@@ -957,8 +956,8 @@ import 'flexStyles';
renderHeader();
- events.on(connectionManager, 'localusersignedin', function (e, user) {
- const currentApiClient = connectionManager.getApiClient(user.ServerId);
+ events.on(window.connectionManager, 'localusersignedin', function (e, user) {
+ const currentApiClient = window.connectionManager.getApiClient(user.ServerId);
currentDrawerType = null;
currentUser = {
@@ -967,13 +966,13 @@ import 'flexStyles';
loadNavDrawer();
- connectionManager.user(currentApiClient).then(function (user) {
+ window.connectionManager.user(currentApiClient).then(function (user) {
currentUser = user;
updateUserInHeader(user);
});
});
- events.on(connectionManager, 'localusersignedout', function () {
+ events.on(window.connectionManager, 'localusersignedout', function () {
currentUser = {};
updateUserInHeader();
});
diff --git a/src/scripts/serverNotifications.js b/src/scripts/serverNotifications.js
index 2566d148f6..c14a133d6c 100644
--- a/src/scripts/serverNotifications.js
+++ b/src/scripts/serverNotifications.js
@@ -1,4 +1,3 @@
-import connectionManager from 'connectionManager';
import playbackManager from 'playbackManager';
import syncPlayManager from 'syncPlayManager';
import events from 'events';
@@ -208,8 +207,8 @@ function bindEvents(apiClient) {
events.on(apiClient, 'message', onMessageReceived);
}
-connectionManager.getApiClients().forEach(bindEvents);
-events.on(connectionManager, 'apiclientcreated', function (e, newApiClient) {
+window.connectionManager.getApiClients().forEach(bindEvents);
+events.on(window.connectionManager, 'apiclientcreated', function (e, newApiClient) {
bindEvents(newApiClient);
});
diff --git a/src/scripts/site.js b/src/scripts/site.js
index 0e1e44251c..b37e1651b5 100644
--- a/src/scripts/site.js
+++ b/src/scripts/site.js
@@ -56,30 +56,23 @@ window.pageIdOn = function(eventName, id, fn) {
var AppInfo = {};
function initClient() {
- function defineConnectionManager(connectionManager) {
- window.ConnectionManager = connectionManager;
- define('connectionManager', [], function () {
- return connectionManager;
- });
- }
-
function bindConnectionManagerEvents(connectionManager, events, userSettings) {
window.Events = events;
- connectionManager.currentApiClient = function () {
+ window.connectionManager.currentApiClient = function () {
if (!localApiClient) {
- var server = connectionManager.getLastUsedServer();
+ var server = window.connectionManager.getLastUsedServer();
if (server) {
- localApiClient = connectionManager.getApiClient(server.Id);
+ localApiClient = window.connectionManager.getApiClient(server.Id);
}
}
return localApiClient;
};
- connectionManager.onLocalUserSignedIn = function (user) {
- localApiClient = connectionManager.getApiClient(user.ServerId);
+ window.connectionManager.onLocalUserSignedIn = function (user) {
+ localApiClient = window.connectionManager.getApiClient(user.ServerId);
window.ApiClient = localApiClient;
return userSettings.setUserInfo(user.Id, localApiClient);
};
@@ -99,10 +92,9 @@ function initClient() {
return Promise.all(promises).then(function (responses) {
var capabilities = Dashboard.capabilities(appHost);
- var connectionManager = new ConnectionManager(credentialProviderInstance, appHost.appName(), appHost.appVersion(), appHost.deviceName(), appHost.deviceId(), capabilities);
+ window.connectionManager = new ConnectionManager(credentialProviderInstance, appHost.appName(), appHost.appVersion(), appHost.deviceName(), appHost.deviceId(), capabilities);
- defineConnectionManager(connectionManager);
- bindConnectionManagerEvents(connectionManager, events, userSettings);
+ bindConnectionManagerEvents(window.connectionManager, events, userSettings);
if (!AppInfo.isNativeApp) {
console.debug('loading ApiClient singleton');
@@ -115,7 +107,7 @@ function initClient() {
apiClient.enableAutomaticNetworking = false;
apiClient.manualAddressOnly = true;
- connectionManager.addApiClient(apiClient);
+ window.connectionManager.addApiClient(apiClient);
window.ApiClient = apiClient;
localApiClient = apiClient;
@@ -225,8 +217,8 @@ function initClient() {
require(['autoFocuser'], function(autoFocuser) {
autoFocuser.enable();
});
- require(['globalize', 'connectionManager', 'events'], function (globalize, connectionManager, events) {
- events.on(connectionManager, 'localusersignedin', globalize.updateCurrentCulture);
+ require(['globalize', 'events'], function (globalize, events) {
+ events.on(window.connectionManager, 'localusersignedin', globalize.updateCurrentCulture);
});
});
});
@@ -374,7 +366,7 @@ function initClient() {
require(['playerSelectionMenu']);
- var apiClient = window.ConnectionManager && window.ConnectionManager.currentApiClient();
+ var apiClient = window.connectionManager && window.connectionManager.currentApiClient();
if (apiClient) {
fetch(apiClient.getUrl('Branding/Css'))
.then(function(response) {
@@ -675,9 +667,6 @@ function initClient() {
define('mouseManager', [scriptsPath + '/mouseManager'], returnFirstDependency);
define('scrollManager', [componentsPath + '/scrollManager'], returnFirstDependency);
define('autoFocuser', [componentsPath + '/autoFocuser'], returnFirstDependency);
- define('connectionManager', [], function () {
- return ConnectionManager;
- });
define('apiClientResolver', [], function () {
return function () {
return window.ApiClient;
diff --git a/src/scripts/taskbutton.js b/src/scripts/taskbutton.js
index 6df7ee848d..43a46301aa 100644
--- a/src/scripts/taskbutton.js
+++ b/src/scripts/taskbutton.js
@@ -1,13 +1,12 @@
import events from 'events';
import serverNotifications from 'serverNotifications';
-import connectionManager from 'connectionManager';
import globalize from 'globalize';
import 'emby-button';
export default function (options) {
function pollTasks() {
- connectionManager.getApiClient(serverId).getScheduledTasks({
+ window.connectionManager.getApiClient(serverId).getScheduledTasks({
IsEnabled: true
}).then(updateTasks);
}
@@ -64,7 +63,7 @@ export default function (options) {
}
function onScheduledTaskMessageConfirmed(id) {
- connectionManager.getApiClient(serverId).startScheduledTask(id).then(pollTasks);
+ window.connectionManager.getApiClient(serverId).startScheduledTask(id).then(pollTasks);
}
function onButtonClick() {
@@ -82,13 +81,13 @@ export default function (options) {
const serverId = ApiClient.serverId();
function onPollIntervalFired() {
- if (!connectionManager.getApiClient(serverId).isMessageChannelOpen()) {
+ if (!window.connectionManager.getApiClient(serverId).isMessageChannelOpen()) {
pollTasks();
}
}
function startInterval() {
- const apiClient = connectionManager.getApiClient(serverId);
+ const apiClient = window.connectionManager.getApiClient(serverId);
if (pollInterval) {
clearInterval(pollInterval);
@@ -98,7 +97,7 @@ export default function (options) {
}
function stopInterval() {
- connectionManager.getApiClient(serverId).sendMessage('ScheduledTasksInfoStop');
+ window.connectionManager.getApiClient(serverId).sendMessage('ScheduledTasksInfoStop');
if (pollInterval) {
clearInterval(pollInterval);
From 73c7dfa0dd69bee69276b2dbdabacc36f8cb5b22 Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Sun, 30 Aug 2020 06:24:40 +0200
Subject: [PATCH 038/416] Remove implicit ConnectionManager global from ESLint
config
---
.eslintrc.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/.eslintrc.js b/.eslintrc.js
index 7de812ea6e..dfb65cb4d4 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -84,7 +84,6 @@ module.exports = {
'ApiClient': 'writable',
'AppInfo': 'writable',
'chrome': 'writable',
- 'ConnectionManager': 'writable',
'DlnaProfilePage': 'writable',
'Dashboard': 'writable',
'DashboardPage': 'writable',
From 0db000e5b51b1a66cb7b6150879314b8e3d2918e Mon Sep 17 00:00:00 2001
From: MrTimscampi
Date: Sun, 30 Aug 2020 13:47:37 +0200
Subject: [PATCH 039/416] Fix CSS selector for top OSD header
---
src/assets/css/videoosd.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/assets/css/videoosd.css b/src/assets/css/videoosd.css
index f0792c2c45..b2446d5d48 100644
--- a/src/assets/css/videoosd.css
+++ b/src/assets/css/videoosd.css
@@ -24,7 +24,7 @@
-webkit-touch-callout: none;
}
-.osdHeader {
+.skinHeader-withBackground.osdHeader {
transition: opacity 0.3s ease-out;
position: relative;
z-index: 1;
From af9bf3320d2cf6d2b9b86f07612b773399e95abf Mon Sep 17 00:00:00 2001
From: Cameron
Date: Mon, 31 Aug 2020 10:02:25 +0100
Subject: [PATCH 040/416] Fix hovering (mobile)
---
src/themes/appletv/theme.css | 9 ++++++++-
src/themes/blueradiance/theme.css | 9 ++++++++-
src/themes/dark/theme.css | 9 ++++++++-
src/themes/light/theme.css | 9 ++++++++-
src/themes/purplehaze/theme.css | 9 ++++++++-
src/themes/wmc/theme.css | 9 ++++++++-
6 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/src/themes/appletv/theme.css b/src/themes/appletv/theme.css
index 41540ce0dd..463065b849 100644
--- a/src/themes/appletv/theme.css
+++ b/src/themes/appletv/theme.css
@@ -62,7 +62,14 @@ html {
background: #f0f0f0;
}
-.paper-icon-button-light:hover:not(:disabled) {
+@media (hover: hover) {
+ .paper-icon-button-light:hover:not(:disabled) {
+ color: #00a4dc;
+ background-color: rgba(0, 164, 220, 0.2);
+ }
+}
+
+.paper-icon-button-light:active:not(:disabled) {
color: #00a4dc;
background-color: rgba(0, 164, 220, 0.2);
}
diff --git a/src/themes/blueradiance/theme.css b/src/themes/blueradiance/theme.css
index 7ecc4a74a5..1c13803034 100644
--- a/src/themes/blueradiance/theme.css
+++ b/src/themes/blueradiance/theme.css
@@ -64,7 +64,14 @@ html {
}
}
-.paper-icon-button-light:hover:not(:disabled) {
+@media (hover: hover) {
+ .paper-icon-button-light:hover:not(:disabled) {
+ color: #00a4dc;
+ background-color: rgba(0, 164, 220, 0.2);
+ }
+}
+
+.paper-icon-button-light:active:not(:disabled) {
color: #00a4dc;
background-color: rgba(0, 164, 220, 0.2);
}
diff --git a/src/themes/dark/theme.css b/src/themes/dark/theme.css
index be2b9269af..15ab434a85 100644
--- a/src/themes/dark/theme.css
+++ b/src/themes/dark/theme.css
@@ -46,7 +46,14 @@ html {
background-color: rgba(0, 0, 0, 0.86);
}
-.paper-icon-button-light:hover:not(:disabled) {
+@media (hover: hover) {
+ .paper-icon-button-light:hover:not(:disabled) {
+ color: #00a4dc;
+ background-color: rgba(0, 164, 220, 0.2);
+ }
+}
+
+.paper-icon-button-light:active:not(:disabled) {
color: #00a4dc;
background-color: rgba(0, 164, 220, 0.2);
}
diff --git a/src/themes/light/theme.css b/src/themes/light/theme.css
index c5161985cd..766dd95359 100644
--- a/src/themes/light/theme.css
+++ b/src/themes/light/theme.css
@@ -61,7 +61,14 @@ html {
color: #000;
}
-.paper-icon-button-light:hover:not(:disabled) {
+@media (hover: hover) {
+ .paper-icon-button-light:hover:not(:disabled) {
+ color: #00a4dc;
+ background-color: rgba(0, 164, 220, 0.2);
+ }
+}
+
+.paper-icon-button-light:active:not(:disabled) {
color: #00a4dc;
background-color: rgba(0, 164, 220, 0.2);
}
diff --git a/src/themes/purplehaze/theme.css b/src/themes/purplehaze/theme.css
index 1d82afc23a..8fe9baae24 100644
--- a/src/themes/purplehaze/theme.css
+++ b/src/themes/purplehaze/theme.css
@@ -59,7 +59,14 @@ html {
}
}
-.paper-icon-button-light:hover:not(:disabled) {
+@media (hover: hover) {
+ .paper-icon-button-light:hover:not(:disabled) {
+ color: rgb(12, 232, 214);
+ background-color: rgba(0, 164, 220, 0.2);
+ }
+}
+
+.paper-icon-button-light:active:not(:disabled) {
color: rgb(12, 232, 214);
background-color: rgba(0, 164, 220, 0.2);
}
diff --git a/src/themes/wmc/theme.css b/src/themes/wmc/theme.css
index 4a7375a129..277421e144 100644
--- a/src/themes/wmc/theme.css
+++ b/src/themes/wmc/theme.css
@@ -62,7 +62,14 @@ html {
background: rgba(17, 98, 164, 0.9);
}
-.paper-icon-button-light:hover:not(:disabled) {
+@media (hover: hover) {
+ .paper-icon-button-light:hover:not(:disabled) {
+ color: #00a4dc;
+ background-color: rgba(0, 164, 220, 0.2);
+ }
+}
+
+.paper-icon-button-light:active:not(:disabled) {
color: #00a4dc;
background-color: rgba(0, 164, 220, 0.2);
}
From c5d4f7463b3f58c4407390b2f6f71d9169064e9a Mon Sep 17 00:00:00 2001
From: SaddFox
Date: Mon, 31 Aug 2020 13:10:03 +0000
Subject: [PATCH 041/416] Translated using Weblate (Slovenian) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/
---
src/strings/sl-si.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json
index 1930c194b1..eae23136b9 100644
--- a/src/strings/sl-si.json
+++ b/src/strings/sl-si.json
@@ -582,7 +582,7 @@
"LabelEnableSingleImageInDidlLimitHelp": "Nekatere naprave ne bodo prikazovale pravilno, če je več slik vdelanih v Didl.",
"LabelEndDate": "Datum zaključka:",
"LabelEpisodeNumber": "Številka epizode:",
- "LabelEveryXMinutes": "Vsak:",
+ "LabelEveryXMinutes": "Vsakih:",
"LabelBaseUrl": "Osnovni URL:",
"LabelExtractChaptersDuringLibraryScan": "Izvleči slike poglavij med preiskovanjem knjižnjice",
"LabelFormat": "Format:",
From 00ad0f051f5c79c6e5205a2a8bb925fa99f65460 Mon Sep 17 00:00:00 2001
From: Cameron
Date: Mon, 31 Aug 2020 16:28:00 +0100
Subject: [PATCH 042/416] Fix listview for small screens
Hide secondary media info to improve listview on smaller screen sizes
---
src/components/listview/listview.css | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css
index 1e485a80ed..edb8a1a97a 100644
--- a/src/components/listview/listview.css
+++ b/src/components/listview/listview.css
@@ -185,6 +185,10 @@
.listItemBody {
padding-right: 0.5em;
}
+
+ .listItemMediaInfo {
+ display: none;
+ }
}
.listItemImage-large-tv {
From 07e1aeecf90d017bb3473f83cdb7ca91ff4e5a77 Mon Sep 17 00:00:00 2001
From: Thibault Nocchi <1619359+ThibaultNocchi@users.noreply.github.com>
Date: Mon, 31 Aug 2020 18:00:37 +0200
Subject: [PATCH 043/416] Fixed header tooltips not being translated to the
user language
---
src/scripts/libraryMenu.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js
index bbd6bd0ced..513fadd923 100644
--- a/src/scripts/libraryMenu.js
+++ b/src/scripts/libraryMenu.js
@@ -74,6 +74,8 @@ import 'flexStyles';
}
function updateUserInHeader(user) {
+ renderHeader();
+
let hasImage;
if (user && user.name) {
@@ -955,8 +957,6 @@ import 'flexStyles';
updateLibraryNavLinks(page);
});
- renderHeader();
-
events.on(connectionManager, 'localusersignedin', function (e, user) {
const currentApiClient = connectionManager.getApiClient(user.ServerId);
From b001bc9a16cddc47a501511daa47bf3bf165b9aa Mon Sep 17 00:00:00 2001
From: Bill Thornton
Date: Mon, 31 Aug 2020 12:37:01 -0400
Subject: [PATCH 044/416] Fix iOS PiP support detection
---
src/plugins/htmlVideoPlayer/plugin.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js
index 88329fecff..a3bee29370 100644
--- a/src/plugins/htmlVideoPlayer/plugin.js
+++ b/src/plugins/htmlVideoPlayer/plugin.js
@@ -1390,7 +1390,12 @@ function tryRemoveElement(elem) {
const list = [];
const video = document.createElement('video');
- if (video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' || document.pictureInPictureEnabled) {
+ if (
+ // Check non-standard Safari PiP support
+ typeof video.webkitSupportsPresentationMode === 'function' && video.webkitSupportsPresentationMode('picture-in-picture') && typeof video.webkitSetPresentationMode === 'function'
+ // Check standard PiP support
+ || document.pictureInPictureEnabled
+ ) {
list.push('PictureInPicture');
} else if (window.Windows) {
if (Windows.UI.ViewManagement.ApplicationView.getForCurrentView().isViewModeSupported(Windows.UI.ViewManagement.ApplicationViewMode.compactOverlay)) {
From 852d631458dbd2e2badc800b0c7c2587f17aa180 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 31 Aug 2020 17:18:45 +0000
Subject: [PATCH 045/416] Bump file-loader from 6.0.0 to 6.1.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.0.0...v6.1.0)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 43 +++++++++++++++++++++++++++++--------------
2 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/package.json b/package.json
index 5f092d6630..eec05c4d11 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.21.2",
"eslint-plugin-promise": "^4.2.1",
- "file-loader": "^6.0.0",
+ "file-loader": "^6.1.0",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
"gulp-cli": "^2.3.0",
diff --git a/yarn.lock b/yarn.lock
index 013c06e045..b88f1a14af 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -976,7 +976,7 @@
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880"
integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA==
-"@types/json-schema@^7.0.4":
+"@types/json-schema@^7.0.5":
version "7.0.5"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd"
integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==
@@ -1293,7 +1293,12 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5:
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
version "6.12.3"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
@@ -1303,6 +1308,16 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^6.12.4:
+ version "6.12.4"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
+ integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
alameda@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/alameda/-/alameda-1.4.0.tgz#ca53cad0feb5e24994a9be859e0593e8c2d8f58c"
@@ -4393,13 +4408,13 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
-file-loader@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f"
- integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==
+file-loader@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.1.0.tgz#65b9fcfb0ea7f65a234a1f10cdd7f1ab9a33f253"
+ integrity sha512-26qPdHyTsArQ6gU4P1HJbAbnFTyT2r0pG7czh1GFAd9TZbj0n94wWbupgixZH/ET/meqi2/5+F7DhW4OAXD+Lg==
dependencies:
loader-utils "^2.0.0"
- schema-utils "^2.6.5"
+ schema-utils "^2.7.1"
file-type@5.2.0, file-type@^5.2.0:
version "5.2.0"
@@ -9906,14 +9921,14 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
-schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
- integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
+schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0, schema-utils@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
+ integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
dependencies:
- "@types/json-schema" "^7.0.4"
- ajv "^6.12.2"
- ajv-keywords "^3.4.1"
+ "@types/json-schema" "^7.0.5"
+ ajv "^6.12.4"
+ ajv-keywords "^3.5.2"
screenfull@^5.0.2:
version "5.0.2"
From 6ebda5ed7683b3b4c695828276600c0638b47766 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 31 Aug 2020 17:19:16 +0000
Subject: [PATCH 046/416] Bump stylelint from 13.6.1 to 13.7.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.6.1 to 13.7.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.6.1...13.7.0)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 155 ++++++++++++++++++++++++++++++---------------------
2 files changed, 93 insertions(+), 64 deletions(-)
diff --git a/package.json b/package.json
index 5f092d6630..5a8c090269 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0",
"style-loader": "^1.1.3",
- "stylelint": "^13.6.1",
+ "stylelint": "^13.7.0",
"stylelint-config-rational-order": "^0.1.2",
"stylelint-no-browser-hacks": "^1.2.1",
"stylelint-order": "^4.1.0",
diff --git a/yarn.lock b/yarn.lock
index 013c06e045..eb7ce0452b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -829,13 +829,6 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.9.2":
- version "7.9.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
- integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
- dependencies:
- regenerator-runtime "^0.13.4"
-
"@babel/template@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
@@ -932,10 +925,10 @@
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
-"@stylelint/postcss-css-in-js@^0.37.1":
- version "0.37.1"
- resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz#41e5e7660f73d88227610e18c6ebb262d56ac125"
- integrity sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==
+"@stylelint/postcss-css-in-js@^0.37.2":
+ version "0.37.2"
+ resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2"
+ integrity sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==
dependencies:
"@babel/core" ">=7.9.0"
@@ -1303,6 +1296,16 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^6.12.4:
+ version "6.12.4"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
+ integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
alameda@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/alameda/-/alameda-1.4.0.tgz#ca53cad0feb5e24994a9be859e0593e8c2d8f58c"
@@ -1623,6 +1626,11 @@ astral-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
async-done@^1.2.0, async-done@^1.2.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2"
@@ -1675,7 +1683,7 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-autoprefixer@^9.0.0, autoprefixer@^9.6.1, autoprefixer@^9.8.0, autoprefixer@^9.8.6:
+autoprefixer@^9.0.0, autoprefixer@^9.6.1, autoprefixer@^9.8.6:
version "9.8.6"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
@@ -2891,16 +2899,16 @@ cosmiconfig@^5.0.0:
js-yaml "^3.13.1"
parse-json "^4.0.0"
-cosmiconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
- integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+cosmiconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
+ integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
dependencies:
"@types/parse-json" "^4.0.0"
- import-fresh "^3.1.0"
+ import-fresh "^3.2.1"
parse-json "^5.0.0"
path-type "^4.0.0"
- yaml "^1.7.2"
+ yaml "^1.10.0"
create-ecdh@^4.0.0:
version "4.0.3"
@@ -4325,10 +4333,10 @@ fast-glob@^2.2.6:
merge2 "^1.2.3"
micromatch "^3.1.10"
-fast-glob@^3.0.3, fast-glob@^3.1.1:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d"
- integrity sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==
+fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
+ integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@@ -4352,6 +4360,11 @@ fast-text-encoding@^1.0.3:
resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53"
integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==
+fastest-levenshtein@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
+ integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
+
fastq@^1.6.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.7.0.tgz#fcd79a08c5bd7ec5b55cd3f5c4720db551929801"
@@ -5732,7 +5745,7 @@ import-fresh@^2.0.0:
caller-path "^2.0.0"
resolve-from "^3.0.0"
-import-fresh@^3.0.0, import-fresh@^3.1.0:
+import-fresh@^3.0.0, import-fresh@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
@@ -6484,7 +6497,7 @@ kind-of@^5.0.0, kind-of@^5.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-kind-of@^6.0.0, kind-of@^6.0.2:
+kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
@@ -6840,10 +6853,10 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4, lodash@~4.17.12:
- version "4.17.19"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
- integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
+lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@~4.17.12:
+ version "4.17.20"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
log-symbols@^1.0.2:
version "1.0.2"
@@ -7152,18 +7165,16 @@ meow@^5.0.0:
trim-newlines "^2.0.0"
yargs-parser "^10.0.0"
-meow@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/meow/-/meow-7.0.1.tgz#1ed4a0a50b3844b451369c48362eb0515f04c1dc"
- integrity sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==
+meow@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306"
+ integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==
dependencies:
"@types/minimist" "^1.2.0"
- arrify "^2.0.1"
- camelcase "^6.0.0"
camelcase-keys "^6.2.2"
decamelize-keys "^1.1.0"
hard-rejection "^2.1.0"
- minimist-options "^4.0.2"
+ minimist-options "4.1.0"
normalize-package-data "^2.5.0"
read-pkg-up "^7.0.1"
redent "^3.0.0"
@@ -7260,6 +7271,15 @@ minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
dependencies:
brace-expansion "^1.1.7"
+minimist-options@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
+ integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
+ dependencies:
+ arrify "^1.0.1"
+ is-plain-obj "^1.1.0"
+ kind-of "^6.0.3"
+
minimist-options@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954"
@@ -7268,14 +7288,6 @@ minimist-options@^3.0.1:
arrify "^1.0.1"
is-plain-obj "^1.1.0"
-minimist-options@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.0.2.tgz#29c4021373ded40d546186725e57761e4b1984a7"
- integrity sha512-seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==
- dependencies:
- arrify "^1.0.1"
- is-plain-obj "^1.1.0"
-
minimist@1.1.x:
version "1.1.3"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"
@@ -8889,7 +8901,7 @@ postcss-reporter@^1.3.3:
log-symbols "^1.0.2"
postcss "^5.0.0"
-postcss-reporter@^6.0.0, postcss-reporter@^6.0.1:
+postcss-reporter@^6.0.0:
version "6.0.1"
resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f"
integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==
@@ -10141,6 +10153,15 @@ slice-ansi@^2.1.0:
astral-regex "^1.0.0"
is-fullwidth-code-point "^2.0.0"
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -10797,19 +10818,21 @@ stylelint-order@^4.1.0:
postcss "^7.0.31"
postcss-sorting "^5.0.1"
-stylelint@^13.6.1:
- version "13.6.1"
- resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.6.1.tgz#cc1d76338116d55e8ff2be94c4a4386c1239b878"
- integrity sha512-XyvKyNE7eyrqkuZ85Citd/Uv3ljGiuYHC6UiztTR6sWS9rza8j3UeQv/eGcQS9NZz/imiC4GKdk1EVL3wst5vw==
+stylelint@^13.7.0:
+ version "13.7.0"
+ resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.7.0.tgz#8d7a4233063b2f06e9f28b3405ff189e334547b5"
+ integrity sha512-1wStd4zVetnlHO98VjcHQbjSDmvcA39smkZQMct2cf+hom40H0xlQNdzzbswoG/jGBh61/Ue9m7Lu99PY51O6A==
dependencies:
- "@stylelint/postcss-css-in-js" "^0.37.1"
+ "@stylelint/postcss-css-in-js" "^0.37.2"
"@stylelint/postcss-markdown" "^0.36.1"
- autoprefixer "^9.8.0"
+ autoprefixer "^9.8.6"
balanced-match "^1.0.0"
chalk "^4.1.0"
- cosmiconfig "^6.0.0"
+ cosmiconfig "^7.0.0"
debug "^4.1.1"
execall "^2.0.0"
+ fast-glob "^3.2.4"
+ fastest-levenshtein "^1.0.12"
file-entry-cache "^5.0.1"
get-stdin "^8.0.0"
global-modules "^2.0.0"
@@ -10820,18 +10843,16 @@ stylelint@^13.6.1:
import-lazy "^4.0.0"
imurmurhash "^0.1.4"
known-css-properties "^0.19.0"
- leven "^3.1.0"
- lodash "^4.17.15"
+ lodash "^4.17.20"
log-symbols "^4.0.0"
mathml-tag-names "^2.1.3"
- meow "^7.0.1"
+ meow "^7.1.1"
micromatch "^4.0.2"
normalize-selector "^0.2.0"
postcss "^7.0.32"
postcss-html "^0.36.0"
postcss-less "^3.1.4"
postcss-media-query-parser "^0.2.3"
- postcss-reporter "^6.0.1"
postcss-resolve-nested-selector "^0.1.1"
postcss-safe-parser "^4.0.2"
postcss-sass "^0.4.4"
@@ -10847,7 +10868,7 @@ stylelint@^13.6.1:
style-search "^0.1.0"
sugarss "^2.0.0"
svg-tags "^1.0.0"
- table "^5.4.6"
+ table "^6.0.1"
v8-compile-cache "^2.1.1"
write-file-atomic "^3.0.3"
@@ -10989,7 +11010,7 @@ symbol-observable@1.0.1:
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=
-table@^5.0.0, table@^5.2.3, table@^5.4.6:
+table@^5.0.0, table@^5.2.3:
version "5.4.6"
resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
@@ -10999,6 +11020,16 @@ table@^5.0.0, table@^5.2.3, table@^5.4.6:
slice-ansi "^2.1.0"
string-width "^3.0.0"
+table@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.0.1.tgz#334fd5d74590251f6893f1296c29d533bbac1b32"
+ integrity sha512-fmr6168splcy/3XIvhSm5w6hYYOqyr3plAsd7OqoerzyoMnIpoxYuwrpdO2Cm22dh6KCnvirvigPrFZp+tdWFA==
+ dependencies:
+ ajv "^6.12.4"
+ lodash "^4.17.20"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.0"
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -12157,12 +12188,10 @@ yallist@^3.0.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-yaml@^1.7.2:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz#f0cfa865f003ab707663e4f04b3956957ea564ed"
- integrity sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==
- dependencies:
- "@babel/runtime" "^7.9.2"
+yaml@^1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
yargs-parser@^10.0.0:
version "10.1.0"
From 1fd3e72406bfacd23281f08914f5765477b4e875 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Mon, 31 Aug 2020 17:20:40 +0000
Subject: [PATCH 047/416] Bump date-fns from 2.16.0 to 2.16.1
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.16.0 to 2.16.1.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.16.0...v2.16.1)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 5f092d6630..d772c426c5 100644
--- a/package.json
+++ b/package.json
@@ -60,7 +60,7 @@
"blurhash": "^1.1.3",
"classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz",
"core-js": "^3.6.5",
- "date-fns": "^2.16.0",
+ "date-fns": "^2.16.1",
"epubjs": "^0.3.85",
"fast-text-encoding": "^1.0.3",
"flv.js": "^1.5.0",
diff --git a/yarn.lock b/yarn.lock
index 013c06e045..2758ab5332 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3218,10 +3218,10 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-date-fns@^2.16.0:
- version "2.16.0"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.16.0.tgz#d34f0f5f2fd498c984513042e8f7247ea86c4cb7"
- integrity sha512-DWTRyfOA85sZ4IiXPHhiRIOs3fW5U6Msrp+gElXARa6EpoQTXPyHQmh7hr+ssw2nx9FtOQWnAMJKgL5vaJqILw==
+date-fns@^2.16.1:
+ version "2.16.1"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.16.1.tgz#05775792c3f3331da812af253e1a935851d3834b"
+ integrity sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==
dateformat@^2.0.0:
version "2.2.0"
From 2fffdaf97c037329d81003c704c6605b745b4a8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?=
Date: Mon, 31 Aug 2020 18:17:27 +0000
Subject: [PATCH 048/416] Translated using Weblate (Czech) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/
---
src/strings/cs.json | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/strings/cs.json b/src/strings/cs.json
index 870f2196a9..6623993c6a 100644
--- a/src/strings/cs.json
+++ b/src/strings/cs.json
@@ -1366,5 +1366,18 @@
"LabelSubtitleVerticalPosition": "Svislé umístění:",
"MessageGetInstalledPluginsError": "Při načítání seznamu nainstalovaných zásuvných modulů došlo k chybě.",
"MessagePluginInstallError": "Při instalaci zásuvného modulu došlo k chybě.",
- "PlaybackRate": "Rychlost přehrávání"
+ "PlaybackRate": "Rychlost přehrávání",
+ "Video": "Video",
+ "ThumbCard": "Karta náhledu",
+ "Subtitle": "Titulky",
+ "SpecialFeatures": "Zvláštní funkce",
+ "SelectServer": "Vybrat server",
+ "Restart": "Restartovat",
+ "ResetPassword": "Obnovit heslo",
+ "Profile": "Profil",
+ "PosterCard": "Karta plakátu",
+ "Poster": "Plakát",
+ "MusicVideos": "Hudební videa",
+ "Image": "Obrázek",
+ "Data": "Datumy"
}
From 04cac0c4078a683ddc78796a9e0a0482c4e6d1ba Mon Sep 17 00:00:00 2001
From: Bill Thornton
Date: Mon, 31 Aug 2020 15:19:06 -0400
Subject: [PATCH 049/416] Fix iPad detection
---
src/scripts/browser.js | 30 ++++++++++++++++++++++++++----
1 file changed, 26 insertions(+), 4 deletions(-)
diff --git a/src/scripts/browser.js b/src/scripts/browser.js
index 618d930ec8..9f81ec7561 100644
--- a/src/scripts/browser.js
+++ b/src/scripts/browser.js
@@ -75,10 +75,24 @@ function hasKeyboard(browser) {
function iOSversion() {
// MacIntel: Apple iPad Pro 11 iOS 13.1
if (/iP(hone|od|ad)|MacIntel/.test(navigator.platform)) {
- // supports iOS 2.0 and later:
- const v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
- return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
+ const tests = [
+ // Original test for getting full iOS version number in iOS 2.0+
+ /OS (\d+)_(\d+)_?(\d+)?/,
+ // Test for iPads running iOS 13+ that can only get the major OS version
+ /Version\/(\d+)/
+ ];
+ for (const test of tests) {
+ const matches = (navigator.appVersion).match(test);
+ if (matches) {
+ return [
+ parseInt(matches[1], 10),
+ parseInt(matches[2] || 0, 10),
+ parseInt(matches[3] || 0, 10)
+ ];
+ }
+ }
}
+ return [];
}
let _supportsCssAnimation;
@@ -196,6 +210,15 @@ if (!browser.chrome && !browser.edgeChromium && !browser.edge && !browser.opera
browser.safari = true;
}
+browser.osx = userAgent.toLowerCase().indexOf('os x') !== -1;
+
+// This is a workaround to detect iPads on iOS 13+ that report as desktop Safari
+// This may break in the future if Apple releases a touchscreen Mac
+// https://forums.developer.apple.com/thread/119186
+if (browser.osx && !browser.iphone && !browser.ipod && !browser.ipad && navigator.maxTouchPoints > 1) {
+ browser.ipad = true;
+}
+
if (userAgent.toLowerCase().indexOf('playstation 4') !== -1) {
browser.ps4 = true;
browser.tv = true;
@@ -242,7 +265,6 @@ if (typeof document !== 'undefined') {
browser.keyboard = hasKeyboard(browser);
browser.supportsCssAnimation = supportsCssAnimation;
-browser.osx = userAgent.toLowerCase().indexOf('os x') !== -1;
browser.iOS = browser.ipad || browser.iphone || browser.ipod;
if (browser.iOS) {
From 6e4051409e8551d065bb4562d08ac8f420f4b064 Mon Sep 17 00:00:00 2001
From: Reto Wyss
Date: Mon, 31 Aug 2020 19:39:53 +0000
Subject: [PATCH 050/416] Translated using Weblate (German) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/
---
src/strings/de.json | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/strings/de.json b/src/strings/de.json
index da904b08fe..09b6ae3820 100644
--- a/src/strings/de.json
+++ b/src/strings/de.json
@@ -1366,5 +1366,14 @@
"LabelSubtitleVerticalPosition": "Vertikale Position:",
"MessageGetInstalledPluginsError": "Beim Abrufen der Liste der derzeit installierten Plugins ist ein Fehler aufgetreten.",
"MessagePluginInstallError": "Bei der Installation des Plugins ist ein Fehler aufgetreten.",
- "PlaybackRate": "Wiedergabegeschwindigkeit"
+ "PlaybackRate": "Wiedergabegeschwindigkeit",
+ "Video": "Video",
+ "Subtitle": "Untertitel",
+ "SelectServer": "Server auswählen",
+ "Restart": "Neustarten",
+ "ResetPassword": "Passwort zurücksetzten",
+ "Profile": "Profil",
+ "MusicVideos": "Musikvideos",
+ "Image": "Bild",
+ "Data": "Daten"
}
From fec8ff646cbd04838dbd9b0ee1ff173611d4f5a2 Mon Sep 17 00:00:00 2001
From: Franco Castillo
Date: Tue, 1 Sep 2020 00:34:16 +0000
Subject: [PATCH 051/416] Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/
---
src/strings/es-ar.json | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json
index c07d72b3df..9b5420ac20 100644
--- a/src/strings/es-ar.json
+++ b/src/strings/es-ar.json
@@ -1365,5 +1365,19 @@
"MessageGetInstalledPluginsError": "Se produjo un error al obtener la lista de complementos instalados actualmente.",
"MessagePluginInstallError": "Ocurrió un error al instalar el complemento.",
"NextTrack": "Pasar al siguiente",
- "LabelUnstable": "Inestable"
+ "LabelUnstable": "Inestable",
+ "Video": "Video",
+ "ThumbCard": "Tarjeta de pulgar",
+ "Subtitle": "Subtítulo",
+ "SpecialFeatures": "Características especiales",
+ "SelectServer": "Seleccionar servidor",
+ "Restart": "Reiniciar",
+ "ResetPassword": "Restablecer contraseña",
+ "Profile": "Perfil",
+ "PosterCard": "Tarjeta de cartel",
+ "Poster": "Póster",
+ "PlaybackRate": "Tasa de reproducción",
+ "MusicVideos": "Videos musicales",
+ "Image": "Imagen",
+ "Data": "Datos"
}
From 82b8465101bafb8ab1aed29c7aec6ce52811d0c9 Mon Sep 17 00:00:00 2001
From: Pascal Bourgault
Date: Tue, 1 Sep 2020 00:27:01 +0000
Subject: [PATCH 052/416] Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/
---
src/strings/fr-ca.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/strings/fr-ca.json b/src/strings/fr-ca.json
index c58d0ecaaa..08c47a9188 100644
--- a/src/strings/fr-ca.json
+++ b/src/strings/fr-ca.json
@@ -221,5 +221,6 @@
"CommunityRating": "Évaluation de la communauté",
"ColorTransfer": "Transfert de couleur",
"ColorSpace": "Espace colorimétrique",
- "ColorPrimaries": "Primaires colorimétriques"
+ "ColorPrimaries": "Primaires colorimétriques",
+ "EnablePhotos": "Voir les photos"
}
From bdb5075fdc837f89eb3a223f388f4a9ea63a899b Mon Sep 17 00:00:00 2001
From: fernando012
Date: Tue, 1 Sep 2020 01:21:39 +0000
Subject: [PATCH 053/416] Translated using Weblate (Spanish (Dominican
Republic)) Translation: Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_DO/
---
src/strings/es_DO.json | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/strings/es_DO.json b/src/strings/es_DO.json
index 9f5d299631..cf6f0c5256 100644
--- a/src/strings/es_DO.json
+++ b/src/strings/es_DO.json
@@ -13,5 +13,10 @@
"Albums": "Álbumes",
"Artists": "Artistas",
"Channels": "Canales",
- "ButtonSyncPlay": "SyncPlay"
+ "ButtonSyncPlay": "SyncPlay",
+ "Aired": "Emitido",
+ "AirDate": "Fecha de Emisión",
+ "AddedOnValue": "Añadido {0}",
+ "AddToPlayQueue": "Añadir a la lista de reproducción",
+ "AddToCollection": "Añadir a la Colección"
}
From 7aa7b6259198f404989275dd1d295e2783a91cb1 Mon Sep 17 00:00:00 2001
From: fernando012
Date: Tue, 1 Sep 2020 01:53:07 +0000
Subject: [PATCH 054/416] Translated using Weblate (Spanish) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
---
src/strings/es.json | 38 ++++++++++++++++++++------------------
1 file changed, 20 insertions(+), 18 deletions(-)
diff --git a/src/strings/es.json b/src/strings/es.json
index f336157603..cc14d6bd29 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -18,7 +18,7 @@
"AllowMediaConversionHelp": "Concede o deniega el acceso a la función de conversión de medios.",
"AllowOnTheFlySubtitleExtraction": "Permitir la extracción de subtítulos sobre la marcha",
"AllowOnTheFlySubtitleExtractionHelp": "Cuando el cliente sea compatible, los subtítulos pueden extraerse durante la reproducción para evitar convertir el vídeo. Sin embargo, y en algunos servidores, esto puede llevar mucho tiempo y hacer que la reproducción tenga cortes durante el proceso. Deshabilita esta opción para grabar los subtítulos directamente en el vídeo cuando no sean compatibles de forma nativa con el cliente.",
- "AllowRemoteAccess": "Permitir conexiones remotas a este servidor Jellyfin.",
+ "AllowRemoteAccess": "Permitir conexiones remotas a este servidor.",
"AllowRemoteAccessHelp": "Si no está activado, todas las conexiones remotas serán bloqueadas.",
"AllowedRemoteAddressesHelp": "Lista separada por comas de direcciones IP o entradas de IP / máscara de red para redes a las que se les permitirá conectarse de forma remota. Si se deja en blanco, se permitirán todas las direcciones remotas.",
"AlwaysPlaySubtitles": "Siempre mostrar subtítulos",
@@ -93,7 +93,7 @@
"CinemaModeConfigurationHelp": "El modo cine proporciona la experiencia del cine directamente en su sala con la capacidad de reproducir tráilers e introducciones personalizadas antes de la función principal.",
"Collections": "Colecciones",
"Composer": "Compositor",
- "ConfigureDateAdded": "Configura como la fecha añadida se determina en el Panel de Control del servidor Jellyfin en los ajustes de la biblioteca",
+ "ConfigureDateAdded": "Configure cómo se determinará la fecha añadido en el panel bajo la configuración de la biblioteca",
"ConfirmDeleteImage": "¿Borrar imagen?",
"ConfirmDeleteItem": "Al borrar este elemento se borrará del sistema de archivos y de la biblioteca. ¿Quieres continuar?",
"ConfirmDeleteItems": "Al borrar este elemento se borrará del sistema de archivos y de la biblioteca. ¿Quieres continuar?",
@@ -144,7 +144,7 @@
"EndsAtValue": "Termina a las {0}",
"Episodes": "Episodios",
"ErrorAddingListingsToSchedulesDirect": "Ha habido un error añadiendo la alineación a tu cuenta de Schedules Direct. Schedules Direct solo permite un determinado número de alineaciones por cuenta. Necesitarás iniciar sesión en la web de Schedules Direct y quitar otras listas de tu cuenta antes de proceder.",
- "ErrorAddingMediaPathToVirtualFolder": "Ha habido un error añadiendo la ruta de los medios. Por favor, asegúrate de que la ruta es válida y que el proceso del servidor Jellyfin tiene acceso a esa ubicación.",
+ "ErrorAddingMediaPathToVirtualFolder": "Ha habido un error añadiendo la ruta de los Medios. Por favor, asegúrate de que la ruta es válida y el servidor Jellyfin tiene acceso a esa ubicación.",
"ErrorAddingTunerDevice": "Ha habido un error añadiendo el dispositivo sintonizador. Por favor, asegúrate de que es accesible e inténtalo otra vez.",
"ErrorAddingXmlTvFile": "Ha sucedido un error accediendo al archivo XML. Por favor, asegúrate que el archivo existe e inténtalo de nuevo.",
"ErrorGettingTvLineups": "Ha habido un error descargando la programación de TV. Por favor, asegúrese que la información es correcta e inténtalo de nuevo.",
@@ -308,7 +308,7 @@
"HeaderSecondsValue": "{0} segundos",
"HeaderSelectCertificatePath": "Elige la ruta del certificado",
"HeaderSelectMetadataPath": "Seleccione la ruta para las etiquetas",
- "HeaderSelectMetadataPathHelp": "Busque o escriba la ruta donde almacenar las etiquetas. La carpeta debe tener permiso de escritura.",
+ "HeaderSelectMetadataPathHelp": "Busque o escriba la ruta de acceso que desea utilizar para los metadatos.. La carpeta debe tener permiso de escritura.",
"HeaderSelectPath": "Elige ruta",
"HeaderSelectServerCachePath": "Seleccione la ruta para el caché del servidor",
"HeaderSelectServerCachePathHelp": "Navega o introduce la ruta para alojar los archivos caché del servidor. Tienes que tener permisos de escritura en esa carpeta.",
@@ -389,10 +389,10 @@
"LabelAudioLanguagePreference": "Idioma de audio preferido:",
"LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar las etiquetas automáticamente desde Internet:",
"LabelBindToLocalNetworkAddress": "Vincular a la dirección de red local:",
- "LabelBindToLocalNetworkAddressHelp": "Anule la dirección IP local para enlazar el servidor HTTP. Si se deja vacío, el servidor se enlazará a todas las direcciones disponibles. Para cambiar este valor, debe reiniciar el servidor Jellyfin.",
+ "LabelBindToLocalNetworkAddressHelp": "Anule la dirección IP local para enlazar el servidor HTTP. Si se deja vacío, el servidor se enlazará a todas las direcciones disponibles. Este cambio requiere reiniciar.",
"LabelBirthDate": "Fecha de nacimiento:",
"LabelBirthYear": "Año de nacimiento:",
- "LabelBlastMessageInterval": "Intervalo para mensajes en vivo (segundos)",
+ "LabelBlastMessageInterval": "Intervalo para mensajes en vivo",
"LabelBlastMessageIntervalHelp": "Determina la duración en segundos entre los mensajes en vivo.",
"LabelBlockContentWithTags": "Bloquear artículos sin etiquetas:",
"LabelCache": "Caché:",
@@ -411,7 +411,7 @@
"LabelCustomCertificatePath": "Ruta del certificado SSL personalizado:",
"LabelCustomCertificatePathHelp": "Ruta a un archivo PKCS # 12 que contiene un certificado y una clave privada para habilitar el soporte de TLS en un dominio personalizado.",
"LabelCustomCss": "CSS personalizado:",
- "LabelCustomCssHelp": "Aplicar su propio CSS personalizado a la interfaz de la web.",
+ "LabelCustomCssHelp": "Aplicar su propio CSS personalizados en la interfaz web.",
"LabelCustomDeviceDisplayNameHelp": "Proporcione un nombre para mostrar o déjelo vacío para usar el nombre proporcionado por el dispositivo.",
"LabelCustomRating": "Valoración pesonalizada:",
"LabelDateAdded": "Fecha de añadido:",
@@ -440,8 +440,8 @@
"LabelEnableAutomaticPortMapHelp": "Reenvia automáticamente los puertos públicos de su Router a los puertos locales de su servidor a través de UPnP. Es posible que esto no funcione con algunos modelos de Routers o configuraciones de red. Los cambios no se aplicarán hasta después de reiniciar el servidor.",
"LabelEnableBlastAliveMessages": "Explotar mensajes en vivo",
"LabelEnableBlastAliveMessagesHelp": "Active aquí si el servidor no es detectado correctamente por otros dispositivos UPnP en su red.",
- "LabelEnableDlnaClientDiscoveryInterval": "Intervalo de detección de cliente (segundos)",
- "LabelEnableDlnaClientDiscoveryIntervalHelp": "Determina la duración en segundos entre la búsqueda SSDP hechas por Jellyfin.",
+ "LabelEnableDlnaClientDiscoveryInterval": "Intervalo de detección de cliente",
+ "LabelEnableDlnaClientDiscoveryIntervalHelp": "Determina la duración en segundos entre la búsqueda SSDP.",
"LabelEnableDlnaDebugLogging": "Activar el registro de depuración de DLNA",
"LabelEnableDlnaDebugLoggingHelp": "Crear archivos de registro de gran tamaño. Solo debe ser utilizado cuando sea necesario para solucionar problemas.",
"LabelEnableDlnaPlayTo": "Activar la reproducción en DLNAi",
@@ -450,7 +450,7 @@
"LabelEnableDlnaServerHelp": "Permite a los dispositivos UPnP en su red local explorar y reproducir contenidos.",
"LabelEnableHardwareDecodingFor": "Activar decodificación por hardware para:",
"LabelEnableRealtimeMonitor": "Activar la monitorización en tiempo real",
- "LabelEnableRealtimeMonitorHelp": "Los cambios se procesarán inmediatamente, en sistemas de archivo que lo soporten.",
+ "LabelEnableRealtimeMonitorHelp": "Los cambios se procesarán inmediatamente en sistemas de archivo que lo soporten.",
"LabelEnableSingleImageInDidlLimit": "Limitar a una imagen integrada",
"LabelEnableSingleImageInDidlLimitHelp": "Algunos dispositivos no renderizan correctamente si hay muchas imágenes integradas en Didl.",
"LabelEndDate": "Fecha de fin:",
@@ -468,14 +468,14 @@
"LabelFriendlyName": "Nombre amigable:",
"LabelServerNameHelp": "Este nombre se utilizará para identificar el servidor, por defecto será el nombre del ordenador.",
"LabelGroupMoviesIntoCollections": "Agrupar películas en colecciones",
- "LabelGroupMoviesIntoCollectionsHelp": "Cuando se muestran las listas de películas, las películas pertenecientes a una colección se mostrarán como un elemento agrupado.",
+ "LabelGroupMoviesIntoCollectionsHelp": "Al mostrar las listas de películas, las películas pertenecientes a una colección se mostrarán como un elemento agrupado.",
"LabelH264Crf": "H264 que codifica CRF:",
"LabelEncoderPreset": "Configuración de codificación H264:",
"LabelHardwareAccelerationType": "Aceleración por hardware:",
"LabelHardwareAccelerationTypeHelp": "La aceleración por hardware requiere configuración adicional.",
"LabelHomeScreenSectionValue": "Sección de la pantalla de inicio {0}:",
"LabelHttpsPort": "Puerto local HTTPS:",
- "LabelHttpsPortHelp": "Puerto TCP al que el servidor HTTPS de Jellyfin debe de ser enlazado.",
+ "LabelHttpsPortHelp": "El número de puerto TCP para el servidor HTTPS.",
"LabelIconMaxHeight": "Altura máxima de icono:",
"LabelIconMaxHeightHelp": "Resolución máxima de los iconos expuestos vía upnp:icon.",
"LabelIconMaxWidth": "Anchura máxima de icono:",
@@ -503,7 +503,7 @@
"LabelLanguage": "Idioma:",
"LabelLineup": "Reparto:",
"LabelLocalHttpServerPortNumber": "Puerto local HTTP:",
- "LabelLocalHttpServerPortNumberHelp": "Puerto TCP al que el servidor de HTTP de Jellyfin debe de ser enlazado.",
+ "LabelLocalHttpServerPortNumberHelp": "El número de puerto TCP para el servidor HTTP.",
"LabelLockItemToPreventChanges": "Bloquear este elemento para evitar futuros cambios",
"LabelLoginDisclaimer": "Descargo de responsabilidad de inicio de sesión:",
"LabelLoginDisclaimerHelp": "Mensaje que se mostrará en la parte inferior de la página de inicio de sesión.",
@@ -529,7 +529,7 @@
"LabelMetadataReaders": "Lectores de etiquetas:",
"LabelMetadataReadersHelp": "Ordena los proveedores de etiquetas locales por prioridad. Se leerá el primer archivo encontrado.",
"LabelMetadataSavers": "Formato de etiquetas:",
- "LabelMetadataSaversHelp": "Elige el formato de archivo para guardar las etiquetas.",
+ "LabelMetadataSaversHelp": "Elija los formatos de archivo que desea utilizar al guardar los metadatos.",
"LabelMethod": "Método:",
"LabelMinBackdropDownloadWidth": "Anchura mínima de descarga de imágenes de fondo:",
"LabelMinResumeDuration": "Duración mínima de reanudación:",
@@ -1102,7 +1102,7 @@
"EnableNextVideoInfoOverlayHelp": "Al finalizar un vídeo, mostrar información sobre el siguiente de la lista de reproducción actual.",
"EnableThemeSongsHelp": "Reproducir las canciones temáticas de fondo mientras se explora la biblioteca.",
"EnableThemeVideosHelp": "Reproducir vídeos temáticos de fondo mientras se explora la biblioteca.",
- "ErrorDeletingItem": "Se ha producido un error eliminando el elemento del servidor Jellyfin. Por favor, comprueba que el servidor Jellyfin tiene permisos de escritura y prueba de nuevo.",
+ "ErrorDeletingItem": "Se ha producido un error eliminando el elemento del servidor. Por favor, comprueba que Jellyfin tiene permisos de escritura y prueba de nuevo.",
"Extras": "Extras",
"Features": "Características",
"Filters": "Filtros",
@@ -1162,7 +1162,7 @@
"OptionDvd": "DVD",
"OptionIsHD": "HD",
"OptionIsSD": "SD",
- "AuthProviderHelp": "Selecciona un proveedor de autenticación a utilizar para autenticar la contraseña de este usuario.",
+ "AuthProviderHelp": "Seleccione un proveedor de autenticación que se utilizará para autenticar la contraseña de este usuario.",
"LabelAuthProvider": "Proveedor de autenticación:",
"LabelPasswordResetProvider": "Proveedor de restablecimiento de contraseña:",
"LabelServerName": "Nombre del servidor:",
@@ -1230,7 +1230,7 @@
"LabelPlayMethod": "Método de reproducción:",
"LabelPlayer": "Reproductor:",
"LabelFolder": "Carpeta:",
- "LabelBaseUrlHelp": "Puede agregar aquí un subdirectorio personalizado para el acceso al servidor a través de una URL única.",
+ "LabelBaseUrlHelp": "Puede agregar aquí un subdirectorio personalizado para el acceso al servidor a través de una URL.Por ejemplo: http://ejemplo.com/<baseurl>
",
"LabelBaseUrl": "URL base:",
"LabelBitrate": "Bitrate:",
"LabelAudioSampleRate": "Frecuencia de muestreo de audio:",
@@ -1363,5 +1363,7 @@
"MessageGetInstalledPluginsError": "Ha ocurrido un error al recuperar la lista de plugins instalados.",
"MessagePluginInstallError": "Ha ocurrido un error al instalar este plugin.",
"NextTrack": "Saltar al siguiente",
- "LabelUnstable": "Inestable"
+ "LabelUnstable": "Inestable",
+ "Image": "Imagen",
+ "Data": "Datos"
}
From e161be93dca2e73bf09b6717b78a9865d32b7817 Mon Sep 17 00:00:00 2001
From: fernando012
Date: Tue, 1 Sep 2020 02:28:00 +0000
Subject: [PATCH 055/416] Translated using Weblate (Spanish) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/
---
src/strings/es.json | 63 ++++++++++++++++++++++++++-------------------
1 file changed, 37 insertions(+), 26 deletions(-)
diff --git a/src/strings/es.json b/src/strings/es.json
index cc14d6bd29..36a01a72df 100644
--- a/src/strings/es.json
+++ b/src/strings/es.json
@@ -416,7 +416,7 @@
"LabelCustomRating": "Valoración pesonalizada:",
"LabelDateAdded": "Fecha de añadido:",
"LabelDateAddedBehavior": "Comportamiento de la fecha añadida para contenido nuevo:",
- "LabelDateAddedBehaviorHelp": "Si el elemento tiene etiquetas que contengan información sobre la fecha de creación, independientemente de lo seleccionado aquí, se utilizarán para ordenar el contenido.",
+ "LabelDateAddedBehaviorHelp": "Si el elemento tiene etiquetas que contengan información sobre la fecha de creación independientemente de lo seleccionado aquí, se utilizarán para ordenar el contenido.",
"LabelDay": "Día:",
"LabelDeathDate": "Fecha de muerte:",
"LabelDefaultUser": "Usuario por defecto:",
@@ -466,7 +466,7 @@
"LabelForgotPasswordUsernameHelp": "Introduce tu nombre de usuario, si te acuerdas.",
"LabelFormat": "Formato:",
"LabelFriendlyName": "Nombre amigable:",
- "LabelServerNameHelp": "Este nombre se utilizará para identificar el servidor, por defecto será el nombre del ordenador.",
+ "LabelServerNameHelp": "Este nombre se utilizará para identificar el servidor, por defecto será el nombre del ordenador.",
"LabelGroupMoviesIntoCollections": "Agrupar películas en colecciones",
"LabelGroupMoviesIntoCollectionsHelp": "Al mostrar las listas de películas, las películas pertenecientes a una colección se mostrarán como un elemento agrupado.",
"LabelH264Crf": "H264 que codifica CRF:",
@@ -545,9 +545,9 @@
"LabelMovieCategories": "Categorías de películas:",
"LabelMoviePrefix": "Prefijo de película:",
"LabelMoviePrefixHelp": "Si se aplica un prefijo a títulos de películas, escríbalo para que el servidor pueda manejarlo correctamente.",
- "LabelMovieRecordingPath": "Ruta de grabaciones de películas (opcional):",
+ "LabelMovieRecordingPath": "Ruta de grabaciones de películas:",
"LabelMusicStreamingTranscodingBitrate": "Tasa de bits para la reproducción de música:",
- "LabelMusicStreamingTranscodingBitrateHelp": "Tasa de bits máxima para la música.",
+ "LabelMusicStreamingTranscodingBitrateHelp": "Especifique una tasa de bits máxima al transmitir música.",
"LabelName": "Nombre:",
"LabelNewName": "Nuevo nombre:",
"LabelNewPassword": "Nueva contraseña:",
@@ -557,7 +557,7 @@
"LabelNumber": "Número:",
"LabelNumberOfGuideDays": "Número de días a descargar de la guía:",
"LabelNumberOfGuideDaysHelp": "Descargar más días de la guía ofrece la posibilidad de programar grabaciones con mayor antelación y ver más listas, pero también tarda más en descargarse. Auto elegirá en función del número de canales.",
- "LabelOptionalNetworkPath": "(Opcional) Carpeta de red compartida:",
+ "LabelOptionalNetworkPath": "Carpeta de red compartida:",
"LabelOptionalNetworkPathHelp": "Si esta carpeta se comparte en la red, el suministro de la ruta de acceso compartido de red puede permitir a las aplicaciones Jellyfin de otros dispositivos acceder directamente a los archivos multimedia.",
"LabelOriginalAspectRatio": "Relación de aspecto original:",
"LabelOriginalTitle": "Título original:",
@@ -597,7 +597,7 @@
"LabelReleaseDate": "Fecha de lanzamiento:",
"LabelRemoteClientBitrateLimit": "Límite de la transmisión de tasa de bits por internet (Mbps):",
"LabelRemoteClientBitrateLimitHelp": "Especifica el bitrate máximo para los dispositivos que se encuentren fuera de la red local. Esto es útil para permitir la reproducción del contenido que tengas con una tasa de bits muy alta cuando la conexión a internet de tu servidor o la del cliente no sea lo suficientemente rápida. Esto ocasionará mayor carga, ya que el contenido que supere esta tasa de bits se convertirá para que esté dentro del límite establecido.",
- "LabelRuntimeMinutes": "Tiempo de ejecución (minutos):",
+ "LabelRuntimeMinutes": "Tiempo de ejecución:",
"LabelSaveLocalMetadata": "Guardar imágenes y etiquetas en las carpetas de medios",
"LabelSaveLocalMetadataHelp": "Guardar imágenes y etiquetas directamente en las carpetas en las que estén los elementos hará que se puedan editar más fácilmente.",
"LabelScheduledTaskLastRan": "Última ejecución {0}, tardando {1}.",
@@ -609,7 +609,7 @@
"LabelSelectVersionToInstall": "Seleccionar versión a instalar:",
"LabelSendNotificationToUsers": "Enviar la notificación a:",
"LabelSerialNumber": "Número de serie",
- "LabelSeriesRecordingPath": "Ruta de grabaciones de series (opcional):",
+ "LabelSeriesRecordingPath": "Ruta de grabaciones de Series:",
"LabelServerHostHelp": "192.168.1.100:8096 o https://miservidor.com",
"LabelSimultaneousConnectionLimit": "Límite de transmisiones simultáneas:",
"LabelSkipIfAudioTrackPresent": "Omitir si la pista de audio por defecto coincide con el idioma de descarga",
@@ -713,7 +713,7 @@
"MessageConfirmProfileDeletion": "¿Está seguro que desea eliminar este perfil?",
"MessageConfirmRecordingCancellation": "¿Está seguro que desea cancelar esta grabación?",
"MessageConfirmRemoveMediaLocation": "¿Estás seguro que quieres quitar esta ubicación?",
- "MessageConfirmRestart": "¿Está seguro de que quieres reiniciar el servidor?",
+ "MessageConfirmRestart": "¿Está seguro de que quieres reiniciar Jellyfin?",
"MessageConfirmRevokeApiKey": "¿Está seguro de que quieres revocar esta clave API? Las conexiones de aplicaciones que usen la API se terminarán.",
"MessageConfirmShutdown": "¿Está seguro que quiere apagar el servidor?",
"MessageContactAdminToResetPassword": "Por favor, contacta con el administrador del sistema para restablecer tu contraseña.",
@@ -799,7 +799,7 @@
"OptionAllowVideoPlaybackRemuxing": "Activar el cambio de contenedor para el contenido cuyo audio y vídeo es compatible, pero no lo es su contenedor",
"OptionAllowVideoPlaybackTranscoding": "Activar la conversión del vídeo",
"OptionAutomaticallyGroupSeries": "Combinar automáticamente series que se distribuyen en varias carpetas",
- "OptionAutomaticallyGroupSeriesHelp": "Si está activada, las series que se distribuyen entre varias carpetas dentro de esta biblioteca se fusionarán automáticamente en una sola serie.",
+ "OptionAutomaticallyGroupSeriesHelp": "Las series que se distribuyen entre varias carpetas dentro de esta biblioteca se fusionarán automáticamente en una sola serie.",
"OptionCommunityRating": "Valoración de la comunidad",
"OptionCriticRating": "Valoración de la crítica",
"OptionCustomUsers": "A medida",
@@ -809,12 +809,12 @@
"OptionDateAddedImportTime": "Usar fecha escaneada de la biblioteca",
"OptionDatePlayed": "Fecha de reproducción",
"OptionDisableUser": "Deshabilitar este usuario",
- "OptionDisableUserHelp": "Si está deshabilitado, el servidor no aceptará conexiones de este usuario. Si existen conexiones de este usuario, finalizarán inmediatamente.",
+ "OptionDisableUserHelp": "El servidor no aceptará conexiones de este usuario. Si existen conexiones de este usuario, finalizarán inmediatamente.",
"OptionDislikes": "No me gusta",
"OptionDisplayFolderView": "Mostrar una vista de carpeta para ver las carpetas de medios en plano",
"OptionDisplayFolderViewHelp": "Mostrar carpetas junto con tus otras bibliotecas de medios. Esto es útil si te gustar tener una vista plana de carpetas.",
"OptionDownloadImagesInAdvance": "Descargar imágenes con antelación",
- "OptionDownloadImagesInAdvanceHelp": "Por defecto, la mayoría de las imágenes solo se descargan cuando lo solicita una aplicación Jellyfin. Activa esta opción para descargar todas las imágenes por adelantado, a medida que se importan nuevos medios. Esto puede causar escaneos de biblioteca significativamente más largos.",
+ "OptionDownloadImagesInAdvanceHelp": "Por defecto, la mayoría de las imágenes solo se descargan cuando son solicitadas por un cliente. Activa esta opción para descargar todas las imágenes por adelantado, a medida que se importan nuevos medios. Esto puede causar escaneos de biblioteca significativamente más largos.",
"OptionEmbedSubtitles": "Integrado con el contenedor",
"OptionEnableAccessFromAllDevices": "Habilitar acceso desde todos los equipos",
"OptionEnableAccessToAllChannels": "Habilitar acceso a todos los canales",
@@ -835,7 +835,7 @@
"OptionHideUserFromLoginHelp": "Útil para privado o cuentas de administradores escondidos. El usuario tendrá que acceder entrando su nombre de usuario y contraseña manualmente.",
"OptionHlsSegmentedSubtitles": "Subtítulos segmentados HLS",
"OptionIgnoreTranscodeByteRangeRequests": "En las conversiones, ignorar las solicitudes de un intervalo específico de bytes",
- "OptionIgnoreTranscodeByteRangeRequestsHelp": "Si está activado, estas solicitudes serán atendidas pero ignorarán el encabezado de intervalo de bytes.",
+ "OptionIgnoreTranscodeByteRangeRequestsHelp": "Estas solicitudes serán atendidas pero ignorarán el encabezado de intervalo de bytes.",
"OptionImdbRating": "Valoración IMDb",
"OptionLikes": "Me gusta",
"OptionMax": "Máximo",
@@ -844,9 +844,9 @@
"OptionOnInterval": "En un intervalo",
"OptionParentalRating": "Clasificación parental",
"OptionPlainStorageFolders": "Ver todas las carpetas como carpetas de almacenamiento sin formato",
- "OptionPlainStorageFoldersHelp": "Si está activado, todas las carpetas se representan en DIDL como \"object.container.storageFolder\" en lugar de un tipo más específico, como por ejemplo \"object.container.person.musicArtist\".",
+ "OptionPlainStorageFoldersHelp": "Todas las carpetas se representan en DIDL como \"object.container.storageFolder\" en lugar de un tipo más específico, como por ejemplo \"object.container.person.musicArtist\".",
"OptionPlainVideoItems": "Mostrar todos los videos como elementos de video sin formato",
- "OptionPlainVideoItemsHelp": "Si está habilitado, todos los vídeos están representados en DIDL como \"object.item.videoItem\" en lugar de un tipo más específico, como por ejemplo \"object.item.videoItem.movie\".",
+ "OptionPlainVideoItemsHelp": "Todos los vídeos están representados en DIDL como \"object.item.videoItem\" en lugar de un tipo más específico, como por ejemplo \"object.item.videoItem.movie\".",
"OptionPlayCount": "Número de reproducciones",
"OptionPremiereDate": "Fecha de estreno",
"OptionProfilePhoto": "Foto",
@@ -860,7 +860,7 @@
"OptionResElement": "Elemento res",
"OptionResumable": "Se puede continuar",
"OptionSaveMetadataAsHidden": "Guardar las etiquetas e imágenes como archivos ocultos",
- "OptionSaveMetadataAsHiddenHelp": "La configuración se aplicará a las nuevas etiquetas que se creen. Las etiquetas existentes se actualizarán la próxima vez que sean guardadas por Jellyfin.",
+ "OptionSaveMetadataAsHiddenHelp": "La configuración se aplicará a las nuevas etiquetas que se creen. Las etiquetas existentes se actualizarán la próxima vez que sean guardadas por el servidor.",
"OptionSpecialEpisode": "Especiales",
"OptionTrackName": "Nombre de pista",
"OptionTvdbRating": "Valoración TVDB",
@@ -892,9 +892,9 @@
"PleaseAddAtLeastOneFolder": "Por favor añade al menos una carpeta a esta biblioteca haciendo clic en el botón Añadir.",
"PleaseConfirmPluginInstallation": "Por favor haz clic en OK para confirmar que has leído lo de arriba y quieres proceder con la instalación del complemento.",
"PleaseEnterNameOrId": "Introduzca un nombre o un identificador externo.",
- "PleaseRestartServerName": "Por favor, reinicie el Servidor de Jellyfin - {0}.",
+ "PleaseRestartServerName": "Por favor, reinicie Jellyfin en {0}.",
"PleaseSelectTwoItems": "Seleccione al menos dos elementos.",
- "MessagePluginInstalled": "El complemento se ha instalado correctamente. El servidor Jellyfin deberá reiniciarse para que los cambios surjan efecto.",
+ "MessagePluginInstalled": "El complemento se ha instalado correctamente. El servidor deberá reiniciarse para que los cambios surjan efecto.",
"PreferEmbeddedTitlesOverFileNames": "Preferir títulos incrustados sobre los nombres de archivo",
"PreferEmbeddedTitlesOverFileNamesHelp": "Esto determina el título que se utilizará cuando un elemento no tenga etiquetas ni estas se hayan podido descargar de Internet.",
"Premieres": "Estrenos",
@@ -952,10 +952,10 @@
"SeriesRecordingScheduled": "Grabación de series programada.",
"SeriesSettings": "Ajustes de series",
"SeriesYearToPresent": "{0} - Actualidad",
- "ServerNameIsRestarting": "El servidor Jellyfin - {0} se esta reiniciando.",
- "ServerNameIsShuttingDown": "El servidor Jellyfin - {0} se esta apagando.",
- "ServerRestartNeededAfterPluginInstall": "El servidor Jellyfin necesitará ser reiniciado tras instalarse un complemento.",
- "ServerUpdateNeeded": "El servidor necesita actualizarse. Para descargar la última versión visita {0}",
+ "ServerNameIsRestarting": "El servidor en {0} se está reiniciando.",
+ "ServerNameIsShuttingDown": "El servidor en {0} se está apagando.",
+ "ServerRestartNeededAfterPluginInstall": "Jellyfin necesitará ser reiniciado tras instalarse un complemento.",
+ "ServerUpdateNeeded": "El servidor necesita ser actualizado. Para descargar la última versión, por favor visita {0}",
"Settings": "Ajustes",
"SettingsSaved": "Configuración guardada.",
"SettingsWarning": "Cambiar estos valores puede causar inestabilidad o fallos de conectividad. Si experimenta algún problema, le recomendamos que cambie de nuevo a su valor predeterminado.",
@@ -1186,14 +1186,14 @@
"OptionProtocolHttp": "HTTP",
"OptionRegex": "Regex (expresión regular)",
"OptionSubstring": "Subcadena",
- "PasswordResetProviderHelp": "Elige un proveedor de restablecimiento de contraseña que se utilizará cuando este usuario solicite un restablecimiento de contraseña",
+ "PasswordResetProviderHelp": "Elige un proveedor de restablecimiento de contraseña que se utilizará cuando este usuario solicite un restablecimiento de contraseña.",
"PerfectMatch": "Coincidencia perfecta",
"PictureInPicture": "Imagen sobre imagen",
"PlaybackData": "Datos de reproducción",
"PlayCount": "Reproducciones",
"Premiere": "Estreno",
"Raised": "Elevación",
- "RefreshDialogHelp": "Las etiquetas se actualizan basándose en las configuraciones y los servicios de internet activados desde el panel de control de Jellyfin.",
+ "RefreshDialogHelp": "Las etiquetas se actualizan basándose en las configuraciones y los servicios de Internet activados desde el panel de control.",
"Series": "Series",
"SeriesDisplayOrderHelp": "Ordena los episodios por fecha de emisión, orden de DVD o número absoluto.",
"ShowTitle": "Mostrar título",
@@ -1305,7 +1305,7 @@
"LabelEnableHttps": "Activar HTTPS",
"SaveChanges": "Guardar cambios",
"EnableBlurHash": "Mostrar una representación de las imágenes mientras cargan",
- "EnableBlurHashHelp": "Aparecerá una representación de los colores de las imágenes antes de que terminen de cargar",
+ "EnableBlurHashHelp": "Las imágenes que aún se están cargando se mostrarán con un marcador de posición único.",
"HeaderDVR": "DVR",
"SyncPlayAccessHelp": "Selecciona el nivel de acceso de este usuario para utilizar SyncPlay. SyncPlay te permite sincronizar la reproducción entre varios dispositivos.",
"MessageSyncPlayErrorMedia": "¡No se pudo activar SyncPlay! Error de medio.",
@@ -1318,7 +1318,7 @@
"MessageSyncPlayGroupDoesNotExist": "No se pudo unir al grupo porque no existe.",
"MessageSyncPlayPlaybackPermissionRequired": "Requiere permiso para reproducir.",
"MessageSyncPlayNoGroupsAvailable": "No hay grupos disponibles. Reproduce algo primero.",
- "MessageSyncPlayGroupWait": "{0} se está cargando...",
+ "MessageSyncPlayGroupWait": "{0} se está cargando…",
"MessageSyncPlayUserLeft": "{0} abandonó el grupo.",
"MessageSyncPlayUserJoined": "{0} se ha unido al grupo.",
"MessageSyncPlayDisabled": "SyncPlay inactivo.",
@@ -1365,5 +1365,16 @@
"NextTrack": "Saltar al siguiente",
"LabelUnstable": "Inestable",
"Image": "Imagen",
- "Data": "Datos"
+ "Data": "Datos",
+ "Poster": "Ilustración",
+ "PlaybackRate": "Tasa de reproducción",
+ "SubtitleVerticalPositionHelp": "Número de línea donde aparece el texto. Los números positivos indican de arriba hacia abajo. Los números negativos indican de abajo hacia arriba.",
+ "Preview": "Vista previa",
+ "Video": "Video",
+ "Subtitle": "Subtitulo",
+ "SpecialFeatures": "Características Especiales",
+ "SelectServer": "Seleccionar Servidor",
+ "Restart": "Reiniciar",
+ "ResetPassword": "Reiniciar Contraseña",
+ "Profile": "Perfil"
}
From f4491c66c30fd5f803e78a79c7832c2d6bfdac71 Mon Sep 17 00:00:00 2001
From: Cameron
Date: Mon, 31 Aug 2020 16:28:05 +0100
Subject: [PATCH 056/416] Hide image on even smaller screens
data-type is added to keep images for music playlists
This reverts commit 0982c15c3c670a19214c8b0d97b801f6ab7ea547.
---
src/components/listview/listview.css | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/components/listview/listview.css b/src/components/listview/listview.css
index edb8a1a97a..063eb74de5 100644
--- a/src/components/listview/listview.css
+++ b/src/components/listview/listview.css
@@ -191,6 +191,13 @@
}
}
+@media all and (max-width: 40em) {
+ [data-type='Movie'] .listItemImage,
+ [data-type='Series'] .listItemImage {
+ display: none;
+ }
+}
+
.listItemImage-large-tv {
width: 30vw !important;
height: 20vw !important;
From fec73157634101462be48d89b0e2cc84f3622165 Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 09:47:30 +0100
Subject: [PATCH 057/416] Fix accessing subtitles and playback data
---
src/components/dialogHelper/dialogHelper.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/dialogHelper/dialogHelper.js b/src/components/dialogHelper/dialogHelper.js
index e1a267fed2..eb46d98b12 100644
--- a/src/components/dialogHelper/dialogHelper.js
+++ b/src/components/dialogHelper/dialogHelper.js
@@ -375,7 +375,7 @@ import 'scrollStyles';
dlg.setAttribute('data-lockscroll', 'true');
}
- if (options.enableHistory !== false) {
+ if (options.enableHistory === true) {
dlg.setAttribute('data-history', 'true');
}
From 8900da42d8f08b1700e04e3296203c49f2dd7aac Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 10:07:06 +0100
Subject: [PATCH 058/416] Hide Alphapicker when not sorting alphabetically
(movies
---
src/controllers/movies/movies.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js
index 91b428ec68..d48812cb94 100644
--- a/src/controllers/movies/movies.js
+++ b/src/controllers/movies/movies.js
@@ -26,6 +26,11 @@ import 'emby-itemscontainer';
const updateFilterControls = () => {
if (this.alphaPicker) {
this.alphaPicker.value(query.NameStartsWithOrGreater);
+ if (query.SortBy.indexOf('SortName') === 0) {
+ this.alphaPicker.visible(true);
+ } else {
+ this.alphaPicker.visible(false);
+ }
}
};
From 477ecfdc9fd8fe2185a8aab9e7c0b06152f8887e Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 10:09:22 +0100
Subject: [PATCH 059/416] Hide Alphapicker when not sorting alphabetically (TV)
---
src/controllers/shows/tvshows.js | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/controllers/shows/tvshows.js b/src/controllers/shows/tvshows.js
index 281c921e48..31ef72621d 100644
--- a/src/controllers/shows/tvshows.js
+++ b/src/controllers/shows/tvshows.js
@@ -198,7 +198,16 @@ import 'emby-itemscontainer';
function updateFilterControls(tabContent) {
const query = getQuery(tabContent);
- self.alphaPicker.value(query.NameStartsWithOrGreater);
+
+ if (self.alphaPicker) {
+ self.alphaPicker.value(query.NameStartsWithOrGreater);
+
+ if (query.SortBy.indexOf('SortName') === 0) {
+ self.alphaPicker.visible(true);
+ } else {
+ self.alphaPicker.visible(false);
+ }
+ }
}
const self = this;
From d8cb6068940d56034a92314754d2b3fdb0d08cef Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 10:09:28 +0100
Subject: [PATCH 060/416] Hide Alphapicker when not sorting alphabetically
(Music)
---
src/controllers/music/musicalbums.js | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/controllers/music/musicalbums.js b/src/controllers/music/musicalbums.js
index 7ea8fa254a..5bb8546e76 100644
--- a/src/controllers/music/musicalbums.js
+++ b/src/controllers/music/musicalbums.js
@@ -186,7 +186,16 @@ import 'emby-itemscontainer';
const updateFilterControls = (tabContent) => {
const query = getQuery();
- this.alphaPicker.value(query.NameStartsWithOrGreater);
+
+ if (this.alphaPicker) {
+ this.alphaPicker.value(query.NameStartsWithOrGreater);
+
+ if (query.SortBy.indexOf('SortName') === 0) {
+ this.alphaPicker.visible(true);
+ } else {
+ this.alphaPicker.visible(false);
+ }
+ }
};
let savedQueryKey;
From ab7fafa891b5c26ec758424a91c594fed7e03efb Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 10:12:10 +0100
Subject: [PATCH 061/416] Remove ailiasing this
---
src/controllers/shows/tvshows.js | 47 ++++++++++++++++----------------
1 file changed, 23 insertions(+), 24 deletions(-)
diff --git a/src/controllers/shows/tvshows.js b/src/controllers/shows/tvshows.js
index 31ef72621d..17407e4c5d 100644
--- a/src/controllers/shows/tvshows.js
+++ b/src/controllers/shows/tvshows.js
@@ -54,8 +54,8 @@ import 'emby-itemscontainer';
return context.savedQueryKey;
}
- function onViewStyleChange() {
- const viewStyle = self.getCurrentViewStyle();
+ const onViewStyleChange = () => {
+ const viewStyle = this.getCurrentViewStyle();
const itemsContainer = tabContent.querySelector('.itemsContainer');
if (viewStyle == 'List') {
@@ -67,13 +67,13 @@ import 'emby-itemscontainer';
}
itemsContainer.innerHTML = '';
- }
+ };
- function reloadItems(page) {
+ const reloadItems = (page) => {
loading.show();
isLoading = true;
const query = getQuery(page);
- ApiClient.getItems(ApiClient.getCurrentUserId(), query).then(function (result) {
+ ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
function onNextPageClick() {
if (isLoading) {
return;
@@ -109,7 +109,7 @@ import 'emby-itemscontainer';
sortButton: false,
filterButton: false
});
- const viewStyle = self.getCurrentViewStyle();
+ const viewStyle = this.getCurrentViewStyle();
if (viewStyle == 'Thumb') {
html = cardBuilder.getCardsHtml({
items: result.Items,
@@ -196,25 +196,24 @@ import 'emby-itemscontainer';
});
}
- function updateFilterControls(tabContent) {
+ const updateFilterControls = (tabContent) => {
const query = getQuery(tabContent);
- if (self.alphaPicker) {
- self.alphaPicker.value(query.NameStartsWithOrGreater);
+ if (this.alphaPicker) {
+ this.alphaPicker.value(query.NameStartsWithOrGreater);
if (query.SortBy.indexOf('SortName') === 0) {
- self.alphaPicker.visible(true);
+ this.alphaPicker.visible(true);
} else {
- self.alphaPicker.visible(false);
+ this.alphaPicker.visible(false);
}
}
- }
+ };
- const self = this;
const data = {};
let isLoading = false;
- self.showFilterMenu = function () {
+ this.showFilterMenu = function () {
import('components/filterdialog/filterdialog').then(({default: filterDialogFactory}) => {
const filterDialog = new filterDialogFactory({
query: getQuery(tabContent),
@@ -229,11 +228,11 @@ import 'emby-itemscontainer';
});
};
- self.getCurrentViewStyle = function () {
+ this.getCurrentViewStyle = function () {
return getPageData(tabContent).view;
};
- function initPage(tabContent) {
+ const initPage = (tabContent) => {
const alphaPickerElement = tabContent.querySelector('.alphaPicker');
const itemsContainer = tabContent.querySelector('.itemsContainer');
@@ -244,7 +243,7 @@ import 'emby-itemscontainer';
query.StartIndex = 0;
reloadItems(tabContent);
});
- self.alphaPicker = new AlphaPicker({
+ this.alphaPicker = new AlphaPicker({
element: alphaPickerElement,
valueChangeEvent: 'click'
});
@@ -253,8 +252,8 @@ import 'emby-itemscontainer';
alphaPickerElement.classList.add('alphaPicker-fixed-right');
itemsContainer.classList.add('padded-right-withalphapicker');
- tabContent.querySelector('.btnFilter').addEventListener('click', function () {
- self.showFilterMenu();
+ tabContent.querySelector('.btnFilter').addEventListener('click', () => {
+ this.showFilterMenu();
});
tabContent.querySelector('.btnSort').addEventListener('click', function (e) {
libraryBrowser.showSortMenu({
@@ -286,8 +285,8 @@ import 'emby-itemscontainer';
});
});
const btnSelectView = tabContent.querySelector('.btnSelectView');
- btnSelectView.addEventListener('click', function (e) {
- libraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), 'Banner,List,Poster,PosterCard,Thumb,ThumbCard'.split(','));
+ btnSelectView.addEventListener('click', (e) => {
+ libraryBrowser.showLayoutMenu(e.target, this.getCurrentViewStyle(), 'Banner,List,Poster,PosterCard,Thumb,ThumbCard'.split(','));
});
btnSelectView.addEventListener('layoutchange', function (e) {
const viewStyle = e.detail.viewStyle;
@@ -297,17 +296,17 @@ import 'emby-itemscontainer';
onViewStyleChange();
reloadItems(tabContent);
});
- }
+ };
initPage(tabContent);
onViewStyleChange();
- self.renderTab = function () {
+ this.renderTab = function () {
reloadItems(tabContent);
updateFilterControls(tabContent);
};
- self.destroy = function () {};
+ this.destroy = function () {};
}
/* eslint-enable indent */
From 840ef01a1303582584b914a31c650822fe57c6b5 Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 10:13:15 +0100
Subject: [PATCH 062/416] Replace loops for for..of
---
src/controllers/shows/tvshows.js | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/controllers/shows/tvshows.js b/src/controllers/shows/tvshows.js
index 17407e4c5d..7d76c78faa 100644
--- a/src/controllers/shows/tvshows.js
+++ b/src/controllers/shows/tvshows.js
@@ -169,18 +169,18 @@ import 'emby-itemscontainer';
let elems = tabContent.querySelectorAll('.paging');
- for (let i = 0, length = elems.length; i < length; i++) {
- elems[i].innerHTML = pagingHtml;
+ for (const elem of elems) {
+ elem.innerHTML = pagingHtml;
}
elems = tabContent.querySelectorAll('.btnNextPage');
- for (let i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener('click', onNextPageClick);
+ for (const elem of elems) {
+ elem.addEventListener('click', onNextPageClick);
}
elems = tabContent.querySelectorAll('.btnPreviousPage');
- for (let i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener('click', onPreviousPageClick);
+ for (const elem of elems) {
+ elem.addEventListener('click', onPreviousPageClick);
}
const itemsContainer = tabContent.querySelector('.itemsContainer');
@@ -194,7 +194,7 @@ import 'emby-itemscontainer';
autoFocuser.autoFocus(page);
});
});
- }
+ };
const updateFilterControls = (tabContent) => {
const query = getQuery(tabContent);
From 4968f71858834e0ad29f9ad446698d0faa2e808d Mon Sep 17 00:00:00 2001
From: Cameron
Date: Tue, 1 Sep 2020 10:14:14 +0100
Subject: [PATCH 063/416] Replace loops for for..of
---
src/controllers/music/musicalbums.js | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/src/controllers/music/musicalbums.js b/src/controllers/music/musicalbums.js
index 5bb8546e76..5ecb553024 100644
--- a/src/controllers/music/musicalbums.js
+++ b/src/controllers/music/musicalbums.js
@@ -155,20 +155,21 @@ import 'emby-itemscontainer';
overlayPlayButton: true
});
}
+
let elems = tabContent.querySelectorAll('.paging');
- for (let i = 0, length = elems.length; i < length; i++) {
- elems[i].innerHTML = pagingHtml;
+ for (const elem of elems) {
+ elem.innerHTML = pagingHtml;
}
elems = tabContent.querySelectorAll('.btnNextPage');
- for (let i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener('click', onNextPageClick);
+ for (const elem of elems) {
+ elem.addEventListener('click', onNextPageClick);
}
elems = tabContent.querySelectorAll('.btnPreviousPage');
- for (let i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener('click', onPreviousPageClick);
+ for (const elem of elems) {
+ elem.addEventListener('click', onPreviousPageClick);
}
const itemsContainer = tabContent.querySelector('.itemsContainer');
@@ -209,10 +210,12 @@ import 'emby-itemscontainer';
mode: 'albums',
serverId: ApiClient.serverId()
});
+
events.on(filterDialog, 'filterchange', function () {
getQuery().StartIndex = 0;
reloadItems(tabContent);
});
+
filterDialog.show();
});
};
@@ -232,6 +235,7 @@ import 'emby-itemscontainer';
query.StartIndex = 0;
reloadItems(tabContent);
});
+
this.alphaPicker = new AlphaPicker({
element: alphaPickerElement,
valueChangeEvent: 'click'
@@ -244,6 +248,7 @@ import 'emby-itemscontainer';
tabContent.querySelector('.btnFilter').addEventListener('click', () => {
this.showFilterMenu();
});
+
tabContent.querySelector('.btnSort').addEventListener('click', (e) => {
libraryBrowser.showSortMenu({
items: [{
@@ -276,10 +281,12 @@ import 'emby-itemscontainer';
button: e.target
});
});
+
const btnSelectView = tabContent.querySelector('.btnSelectView');
btnSelectView.addEventListener('click', (e) => {
libraryBrowser.showLayoutMenu(e.target, this.getCurrentViewStyle(), 'List,Poster,PosterCard'.split(','));
});
+
btnSelectView.addEventListener('layoutchange', function (e) {
const viewStyle = e.detail.viewStyle;
getPageData().view = viewStyle;
@@ -288,6 +295,7 @@ import 'emby-itemscontainer';
onViewStyleChange();
reloadItems(tabContent);
});
+
tabContent.querySelector('.btnPlayAll').addEventListener('click', playAll);
tabContent.querySelector('.btnShuffle').addEventListener('click', shuffle);
};
From f7d0b9491619262a8e420552872d16a6a5b9ca49 Mon Sep 17 00:00:00 2001
From: Dmitry Lyzo
Date: Tue, 1 Sep 2020 13:32:12 +0300
Subject: [PATCH 064/416] Babel libarchive
---
webpack.dev.js | 2 +-
webpack.prod.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/webpack.dev.js b/webpack.dev.js
index 3d0c2a48a0..33e171daa8 100644
--- a/webpack.dev.js
+++ b/webpack.dev.js
@@ -15,7 +15,7 @@ module.exports = merge(common, {
rules: [
{
test: /\.js$/,
- exclude: /node_modules[\\/](?!date-fns|epubjs|jellyfin-apiclient|query-string|split-on-first|strict-uri-encode|xmldom)/,
+ exclude: /node_modules[\\/](?!date-fns|epubjs|libarchive|jellyfin-apiclient|query-string|split-on-first|strict-uri-encode|xmldom)/,
use: {
loader: 'babel-loader',
options: {
diff --git a/webpack.prod.js b/webpack.prod.js
index 52d6d0a865..408eb4bb59 100644
--- a/webpack.prod.js
+++ b/webpack.prod.js
@@ -8,7 +8,7 @@ module.exports = merge(common, {
rules: [
{
test: /\.js$/,
- exclude: /node_modules[\\/](?!date-fns|epubjs|jellyfin-apiclient|query-string|split-on-first|strict-uri-encode|xmldom)/,
+ exclude: /node_modules[\\/](?!date-fns|epubjs|libarchive|jellyfin-apiclient|query-string|split-on-first|strict-uri-encode|xmldom)/,
use: {
loader: 'babel-loader',
options: {
From 1a768f9335bfd200862a65a3d61aa0f5a8573c96 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Tue, 1 Sep 2020 12:13:30 +0000
Subject: [PATCH 065/416] Bump @babel/core from 7.11.4 to 7.11.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.4 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-core)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 62 ++++++++++++++++++++++++++--------------------------
2 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/package.json b/package.json
index cb6c0dbbbb..2b941d5ff1 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"repository": "https://github.com/jellyfin/jellyfin-web",
"license": "GPL-2.0-or-later",
"devDependencies": {
- "@babel/core": "^7.11.4",
+ "@babel/core": "^7.11.5",
"@babel/eslint-parser": "^7.11.4",
"@babel/eslint-plugin": "^7.11.3",
"@babel/plugin-proposal-class-properties": "^7.10.1",
diff --git a/yarn.lock b/yarn.lock
index 51cad78150..c77614b392 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18,19 +18,19 @@
invariant "^2.2.4"
semver "^5.5.0"
-"@babel/core@>=7.2.2", "@babel/core@>=7.9.0", "@babel/core@^7.11.4":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229"
- integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg==
+"@babel/core@>=7.2.2", "@babel/core@>=7.9.0", "@babel/core@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.5.tgz#6ad96e2f71899ea3f9b651f0a911e85205d1ff6d"
+ integrity sha512-fsEANVOcZHzrsV6dMVWqpSeXClq3lNbYrfFGme6DE25FQWe7pyeYpXyx9guqUnpy466JLzZ8z4uwSr2iv60V5Q==
dependencies:
"@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.4"
+ "@babel/generator" "^7.11.5"
"@babel/helper-module-transforms" "^7.11.0"
"@babel/helpers" "^7.10.4"
- "@babel/parser" "^7.11.4"
+ "@babel/parser" "^7.11.5"
"@babel/template" "^7.10.4"
- "@babel/traverse" "^7.11.0"
- "@babel/types" "^7.11.0"
+ "@babel/traverse" "^7.11.5"
+ "@babel/types" "^7.11.5"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.1"
@@ -38,7 +38,7 @@
lodash "^4.17.19"
resolve "^1.3.2"
semver "^5.4.1"
- source-map "^0.5.0"
+ source-map "^0.6.1"
"@babel/eslint-parser@^7.11.4":
version "7.11.4"
@@ -56,14 +56,14 @@
dependencies:
eslint-rule-composer "^0.3.0"
-"@babel/generator@^7.11.0", "@babel/generator@^7.11.4":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be"
- integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==
+"@babel/generator@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.5.tgz#a5582773425a468e4ba269d9a1f701fbca6a7a82"
+ integrity sha512-9UqHWJ4IwRTy4l0o8gq2ef8ws8UPzvtMkVKjTLAiRmza9p9V6Z+OfuNd9fB1j5Q67F+dVJtPC2sZXI8NM9br4g==
dependencies:
- "@babel/types" "^7.11.0"
+ "@babel/types" "^7.11.5"
jsesc "^2.5.1"
- source-map "^0.5.0"
+ source-map "^0.6.1"
"@babel/helper-annotate-as-pure@^7.10.4":
version "7.10.4"
@@ -281,10 +281,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4":
- version "7.11.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca"
- integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==
+"@babel/parser@^7.10.4", "@babel/parser@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037"
+ integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==
"@babel/plugin-proposal-async-generator-functions@^7.10.4":
version "7.10.4"
@@ -838,25 +838,25 @@
"@babel/parser" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
- integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==
+"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3"
+ integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==
dependencies:
"@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.0"
+ "@babel/generator" "^7.11.5"
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.11.0"
- "@babel/types" "^7.11.0"
+ "@babel/parser" "^7.11.5"
+ "@babel/types" "^7.11.5"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.19"
-"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.4.4":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
- integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
+"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.4.4":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d"
+ integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==
dependencies:
"@babel/helper-validator-identifier" "^7.10.4"
lodash "^4.17.19"
@@ -10334,7 +10334,7 @@ source-map@^0.4.2:
dependencies:
amdefine ">=0.0.4"
-source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6:
+source-map@^0.5.1, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
From 2e59af82ac3eeb195fc7990d13d6ad1e7762c51e Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Tue, 1 Sep 2020 13:15:37 +0000
Subject: [PATCH 066/416] Bump @babel/preset-env from 7.11.0 to 7.11.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.0 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-preset-env)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/package.json b/package.json
index cb6c0dbbbb..7408543876 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"@babel/plugin-proposal-private-methods": "^7.10.1",
"@babel/plugin-transform-modules-amd": "^7.10.5",
"@babel/polyfill": "^7.8.7",
- "@babel/preset-env": "^7.11.0",
+ "@babel/preset-env": "^7.11.5",
"autoprefixer": "^9.8.6",
"babel-loader": "^8.0.6",
"browser-sync": "^2.26.12",
diff --git a/yarn.lock b/yarn.lock
index 51cad78150..2e7828362f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -737,10 +737,10 @@
core-js "^2.6.5"
regenerator-runtime "^0.13.4"
-"@babel/preset-env@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796"
- integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==
+"@babel/preset-env@^7.11.5":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272"
+ integrity sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA==
dependencies:
"@babel/compat-data" "^7.11.0"
"@babel/helper-compilation-targets" "^7.10.4"
@@ -804,7 +804,7 @@
"@babel/plugin-transform-unicode-escapes" "^7.10.4"
"@babel/plugin-transform-unicode-regex" "^7.10.4"
"@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.11.0"
+ "@babel/types" "^7.11.5"
browserslist "^4.12.0"
core-js-compat "^3.6.2"
invariant "^2.2.2"
@@ -853,10 +853,10 @@
globals "^11.1.0"
lodash "^4.17.19"
-"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.4.4":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
- integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
+"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.4.4":
+ version "7.11.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d"
+ integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==
dependencies:
"@babel/helper-validator-identifier" "^7.10.4"
lodash "^4.17.19"
From f2e559540bb619479d4efc0cfb5c73ce6b15704a Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Tue, 1 Sep 2020 15:48:22 +0000
Subject: [PATCH 067/416] Bump hls.js from 0.14.10 to 0.14.11
Bumps [hls.js](https://github.com/video-dev/hls.js) from 0.14.10 to 0.14.11.
- [Release notes](https://github.com/video-dev/hls.js/releases)
- [Changelog](https://github.com/video-dev/hls.js/blob/master/docs/release-process.md)
- [Commits](https://github.com/video-dev/hls.js/compare/v0.14.10...v0.14.11)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index cb6c0dbbbb..45187c35fb 100644
--- a/package.json
+++ b/package.json
@@ -65,7 +65,7 @@
"fast-text-encoding": "^1.0.3",
"flv.js": "^1.5.0",
"headroom.js": "^0.11.0",
- "hls.js": "^0.14.10",
+ "hls.js": "^0.14.11",
"howler": "^2.2.0",
"intersection-observer": "^0.11.0",
"jellyfin-apiclient": "^1.4.1",
diff --git a/yarn.lock b/yarn.lock
index 51cad78150..60c2a6ff1b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5477,10 +5477,10 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-hls.js@^0.14.10:
- version "0.14.10"
- resolved "https://registry.yarnpkg.com/hls.js/-/hls.js-0.14.10.tgz#51365ecc2764066e6b4379587aee64c1e181f683"
- integrity sha512-muBt5Gxhapgk2uV8aEKRYe9GJ6AI5niFfDuOd8ZXHga519RNJ0+QAeRPdEpl1QKMqj1lT/6r/WKVnLL+ePB6ow==
+hls.js@^0.14.11:
+ version "0.14.11"
+ resolved "https://registry.yarnpkg.com/hls.js/-/hls.js-0.14.11.tgz#b3d123c45b1feb8c5c19f70574074fa0a77e016b"
+ integrity sha512-l7fm8AAEIIVc9r+RZbVAPcpccWIk6oludZ7R78B/ZJsYvuL5LJF8h0o8iayoIcbPT8ArM8vBhOkWFbe9q46Kew==
dependencies:
eventemitter3 "^4.0.3"
url-toolkit "^2.1.6"
From a335246f5d1d68b4151ef0c36034aafa6bad9bd0 Mon Sep 17 00:00:00 2001
From: "dependabot-preview[bot]"
<27856297+dependabot-preview[bot]@users.noreply.github.com>
Date: Tue, 1 Sep 2020 16:15:52 +0000
Subject: [PATCH 068/416] Bump eslint from 7.7.0 to 7.8.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.7.0 to 7.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.7.0...v7.8.0)
Signed-off-by: dependabot-preview[bot]
---
package.json | 2 +-
yarn.lock | 53 ++++++++++++++++++++++++++--------------------------
2 files changed, 28 insertions(+), 27 deletions(-)
diff --git a/package.json b/package.json
index cb6c0dbbbb..bfdff8873a 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"css-loader": "^4.2.2",
"cssnano": "^4.1.10",
"del": "^5.1.0",
- "eslint": "^7.7.0",
+ "eslint": "^7.8.0",
"eslint-plugin-compat": "^3.5.1",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.21.2",
diff --git a/yarn.lock b/yarn.lock
index 51cad78150..b32a92dd26 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -867,6 +867,16 @@
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
+"@eslint/eslintrc@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.0.tgz#3d1f19fb797d42fb1c85458c1c73541eeb1d9e76"
+ integrity sha512-bfL5365QSCmH6cPeFT7Ywclj8C7LiF7sO6mUGzZhtAMV7iID1Euq6740u/SRi4C80NOnVz/CEfK8/HO+nCAPJg==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.1.1"
+ import-fresh "^3.2.1"
+ strip-json-comments "^3.1.1"
+
"@gulp-sourcemaps/identity-map@1.X":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz#1e6fe5d8027b1f285dc0d31762f566bccd73d5a9"
@@ -1258,10 +1268,10 @@ acorn@^6.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
-acorn@^7.3.1:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
- integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
+acorn@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
+ integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
after@0.8.2:
version "0.8.2"
@@ -1291,17 +1301,7 @@ ajv-keywords@^3.5.2:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
- version "6.12.3"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
- integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^6.12.4:
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.5.5:
version "6.12.4"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
@@ -4051,12 +4051,13 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-eslint@^7.7.0:
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073"
- integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg==
+eslint@^7.8.0:
+ version "7.8.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.8.0.tgz#9a3e2e6e4d0a3f8c42686073c25ebf2e91443e8a"
+ integrity sha512-qgtVyLZqKd2ZXWnLQA4NtVbOyH56zivOAdBFWE54RFkSZjokzNrcP4Z0eVWsZ+84ByXv+jL9k/wE1ENYe8xRFw==
dependencies:
"@babel/code-frame" "^7.0.0"
+ "@eslint/eslintrc" "^0.1.0"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
@@ -4066,7 +4067,7 @@ eslint@^7.7.0:
eslint-scope "^5.1.0"
eslint-utils "^2.1.0"
eslint-visitor-keys "^1.3.0"
- espree "^7.2.0"
+ espree "^7.3.0"
esquery "^1.2.0"
esutils "^2.0.2"
file-entry-cache "^5.0.1"
@@ -4093,12 +4094,12 @@ eslint@^7.7.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^7.2.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69"
- integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==
+espree@^7.3.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348"
+ integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==
dependencies:
- acorn "^7.3.1"
+ acorn "^7.4.0"
acorn-jsx "^5.2.0"
eslint-visitor-keys "^1.3.0"
@@ -10738,7 +10739,7 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
-strip-json-comments@^3.1.0:
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
From d898c1676a89fd90b3e2446b1649d9cdea235b97 Mon Sep 17 00:00:00 2001
From: Bill Thornton
Date: Tue, 1 Sep 2020 13:20:26 -0400
Subject: [PATCH 069/416] Fix old iOS devices that do not support AC-3
---
src/scripts/browserDeviceProfile.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js
index 67c75da901..9e4a410cea 100644
--- a/src/scripts/browserDeviceProfile.js
+++ b/src/scripts/browserDeviceProfile.js
@@ -70,6 +70,12 @@ define(['browser'], function (browser) {
return true;
}
+ // iPhones 5c and older and old model iPads do not support AC-3/E-AC-3
+ // These models can only run iOS 10.x or lower
+ if (browser.iOS && browser.iOSVersion < 11) {
+ return false;
+ }
+
return videoTestElement.canPlayType('audio/mp4; codecs="ac-3"').replace(/no/, '');
}
@@ -78,6 +84,12 @@ define(['browser'], function (browser) {
return true;
}
+ // iPhones 5c and older and old model iPads do not support AC-3/E-AC-3
+ // These models can only run iOS 10.x or lower
+ if (browser.iOS && browser.iOSVersion < 11) {
+ return false;
+ }
+
return videoTestElement.canPlayType('audio/mp4; codecs="ec-3"').replace(/no/, '');
}
From 8bc84fba3cfc0bc0c0a323ee394ee947e84863ec Mon Sep 17 00:00:00 2001
From: Oatavandi
Date: Tue, 1 Sep 2020 14:45:54 +0000
Subject: [PATCH 070/416] Translated using Weblate (Tamil) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ta/
---
src/strings/ta.json | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/strings/ta.json b/src/strings/ta.json
index 186b02dfa1..920265f15b 100644
--- a/src/strings/ta.json
+++ b/src/strings/ta.json
@@ -1380,5 +1380,18 @@
"PersonRole": "{0} என",
"ListPaging": "{0} - {2} இன் {1}",
"WriteAccessRequired": "ஜெல்லிஃபினுக்கு இந்த கோப்புறையில் எழுத அணுகல் தேவை. எழுதும் அணுகலை உறுதிசெய்து மீண்டும் முயற்சிக்கவும்.",
- "PlaybackRate": "பின்னணி வீதம்"
+ "PlaybackRate": "பின்னணி வீதம்",
+ "Video": "காணொளி",
+ "ThumbCard": "சிறுபடம்",
+ "Subtitle": "வசன வரிகள்",
+ "SpecialFeatures": "சிறப்பு அம்சங்கள்",
+ "SelectServer": "சேவையகத்தைத் தேர்ந்தெடுக்கவும்",
+ "Restart": "மறுதொடக்கம்",
+ "ResetPassword": "கடவுச்சொல்லை மீட்டமைக்க",
+ "Profile": "சுயவிவரம்",
+ "PosterCard": "சுவரொட்டி அட்டை",
+ "Poster": "சுவரொட்டி",
+ "MusicVideos": "இசை கானொளி",
+ "Image": "படம்",
+ "Data": "தகவல்கள்"
}
From 909228ff73dc4108cb4fe3dd0e95aa6f82cdc94c Mon Sep 17 00:00:00 2001
From: sp0ken
Date: Tue, 1 Sep 2020 19:46:22 +0000
Subject: [PATCH 071/416] Translated using Weblate (French) Translation:
Jellyfin/Jellyfin Web Translate-URL:
https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/
---
src/strings/fr.json | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/strings/fr.json b/src/strings/fr.json
index 45c287298b..42419fbd62 100644
--- a/src/strings/fr.json
+++ b/src/strings/fr.json
@@ -1366,5 +1366,14 @@
"LabelSubtitleVerticalPosition": "Position verticale :",
"MessageGetInstalledPluginsError": "Une erreur est survenue lors de la récupération de la liste des extensions installées.",
"MessagePluginInstallError": "Une erreur est survenue durant l'installation de l'extension.",
- "PlaybackRate": "Vitesse de lecture"
+ "PlaybackRate": "Vitesse de lecture",
+ "Subtitle": "Sous-titre",
+ "SelectServer": "Choisissez un serveur",
+ "Restart": "Redémarrer",
+ "ResetPassword": "Réinitialiser le mot de passe",
+ "Profile": "Profil",
+ "Poster": "Affiche",
+ "MusicVideos": "Clips musicaux",
+ "Image": "Image",
+ "Data": "Données"
}
From eccaad366e6150c7dfa2010275714ee8dba8aa07 Mon Sep 17 00:00:00 2001
From: Dmitry Lyzo
Date: Tue, 1 Sep 2020 23:52:27 +0300
Subject: [PATCH 072/416] Add timeout for polyfilled CustomElements (webOS 1.2)
---
src/components/viewContainer.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/components/viewContainer.js b/src/components/viewContainer.js
index 9d64130cdb..6be8cfd19b 100644
--- a/src/components/viewContainer.js
+++ b/src/components/viewContainer.js
@@ -82,7 +82,8 @@ import 'css!components/viewManager/viewContainer';
}
allPages[pageIndex] = view;
- setControllerClass(view, options).then(() => {
+ // Timeout for polyfilled CustomElements (webOS 1.2)
+ setControllerClass(view, options).then(() => new Promise((resolve) => setTimeout(resolve, 0))).then(() => {
if (onBeforeChange) {
onBeforeChange(view, false, options);
}
From 748592fa9310732bff082466a3308a51f24740bb Mon Sep 17 00:00:00 2001
From: Dmitry Lyzo
Date: Wed, 2 Sep 2020 01:06:07 +0300
Subject: [PATCH 073/416] Remove nested Promise
---
src/components/viewContainer.js | 75 +++++++++++++++++----------------
1 file changed, 38 insertions(+), 37 deletions(-)
diff --git a/src/components/viewContainer.js b/src/components/viewContainer.js
index 6be8cfd19b..bbec0c0e65 100644
--- a/src/components/viewContainer.js
+++ b/src/components/viewContainer.js
@@ -36,54 +36,56 @@ import 'css!components/viewManager/viewContainer';
const newViewInfo = normalizeNewView(options, isPluginpage);
const newView = newViewInfo.elem;
- return new Promise((resolve) => {
- const currentPage = allPages[pageIndex];
+ const currentPage = allPages[pageIndex];
- if (currentPage) {
- triggerDestroy(currentPage);
- }
+ if (currentPage) {
+ triggerDestroy(currentPage);
+ }
- let view = newView;
+ let view = newView;
- if (typeof view == 'string') {
- view = document.createElement('div');
- view.innerHTML = newView;
- }
+ if (typeof view == 'string') {
+ view = document.createElement('div');
+ view.innerHTML = newView;
+ }
- view.classList.add('mainAnimatedPage');
+ view.classList.add('mainAnimatedPage');
- if (currentPage) {
- if (newViewInfo.hasScript && window.$) {
- mainAnimatedPages.removeChild(currentPage);
- view = $(view).appendTo(mainAnimatedPages)[0];
- } else {
- mainAnimatedPages.replaceChild(view, currentPage);
- }
+ if (currentPage) {
+ if (newViewInfo.hasScript && window.$) {
+ mainAnimatedPages.removeChild(currentPage);
+ view = $(view).appendTo(mainAnimatedPages)[0];
} else {
- if (newViewInfo.hasScript && window.$) {
- view = $(view).appendTo(mainAnimatedPages)[0];
- } else {
- mainAnimatedPages.appendChild(view);
- }
+ mainAnimatedPages.replaceChild(view, currentPage);
}
-
- if (options.type) {
- view.setAttribute('data-type', options.type);
+ } else {
+ if (newViewInfo.hasScript && window.$) {
+ view = $(view).appendTo(mainAnimatedPages)[0];
+ } else {
+ mainAnimatedPages.appendChild(view);
}
+ }
- const properties = [];
+ if (options.type) {
+ view.setAttribute('data-type', options.type);
+ }
- if (options.fullscreen) {
- properties.push('fullscreen');
- }
+ const properties = [];
- if (properties.length) {
- view.setAttribute('data-properties', properties.join(','));
- }
+ if (options.fullscreen) {
+ properties.push('fullscreen');
+ }
- allPages[pageIndex] = view;
+ if (properties.length) {
+ view.setAttribute('data-properties', properties.join(','));
+ }
+
+ allPages[pageIndex] = view;
+
+ return setControllerClass(view, options)
// Timeout for polyfilled CustomElements (webOS 1.2)
- setControllerClass(view, options).then(() => new Promise((resolve) => setTimeout(resolve, 0))).then(() => {
+ .then(() => new Promise((resolve) => setTimeout(resolve, 0)))
+ .then(() => {
if (onBeforeChange) {
onBeforeChange(view, false, options);
}
@@ -101,9 +103,8 @@ import 'css!components/viewManager/viewContainer';
$.mobile.activePage = view;
}
- resolve(view);
+ return view;
});
- });
}
}
From 459d6907d5e644a95155df29898af667575c374c Mon Sep 17 00:00:00 2001
From: dkanada
Date: Wed, 2 Sep 2020 14:54:54 +0900
Subject: [PATCH 074/416] fix a common error message and update some strings
---
src/components/playback/playbackmanager.js | 20 ++++++-------
src/controllers/dashboard/dlna/profile.html | 32 ++++++++++-----------
src/controllers/dashboard/library.js | 14 ++++-----
src/strings/en-us.json | 5 ++++
4 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js
index 4554956415..82bce8075e 100644
--- a/src/components/playback/playbackmanager.js
+++ b/src/components/playback/playbackmanager.js
@@ -639,22 +639,18 @@ function supportsDirectPlay(apiClient, item, mediaSource) {
function validatePlaybackInfoResult(instance, result) {
if (result.ErrorCode) {
- showPlaybackInfoErrorMessage(instance, result.ErrorCode);
+ showPlaybackInfoErrorMessage(instance, 'PlaybackError' + result.ErrorCode);
return false;
}
return true;
}
-function showPlaybackInfoErrorMessage(instance, errorCode, playNextTrack) {
+function showPlaybackInfoErrorMessage(instance, errorCode) {
import('alert').then(({ default: alert }) => {
alert({
- text: globalize.translate('PlaybackError' + errorCode),
+ text: globalize.translate(errorCode),
title: globalize.translate('HeaderPlaybackError')
- }).then(function () {
- if (playNextTrack) {
- instance.nextTrack();
- }
});
});
}
@@ -1701,7 +1697,7 @@ class PlaybackManager {
streamInfo.lastMediaInfoQuery = lastMediaInfoQuery;
if (!streamInfo.url) {
- showPlaybackInfoErrorMessage(self, 'NoCompatibleStream', true);
+ showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream');
return;
}
@@ -2061,7 +2057,7 @@ class PlaybackManager {
// If it's still null then there's nothing to play
if (!firstItem) {
- showPlaybackInfoErrorMessage(self, 'NoCompatibleStream', false);
+ showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream');
return Promise.reject();
}
@@ -2110,7 +2106,7 @@ class PlaybackManager {
function playInternal(item, playOptions, onPlaybackStartedFn) {
if (item.IsPlaceHolder) {
loading.hide();
- showPlaybackInfoErrorMessage(self, 'PlaceHolder', true);
+ showPlaybackInfoErrorMessage(self, 'PlaybackErrorPlaceHolder');
return Promise.reject();
}
@@ -2479,7 +2475,7 @@ class PlaybackManager {
return mediaSource;
}
} else {
- showPlaybackInfoErrorMessage(self, 'NoCompatibleStream');
+ showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream');
return Promise.reject();
}
});
@@ -2968,7 +2964,7 @@ class PlaybackManager {
}
if (displayErrorCode && typeof (displayErrorCode) === 'string') {
- showPlaybackInfoErrorMessage(self, displayErrorCode, nextItem);
+ showPlaybackInfoErrorMessage(self, 'PlaybackError' + displayErrorCode);
} else if (nextItem) {
self.nextTrack();
} else {
diff --git a/src/controllers/dashboard/dlna/profile.html b/src/controllers/dashboard/dlna/profile.html
index 1850076a79..22edffed99 100644
--- a/src/controllers/dashboard/dlna/profile.html
+++ b/src/controllers/dashboard/dlna/profile.html
@@ -33,11 +33,11 @@
@@ -144,19 +144,19 @@