summaryrefslogtreecommitdiff
path: root/lib/swp/table/swp-document-detail-dialog.tsx
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-27 17:48:28 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-27 17:48:28 +0900
commit95984e67b8d57fbe1431fcfedf3bb682f28416b3 (patch)
tree79953157e70b30c3c65ae52a01adb65fd4344bee /lib/swp/table/swp-document-detail-dialog.tsx
parent647e2e487238aed36ff9a880648e5c3e8725160f (diff)
(김준회) swp 영문 처리
Diffstat (limited to 'lib/swp/table/swp-document-detail-dialog.tsx')
-rw-r--r--lib/swp/table/swp-document-detail-dialog.tsx56
1 files changed, 28 insertions, 28 deletions
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>