From 3f228f31318c1ed66bb21575a8eb684332c7588e Mon Sep 17 00:00:00 2001 From: Darren Yu Date: Fri, 5 Sep 2025 11:40:43 +0800 Subject: [PATCH] feat(thumb): enhance native thumbnail generater with encoding format and quality (#2868) (#309) * feat(thumb): enhance native thumbnail generater with encoding format and quality * Update Media.tsx --- public/locales/de-DE/dashboard.json | 1 + public/locales/en-US/dashboard.json | 1 + public/locales/es-ES/dashboard.json | 1 + public/locales/fr-FR/dashboard.json | 1 + public/locales/it-IT/dashboard.json | 1 + public/locales/ja-JP/dashboard.json | 1 + public/locales/ko-KR/dashboard.json | 1 + public/locales/pt-BR/dashboard.json | 1 + public/locales/ru-RU/dashboard.json | 1 + public/locales/zh-CN/dashboard.json | 1 + public/locales/zh-TW/dashboard.json | 1 + src/component/Admin/Settings/Media/Media.tsx | 4 ++-- 12 files changed, 13 insertions(+), 2 deletions(-) diff --git a/public/locales/de-DE/dashboard.json b/public/locales/de-DE/dashboard.json index fec0c33..bc4bd2a 100644 --- a/public/locales/de-DE/dashboard.json +++ b/public/locales/de-DE/dashboard.json @@ -168,6 +168,7 @@ "musicCover": "Musik-Cover", "musicCoverDes": "Album-Cover aus Musikdateien extrahieren, unterstützt ID3 (v1, 2.2, 2.3 und 2.4) Container. Dieser Generator hängt von einem anderen Bild-Miniaturansichten-Generator ab (Cloudreve eingebaut oder VIPS).", "notAppliedToNativeGenerator": "{{prefix}}Nicht anwendbar auf nativen Generator von Speicherrichtlinien.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}Nicht anwendbar auf nativen Generator von OneDrive oder SharePoint Speicherrichtlinien.", "fileBlobMargin": "Datei-Blob-URL-Cache-Marge (Sekunden)", "fileBlobMarginDes": "Wenn derselbe Datei-Blob mehrmals angefordert wird, wird dieselbe URL wiederverwendet, wenn die ursprüngliche URL eine verbleibende Gültigkeitsdauer größer als die Marge hat.", "fileBlobTimeout": "Datei-Blob-URL-TTL (Sekunden)", diff --git a/public/locales/en-US/dashboard.json b/public/locales/en-US/dashboard.json index 2be9be0..b7e7af6 100644 --- a/public/locales/en-US/dashboard.json +++ b/public/locales/en-US/dashboard.json @@ -167,6 +167,7 @@ "musicCover": "Music cover", "musicCoverDes": "Extract album cover from music files, supports ID3 (v1, 2.2, 2.3 and 2.4) container. This generator depends on any other image thumbnail generator (Cloudreve built-in or VIPS).", "notAppliedToNativeGenerator": "{{prefix}}Not applicable to native generator of storage policies.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}Not applicable to native generator of OneDrive or SharePoint storage policies.", "fileBlobMargin": "File Blob URL Cache Margin (seconds)", "fileBlobMarginDes": "When the same file Blob is requested multiple times, if the initial URL has a remaining validity period greater than the margin, the same URL will be reused.", "fileBlobTimeout": "File Blob URL TTL (seconds)", diff --git a/public/locales/es-ES/dashboard.json b/public/locales/es-ES/dashboard.json index 60d03b9..0293722 100644 --- a/public/locales/es-ES/dashboard.json +++ b/public/locales/es-ES/dashboard.json @@ -168,6 +168,7 @@ "musicCover": "Portada de música", "musicCoverDes": "Extraer portada de álbum de archivos de música, soporta contenedor ID3 (v1, 2.2, 2.3 y 2.4). Este generador depende de cualquier otro generador de miniaturas de imagen (Cloudreve integrado o VIPS).", "notAppliedToNativeGenerator": "{{prefix}}No aplicable al generador nativo de políticas de almacenamiento.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}No aplicable al generador nativo de políticas de almacenamiento OneDrive o SharePoint.", "fileBlobMargin": "Margen de Cache de URL de Blob de Archivo (segundos)", "fileBlobMarginDes": "Cuando el mismo Blob de archivo es solicitado múltiples veces, si la URL inicial tiene un período de validez restante mayor que el margen, la misma URL será reutilizada.", "fileBlobTimeout": "TTL de URL de Blob de Archivo (segundos)", diff --git a/public/locales/fr-FR/dashboard.json b/public/locales/fr-FR/dashboard.json index 5835326..113bc30 100644 --- a/public/locales/fr-FR/dashboard.json +++ b/public/locales/fr-FR/dashboard.json @@ -168,6 +168,7 @@ "musicCover": "Pochette musicale", "musicCoverDes": "Extraire la pochette d'album des fichiers musicaux, prend en charge le conteneur ID3 (v1, 2.2, 2.3 et 2.4). Ce générateur dépend de tout autre générateur de miniatures d'images (intégré à Cloudreve ou VIPS).", "notAppliedToNativeGenerator": "{{prefix}}Non applicable au générateur natif des politiques de stockage.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}Non applicable au générateur natif des politiques de stockage OneDrive ou SharePoint.", "fileBlobMargin": "Marge du cache d'URL Blob de fichier (secondes)", "fileBlobMarginDes": "Lorsque le même Blob de fichier est demandé plusieurs fois, si l'URL initiale a une période de validité restante supérieure à la marge, la même URL sera réutilisée.", "fileBlobTimeout": "TTL de l'URL Blob de fichier (secondes)", diff --git a/public/locales/it-IT/dashboard.json b/public/locales/it-IT/dashboard.json index 91df7c7..6caf401 100644 --- a/public/locales/it-IT/dashboard.json +++ b/public/locales/it-IT/dashboard.json @@ -168,6 +168,7 @@ "musicCover": "Copertina musicale", "musicCoverDes": "Estrai copertina album dai file musicali, supporta container ID3 (v1, 2.2, 2.3 e 2.4). Questo generatore dipende da qualsiasi altro generatore di miniature immagini (Cloudreve integrato o VIPS).", "notAppliedToNativeGenerator": "{{prefix}}Non applicabile al generatore nativo delle policy di archiviazione.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}Non applicabile al generatore nativo delle policy di archiviazione OneDrive o SharePoint.", "fileBlobMargin": "Margine Cache URL Blob File (secondi)", "fileBlobMarginDes": "Quando lo stesso Blob file è richiesto più volte, se l'URL iniziale ha un periodo di validità rimanente maggiore del margine, lo stesso URL verrà riutilizzato.", "fileBlobTimeout": "TTL URL Blob File (secondi)", diff --git a/public/locales/ja-JP/dashboard.json b/public/locales/ja-JP/dashboard.json index 1334458..83b634d 100644 --- a/public/locales/ja-JP/dashboard.json +++ b/public/locales/ja-JP/dashboard.json @@ -167,6 +167,7 @@ "musicCover": "曲のジャケット画像", "musicCoverDes": "オーディオファイルからアルバムジャケット画像を抽出します。ID3(v1、2.2、2.3、2.4)メタデータコンテナをサポートします。このジェネレーターは、他の画像ジェネレーター(Cloudreve組み込みまたはVIPS)に依存します。", "notAppliedToNativeGenerator": "{{prefix}}はストレージポリシーネイティブジェネレーターには適用されません。", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}はOneDriveまたはSharePointストレージポリシーネイティブジェネレーターには適用されません。", "fileBlobMargin": "ファイルBlob一時URLキャッシュ冗長性(秒)", "fileBlobMarginDes": "同じファイルBlobが複数回リクエストされた場合、元のURLの有効期限が冗長性時間よりも長い場合、同じURLが再利用されます。", "fileBlobTimeout": "ファイルBlob一時URL有効期限(秒)", diff --git a/public/locales/ko-KR/dashboard.json b/public/locales/ko-KR/dashboard.json index 35762ba..e168a79 100644 --- a/public/locales/ko-KR/dashboard.json +++ b/public/locales/ko-KR/dashboard.json @@ -167,6 +167,7 @@ "musicCover": "앨범 커버", "musicCoverDes": "오디오 파일에서 앨범 커버를 추출하며, ID3 (v1, 2.2, 2.3, 2.4) 메타데이터 컨테이너를 지원합니다. 이 생성기는 다른 이미지 생성기(Cloudreve 내장 또는 VIPS) 중 하나에 의존합니다.", "notAppliedToNativeGenerator": "{{prefix}}저장소 정책 네이티브 생성기에는 적용되지 않습니다.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}OneDrive 또는 SharePoint 저장소 정책 네이티브 생성기에는 적용되지 않습니다.", "fileBlobMargin": "파일 Blob 임시 URL 캐시 여유분(초)", "fileBlobMarginDes": "동일한 파일 Blob이 여러 번 요청될 때, 초기 URL의 남은 유효 기간이 여유분보다 크면 동일한 URL이 재사용됩니다.", "fileBlobTimeout": "파일 Blob 임시 URL 유효 기간", diff --git a/public/locales/pt-BR/dashboard.json b/public/locales/pt-BR/dashboard.json index c22522e..8dc63ce 100644 --- a/public/locales/pt-BR/dashboard.json +++ b/public/locales/pt-BR/dashboard.json @@ -168,6 +168,7 @@ "musicCover": "Capa da música", "musicCoverDes": "Extrair capa do álbum de arquivos de música, suporta contêiner ID3 (v1, 2.2, 2.3 e 2.4). Este gerador depende de qualquer outro gerador de miniatura de imagem (Cloudreve integrado ou VIPS).", "notAppliedToNativeGenerator": "{{prefix}}Não aplicável ao gerador nativo de políticas de armazenamento.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}Não aplicável ao gerador nativo de políticas de armazenamento OneDrive ou SharePoint.", "fileBlobMargin": "Margem do Cache de URL do Blob de Arquivo (segundos)", "fileBlobMarginDes": "Quando o mesmo blob de arquivo é solicitado várias vezes, se a URL inicial tiver um período de validade restante maior que a margem, a mesma URL será reutilizada.", "fileBlobTimeout": "TTL da URL do Blob de Arquivo (segundos)", diff --git a/public/locales/ru-RU/dashboard.json b/public/locales/ru-RU/dashboard.json index ed32ab8..47f8043 100644 --- a/public/locales/ru-RU/dashboard.json +++ b/public/locales/ru-RU/dashboard.json @@ -168,6 +168,7 @@ "musicCover": "Обложка музыки", "musicCoverDes": "Извлекать обложку альбома из музыкальных файлов, поддерживает контейнер ID3 (v1, 2.2, 2.3 и 2.4). Этот генератор зависит от любого другого генератора миниатюр изображений (встроенного Cloudreve или VIPS).", "notAppliedToNativeGenerator": "{{prefix}}Не применимо к нативному генератору политик хранения.", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}Не применимо к нативному генератору политик хранения OneDrive или SharePoint.", "fileBlobMargin": "Запас кэша URL файлового блоба (секунды)", "fileBlobMarginDes": "Когда один и тот же файловый блоб запрашивается несколько раз, если начальный URL имеет оставшийся период действия больше запаса, тот же URL будет использован повторно.", "fileBlobTimeout": "TTL URL файлового блоба (секунды)", diff --git a/public/locales/zh-CN/dashboard.json b/public/locales/zh-CN/dashboard.json index 727ee39..d38340d 100644 --- a/public/locales/zh-CN/dashboard.json +++ b/public/locales/zh-CN/dashboard.json @@ -167,6 +167,7 @@ "musicCover": "歌曲封面", "musicCoverDes": "提取音频文件中的专辑封面, 支持 ID3 (v1, 2.2, 2.3, 2.4) 元数据容器。这一生成器依赖于任一其他图像生成器(Cloudreve 内置 或 VIPS)。", "notAppliedToNativeGenerator": "{{prefix}}不适用于存储策略原生生成器。", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}不适用于 OneDrive 或 SharePoint 存储策略原生生成器。", "fileBlobMargin": "文件 Blob 临时 URL 缓存冗余(秒)", "fileBlobMarginDes": "当相同的文件 Blob 被多次请求时,如果最初的 URL 剩余有效期大于冗余时长,相同的 URL 会被复用。", "fileBlobTimeout": "文件 Blob 临时 URL 有效期(秒)", diff --git a/public/locales/zh-TW/dashboard.json b/public/locales/zh-TW/dashboard.json index cdeee6b..0083bd4 100644 --- a/public/locales/zh-TW/dashboard.json +++ b/public/locales/zh-TW/dashboard.json @@ -167,6 +167,7 @@ "musicCover": "歌曲封面", "musicCoverDes": "提取音訊檔案中的專輯封面, 支援 ID3 (v1, 2.2, 2.3, 2.4) 元資料容器。這一生成器依賴於任一其他影象生成器(Cloudreve 內建 或 VIPS)。", "notAppliedToNativeGenerator": "{{prefix}}不適用於儲存策略原生生成器。", + "notAppliedToOneDriveNativeGenerator": "{{prefix}}不適用於 OneDrive 或 SharePoint 儲存策略原生生成器。", "fileBlobMargin": "檔案 Blob 臨時 URL 快取冗餘(秒)", "fileBlobMarginDes": "當相同的檔案 Blob 被多次請求時,如果最初的 URL 剩餘有效期大於冗餘時長,相同的 URL 會被複用。", "fileBlobTimeout": "檔案 Blob 臨時 URL 有效期(秒)", diff --git a/src/component/Admin/Settings/Media/Media.tsx b/src/component/Admin/Settings/Media/Media.tsx index c4af6d4..11e0d88 100644 --- a/src/component/Admin/Settings/Media/Media.tsx +++ b/src/component/Admin/Settings/Media/Media.tsx @@ -98,7 +98,7 @@ const Media = () => { ))} - {t("settings.notAppliedToNativeGenerator", { prefix: t("settings.thumbFormatDes") })} + {t("settings.notAppliedToOneDriveNativeGenerator", { prefix: t("settings.thumbFormatDes") })} @@ -117,7 +117,7 @@ const Media = () => { }} /> - {t("settings.notAppliedToNativeGenerator", { + {t("settings.notAppliedToOneDriveNativeGenerator", { prefix: t("settings.thumbQualityDes"), })}