diff --git a/public/locales/de-DE/dashboard.json b/public/locales/de-DE/dashboard.json index d80b369..9da03e5 100644 --- a/public/locales/de-DE/dashboard.json +++ b/public/locales/de-DE/dashboard.json @@ -816,7 +816,7 @@ "nativeThumbNailsGeneralObs": "Für Huawei Cloud OBS-Speicher wird der <0>Bildverarbeitungsservice verwendet, um Miniaturbilder zu generieren.", "nativeThumbNailsGeneralUpyun": "Für Upyun-Speicher wird der <0>Bildverarbeitungsservice verwendet, um Miniaturbilder zu generieren.", "preallocate": "Festplattenspeicher vorab zuweisen", - "preallocateDes": "Wenn aktiviert, wird der Upload-Anfrage des Benutzers Festplattenspeicher auf dem Speicherknoten vorab zugewiesen, nur wirksam unter Linux oder Darwin.", + "preallocateDes": "Wenn aktiviert, wird der Upload-Anfrage des Benutzers Festplattenspeicher auf dem Speicherknoten vorab zugewiesen, und unterstützt auch parallele Chunk-Uploads. Nur wirksam unter Linux oder Darwin.", "chunkConcurrency": "Parallele Chunk-Uploads", "chunkConcurrencyDes": "Legt die Anzahl der gleichzeitigen Chunk-Uploads beim direkten Web-Upload fest.", "sourceWebEdit": "Web-Online-Bearbeitung", diff --git a/public/locales/en-US/dashboard.json b/public/locales/en-US/dashboard.json index f573f62..34549d2 100644 --- a/public/locales/en-US/dashboard.json +++ b/public/locales/en-US/dashboard.json @@ -817,7 +817,7 @@ "nativeThumbNailsGeneralObs": "For Huawei Cloud OBS storage, <0>image processing service will be used to generate thumbnails.", "nativeThumbNailsGeneralUpyun": "For Upyun storage, <0>image processing service will be used to generate thumbnails.", "preallocate": "Pre-allocate disk space", - "preallocateDes": "When enabled, the user's upload request will be pre-allocated disk space on the storage node, only effective on Linux or Darwin.", + "preallocateDes": "When enabled, the user's upload request will be pre-allocated disk space on the storage node, and also supports parallel chunk upload. Only effective on Linux or Darwin.", "chunkConcurrency": "Concurrent chunk uploads", "chunkConcurrencyDes": "Set the number of concurrent chunk uploads when using direct web upload.", "sourceWebEdit": "Web online editing", diff --git a/public/locales/es-ES/dashboard.json b/public/locales/es-ES/dashboard.json index 681b9e5..4836c5e 100644 --- a/public/locales/es-ES/dashboard.json +++ b/public/locales/es-ES/dashboard.json @@ -816,7 +816,7 @@ "nativeThumbNailsGeneralObs": "Para almacenamiento Huawei Cloud OBS, el servicio de <0>procesamiento de imágenes se usará para generar miniaturas.", "nativeThumbNailsGeneralUpyun": "Para almacenamiento Upyun, el servicio de <0>procesamiento de imágenes se usará para generar miniaturas.", "preallocate": "Pre-asignar espacio en disco", - "preallocateDes": "Cuando esté habilitado, la solicitud de subida del usuario pre-asignará espacio en disco en el nodo de almacenamiento, solo efectivo en Linux o Darwin.", + "preallocateDes": "Cuando esté habilitado, la solicitud de subida del usuario pre-asignará espacio en disco en el nodo de almacenamiento, y también admite la carga paralela de fragmentos. Solo efectivo en Linux o Darwin.", "chunkConcurrency": "Subidas de fragmentos concurrentes", "chunkConcurrencyDes": "Establece el número de subidas de fragmentos concurrentes al usar subida directa web.", "sourceWebEdit": "Edición en línea web", diff --git a/public/locales/fr-FR/dashboard.json b/public/locales/fr-FR/dashboard.json index a7df330..d1739b8 100644 --- a/public/locales/fr-FR/dashboard.json +++ b/public/locales/fr-FR/dashboard.json @@ -816,7 +816,7 @@ "nativeThumbNailsGeneralObs": "Pour le stockage Huawei Cloud OBS, le service de <0>traitement d'images sera utilisé pour générer des miniatures.", "nativeThumbNailsGeneralUpyun": "Pour le stockage Upyun, le service de <0>traitement d'images sera utilisé pour générer des miniatures.", "preallocate": "Pré-allouer l'espace disque", - "preallocateDes": "Lorsqu'activé, la demande d'upload de l'utilisateur pré-allouera l'espace disque sur le nœud de stockage, efficace seulement sur Linux ou Darwin.", + "preallocateDes": "Lorsqu'activé, la demande d'upload de l'utilisateur pré-allouera l'espace disque sur le nœud de stockage, et prend également en charge le téléchargement parallèle de chunks. Efficace seulement sur Linux ou Darwin.", "chunkConcurrency": "Uploads de chunks concurrents", "chunkConcurrencyDes": "Définit le nombre d'uploads de chunks concurrents lors de l'utilisation de l'upload direct web.", "sourceWebEdit": "Édition en ligne Web", diff --git a/public/locales/it-IT/dashboard.json b/public/locales/it-IT/dashboard.json index 6cb731b..5897481 100644 --- a/public/locales/it-IT/dashboard.json +++ b/public/locales/it-IT/dashboard.json @@ -816,7 +816,7 @@ "nativeThumbNailsGeneralObs": "Per l'archiviazione Huawei Cloud OBS, verrà utilizzato il servizio <0>elaborazione immagini per generare miniature.", "nativeThumbNailsGeneralUpyun": "Per l'archiviazione Upyun, verrà utilizzato il servizio <0>elaborazione immagini per generare miniature.", "preallocate": "Pre-alloca spazio disco", - "preallocateDes": "Quando abilitato, la richiesta di caricamento dell'utente pre-allocherà spazio disco sul nodo di archiviazione, efficace solo su Linux o Darwin.", + "preallocateDes": "Quando abilitato, la richiesta di caricamento dell'utente pre-allocherà spazio disco sul nodo di archiviazione, e supporta anche il caricamento parallelo di chunk. Efficace solo su Linux o Darwin.", "chunkConcurrency": "Caricamenti chunk concorrenti", "chunkConcurrencyDes": "Imposta il numero di caricamenti chunk concorrenti quando si utilizza il caricamento diretto web.", "sourceWebEdit": "Modifica online web", diff --git a/public/locales/ja-JP/dashboard.json b/public/locales/ja-JP/dashboard.json index 02a8e76..1e194e1 100644 --- a/public/locales/ja-JP/dashboard.json +++ b/public/locales/ja-JP/dashboard.json @@ -817,7 +817,7 @@ "nativeThumbNailsGeneralObs": "Huawei Cloud OBSストレージの場合、<0>画像処理サービスを使用してサムネイルを生成します。", "nativeThumbNailsGeneralUpyun": "Upyun ストレージの場合、<0>画像処理サービスを使用してサムネイルを生成します。", "preallocate": "ディスク領域の事前割り当て", - "preallocateDes": "有効にすると、ユーザーがファイルをアップロードする際にディスク領域が事前に割り当てられます。LinuxまたはDarwinでのみ有効です。", + "preallocateDes": "有効にすると、ユーザーがファイルをアップロードする際にディスク領域が事前に割り当てられ、同時に並行チャンクアップロードもサポートします。LinuxまたはDarwinでのみ有効です。", "chunkConcurrency": "並行チャンクアップロード数", "chunkConcurrencyDes": "Webダイレクトアップロード時の並行チャンクアップロード数を設定します。", "sourceWebEdit": "Webオンライン編集", diff --git a/public/locales/ko-KR/dashboard.json b/public/locales/ko-KR/dashboard.json index adf1d13..3bac5b4 100644 --- a/public/locales/ko-KR/dashboard.json +++ b/public/locales/ko-KR/dashboard.json @@ -817,7 +817,7 @@ "nativeThumbNailsGeneralObs": "Huawei Cloud OBS 스토리지의 경우 <0>이미지 처리 서비스를 사용하여 썸네일을 생성합니다.", "nativeThumbNailsGeneralUpyun": "Upyun 스토리지의 경우 <0>이미지 처리 서비스를 사용하여 썸네일을 생성합니다.", "preallocate": "하드 디스크 공간 사전 할당", - "preallocateDes": "활성화하면 사용자가 파일을 업로드할 때 하드 디스크 공간을 미리 할당하며, Linux 또는 Darwin에서만 유효합니다.", + "preallocateDes": "활성화하면 사용자가 파일을 업로드할 때 하드 디스크 공간을 미리 할당하며, 동시에 병렬 청크 업로드도 지원합니다. Linux 또는 Darwin에서만 유효합니다.", "chunkConcurrency": "병렬 청크 업로드 수", "chunkConcurrencyDes": "웹 직접 업로드 시 동시 진행되는 청크 업로드 수를 설정합니다.", "sourceWebEdit": "웹 온라인 편집", diff --git a/public/locales/pt-BR/dashboard.json b/public/locales/pt-BR/dashboard.json index de2ab6c..801aea7 100644 --- a/public/locales/pt-BR/dashboard.json +++ b/public/locales/pt-BR/dashboard.json @@ -816,7 +816,7 @@ "nativeThumbNailsGeneralObs": "Para armazenamento Huawei Cloud OBS, o serviço de <0>processamento de imagem será usado para gerar miniaturas.", "nativeThumbNailsGeneralUpyun": "Para armazenamento Upyun, o serviço de <0>processamento de imagem será usado para gerar miniaturas.", "preallocate": "Pré-alocar espaço em disco", - "preallocateDes": "Quando habilitado, a solicitação de upload do usuário pré-alocará espaço em disco no nó de armazenamento, eficaz apenas no Linux ou Darwin.", + "preallocateDes": "Quando habilitado, a solicitação de upload do usuário pré-alocará espaço em disco no nó de armazenamento, e também suporta upload paralelo de chunks. Eficaz apenas no Linux ou Darwin.", "chunkConcurrency": "Uploads de chunk concorrentes", "chunkConcurrencyDes": "Define o número de uploads de chunk concorrentes ao usar upload direto da web.", "sourceWebEdit": "Edição online na Web", diff --git a/public/locales/ru-RU/dashboard.json b/public/locales/ru-RU/dashboard.json index bf42c45..3bb2d06 100644 --- a/public/locales/ru-RU/dashboard.json +++ b/public/locales/ru-RU/dashboard.json @@ -818,7 +818,7 @@ "nativeThumbNailsGeneralObs": "Для хранилища Huawei Cloud OBS будет использоваться служба <0>обработки изображений для генерации миниатюр.", "nativeThumbNailsGeneralUpyun": "Для хранилища Upyun будет использоваться служба <0>обработки изображений для генерации миниатюр.", "preallocate": "Предварительное выделение дискового пространства", - "preallocateDes": "При включении дисковое пространство будет предварительно выделяться при загрузке файлов пользователями. Действует только в Linux или Darwin.", + "preallocateDes": "При включении дисковое пространство будет предварительно выделяться при загрузке файлов пользователями, а также поддерживает параллельную загрузку фрагментов. Действует только в Linux или Darwin.", "chunkConcurrency": "Параллельная загрузка фрагментов", "chunkConcurrencyDes": "Устанавливает количество параллельных загрузок фрагментов при прямой веб-загрузке.", "sourceWebEdit": "Веб-редактирование онлайн", diff --git a/public/locales/zh-CN/dashboard.json b/public/locales/zh-CN/dashboard.json index 938e2cf..52c946b 100644 --- a/public/locales/zh-CN/dashboard.json +++ b/public/locales/zh-CN/dashboard.json @@ -817,7 +817,7 @@ "nativeThumbNailsGeneralObs": "对于华为云 OBS 存储,<0>图片处理服务会被用来生成缩略图。", "nativeThumbNailsGeneralUpyun": "对于又拍云存储,<0>图片处理服务会被用来生成缩略图。", "preallocate": "预分配硬盘空间", - "preallocateDes": "开启后,用户上传文件时会预先分配硬盘空间,只在 Linux 或 Darwin 下有效。", + "preallocateDes": "开启后,用户上传文件时会预先分配硬盘空间,同时也可支持并行分片上传。只在 Linux 或 Darwin 下有效。", "chunkConcurrency": "并行上传分片数", "chunkConcurrencyDes": "设定 Web 端直传时,同时进行的分片上传数量。", "sourceWebEdit": "Web 在线编辑", diff --git a/public/locales/zh-TW/dashboard.json b/public/locales/zh-TW/dashboard.json index a8c6ae3..ad13ef7 100644 --- a/public/locales/zh-TW/dashboard.json +++ b/public/locales/zh-TW/dashboard.json @@ -817,7 +817,7 @@ "nativeThumbNailsGeneralObs": "對於華為雲 OBS 儲存,<0>圖片處理服務會被用來生成縮圖。", "nativeThumbNailsGeneralUpyun": "對於又拍雲端儲存,<0>圖片處理服務會被用來生成縮圖。", "preallocate": "預分配硬碟空間", - "preallocateDes": "開啟後,使用者上傳檔案時會預先分配硬碟空間,只在 Linux 或 Darwin 下有效。", + "preallocateDes": "開啟後,使用者上傳檔案時會預先分配硬碟空間,同時也可支援並行分片上傳。只在 Linux 或 Darwin 下有效。", "chunkConcurrency": "並行上傳分片數", "chunkConcurrencyDes": "設定 Web 端直傳時,同時進行的分片上傳數量。", "sourceWebEdit": "Web 線上編輯", diff --git a/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx b/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx index d0bf942..6706871 100644 --- a/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx +++ b/src/component/Admin/StoragePolicy/EditStoragePolicy/FormSections/StorageAndUploadSection.tsx @@ -1,4 +1,13 @@ -import { FormControl, FormControlLabel, InputAdornment, Link, MenuItem, Switch, Typography } from "@mui/material"; +import { + Collapse, + FormControl, + FormControlLabel, + InputAdornment, + Link, + MenuItem, + Switch, + Typography, +} from "@mui/material"; import { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react"; import { Trans, useTranslation } from "react-i18next"; import { StoragePolicy } from "../../../../../api/dashboard"; @@ -29,6 +38,19 @@ const StorageAndUploadSection = () => { return values.type === PolicyType.local || values.type === PolicyType.remote; }, [values.type]); + const showChunkConcurrency = useMemo(() => { + return ( + values.type === PolicyType.s3 || + values.type === PolicyType.local || + values.type === PolicyType.remote || + values.type === PolicyType.ks3 || + values.type === PolicyType.cos || + values.type === PolicyType.obs || + values.type === PolicyType.oss || + values.type === PolicyType.qiniu + ); + }, [values.type]); + const onDirNameChange = useCallback( (e: React.ChangeEvent) => { setPolicy((p: StoragePolicy) => ({ ...p, dir_name_rule: e.target.value })); @@ -362,29 +384,26 @@ const StorageAndUploadSection = () => { )} - {(values.type === PolicyType.s3 || - values.type === PolicyType.ks3 || - values.type === PolicyType.cos || - values.type === PolicyType.obs || - values.type === PolicyType.oss || - values.type === PolicyType.qiniu) && ( - - - - {t("policy.chunkConcurrencyDes")} - - - )} + + {showChunkConcurrency && ( + + + + {t("policy.chunkConcurrencyDes")} + + + )} + {values.type !== PolicyType.local && ( <>