From d2eb8986400f1fb27bfdc69844d00301690974c2 Mon Sep 17 00:00:00 2001
From: kimjaehyeon0101 <47347352-kimjaehyeon0101@users.noreply.replit.com>
Date: Wed, 15 Oct 2025 08:06:03 +0000
Subject: [PATCH] Translate all user-facing text to English and update UI
elements
This commit addresses the user's request to translate all visible text within the application to English. It also updates the login modal to display the SAPIENS logo correctly. Additionally, various UI components and messages related to articles, community posts, auctions, and login/error handling have been localized.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9a264234-c5d7-4dcc-adf3-a954b149b30d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3df548ff-50ae-432f-9be4-25d34eccc983/9a264234-c5d7-4dcc-adf3-a954b149b30d/CMG42YQ
---
client/src/components/LoginModal.tsx | 24 +++---
client/src/pages/Article.tsx | 8 +-
client/src/pages/Community.tsx | 50 +++++------
client/src/pages/CommunityPost.tsx | 34 ++++----
client/src/pages/Landing.tsx | 9 +-
client/src/pages/MediaOutletAuction.tsx | 108 ++++++++++++------------
6 files changed, 120 insertions(+), 113 deletions(-)
diff --git a/client/src/components/LoginModal.tsx b/client/src/components/LoginModal.tsx
index 9c02489..53573a7 100644
--- a/client/src/components/LoginModal.tsx
+++ b/client/src/components/LoginModal.tsx
@@ -34,8 +34,8 @@ export default function LoginModal({ isOpen, onClose }: LoginModalProps) {
if (response.ok) {
const user = await response.json();
toast({
- title: "로그인 성공",
- description: `환영합니다, ${user.firstName}님!`,
+ title: "Login Successful",
+ description: `Welcome, ${user.firstName}!`,
});
// Invalidate auth queries to refresh user state
@@ -48,15 +48,15 @@ export default function LoginModal({ isOpen, onClose }: LoginModalProps) {
} else {
const error = await response.json();
toast({
- title: "로그인 실패",
- description: error.message || "잘못된 아이디 또는 비밀번호입니다.",
+ title: "Login Failed",
+ description: error.message || "Invalid username or password.",
variant: "destructive",
});
}
} catch (error) {
toast({
- title: "로그인 오류",
- description: "로그인 중 오류가 발생했습니다.",
+ title: "Login Error",
+ description: "An error occurred during login.",
variant: "destructive",
});
} finally {
@@ -79,7 +79,7 @@ export default function LoginModal({ isOpen, onClose }: LoginModalProps) {
diff --git a/client/src/pages/Article.tsx b/client/src/pages/Article.tsx
index 4847429..cc7b39b 100644
--- a/client/src/pages/Article.tsx
+++ b/client/src/pages/Article.tsx
@@ -99,8 +99,8 @@ export default function Article() {
};
const formatDate = (dateString: string | Date | null) => {
- if (!dateString) return '미정';
- return new Intl.DateTimeFormat('ko-KR', {
+ if (!dateString) return 'TBD';
+ return new Intl.DateTimeFormat('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
@@ -179,8 +179,8 @@ export default function Article() {
return (
-
기사를 찾을 수 없습니다
-
+ Article Not Found
+
);
diff --git a/client/src/pages/Community.tsx b/client/src/pages/Community.tsx
index c724a17..a1b53aa 100644
--- a/client/src/pages/Community.tsx
+++ b/client/src/pages/Community.tsx
@@ -78,16 +78,16 @@ export default function Community() {
const diffInMs = now.getTime() - postDate.getTime();
const diffInMinutes = Math.floor(diffInMs / 60000);
- if (diffInMinutes < 1) return "방금";
- if (diffInMinutes < 60) return `${diffInMinutes}분 전`;
+ if (diffInMinutes < 1) return "just now";
+ if (diffInMinutes < 60) return `${diffInMinutes}m ago`;
const diffInHours = Math.floor(diffInMinutes / 60);
- if (diffInHours < 24) return `${diffInHours}시간 전`;
+ if (diffInHours < 24) return `${diffInHours}h ago`;
const diffInDays = Math.floor(diffInHours / 24);
- if (diffInDays < 30) return `${diffInDays}일 전`;
+ if (diffInDays < 30) return `${diffInDays}d ago`;
- return postDate.toLocaleDateString('ko-KR');
+ return postDate.toLocaleDateString('en-US');
};
const filteredPosts = posts.filter(post =>
@@ -104,14 +104,14 @@ export default function Community() {
);
}
if (!outlet) {
- return 미디어 아울렛을 찾을 수 없습니다
;
+ return Media outlet not found
;
}
return (
@@ -232,9 +232,9 @@ export default function Community() {
- {outlet.name} 커뮤니티
+ {outlet.name} Community
-
자유롭게 의견을 나눠보세요
+
Share your thoughts freely
@@ -323,7 +323,7 @@ export default function Community() {
setSearchTerm(e.target.value)}
@@ -336,7 +336,7 @@ export default function Community() {
{postsLoading ? (
) : (
@@ -360,13 +360,13 @@ export default function Community() {
{post.isNotice && (
- 공지
+ Notice
)}
{post.isPinned && !post.isNotice && (
- 고정
+ Pinned
)}
@@ -437,7 +437,7 @@ export default function Community() {
{filteredPosts.length === 0 && (
-
아직 작성된 글이 없습니다.
+
No posts yet.
)}
diff --git a/client/src/pages/CommunityPost.tsx b/client/src/pages/CommunityPost.tsx
index f7eda8d..75bb506 100644
--- a/client/src/pages/CommunityPost.tsx
+++ b/client/src/pages/CommunityPost.tsx
@@ -70,16 +70,16 @@ export default function CommunityPostPage() {
const diffInMs = now.getTime() - postDate.getTime();
const diffInMinutes = Math.floor(diffInMs / 60000);
- if (diffInMinutes < 1) return "방금";
- if (diffInMinutes < 60) return `${diffInMinutes}분 전`;
+ if (diffInMinutes < 1) return "just now";
+ if (diffInMinutes < 60) return `${diffInMinutes}m ago`;
const diffInHours = Math.floor(diffInMinutes / 60);
- if (diffInHours < 24) return `${diffInHours}시간 전`;
+ if (diffInHours < 24) return `${diffInHours}h ago`;
const diffInDays = Math.floor(diffInHours / 24);
- if (diffInDays < 30) return `${diffInDays}일 전`;
+ if (diffInDays < 30) return `${diffInDays}d ago`;
- return postDate.toLocaleDateString('ko-KR');
+ return postDate.toLocaleDateString('en-US');
};
const canDeletePost = () => {
@@ -92,14 +92,14 @@ export default function CommunityPostPage() {
);
}
if (!post) {
- return 게시글을 찾을 수 없습니다
;
+ return Post not found
;
}
return (
@@ -114,7 +114,7 @@ export default function CommunityPostPage() {
data-testid="button-back"
>
- 커뮤니티로 돌아가기
+ Back to Community
{outlet && (
@@ -144,12 +144,12 @@ export default function CommunityPostPage() {
{post.isNotice && (
- 공지
+ Notice
)}
{post.isPinned && !post.isNotice && (
- 고정
+ Pinned
)}
@@ -217,7 +217,7 @@ export default function CommunityPostPage() {
data-testid="button-like"
>
- 추천 ({post.likeCount})
+ Like ({post.likeCount})
@@ -226,7 +226,7 @@ export default function CommunityPostPage() {
{/* Replies Section */}
- 댓글 {post.replyCount}개
+ {post.replyCount} Replies
{/* Reply Form */}
@@ -234,7 +234,7 @@ export default function CommunityPostPage() {
@@ -255,7 +255,7 @@ export default function CommunityPostPage() {
) : (
- 댓글을 작성하려면 로그인이 필요합니다.
+ Please login to write a reply.
)}
@@ -264,7 +264,7 @@ export default function CommunityPostPage() {
{repliesLoading ? (
-
댓글 로딩 중...
+
Loading replies...
) : replies.length > 0 ? (
@@ -283,7 +283,7 @@ export default function CommunityPostPage() {
) : (
-
첫 번째 댓글을 작성해보세요!
+
Be the first to reply!
)}
diff --git a/client/src/pages/Landing.tsx b/client/src/pages/Landing.tsx
index 4250bed..99a9e82 100644
--- a/client/src/pages/Landing.tsx
+++ b/client/src/pages/Landing.tsx
@@ -238,7 +238,14 @@ export default function Landing() {