diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-27 17:48:28 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-27 17:48:28 +0900 |
| commit | 95984e67b8d57fbe1431fcfedf3bb682f28416b3 (patch) | |
| tree | 79953157e70b30c3c65ae52a01adb65fd4344bee /lib/swp/table/swp-uploaded-files-dialog.tsx | |
| parent | 647e2e487238aed36ff9a880648e5c3e8725160f (diff) | |
(김준회) swp 영문 처리
Diffstat (limited to 'lib/swp/table/swp-uploaded-files-dialog.tsx')
| -rw-r--r-- | lib/swp/table/swp-uploaded-files-dialog.tsx | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/lib/swp/table/swp-uploaded-files-dialog.tsx b/lib/swp/table/swp-uploaded-files-dialog.tsx index 14d69df4..e92cb0ad 100644 --- a/lib/swp/table/swp-uploaded-files-dialog.tsx +++ b/lib/swp/table/swp-uploaded-files-dialog.tsx @@ -90,8 +90,8 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi if (!projNo) { toast({ variant: "destructive", - title: "조회 불가", - description: "프로젝트 정보가 필요합니다.", + title: "Unable to retrieve files", + description: "Project information is required.", }); return; } @@ -102,15 +102,15 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi const result = await fetchVendorUploadedFiles(projNo); setFiles(result); toast({ - title: "조회 완료", - description: `${result.length}개의 파일을 조회했습니다.`, + title: "Files retrieved successfully", + description: `${result.length} files retrieved.`, }); } catch (error) { - console.error("파일 목록 조회 실패:", error); + console.error("Failed to retrieve files:", error); toast({ variant: "destructive", - title: "조회 실패", - description: error instanceof Error ? error.message : "알 수 없는 오류", + title: "Failed to retrieve files", + description: error instanceof Error ? error.message : "Unknown error", }); } }); @@ -121,8 +121,8 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi if (!file.BOX_SEQ || !file.ACTV_SEQ) { toast({ variant: "destructive", - title: "취소 불가", - description: "파일 정보가 올바르지 않습니다.", + title: "Unable to cancel file", + description: "File information is invalid.", }); return; } @@ -138,18 +138,18 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi }); toast({ - title: "취소 완료", - description: `${file.FILE_NM} 파일이 취소되었습니다.`, + title: "File canceled successfully", + description: `${file.FILE_NM} file canceled.`, }); // 목록 새로고침 loadFiles(); } catch (error) { - console.error("파일 취소 실패:", error); + console.error("Failed to cancel file:", error); toast({ variant: "destructive", - title: "취소 실패", - description: error instanceof Error ? error.message : "알 수 없는 오류", + title: "Failed to cancel file", + description: error instanceof Error ? error.message : "Unknown error", }); } finally { setCancellingFiles((prev) => { @@ -192,14 +192,14 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi <DialogTrigger asChild> <Button variant="outline" size="sm" disabled={!projNo}> <FileText className="h-4 w-4 mr-2" /> - 업로드 파일 관리 + Upload File Management </Button> </DialogTrigger> <DialogContent className="max-w-4xl max-h-[80vh]"> <DialogHeader> - <DialogTitle>업로드한 파일 목록</DialogTitle> + <DialogTitle>Uploaded File List</DialogTitle> <DialogDescription> - 프로젝트: {projNo} | 업체: {vndrCd} + Project: {projNo} | Company: {vndrCd} </DialogDescription> </DialogHeader> @@ -207,7 +207,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi {/* 액션 바 */} <div className="flex items-center justify-between"> <div className="text-sm text-muted-foreground"> - 총 {files.length}개 파일 + Total {files.length} files </div> <Button variant="outline" @@ -218,12 +218,12 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi {isLoading ? ( <> <Loader2 className="h-4 w-4 mr-2 animate-spin" /> - 조회 중... + Loading... </> ) : ( <> <RefreshCw className="h-4 w-4 mr-2" /> - 새로고침 + Refresh </> )} </Button> @@ -234,11 +234,11 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi {isLoading && files.length === 0 ? ( <div className="flex items-center justify-center h-full text-muted-foreground"> <Loader2 className="h-6 w-6 animate-spin mr-2" /> - 파일 목록을 조회하는 중... + Loading files... </div> ) : files.length === 0 ? ( <div className="flex items-center justify-center h-full text-muted-foreground"> - 업로드한 파일이 없습니다. + No files uploaded. </div> ) : ( <div className="space-y-2"> @@ -257,7 +257,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi <FileText className="h-4 w-4 text-blue-600 shrink-0" /> <span className="font-semibold">{docNo}</span> <Badge variant="outline" className="text-xs"> - {docNode.revisions.size}개 리비전 + {docNode.revisions.size} revisions </Badge> </div> @@ -280,7 +280,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi )} <span className="font-medium text-sm">Rev: {revNo}</span> <Badge variant="secondary" className="text-xs"> - {revNode.files.files.length}개 파일 + {revNode.files.files.length} files </Badge> </div> @@ -303,7 +303,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi <div className="flex items-center gap-2 text-xs text-muted-foreground"> <span>Stage: {file.STAGE}</span> <span>•</span> - <span>상태: {file.STAT_NM || file.STAT || "알 수 없음"}</span> + <span>Status: {file.STAT_NM || file.STAT || "Unknown"}</span> </div> </div> <Button @@ -313,19 +313,19 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi disabled={!isCancellable || isCancelling} title={ isCancellable - ? "파일 업로드 취소" - : `취소 불가 (상태: ${file.STAT_NM || file.STAT})` + ? "Cancel file upload" + : `Cancel not possible (Status: ${file.STAT_NM || file.STAT})` } > {isCancelling ? ( <> <Loader2 className="h-3 w-3 mr-1 animate-spin" /> - 취소 중... + Canceling... </> ) : ( <> <X className="h-3 w-3 mr-1" /> - 취소 + Cancel </> )} </Button> @@ -348,8 +348,8 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi {/* 안내 메시지 */} <div className="rounded-lg bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3"> <div className="text-xs text-blue-600 dark:text-blue-400 space-y-1"> - <p>ℹ️ 접수 전(SCW01) 상태의 파일만 취소할 수 있습니다.</p> - <p>ℹ️ 취소된 파일은 목록에서 제거됩니다.</p> + <p>Files in the 'SCW01' status can only be canceled.</p> + <p>Canceled files will be removed from the list.</p> </div> </div> </div> |
