From 7b5f93d737311d1c442dcafb118126416a62112d Mon Sep 17 00:00:00 2001 From: Jay Sheen Date: Mon, 3 Nov 2025 15:48:27 +0900 Subject: [PATCH] =?UTF-8?q?ARS=20=EA=B2=B0=EC=A0=9C=20=EC=8B=A0=EC=B2=AD?= =?UTF-8?q?=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=8B=A4=EA=B5=AD=EC=96=B4=20?= =?UTF-8?q?=EC=A7=80=EC=9B=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 결제 신청 폼의 모든 레이블 현지화 - 페이지 제목 및 버튼 다국어 적용 - 에러 메시지 번역 처리 - 한글/영문 번역 키 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/locales/en.json | 13 +++++++- src/locales/ko.json | 13 +++++++- .../additional-service/ars/request-page.tsx | 33 ++++++++++--------- 3 files changed, 42 insertions(+), 17 deletions(-) diff --git a/src/locales/en.json b/src/locales/en.json index e66b411..255d496 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -875,7 +875,18 @@ "paymentSuccess": "Payment Success", "expired": "Expired", "canceled": "Canceled", - "paymentRequest": "Payment Request" + "paymentRequest": "Payment Request", + "merchant": "Merchant", + "orderNumber": "Order Number", + "productName": "Product Name", + "amount": "Amount", + "installmentPeriod": "Installment Period", + "lumpSum": "Lump Sum", + "buyerName": "Buyer Name", + "phoneNumber": "Phone Number", + "email": "Email", + "paymentMethod": "Payment Method", + "requestFailed": "Request failed." }, "sms": { "title": "SMS Payment Notification", diff --git a/src/locales/ko.json b/src/locales/ko.json index e03dc51..d4ecf40 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -875,7 +875,18 @@ "paymentSuccess": "결제성공", "expired": "기간만료", "canceled": "취소완료", - "paymentRequest": "결제 신청" + "paymentRequest": "결제 신청", + "merchant": "가맹점", + "orderNumber": "주문번호", + "productName": "상품명", + "amount": "금액", + "installmentPeriod": "할부기간", + "lumpSum": "일시불", + "buyerName": "구매자명", + "phoneNumber": "휴대폰 번호", + "email": "이메일", + "paymentMethod": "결제 방식", + "requestFailed": "신청을 실패하였습니다." }, "sms": { "title": "SMS 결제 통보", diff --git a/src/pages/additional-service/ars/request-page.tsx b/src/pages/additional-service/ars/request-page.tsx index 84b4213..cb71a61 100644 --- a/src/pages/additional-service/ars/request-page.tsx +++ b/src/pages/additional-service/ars/request-page.tsx @@ -1,4 +1,5 @@ import { ChangeEvent, useState } from 'react'; +import { useTranslation } from 'react-i18next'; import { PATHS } from '@/shared/constants/paths'; import { useLocation } from 'react-router'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; @@ -18,6 +19,7 @@ import { snackBar } from '@/shared/lib'; import { NumericFormat, PatternFormat } from 'react-number-format'; export const ArsRequestPage = () => { + const { t } = useTranslation(); const { navigate } = useNavigate(); const location = useLocation(); @@ -39,7 +41,7 @@ export const ArsRequestPage = () => { const [successPageOn, setSuccessPageOn] = useState(false); const [resultMessage, setResultMessage] = useState(''); - useSetHeaderTitle('결제 신청'); + useSetHeaderTitle(t('additionalService.ars.paymentRequest')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { @@ -63,12 +65,13 @@ export const ArsRequestPage = () => { if (rs.status) { setSuccessPageOn(true); } else { - const errorMessage = rs.error?.message || '신청을 실패하였습니다.'; - snackBar(`[실패] ${errorMessage}`); + const errorMessage = rs.error?.message || t('additionalService.ars.requestFailed'); + snackBar(`[${t('common.failed')}] ${errorMessage}`); } }) .catch((error) => { - snackBar(`[실패] ${error?.response?.data?.message || error?.response?.data?.error?.message}` || '[실패] 신청을 실패하였습니다.') + const errorMsg = error?.response?.data?.message || error?.response?.data?.error?.message || t('additionalService.ars.requestFailed'); + snackBar(`[${t('common.failed')}] ${errorMsg}`); }) }; @@ -127,7 +130,7 @@ export const ArsRequestPage = () => {
-
가맹점 *
+
{t('additionalService.ars.merchant')} *
{
-
상품명 *
+
{t('additionalService.ars.productName')} *
{
-
금액 *
+
{t('additionalService.ars.amount')} *
{
-
할부기간 *
+
{t('additionalService.ars.installmentPeriod')} *
-
구매자명 *
+
{t('additionalService.ars.buyerName')} *
{
-
휴대폰 번호 *
+
{t('additionalService.ars.phoneNumber')} *
{
-
이메일
+
{t('additionalService.ars.email')}
{
-
결제 방식 *
+
{t('additionalService.ars.paymentMethod')} *
{getArsPaymentMethodBtns()}
@@ -253,7 +256,7 @@ export const ArsRequestPage = () => { className="btn-50 btn-blue flex-1" onClick={() => onClickToRequest()} disabled={!isFormValid()} - >결제 신청 + >{t('additionalService.ars.paymentRequest')}