Merge branch 'master' into stable24
commit
12c99cdb5c
|
@ -26,6 +26,8 @@ OC.L10N.register(
|
|||
"Choose the root of your timeline" : "Zvolte kořen vaší časové osy",
|
||||
"The selected folder does not seem to be valid. Try again." : "Vybraná složka se nezdá být platná. Zkuste to znovu.",
|
||||
"Found {total} photos in {path}" : "V {path} nalezeno {total} fotek",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "Nepodařilo se získat Exif metadata – může dojít k jejich ztrátě!",
|
||||
"No Exif data found! Continue?" : "Nenalezena žádná Exif data – pokračovat?",
|
||||
"Image saved successfully" : "Obrázek úspěšně uložen",
|
||||
"Error saving image" : "Chyb při ukládání obrázku",
|
||||
"Unsaved changes" : "Neuložené změny",
|
||||
|
@ -218,6 +220,7 @@ OC.L10N.register(
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Pozn.: označená oblast ořezu je menší než použitá změna rozlišení, což může způsobit snížení kvality",
|
||||
"Actual size (100%)" : "Skutečná velikost (100%)",
|
||||
"Fit size" : "Přizpůsobit velikost",
|
||||
"Transcoding failed." : "Překódování se nezdařilo.",
|
||||
"Shared Folder" : "Sdílená složka",
|
||||
"Failed to create {albumName}." : "Nepodařilo se vytvořit {albumName}.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nepodařilo přejmenovat {currentAlbumName} to {newAlbumName}.",
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
"Choose the root of your timeline" : "Zvolte kořen vaší časové osy",
|
||||
"The selected folder does not seem to be valid. Try again." : "Vybraná složka se nezdá být platná. Zkuste to znovu.",
|
||||
"Found {total} photos in {path}" : "V {path} nalezeno {total} fotek",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "Nepodařilo se získat Exif metadata – může dojít k jejich ztrátě!",
|
||||
"No Exif data found! Continue?" : "Nenalezena žádná Exif data – pokračovat?",
|
||||
"Image saved successfully" : "Obrázek úspěšně uložen",
|
||||
"Error saving image" : "Chyb při ukládání obrázku",
|
||||
"Unsaved changes" : "Neuložené změny",
|
||||
|
@ -216,6 +218,7 @@
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Pozn.: označená oblast ořezu je menší než použitá změna rozlišení, což může způsobit snížení kvality",
|
||||
"Actual size (100%)" : "Skutečná velikost (100%)",
|
||||
"Fit size" : "Přizpůsobit velikost",
|
||||
"Transcoding failed." : "Překódování se nezdařilo.",
|
||||
"Shared Folder" : "Sdílená složka",
|
||||
"Failed to create {albumName}." : "Nepodařilo se vytvořit {albumName}.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nepodařilo přejmenovat {currentAlbumName} to {newAlbumName}.",
|
||||
|
|
|
@ -26,6 +26,8 @@ OC.L10N.register(
|
|||
"Choose the root of your timeline" : "Start Ihrer Zeitleiste auswählen",
|
||||
"The selected folder does not seem to be valid. Try again." : "Der ausgewählte Ordner scheint ungültig zu sein. Versuchen Sie es nochmal.",
|
||||
"Found {total} photos in {path}" : "{total} Fotos gefunden in {path}",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "Exif-Daten konnten nicht abgerufen werden. Metadaten können verloren gehen!",
|
||||
"No Exif data found! Continue?" : "Keine Exif-Daten gefunden! Fortsetzen?",
|
||||
"Image saved successfully" : "Bild erfolgreich gespeichert",
|
||||
"Error saving image" : "Fehler beim Speichern des Bildes",
|
||||
"Unsaved changes" : "Ungespeicherte Änderungen",
|
||||
|
@ -218,6 +220,7 @@ OC.L10N.register(
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Beachten Sie, dass der ausgewählte Zuschneidebereich kleiner ist als die angewendete Größenänderung, was zu Qualitätseinbußen führen kann",
|
||||
"Actual size (100%)" : "Tatsächliche Größe (100%)",
|
||||
"Fit size" : "Größe anpassen",
|
||||
"Transcoding failed." : "Transkodierung fehlgeschlagen.",
|
||||
"Shared Folder" : "Geteilter Ordner",
|
||||
"Failed to create {albumName}." : "{albumName} konnte nicht erstellt werden.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} konnte nicht in {newAlbumName} umbenannt werden.",
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
"Choose the root of your timeline" : "Start Ihrer Zeitleiste auswählen",
|
||||
"The selected folder does not seem to be valid. Try again." : "Der ausgewählte Ordner scheint ungültig zu sein. Versuchen Sie es nochmal.",
|
||||
"Found {total} photos in {path}" : "{total} Fotos gefunden in {path}",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "Exif-Daten konnten nicht abgerufen werden. Metadaten können verloren gehen!",
|
||||
"No Exif data found! Continue?" : "Keine Exif-Daten gefunden! Fortsetzen?",
|
||||
"Image saved successfully" : "Bild erfolgreich gespeichert",
|
||||
"Error saving image" : "Fehler beim Speichern des Bildes",
|
||||
"Unsaved changes" : "Ungespeicherte Änderungen",
|
||||
|
@ -216,6 +218,7 @@
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Beachten Sie, dass der ausgewählte Zuschneidebereich kleiner ist als die angewendete Größenänderung, was zu Qualitätseinbußen führen kann",
|
||||
"Actual size (100%)" : "Tatsächliche Größe (100%)",
|
||||
"Fit size" : "Größe anpassen",
|
||||
"Transcoding failed." : "Transkodierung fehlgeschlagen.",
|
||||
"Shared Folder" : "Geteilter Ordner",
|
||||
"Failed to create {albumName}." : "{albumName} konnte nicht erstellt werden.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} konnte nicht in {newAlbumName} umbenannt werden.",
|
||||
|
|
|
@ -14,6 +14,8 @@ OC.L10N.register(
|
|||
"On this day" : "Ce même jour",
|
||||
"Tags" : "Étiquettes",
|
||||
"Maps" : "Cartes",
|
||||
"If you just installed Memories, run:" : "Si vous venez d'installer Souvenirs, exécuter :",
|
||||
"Image saved successfully" : "Image enregistrée avec succès",
|
||||
"Error saving image" : "Erreur lors de l'enregistrement de l'image",
|
||||
"Unsaved changes" : "Modifications non enregistrées",
|
||||
"Drop changes" : "Abandonner les changements",
|
||||
|
@ -27,6 +29,7 @@ OC.L10N.register(
|
|||
"Edit Date/Time" : "Éditer la Date/Heure",
|
||||
"View in folder" : "Afficher dans le dossier",
|
||||
"Add to album" : "Ajouter à l'album",
|
||||
"Move to another person" : "Déplacer vers une autre personne",
|
||||
"Remove from person" : "Retirer de la personne",
|
||||
"You are about to download a large number of files. Are you sure?" : "Vous êtes sur le point de télécharger un grand nombre de fichiers. Êtes-vous certain de vouloir le faire ?",
|
||||
"You are about to delete a large number of files. Are you sure?" : "Vous êtes sur le point de supprimer un grand nombre de fichiers. Êtes-vous certain⋅e de vouloir le faire ?",
|
||||
|
@ -34,9 +37,13 @@ OC.L10N.register(
|
|||
"_{n} selected_::_{n} selected_" : ["{n} sélectionné","{n} sélectionnés","{n} sélectionnés"],
|
||||
"Timeline Path" : "Emplacement du Fil chronologique",
|
||||
"Show hidden folders" : "Afficher les dossiers cachés",
|
||||
"Your Timeline" : "Votre fil chronologique",
|
||||
"Failed to load some photos" : "Échec du chargement de certaines photos",
|
||||
"Share" : "Partage",
|
||||
"Sidebar" : "Panneau latéral",
|
||||
"Video sharing not supported yet" : "Le partage de vidéo n'est pas encore disponible",
|
||||
"Cannot share this type of data" : "Impossible de partager ce type de données",
|
||||
"Processing … {n}/{m}" : "En cours de traitement … {n}/{m}",
|
||||
"Search for collaborators" : "Rechercher des collaborateurs",
|
||||
"Search people or groups" : "Recherche des personnes ou des groupes",
|
||||
"Add {collaboratorLabel} to the collaborators list" : "Ajouter {collaboratorLabel} à la liste des collaborateurs",
|
||||
|
@ -81,6 +88,7 @@ OC.L10N.register(
|
|||
"Exercise caution and make sure you have backups." : "Faites preuve de prudence et assurez-vous que vous disposez de sauvegardes.",
|
||||
"Loading data … {n}/{m}" : "Chargement des données… {n}/{m}",
|
||||
"Remove person" : "Retirer la personne",
|
||||
"Are you sure you want to remove {name}?" : "Êtes-vous sûr de vouloir retirer {name}?",
|
||||
"Name" : "Nom",
|
||||
"Rename person" : "Renommer la personne",
|
||||
"Update" : "Mise à jour",
|
||||
|
@ -173,13 +181,16 @@ OC.L10N.register(
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Notez que la zone de recadrage sélectionnée est inférieure au redimensionnement appliqué, ce qui peut entraîner une baisse de qualité.",
|
||||
"Actual size (100%)" : "Taille actuelle (100%)",
|
||||
"Fit size" : "Adapter à la taille",
|
||||
"Transcoding failed." : "Échec du transcodage.",
|
||||
"Failed to create {albumName}." : "Échec de la création de {albumName}.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Échec du renommage de {currentAlbumName} en {newAlbumName}.",
|
||||
"General Failure" : "Échec général",
|
||||
"Error: {msg}" : "Erreur : {msg}",
|
||||
"Failed to delete files." : "Échec de la suppression des fichiers.",
|
||||
"Failed to delete {fileName}." : "Échec de la suppression de {fileName}.",
|
||||
"Failed to download some files." : "Échec du téléchargement de certains fichiers.",
|
||||
"Failed to favorite files." : "Échec de la mise en favoris des fichiers.",
|
||||
"Failed to favorite some files." : "Échec de l'ajout en favoris de certains fichiers.",
|
||||
"Failed to favorite {fileName}." : "Échec de l'ajout aux favoris de {fileName}."
|
||||
},
|
||||
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
"On this day" : "Ce même jour",
|
||||
"Tags" : "Étiquettes",
|
||||
"Maps" : "Cartes",
|
||||
"If you just installed Memories, run:" : "Si vous venez d'installer Souvenirs, exécuter :",
|
||||
"Image saved successfully" : "Image enregistrée avec succès",
|
||||
"Error saving image" : "Erreur lors de l'enregistrement de l'image",
|
||||
"Unsaved changes" : "Modifications non enregistrées",
|
||||
"Drop changes" : "Abandonner les changements",
|
||||
|
@ -25,6 +27,7 @@
|
|||
"Edit Date/Time" : "Éditer la Date/Heure",
|
||||
"View in folder" : "Afficher dans le dossier",
|
||||
"Add to album" : "Ajouter à l'album",
|
||||
"Move to another person" : "Déplacer vers une autre personne",
|
||||
"Remove from person" : "Retirer de la personne",
|
||||
"You are about to download a large number of files. Are you sure?" : "Vous êtes sur le point de télécharger un grand nombre de fichiers. Êtes-vous certain de vouloir le faire ?",
|
||||
"You are about to delete a large number of files. Are you sure?" : "Vous êtes sur le point de supprimer un grand nombre de fichiers. Êtes-vous certain⋅e de vouloir le faire ?",
|
||||
|
@ -32,9 +35,13 @@
|
|||
"_{n} selected_::_{n} selected_" : ["{n} sélectionné","{n} sélectionnés","{n} sélectionnés"],
|
||||
"Timeline Path" : "Emplacement du Fil chronologique",
|
||||
"Show hidden folders" : "Afficher les dossiers cachés",
|
||||
"Your Timeline" : "Votre fil chronologique",
|
||||
"Failed to load some photos" : "Échec du chargement de certaines photos",
|
||||
"Share" : "Partage",
|
||||
"Sidebar" : "Panneau latéral",
|
||||
"Video sharing not supported yet" : "Le partage de vidéo n'est pas encore disponible",
|
||||
"Cannot share this type of data" : "Impossible de partager ce type de données",
|
||||
"Processing … {n}/{m}" : "En cours de traitement … {n}/{m}",
|
||||
"Search for collaborators" : "Rechercher des collaborateurs",
|
||||
"Search people or groups" : "Recherche des personnes ou des groupes",
|
||||
"Add {collaboratorLabel} to the collaborators list" : "Ajouter {collaboratorLabel} à la liste des collaborateurs",
|
||||
|
@ -79,6 +86,7 @@
|
|||
"Exercise caution and make sure you have backups." : "Faites preuve de prudence et assurez-vous que vous disposez de sauvegardes.",
|
||||
"Loading data … {n}/{m}" : "Chargement des données… {n}/{m}",
|
||||
"Remove person" : "Retirer la personne",
|
||||
"Are you sure you want to remove {name}?" : "Êtes-vous sûr de vouloir retirer {name}?",
|
||||
"Name" : "Nom",
|
||||
"Rename person" : "Renommer la personne",
|
||||
"Update" : "Mise à jour",
|
||||
|
@ -171,13 +179,16 @@
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Notez que la zone de recadrage sélectionnée est inférieure au redimensionnement appliqué, ce qui peut entraîner une baisse de qualité.",
|
||||
"Actual size (100%)" : "Taille actuelle (100%)",
|
||||
"Fit size" : "Adapter à la taille",
|
||||
"Transcoding failed." : "Échec du transcodage.",
|
||||
"Failed to create {albumName}." : "Échec de la création de {albumName}.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Échec du renommage de {currentAlbumName} en {newAlbumName}.",
|
||||
"General Failure" : "Échec général",
|
||||
"Error: {msg}" : "Erreur : {msg}",
|
||||
"Failed to delete files." : "Échec de la suppression des fichiers.",
|
||||
"Failed to delete {fileName}." : "Échec de la suppression de {fileName}.",
|
||||
"Failed to download some files." : "Échec du téléchargement de certains fichiers.",
|
||||
"Failed to favorite files." : "Échec de la mise en favoris des fichiers.",
|
||||
"Failed to favorite some files." : "Échec de l'ajout en favoris de certains fichiers.",
|
||||
"Failed to favorite {fileName}." : "Échec de l'ajout aux favoris de {fileName}."
|
||||
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
}
|
|
@ -14,6 +14,7 @@ OC.L10N.register(
|
|||
"On this day" : "Bugün",
|
||||
"Tags" : "Etiketler",
|
||||
"Maps" : "Haritalar",
|
||||
"EXIF" : "EXIF",
|
||||
"A better photos experience awaits you" : "Daha iyi bir fotoğraf deneyimi sizi bekliyor",
|
||||
"Choose the root folder of your timeline to begin" : "Zaman tünelinizin başlangıç kök klasörünü seçin",
|
||||
"If you just installed Memories, run:" : "Anılar uygulamasını yeni kurduysanız şunu çalıştırın:",
|
||||
|
@ -24,6 +25,9 @@ OC.L10N.register(
|
|||
"Choose the root of your timeline" : "Zaman tünelinizin kök klasörünü seçin",
|
||||
"The selected folder does not seem to be valid. Try again." : "Seçilmiş klasör geçersiz gibi görünüyor. Yeniden deneyin.",
|
||||
"Found {total} photos in {path}" : "{path} yolunda {total} fotoğraf bulundu",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "EXIF verileri alınamadı. Üst veriler kaybolmuş olabilir!",
|
||||
"No Exif data found! Continue?" : "Herhangi bir EXIF verisi bulunamadı. İlerlensin mi?",
|
||||
"Image saved successfully" : "Görsel kaydedildi",
|
||||
"Error saving image" : "Görsel kaydedilirken sorun çıktı",
|
||||
"Unsaved changes" : "Kaydedilmemiş değişiklikler",
|
||||
"Drop changes" : "Değişiklikleri yok say",
|
||||
|
@ -54,6 +58,8 @@ OC.L10N.register(
|
|||
"Failed to load some photos" : "Bazı fotoğraflar yüklenemedi",
|
||||
"Share" : "Paylaş",
|
||||
"Sidebar" : "Yan çubuk",
|
||||
"Video sharing not supported yet" : "Görüntü paylaşımı henüz desteklenmiyor",
|
||||
"Cannot share this type of data" : "Bu türdeki verileri paylaşamazsınız",
|
||||
"Processing … {n}/{m}" : "İşleniyor… {n}/{m}",
|
||||
"{n} photos added to album" : "{n} fotoğraf albüme eklendi",
|
||||
"Search for collaborators" : "Katılımcı arama",
|
||||
|
@ -148,7 +154,7 @@ OC.L10N.register(
|
|||
"Resize" : "Yeniden boyutlandır",
|
||||
"Invalid image." : "Görsel geçersiz.",
|
||||
"Error while uploading the image." : "Görsel yüklenirken sorun çıktı.",
|
||||
"are not images" : "görsel değil",
|
||||
"are not images" : "görseller değil",
|
||||
"is not an image" : "bir görsel değil",
|
||||
"to be uploaded" : "yüklenecek",
|
||||
"Crop" : "Kırp",
|
||||
|
@ -213,6 +219,7 @@ OC.L10N.register(
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Seçilmiş kırpma alanı uygulanan yeniden boyutlandırma alanından küçük. Bu durum görsel kalitesinin düşmesine neden olabilir.",
|
||||
"Actual size (100%)" : "Gerçek boyut (%100)",
|
||||
"Fit size" : "Boyutu sığdır",
|
||||
"Transcoding failed." : "Kod dönüştürülemedi.",
|
||||
"Shared Folder" : "Paylaşılmış klasör",
|
||||
"Failed to create {albumName}." : "{albumName} albümü oluşturulamadı.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} albümünün adı {newAlbumName} olarak değiştirilemedi.",
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
"On this day" : "Bugün",
|
||||
"Tags" : "Etiketler",
|
||||
"Maps" : "Haritalar",
|
||||
"EXIF" : "EXIF",
|
||||
"A better photos experience awaits you" : "Daha iyi bir fotoğraf deneyimi sizi bekliyor",
|
||||
"Choose the root folder of your timeline to begin" : "Zaman tünelinizin başlangıç kök klasörünü seçin",
|
||||
"If you just installed Memories, run:" : "Anılar uygulamasını yeni kurduysanız şunu çalıştırın:",
|
||||
|
@ -22,6 +23,9 @@
|
|||
"Choose the root of your timeline" : "Zaman tünelinizin kök klasörünü seçin",
|
||||
"The selected folder does not seem to be valid. Try again." : "Seçilmiş klasör geçersiz gibi görünüyor. Yeniden deneyin.",
|
||||
"Found {total} photos in {path}" : "{path} yolunda {total} fotoğraf bulundu",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "EXIF verileri alınamadı. Üst veriler kaybolmuş olabilir!",
|
||||
"No Exif data found! Continue?" : "Herhangi bir EXIF verisi bulunamadı. İlerlensin mi?",
|
||||
"Image saved successfully" : "Görsel kaydedildi",
|
||||
"Error saving image" : "Görsel kaydedilirken sorun çıktı",
|
||||
"Unsaved changes" : "Kaydedilmemiş değişiklikler",
|
||||
"Drop changes" : "Değişiklikleri yok say",
|
||||
|
@ -52,6 +56,8 @@
|
|||
"Failed to load some photos" : "Bazı fotoğraflar yüklenemedi",
|
||||
"Share" : "Paylaş",
|
||||
"Sidebar" : "Yan çubuk",
|
||||
"Video sharing not supported yet" : "Görüntü paylaşımı henüz desteklenmiyor",
|
||||
"Cannot share this type of data" : "Bu türdeki verileri paylaşamazsınız",
|
||||
"Processing … {n}/{m}" : "İşleniyor… {n}/{m}",
|
||||
"{n} photos added to album" : "{n} fotoğraf albüme eklendi",
|
||||
"Search for collaborators" : "Katılımcı arama",
|
||||
|
@ -146,7 +152,7 @@
|
|||
"Resize" : "Yeniden boyutlandır",
|
||||
"Invalid image." : "Görsel geçersiz.",
|
||||
"Error while uploading the image." : "Görsel yüklenirken sorun çıktı.",
|
||||
"are not images" : "görsel değil",
|
||||
"are not images" : "görseller değil",
|
||||
"is not an image" : "bir görsel değil",
|
||||
"to be uploaded" : "yüklenecek",
|
||||
"Crop" : "Kırp",
|
||||
|
@ -211,6 +217,7 @@
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Seçilmiş kırpma alanı uygulanan yeniden boyutlandırma alanından küçük. Bu durum görsel kalitesinin düşmesine neden olabilir.",
|
||||
"Actual size (100%)" : "Gerçek boyut (%100)",
|
||||
"Fit size" : "Boyutu sığdır",
|
||||
"Transcoding failed." : "Kod dönüştürülemedi.",
|
||||
"Shared Folder" : "Paylaşılmış klasör",
|
||||
"Failed to create {albumName}." : "{albumName} albümü oluşturulamadı.",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} albümünün adı {newAlbumName} olarak değiştirilemedi.",
|
||||
|
|
|
@ -26,6 +26,8 @@ OC.L10N.register(
|
|||
"Choose the root of your timeline" : "選擇您時間線的根",
|
||||
"The selected folder does not seem to be valid. Try again." : "選定的資料夾似乎是無效的。請再試一次。",
|
||||
"Found {total} photos in {path}" : "在 {path} 中找到 {total} 張照片",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "獲取 Exif 數據失敗。元數據可能會丟失!",
|
||||
"No Exif data found! Continue?" : "未找到 Exif 數據!繼續?",
|
||||
"Image saved successfully" : "圖像保存成功",
|
||||
"Error saving image" : "儲存圖像時發生錯誤",
|
||||
"Unsaved changes" : "未儲存變更",
|
||||
|
@ -218,6 +220,7 @@ OC.L10N.register(
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "請注意,選定的裁剪區域低於套用的調整大小,這可能會導致品質下降",
|
||||
"Actual size (100%)" : "實際大小 (100%)",
|
||||
"Fit size" : "調整大小",
|
||||
"Transcoding failed." : "轉碼失敗。",
|
||||
"Shared Folder" : "分享資料夾",
|
||||
"Failed to create {albumName}." : "創建 {albumName} 失敗。",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重新命名 {currentAlbumName} 為 {newAlbumName} 失敗。",
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
"Choose the root of your timeline" : "選擇您時間線的根",
|
||||
"The selected folder does not seem to be valid. Try again." : "選定的資料夾似乎是無效的。請再試一次。",
|
||||
"Found {total} photos in {path}" : "在 {path} 中找到 {total} 張照片",
|
||||
"Failed to get Exif data. Metadata may be lost!" : "獲取 Exif 數據失敗。元數據可能會丟失!",
|
||||
"No Exif data found! Continue?" : "未找到 Exif 數據!繼續?",
|
||||
"Image saved successfully" : "圖像保存成功",
|
||||
"Error saving image" : "儲存圖像時發生錯誤",
|
||||
"Unsaved changes" : "未儲存變更",
|
||||
|
@ -216,6 +218,7 @@
|
|||
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "請注意,選定的裁剪區域低於套用的調整大小,這可能會導致品質下降",
|
||||
"Actual size (100%)" : "實際大小 (100%)",
|
||||
"Fit size" : "調整大小",
|
||||
"Transcoding failed." : "轉碼失敗。",
|
||||
"Shared Folder" : "分享資料夾",
|
||||
"Failed to create {albumName}." : "創建 {albumName} 失敗。",
|
||||
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重新命名 {currentAlbumName} 為 {newAlbumName} 失敗。",
|
||||
|
|
|
@ -6,6 +6,7 @@ use OCA\Files\Event\LoadSidebar;
|
|||
use OCP\App\IAppManager;
|
||||
use OCP\AppFramework\AuthPublicShareController;
|
||||
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
||||
use OCP\AppFramework\Http\Template\PublicTemplateResponse;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
|
@ -121,7 +122,7 @@ class PublicController extends AuthPublicShareController
|
|||
$policy->addAllowedConnectDomain('nominatim.openstreetmap.org');
|
||||
$policy->addAllowedFrameDomain('www.openstreetmap.org');
|
||||
|
||||
$response = new TemplateResponse($this->appName, 'main');
|
||||
$response = new PublicTemplateResponse($this->appName, 'main');
|
||||
$response->setContentSecurityPolicy($policy);
|
||||
|
||||
return $response;
|
||||
|
|
|
@ -19,10 +19,10 @@
|
|||
"moment": "^2.29.4",
|
||||
"path-posix": "^1.0.0",
|
||||
"photoswipe": "^5.3.3",
|
||||
"plyr": "^3.7.2",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"video.js": "^7.20.3",
|
||||
"videojs-contrib-quality-levels": "^2.2.0",
|
||||
"videojs-hls-quality-selector": "^1.1.4",
|
||||
"vue": "^2.7.10",
|
||||
"vue-class-component": "^7.2.6",
|
||||
"vue-material-design-icons": "^5.1.2",
|
||||
|
@ -2877,11 +2877,6 @@
|
|||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/any-promise": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
|
@ -3673,7 +3668,8 @@
|
|||
"node_modules/concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/connect-history-api-fallback": {
|
||||
"version": "2.0.0",
|
||||
|
@ -3989,6 +3985,11 @@
|
|||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
|
||||
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
|
||||
},
|
||||
"node_modules/custom-event-polyfill": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
|
||||
"integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w=="
|
||||
},
|
||||
"node_modules/date-format-parse": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz",
|
||||
|
@ -4891,53 +4892,11 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/fs-promise": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-0.5.0.tgz",
|
||||
"integrity": "sha512-Y+4F4ujhEcayCJt6JmzcOun9MYGQwz+bVUiuBmTkJImhBHKpBvmVPZR9wtfiF7k3ffwAOAuurygQe+cPLSFQhw==",
|
||||
"deprecated": "Use mz or fs-extra^3.0 with Promise Support",
|
||||
"dependencies": {
|
||||
"any-promise": "^1.0.0",
|
||||
"fs-extra": "^0.26.5",
|
||||
"mz": "^2.3.1",
|
||||
"thenify-all": "^1.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fs-promise/node_modules/fs-extra": {
|
||||
"version": "0.26.7",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
|
||||
"integrity": "sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"jsonfile": "^2.1.0",
|
||||
"klaw": "^1.0.0",
|
||||
"path-is-absolute": "^1.0.0",
|
||||
"rimraf": "^2.2.8"
|
||||
}
|
||||
},
|
||||
"node_modules/fs-promise/node_modules/jsonfile": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
|
||||
"integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/fs-promise/node_modules/rimraf": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
||||
"dependencies": {
|
||||
"glob": "^7.1.3"
|
||||
},
|
||||
"bin": {
|
||||
"rimraf": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.1",
|
||||
|
@ -5034,6 +4993,7 @@
|
|||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
|
@ -5073,6 +5033,7 @@
|
|||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -5082,6 +5043,7 @@
|
|||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
},
|
||||
|
@ -5109,7 +5071,8 @@
|
|||
"node_modules/graceful-fs": {
|
||||
"version": "4.2.10",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/hammerjs": {
|
||||
"version": "2.0.8",
|
||||
|
@ -5516,6 +5479,7 @@
|
|||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
|
@ -5524,7 +5488,8 @@
|
|||
"node_modules/inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/internal-slot": {
|
||||
"version": "1.0.3",
|
||||
|
@ -6189,18 +6154,6 @@
|
|||
"resolved": "https://registry.npmjs.org/justified-layout/-/justified-layout-4.1.0.tgz",
|
||||
"integrity": "sha512-M5FimNMXgiOYerVRGsXZ2YK9YNCaTtwtYp7Hb2308U1Q9TXXHx5G0p08mcVR5O53qf8bWY4NJcPBxE6zuayXSg=="
|
||||
},
|
||||
"node_modules/karma-safaritechpreview-launcher": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/karma-safaritechpreview-launcher/-/karma-safaritechpreview-launcher-0.0.6.tgz",
|
||||
"integrity": "sha512-2QMxAGXPQ37H3KoR9SCdh0OoktQZ5MyrxkvBiZ+VVOQfYVrcyOQXGrPea0/DKvf8qoQvrvP2FHcP/BxsuxuyHw==",
|
||||
"dependencies": {
|
||||
"fs-promise": "^0.5.0",
|
||||
"marcosc-async": "^3.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/keycode": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz",
|
||||
|
@ -6216,14 +6169,6 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/klaw": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
|
||||
"integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==",
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.9"
|
||||
}
|
||||
},
|
||||
"node_modules/klona": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
|
||||
|
@ -6307,6 +6252,11 @@
|
|||
"node": ">=8.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/loadjs": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz",
|
||||
"integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA=="
|
||||
},
|
||||
"node_modules/locate-path": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
|
||||
|
@ -6410,12 +6360,6 @@
|
|||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/marcosc-async": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/marcosc-async/-/marcosc-async-3.0.5.tgz",
|
||||
"integrity": "sha512-CCDofAatyNlbCCE1aIERplqT8r4S3LLc72pg3Bg/RilWPFqdXYO/FiDfzZ9ijf7K1P0j5mUZYCQ6eWXNuAxNBg==",
|
||||
"engines": ">=4"
|
||||
},
|
||||
"node_modules/material-colors": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
|
||||
|
@ -6675,16 +6619,6 @@
|
|||
"npm": ">=5"
|
||||
}
|
||||
},
|
||||
"node_modules/mz": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
||||
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
||||
"dependencies": {
|
||||
"any-promise": "^1.0.0",
|
||||
"object-assign": "^4.0.1",
|
||||
"thenify-all": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
|
@ -6809,6 +6743,7 @@
|
|||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
|
@ -6900,6 +6835,7 @@
|
|||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -7050,6 +6986,7 @@
|
|||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
|
@ -7175,6 +7112,18 @@
|
|||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/plyr": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.2.tgz",
|
||||
"integrity": "sha512-I0ZC/OI4oJ0iWG9s2rrnO0YFO6aLyrPiQBq9kum0FqITYljwTPBbYL3TZZu8UJQJUq7tUWN18Q7ACwNCkGKABQ==",
|
||||
"dependencies": {
|
||||
"core-js": "^3.22.0",
|
||||
"custom-event-polyfill": "^1.0.7",
|
||||
"loadjs": "^4.2.0",
|
||||
"rangetouch": "^2.0.1",
|
||||
"url-polyfill": "^1.1.12"
|
||||
}
|
||||
},
|
||||
"node_modules/polished": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/polished/-/polished-3.7.2.tgz",
|
||||
|
@ -7487,6 +7436,11 @@
|
|||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/rangetouch": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz",
|
||||
"integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA=="
|
||||
},
|
||||
"node_modules/raw-body": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
|
||||
|
@ -8881,25 +8835,6 @@
|
|||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/thenify": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
||||
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
|
||||
"dependencies": {
|
||||
"any-promise": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/thenify-all": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
||||
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
|
||||
"dependencies": {
|
||||
"thenify": ">= 3.1.0 < 4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/thunky": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
|
||||
|
@ -9307,6 +9242,11 @@
|
|||
"requires-port": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/url-polyfill": {
|
||||
"version": "1.1.12",
|
||||
"resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz",
|
||||
"integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A=="
|
||||
},
|
||||
"node_modules/url-toolkit": {
|
||||
"version": "2.2.5",
|
||||
"resolved": "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.2.5.tgz",
|
||||
|
@ -9457,17 +9397,6 @@
|
|||
"resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-3.2.0.tgz",
|
||||
"integrity": "sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA=="
|
||||
},
|
||||
"node_modules/videojs-hls-quality-selector": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/videojs-hls-quality-selector/-/videojs-hls-quality-selector-1.1.4.tgz",
|
||||
"integrity": "sha512-wWAjlLQui02gp//t9KHGd3XnbYO7wdOptskh3ZYCrbl/5Lbkveqb9yBVjH4e0zIQBPvGdWPMcOeDukf8iuYeBw==",
|
||||
"dependencies": {
|
||||
"global": "^4.3.2",
|
||||
"karma-safaritechpreview-launcher": "0.0.6",
|
||||
"video.js": "^7.5.5",
|
||||
"videojs-contrib-quality-levels": "^2.0.9"
|
||||
}
|
||||
},
|
||||
"node_modules/videojs-vtt.js": {
|
||||
"version": "0.15.4",
|
||||
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.4.tgz",
|
||||
|
@ -10471,7 +10400,8 @@
|
|||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.10.0",
|
||||
|
@ -12650,11 +12580,6 @@
|
|||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"any-promise": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
|
@ -13291,7 +13216,8 @@
|
|||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||
"dev": true
|
||||
},
|
||||
"connect-history-api-fallback": {
|
||||
"version": "2.0.0",
|
||||
|
@ -13547,6 +13473,11 @@
|
|||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
|
||||
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
|
||||
},
|
||||
"custom-event-polyfill": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
|
||||
"integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w=="
|
||||
},
|
||||
"date-format-parse": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz",
|
||||
|
@ -14265,51 +14196,11 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"fs-promise": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-0.5.0.tgz",
|
||||
"integrity": "sha512-Y+4F4ujhEcayCJt6JmzcOun9MYGQwz+bVUiuBmTkJImhBHKpBvmVPZR9wtfiF7k3ffwAOAuurygQe+cPLSFQhw==",
|
||||
"requires": {
|
||||
"any-promise": "^1.0.0",
|
||||
"fs-extra": "^0.26.5",
|
||||
"mz": "^2.3.1",
|
||||
"thenify-all": "^1.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"fs-extra": {
|
||||
"version": "0.26.7",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
|
||||
"integrity": "sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"jsonfile": "^2.1.0",
|
||||
"klaw": "^1.0.0",
|
||||
"path-is-absolute": "^1.0.0",
|
||||
"rimraf": "^2.2.8"
|
||||
}
|
||||
},
|
||||
"jsonfile": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
|
||||
"integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||
"dev": true
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
|
@ -14379,6 +14270,7 @@
|
|||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
|
@ -14392,6 +14284,7 @@
|
|||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -14401,6 +14294,7 @@
|
|||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
|
@ -14441,7 +14335,8 @@
|
|||
"graceful-fs": {
|
||||
"version": "4.2.10",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
|
||||
"dev": true
|
||||
},
|
||||
"hammerjs": {
|
||||
"version": "2.0.8",
|
||||
|
@ -14767,6 +14662,7 @@
|
|||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
|
@ -14775,7 +14671,8 @@
|
|||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
},
|
||||
"internal-slot": {
|
||||
"version": "1.0.3",
|
||||
|
@ -15244,15 +15141,6 @@
|
|||
"resolved": "https://registry.npmjs.org/justified-layout/-/justified-layout-4.1.0.tgz",
|
||||
"integrity": "sha512-M5FimNMXgiOYerVRGsXZ2YK9YNCaTtwtYp7Hb2308U1Q9TXXHx5G0p08mcVR5O53qf8bWY4NJcPBxE6zuayXSg=="
|
||||
},
|
||||
"karma-safaritechpreview-launcher": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/karma-safaritechpreview-launcher/-/karma-safaritechpreview-launcher-0.0.6.tgz",
|
||||
"integrity": "sha512-2QMxAGXPQ37H3KoR9SCdh0OoktQZ5MyrxkvBiZ+VVOQfYVrcyOQXGrPea0/DKvf8qoQvrvP2FHcP/BxsuxuyHw==",
|
||||
"requires": {
|
||||
"fs-promise": "^0.5.0",
|
||||
"marcosc-async": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"keycode": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz",
|
||||
|
@ -15265,14 +15153,6 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"klaw": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
|
||||
"integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.9"
|
||||
}
|
||||
},
|
||||
"klona": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
|
||||
|
@ -15328,6 +15208,11 @@
|
|||
"json5": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"loadjs": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz",
|
||||
"integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA=="
|
||||
},
|
||||
"locate-path": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
|
||||
|
@ -15419,11 +15304,6 @@
|
|||
"semver": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"marcosc-async": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/marcosc-async/-/marcosc-async-3.0.5.tgz",
|
||||
"integrity": "sha512-CCDofAatyNlbCCE1aIERplqT8r4S3LLc72pg3Bg/RilWPFqdXYO/FiDfzZ9ijf7K1P0j5mUZYCQ6eWXNuAxNBg=="
|
||||
},
|
||||
"material-colors": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
|
||||
|
@ -15633,16 +15513,6 @@
|
|||
"global": "^4.4.0"
|
||||
}
|
||||
},
|
||||
"mz": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
||||
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
||||
"requires": {
|
||||
"any-promise": "^1.0.0",
|
||||
"object-assign": "^4.0.1",
|
||||
"thenify-all": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"nanoid": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
|
@ -15742,7 +15612,8 @@
|
|||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"peer": true
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.12.2",
|
||||
|
@ -15807,6 +15678,7 @@
|
|||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -15923,7 +15795,8 @@
|
|||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
|
||||
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||
"dev": true
|
||||
},
|
||||
"path-key": {
|
||||
"version": "3.1.1",
|
||||
|
@ -16012,6 +15885,18 @@
|
|||
"integrity": "sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==",
|
||||
"dev": true
|
||||
},
|
||||
"plyr": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.2.tgz",
|
||||
"integrity": "sha512-I0ZC/OI4oJ0iWG9s2rrnO0YFO6aLyrPiQBq9kum0FqITYljwTPBbYL3TZZu8UJQJUq7tUWN18Q7ACwNCkGKABQ==",
|
||||
"requires": {
|
||||
"core-js": "^3.22.0",
|
||||
"custom-event-polyfill": "^1.0.7",
|
||||
"loadjs": "^4.2.0",
|
||||
"rangetouch": "^2.0.1",
|
||||
"url-polyfill": "^1.1.12"
|
||||
}
|
||||
},
|
||||
"polished": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/polished/-/polished-3.7.2.tgz",
|
||||
|
@ -16245,6 +16130,11 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"rangetouch": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz",
|
||||
"integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA=="
|
||||
},
|
||||
"raw-body": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
|
||||
|
@ -17311,22 +17201,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"thenify": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
||||
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
|
||||
"requires": {
|
||||
"any-promise": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"thenify-all": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
||||
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
|
||||
"requires": {
|
||||
"thenify": ">= 3.1.0 < 4"
|
||||
}
|
||||
},
|
||||
"thunky": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
|
||||
|
@ -17633,6 +17507,11 @@
|
|||
"requires-port": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"url-polyfill": {
|
||||
"version": "1.1.12",
|
||||
"resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz",
|
||||
"integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A=="
|
||||
},
|
||||
"url-toolkit": {
|
||||
"version": "2.2.5",
|
||||
"resolved": "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.2.5.tgz",
|
||||
|
@ -17737,17 +17616,6 @@
|
|||
"resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-3.2.0.tgz",
|
||||
"integrity": "sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA=="
|
||||
},
|
||||
"videojs-hls-quality-selector": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/videojs-hls-quality-selector/-/videojs-hls-quality-selector-1.1.4.tgz",
|
||||
"integrity": "sha512-wWAjlLQui02gp//t9KHGd3XnbYO7wdOptskh3ZYCrbl/5Lbkveqb9yBVjH4e0zIQBPvGdWPMcOeDukf8iuYeBw==",
|
||||
"requires": {
|
||||
"global": "^4.3.2",
|
||||
"karma-safaritechpreview-launcher": "0.0.6",
|
||||
"video.js": "^7.5.5",
|
||||
"videojs-contrib-quality-levels": "^2.0.9"
|
||||
}
|
||||
},
|
||||
"videojs-vtt.js": {
|
||||
"version": "0.15.4",
|
||||
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.4.tgz",
|
||||
|
@ -18562,7 +18430,8 @@
|
|||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"ws": {
|
||||
"version": "8.10.0",
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
"moment": "^2.29.4",
|
||||
"path-posix": "^1.0.0",
|
||||
"photoswipe": "^5.3.3",
|
||||
"plyr": "^3.7.2",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"video.js": "^7.20.3",
|
||||
"videojs-contrib-quality-levels": "^2.2.0",
|
||||
"videojs-hls-quality-selector": "^1.1.4",
|
||||
"vue": "^2.7.10",
|
||||
"vue-class-component": "^7.2.6",
|
||||
"vue-material-design-icons": "^5.1.2",
|
||||
|
|
|
@ -17,7 +17,7 @@ mv "exiftool-$exifver" exiftool
|
|||
rm -rf *.zip exiftool/t exiftool/html
|
||||
chmod 755 exiftool/exiftool
|
||||
|
||||
govod="0.0.7"
|
||||
govod="0.0.9"
|
||||
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-amd64"
|
||||
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-aarch64"
|
||||
chmod 755 go-vod-*
|
||||
|
|
|
@ -199,6 +199,7 @@ export default class App extends Mixins(GlobalMixin, UserConfig) {
|
|||
const colorPrimary =
|
||||
getComputedStyle(root).getPropertyValue("--color-primary");
|
||||
root.style.setProperty("--color-primary-select-light", `${colorPrimary}40`);
|
||||
root.style.setProperty("--plyr-color-main", colorPrimary);
|
||||
|
||||
// Register sidebar metadata tab
|
||||
const OCA = globalThis.OCA;
|
||||
|
|
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 5.6 KiB |
|
@ -6,10 +6,13 @@ import { showError } from "@nextcloud/dialogs";
|
|||
import { translate as t } from "@nextcloud/l10n";
|
||||
import { getCurrentUser } from "@nextcloud/auth";
|
||||
|
||||
import Plyr from "plyr";
|
||||
import "plyr/dist/plyr.css";
|
||||
import plyrsvg from "../assets/plyr.svg";
|
||||
|
||||
import videojs from "video.js";
|
||||
import "video.js/dist/video-js.min.css";
|
||||
import "videojs-contrib-quality-levels";
|
||||
import "videojs-hls-quality-selector";
|
||||
|
||||
const config_noTranscode = loadState(
|
||||
"memories",
|
||||
|
@ -75,7 +78,7 @@ class VideoContentSetup {
|
|||
origEvent.clientX,
|
||||
origEvent.clientY
|
||||
);
|
||||
if (elems.some((el) => el.classList.contains("vjs-control-bar"))) {
|
||||
if (elems.some((el) => el.classList.contains("plyr__controls"))) {
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
@ -139,8 +142,11 @@ class VideoContentSetup {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the video element to the actual container
|
||||
content.element.appendChild(content.videoElement);
|
||||
|
||||
// Get file id
|
||||
const fileid = content.data.photo.fileid;
|
||||
|
||||
// Create hls sources if enabled
|
||||
|
@ -164,7 +170,7 @@ class VideoContentSetup {
|
|||
content.videojs = videojs(content.videoElement, {
|
||||
fill: true,
|
||||
autoplay: true,
|
||||
controls: true,
|
||||
controls: false,
|
||||
sources: sources,
|
||||
preload: "metadata",
|
||||
playbackRates: [0.5, 1, 1.5, 2],
|
||||
|
@ -198,27 +204,15 @@ class VideoContentSetup {
|
|||
}
|
||||
});
|
||||
|
||||
content.videojs.qualityLevels();
|
||||
content.videojs.hlsQualitySelector({
|
||||
displayCurrentQuality: true,
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
content.videojs
|
||||
.contentEl()
|
||||
.querySelectorAll("button")
|
||||
.forEach((b: HTMLButtonElement) => {
|
||||
b.classList.add("button-vue");
|
||||
});
|
||||
|
||||
// iOS needs this
|
||||
content.videojs.play();
|
||||
}, 500);
|
||||
content.videojs.play(); // iOS needs this
|
||||
}, 200);
|
||||
|
||||
let canPlay = false;
|
||||
content.videojs.on("canplay", () => {
|
||||
content.videojs.on("loadedmetadata", () => {
|
||||
canPlay = true;
|
||||
this.updateRotation(content);
|
||||
this.updateRotation(content); // also gets the correct video elem as a side effect
|
||||
this.initPlyr(content);
|
||||
});
|
||||
|
||||
// Get correct orientation
|
||||
|
@ -242,6 +236,10 @@ class VideoContentSetup {
|
|||
content.videojs.dispose();
|
||||
content.videojs = null;
|
||||
|
||||
content.plyr?.elements?.container?.remove();
|
||||
content.plyr?.destroy();
|
||||
content.plyr = null;
|
||||
|
||||
const elem: HTMLDivElement = content.element;
|
||||
while (elem.lastElementChild) {
|
||||
elem.removeChild(elem.lastElementChild);
|
||||
|
@ -250,11 +248,82 @@ class VideoContentSetup {
|
|||
}
|
||||
}
|
||||
|
||||
updateRotation(content, val?: number) {
|
||||
if (!content.videojs || !content.videoElement) {
|
||||
return;
|
||||
initPlyr(content: any) {
|
||||
if (content.plyr) return;
|
||||
|
||||
// Retain original parent for video element
|
||||
const origParent = content.videoElement.parentElement;
|
||||
|
||||
// Populate quality list
|
||||
const qualityList = content.videojs?.qualityLevels();
|
||||
let qualityNums: number[];
|
||||
if (qualityList && qualityList.length > 1) {
|
||||
const s = new Set<number>();
|
||||
for (let i = 0; i < qualityList?.length; i++) {
|
||||
const { width, height } = qualityList[i];
|
||||
s.add(Math.min(width, height));
|
||||
}
|
||||
qualityNums = Array.from(s).sort((a, b) => b - a);
|
||||
qualityNums.unshift(0);
|
||||
}
|
||||
|
||||
// Create the plyr instance
|
||||
const opts: Plyr.Options = {
|
||||
iconUrl: <any>plyrsvg,
|
||||
blankVideo: "",
|
||||
i18n: {
|
||||
qualityLabel: {
|
||||
0: t("memories", "Auto"),
|
||||
},
|
||||
},
|
||||
fullscreen: {
|
||||
enabled: true,
|
||||
container: ".pswp__item",
|
||||
},
|
||||
};
|
||||
|
||||
if (qualityNums) {
|
||||
opts.quality = {
|
||||
default: 0,
|
||||
options: qualityNums,
|
||||
forced: true,
|
||||
onChange: (quality: number) => {
|
||||
if (!qualityList || !content.videojs) return;
|
||||
for (let i = 0; i < qualityList.length; ++i) {
|
||||
const { width, height } = qualityList[i];
|
||||
const pixels = Math.min(width, height);
|
||||
qualityList[i].enabled = pixels === quality || !quality;
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
const plyr = new Plyr(content.videoElement, opts);
|
||||
plyr.elements.container.style.height = "100%";
|
||||
plyr.elements.container.style.width = "100%";
|
||||
plyr.elements.container
|
||||
.querySelectorAll("button")
|
||||
.forEach((el) => el.classList.add("button-vue"));
|
||||
plyr.elements.container
|
||||
.querySelectorAll("progress")
|
||||
.forEach((el) => el.classList.add("vue"));
|
||||
plyr.elements.container.style.backgroundColor = "transparent";
|
||||
plyr.elements.wrapper.style.backgroundColor = "transparent";
|
||||
|
||||
content.plyr = plyr;
|
||||
|
||||
// Restore original parent of video element
|
||||
origParent.appendChild(content.videoElement);
|
||||
// Move plyr to the slide container
|
||||
content.slide.holderElement.appendChild(plyr.elements.container);
|
||||
}
|
||||
|
||||
updateRotation(content, val?: number) {
|
||||
if (!content.videojs) return;
|
||||
|
||||
content.videoElement = content.videojs.el()?.querySelector("video");
|
||||
if (!content.videoElement) return;
|
||||
|
||||
const rotation = val ?? Number(content.data.exif?.Rotation);
|
||||
const shouldRotate = content.videojs?.src().includes("m3u8");
|
||||
|
||||
|
|
|
@ -20,15 +20,16 @@
|
|||
container=".memories_viewer .pswp"
|
||||
>
|
||||
<NcActionButton
|
||||
v-if="canShare"
|
||||
:aria-label="t('memories', 'Share')"
|
||||
@click="shareCurrent"
|
||||
:close-after-click="true"
|
||||
v-if="canShare"
|
||||
>
|
||||
{{ t("memories", "Share") }}
|
||||
<template #icon> <ShareIcon :size="24" /> </template>
|
||||
</NcActionButton>
|
||||
<NcActionButton
|
||||
v-if="!routeIsPublic"
|
||||
:aria-label="t('memories', 'Delete')"
|
||||
@click="deleteCurrent"
|
||||
:close-after-click="true"
|
||||
|
@ -37,6 +38,7 @@
|
|||
<template #icon> <DeleteIcon :size="24" /> </template>
|
||||
</NcActionButton>
|
||||
<NcActionButton
|
||||
v-if="!routeIsPublic"
|
||||
:aria-label="t('memories', 'Favorite')"
|
||||
@click="favoriteCurrent"
|
||||
:close-after-click="true"
|
||||
|
@ -48,6 +50,7 @@
|
|||
</template>
|
||||
</NcActionButton>
|
||||
<NcActionButton
|
||||
v-if="!routeIsPublic"
|
||||
:aria-label="t('memories', 'Sidebar')"
|
||||
@click="toggleSidebar"
|
||||
:close-after-click="true"
|
||||
|
@ -58,8 +61,8 @@
|
|||
</template>
|
||||
</NcActionButton>
|
||||
<NcActionButton
|
||||
v-if="canEdit && !routeIsPublic"
|
||||
:aria-label="t('memories', 'Edit')"
|
||||
v-if="canEdit"
|
||||
@click="openEditor"
|
||||
:close-after-click="true"
|
||||
>
|
||||
|
@ -79,6 +82,7 @@
|
|||
</template>
|
||||
</NcActionButton>
|
||||
<NcActionButton
|
||||
v-if="!routeIsPublic"
|
||||
:aria-label="t('memories', 'View in folder')"
|
||||
@click="viewInFolder"
|
||||
:close-after-click="true"
|
||||
|
@ -195,6 +199,11 @@ export default class Viewer extends Mixins(GlobalMixin) {
|
|||
}
|
||||
}
|
||||
|
||||
/** Route is public */
|
||||
get routeIsPublic() {
|
||||
return this.$route.name === "folder-share";
|
||||
}
|
||||
|
||||
/** Update the document title */
|
||||
private updateTitle(photo: IPhoto | undefined) {
|
||||
if (!this.originalTitle) {
|
||||
|
@ -834,6 +843,13 @@ export default class Viewer extends Mixins(GlobalMixin) {
|
|||
display: none;
|
||||
}
|
||||
|
||||
:deep .plyr__volume {
|
||||
// Cannot be vertical yet :(
|
||||
@media (max-width: 768px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
:deep .pswp {
|
||||
.pswp__zoom-wrap {
|
||||
width: 100%;
|
||||
|
|
Loading…
Reference in New Issue