From 95984e67b8d57fbe1431fcfedf3bb682f28416b3 Mon Sep 17 00:00:00 2001
From: joonhoekim <26rote@gmail.com>
Date: Thu, 27 Nov 2025 17:48:28 +0900
Subject: (김준회) swp 영문 처리
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/swp/table/swp-document-detail-dialog.tsx | 56 ++++++++++++++--------------
 1 file changed, 28 insertions(+), 28 deletions(-)

(limited to 'lib/swp/table/swp-document-detail-dialog.tsx')

diff --git a/lib/swp/table/swp-document-detail-dialog.tsx b/lib/swp/table/swp-document-detail-dialog.tsx
index 77ef77f7..ef5cf6f9 100644
--- a/lib/swp/table/swp-document-detail-dialog.tsx
+++ b/lib/swp/table/swp-document-detail-dialog.tsx
@@ -122,8 +122,8 @@ export function SwpDocumentDetailDialog({
 
       setActivities(flatActivities);
     } catch (error) {
-      console.error("문서 상세 조회 실패:", error);
-      toast.error("문서 리비전 트리를 불러오는데 실패했습니다");
+      console.error("Failed to retrieve document details:", error);
+      toast.error("Failed to load document revision tree");
     } finally {
       setIsLoading(false);
     }
@@ -157,8 +157,8 @@ export function SwpDocumentDetailDialog({
 
       setActivityFiles(activitySpecificFiles);
     } catch (error) {
-      console.error("파일 목록 조회 실패:", error);
-      toast.error("파일 목록을 불러오는데 실패했습니다");
+      console.error("Failed to retrieve file list:", error);
+      toast.error("Failed to load file list");
     } finally {
       setIsLoadingFiles(false);
     }
@@ -166,11 +166,11 @@ export function SwpDocumentDetailDialog({
 
   const handleDownloadFile = async (fileName: string, ownDocNo: string) => {
     try {
-      toast.info("파일 다운로드 중...");
+      toast.info("Downloading file...");
       const result = await downloadVendorFile(projNo, ownDocNo, fileName);
       
       if (!result.success || !result.data) {
-        toast.error(result.error || "파일 다운로드 실패");
+        toast.error(result.error || "File download failed");
         return;
       }
 
@@ -185,10 +185,10 @@ export function SwpDocumentDetailDialog({
       window.document.body.removeChild(link);
       URL.revokeObjectURL(url);
 
-      toast.success(`파일 다운로드 완료: ${fileName}`);
+      toast.success(`File download complete: ${fileName}`);
     } catch (error) {
-      console.error("파일 다운로드 실패:", error);
-      toast.error("파일 다운로드에 실패했습니다");
+      console.error("File download failed:", error);
+      toast.error("Failed to download file");
     }
   };
 
@@ -221,7 +221,7 @@ export function SwpDocumentDetailDialog({
     <Dialog open={open} onOpenChange={onOpenChange}>
       <DialogContent className="max-w-[95vw] h-[90vh] overflow-hidden flex flex-col">
         <DialogHeader>
-          <DialogTitle className="text-base">문서 리비전 히스토리</DialogTitle>
+          <DialogTitle className="text-base">Document Revision History</DialogTitle>
           {document && (
             <DialogDescription className="text-xs">
               {document.DOC_NO} - {document.DOC_TITLE}
@@ -234,30 +234,30 @@ export function SwpDocumentDetailDialog({
             {/* 문서 정보 */}
             <div className="flex items-center gap-4 px-3 py-2 bg-muted/30 rounded text-xs">
               <div className="flex items-center gap-1">
-                <span className="font-semibold">프로젝트:</span>
+                <span className="font-semibold">Project:</span>
                 <span>{document.PROJ_NO}</span>
                 {document.PROJ_NM && (
                   <span className="text-muted-foreground">({document.PROJ_NM})</span>
                 )}
               </div>
               <div className="flex items-center gap-1">
-                <span className="font-semibold">패키지:</span>
+                <span className="font-semibold">Package:</span>
                 <span>{document.PKG_NO || "-"}</span>
               </div>
               <div className="flex items-center gap-1">
-                <span className="font-semibold">업체:</span>
+                <span className="font-semibold">Vendor:</span>
                 <span>{document.CPY_NM || "-"}</span>
                 {document.VNDR_CD && (
                   <span className="text-muted-foreground">({document.VNDR_CD})</span>
                 )}
               </div>
               <div className="flex items-center gap-1">
-                <span className="font-semibold">최신 리비전:</span>
+                <span className="font-semibold">Latest Revision:</span>
                 <span>{document.LTST_REV_NO || "-"}</span>
               </div>
               <div className="flex items-center gap-1">
-                <span className="font-semibold">총 Activity:</span>
-                <span>{activities.length}개</span>
+                <span className="font-semibold">Total Activity:</span>
+                <span>{activities.length}</span>
               </div>
             </div>
 
@@ -265,7 +265,7 @@ export function SwpDocumentDetailDialog({
             {isLoading ? (
               <div className="flex items-center justify-center p-8">
                 <Loader2 className="h-5 w-5 animate-spin" />
-                <span className="ml-2 text-sm">리비전 트리 로딩 중...</span>
+                <span className="ml-2 text-sm">Loading revision tree...</span>
               </div>
             ) : activities.length > 0 ? (
               <>
@@ -357,14 +357,14 @@ export function SwpDocumentDetailDialog({
                 {/* 파일 목록 (아래) */}
                 <div className="border rounded-lg overflow-hidden h-[30vh] flex flex-col">
                   <div className="px-3 py-1.5 bg-muted/50 border-b flex-shrink-0">
-                    <h3 className="font-semibold text-xs">파일 목록</h3>
+                    <h3 className="font-semibold text-xs">File List</h3>
                     {selectedActivity ? (
                       <p className="text-[10px] text-muted-foreground mt-0.5">
                         Activity: {selectedActivity.actvNo} / Rev {selectedActivity.revNo} ({selectedActivity.stage}) / {selectedActivity.inOut}
                       </p>
                     ) : (
                       <p className="text-[10px] text-muted-foreground mt-0.5">
-                        Activity를 선택하면 파일 목록이 표시됩니다
+                        Select an Activity to view the file list
                       </p>
                     )}
                   </div>
@@ -373,16 +373,16 @@ export function SwpDocumentDetailDialog({
                       isLoadingFiles ? (
                         <div className="flex items-center justify-center h-full">
                           <Loader2 className="h-4 w-4 animate-spin" />
-                          <span className="ml-2 text-xs">파일 로딩 중...</span>
+                          <span className="ml-2 text-xs">Loading files...</span>
                         </div>
                       ) : activityFiles.length > 0 ? (
                         <Table>
                           <TableHeader className="sticky top-0 bg-background">
                             <TableRow>
-                              <TableHead className="min-w-[200px] text-xs h-8">파일명</TableHead>
-                              <TableHead className="w-[90px] text-xs h-8">크기</TableHead>
-                              <TableHead className="w-[100px] text-xs h-8">날짜</TableHead>
-                              <TableHead className="w-[90px] text-xs h-8">다운로드</TableHead>
+                              <TableHead className="min-w-[200px] text-xs h-8">File Name</TableHead>
+                              <TableHead className="w-[90px] text-xs h-8">Size</TableHead>
+                              <TableHead className="w-[100px] text-xs h-8">Date</TableHead>
+                              <TableHead className="w-[90px] text-xs h-8">Download</TableHead>
                             </TableRow>
                           </TableHeader>
                           <TableBody>
@@ -405,7 +405,7 @@ export function SwpDocumentDetailDialog({
                                     onClick={() => handleDownloadFile(file.FILE_NM, document.OWN_DOC_NO || document.DOC_NO)}
                                   >
                                     <Download className="h-3 w-3 mr-1" />
-                                    다운로드
+                                    Download
                                   </Button>
                                 </TableCell>
                               </TableRow>
@@ -416,7 +416,7 @@ export function SwpDocumentDetailDialog({
                         <div className="flex items-center justify-center h-full text-xs text-muted-foreground">
                           <div className="text-center">
                             <AlertCircle className="h-6 w-6 mx-auto mb-1 opacity-50" />
-                            <p>파일이 없습니다</p>
+                            <p>No files</p>
                           </div>
                         </div>
                       )
@@ -424,7 +424,7 @@ export function SwpDocumentDetailDialog({
                       <div className="flex items-center justify-center h-full text-xs text-muted-foreground">
                         <div className="text-center">
                           <FileIcon className="h-8 w-8 mx-auto mb-1 opacity-30" />
-                          <p>Activity를 선택해주세요</p>
+                          <p>Please select an Activity</p>
                         </div>
                       </div>
                     )}
@@ -434,7 +434,7 @@ export function SwpDocumentDetailDialog({
             ) : (
               <div className="p-8 text-center text-muted-foreground">
                 <AlertCircle className="h-10 w-10 mx-auto mb-2 opacity-50" />
-                <p className="text-sm">Activity 정보가 없습니다</p>
+                <p className="text-sm">No Activity information</p>
               </div>
             )}
           </div>
-- 
cgit v1.2.3

