diff --git a/src/locales/en.json b/src/locales/en.json
index 7261a68..7b43f47 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -1052,6 +1052,25 @@
"merchantName": "Merchant Name",
"customerGreeting": "Hello, {buyerName}!",
"paymentGuideMessage": "NICEPAYMENTS Co., Ltd. is notifying you\nof the payment details.\nYou can check the details and proceed with payment by accessing the URL below.",
+ "separateApproval": "Link Payment_Separate Approval",
+ "extendPeriodNotice": "※ Extension Period: Up to 7 days, can be extended 3 times in total",
+ "linkBreakNotice": "※ Link Break: Function to close payment before expiration date, cannot be undone once broken",
+ "transactionAmount": "Transaction Amount",
+ "paymentStatus": "Payment Status",
+ "validityPeriod": "Validity Period",
+ "extendCount": "Extension Count",
+ "extendPeriod": "Extension Period",
+ "unset": "Not Set",
+ "extendPeriodAction": "Extend Period",
+ "linkBreakAction": "Break Link",
+ "noItemsSelected": "No items selected.",
+ "pleaseSelectExtendPeriod": "Please select extension period for all selected items.",
+ "allRequestSuccess": "All requests successful.",
+ "extendPeriodFailed": "Failed to extend validity period. Please check individual status.",
+ "extendPeriodFailedGeneric": "Failed to extend validity period.",
+ "linkBreakFailed": "Failed to break link. Please check individual status.",
+ "linkBreakFailedGeneric": "Failed to break link.",
+ "pleaseRetry": "Please try again",
"resendSuccess": "Resend successful.",
"resendFailed": "Resend failed.",
"resendError": "An error occurred during resend.",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 7f4b92f..ca30b1e 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -1052,6 +1052,25 @@
"merchantName": "가맹점 상호",
"customerGreeting": "{buyerName} 고객님, 안녕하세요?",
"paymentGuideMessage": "나이스페이먼츠 주식회사에서\n결제하실 내역 안내드립니다.\n아래 URL로 접속하시면 상세 내역 확인과 결제 진행이 가능합니다.",
+ "separateApproval": "링크결제_분리승인",
+ "extendPeriodNotice": "※ 연장 기간: 최대 7일, 총 3번 연장 가능",
+ "linkBreakNotice": "※ 링크 중단: 유효기간 전, 결제를 마감하는 기능, 링크중단 시 원복 불가",
+ "transactionAmount": "거래금액",
+ "paymentStatus": "결제상태",
+ "validityPeriod": "유효기간",
+ "extendCount": "연장횟수",
+ "extendPeriod": "연장기간",
+ "unset": "미설정",
+ "extendPeriodAction": "기간연장",
+ "linkBreakAction": "링크중단",
+ "noItemsSelected": "선택된 항목이 없습니다.",
+ "pleaseSelectExtendPeriod": "모든 선택된 항목의 연장 기간을 선택해주세요.",
+ "allRequestSuccess": "전체요청 성공했습니다.",
+ "extendPeriodFailed": "유효기간 연장에 실패했습니다. 개별 상태를 확인해주세요.",
+ "extendPeriodFailedGeneric": "유효기간 연장에 실패했습니다.",
+ "linkBreakFailed": "링크중단 요청에 실패했습니다. 개별 상태를 확인해주세요.",
+ "linkBreakFailedGeneric": "링크중단 요청에 실패했습니다.",
+ "pleaseRetry": "다시 시도해 주세요",
"resendSuccess": "재발송을 성공하였습니다.",
"resendFailed": "재발송을 실패하였습니다.",
"resendError": "재발송 중 오류가 발생했습니다.",
diff --git a/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-fail.tsx b/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-fail.tsx
index 5139fd0..8a3cca7 100644
--- a/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-fail.tsx
+++ b/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-fail.tsx
@@ -1,4 +1,5 @@
import { motion } from 'framer-motion';
+import { useTranslation } from 'react-i18next';
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { PATHS } from "@/shared/constants/paths";
import {
@@ -25,6 +26,7 @@ export const LinkPaymentApplyFailPage = ({
errorMessage,
onClose
}: LinkPaymentApplyFailPageProps) => {
+ const { t } = useTranslation();
const onClickToClose = () => {
setPageOn(false);
@@ -51,7 +53,7 @@ export const LinkPaymentApplyFailPage = ({
aria-hidden="true"
>
- 링크결제_분리승인
+ {t('additionalService.linkPayment.separateApproval')}
{resultMessage && (
@@ -62,8 +64,8 @@ export const LinkPaymentApplyFailPage = ({
- 결과 :
- {errorMessage || '다시 시도해 주세요'}
+ {t('common.result')} :
+ {errorMessage || t('additionalService.linkPayment.pleaseRetry')}
@@ -71,7 +73,7 @@ export const LinkPaymentApplyFailPage = ({
+ >{t('common.confirm')}
diff --git a/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-page.tsx b/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-page.tsx
index 6bb1e67..ca24363 100644
--- a/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-page.tsx
+++ b/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-page.tsx
@@ -1,4 +1,5 @@
import { useEffect, useState, useCallback } 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';
@@ -20,6 +21,7 @@ import { useStore } from '@/shared/model/store';
import moment from 'moment';
export const LinkPaymentSeparateApprovalPage = () => {
+ const { t } = useTranslation();
const { navigate } = useNavigate();
const location = useLocation();
const userMid = useStore.getState().UserStore.mid;
@@ -43,7 +45,7 @@ export const LinkPaymentSeparateApprovalPage = () => {
const { mutateAsync: callItems } = useExtensionLinkPaySeparateDetail();
const { mutateAsync: linkPaySeparateAction } = useExtensionLinkPaySeparateAction();
- useSetHeaderTitle('분리승인 상세');
+ useSetHeaderTitle(t('additionalService.linkPayment.separateApprovalTitle'));
useSetHeaderType(HeaderType.RightClose);
useSetOnBack(() => {
navigate(PATHS.additionalService.linkPayment.shippingHistory);
@@ -189,7 +191,7 @@ export const LinkPaymentSeparateApprovalPage = () => {
// 선택된 항목이 없으면 리턴
if (selectedItems.length === 0) {
- setErrorMessage('선택된 항목이 없습니다.');
+ setErrorMessage(t('additionalService.linkPayment.noItemsSelected'));
setFailPageOn(true);
return;
}
@@ -203,7 +205,7 @@ export const LinkPaymentSeparateApprovalPage = () => {
const allHaveExtendPeriod = selectedSubItems.every(id => extendPeriods[id]);
if (!allHaveExtendPeriod) {
- setErrorMessage('모든 선택된 항목의 연장 기간을 선택해주세요.');
+ setErrorMessage(t('additionalService.linkPayment.pleaseSelectExtendPeriod'));
setFailPageOn(true);
return;
}
@@ -237,16 +239,16 @@ export const LinkPaymentSeparateApprovalPage = () => {
setTotalCount(response.totalCount);
if (response.success) {
- setResultMessage(`전체요청 성공했습니다.`);
+ setResultMessage(t('additionalService.linkPayment.allRequestSuccess'));
setSuccessPageOn(true);
} else {
- setResultMessage(`유효기간 연장에 실패했습니다. 개별 상태를 확인해주세요.`);
+ setResultMessage(t('additionalService.linkPayment.extendPeriodFailed'));
setErrorMessage('');
setFailPageOn(true);
}
}).catch((error) => {
console.error('기간연장 실패:', error);
- setResultMessage('유효기간 연장에 실패했습니다.');
+ setResultMessage(t('additionalService.linkPayment.extendPeriodFailedGeneric'));
setFailPageOn(true);
});
};
@@ -257,7 +259,7 @@ export const LinkPaymentSeparateApprovalPage = () => {
// 선택된 항목이 없으면 리턴
if (selectedItems.length === 0) {
- setErrorMessage('선택된 항목이 없습니다.');
+ setErrorMessage(t('additionalService.linkPayment.noItemsSelected'));
setFailPageOn(true);
return;
}
@@ -287,16 +289,16 @@ export const LinkPaymentSeparateApprovalPage = () => {
setFailCount(response.failCount);
setTotalCount(response.totalCount);
if (response.success) {
- setResultMessage(`전체요청 성공했습니다.`);
+ setResultMessage(t('additionalService.linkPayment.allRequestSuccess'));
setSuccessPageOn(true);
} else {
- setResultMessage('링크중단 요청에 실패했습니다. 개별 상태를 확인해주세요.');
+ setResultMessage(t('additionalService.linkPayment.linkBreakFailed'));
setErrorMessage('');
setFailPageOn(true);
}
}).catch((error) => {
console.error('링크중단 실패:', error);
- setResultMessage('링크중단 요청에 실패했습니다.');
+ setResultMessage(t('additionalService.linkPayment.linkBreakFailedGeneric'));
setFailPageOn(true);
});
};
@@ -334,8 +336,8 @@ export const LinkPaymentSeparateApprovalPage = () => {
-
※ 연장 기간: 최대 7일, 총 3번 연장 가능
-
※ 링크 중단: 유효기간 전, 결제를 마감하는 기능, 링크중단 시 원복 불가
+
{t('additionalService.linkPayment.extendPeriodNotice')}
+
{t('additionalService.linkPayment.linkBreakNotice')}
@@ -360,17 +362,17 @@ export const LinkPaymentSeparateApprovalPage = () => {
-
- • 거래금액:
+ • {t('additionalService.linkPayment.transactionAmount')}:
{item.amount.toLocaleString()}
-
- • 결제상태:
+ • {t('additionalService.linkPayment.paymentStatus')}:
{item.paymentStatusName}
{item.type !== LinkPaymentSeparateType.MAIN && (
<>
-
- • 유효기간:
+ • {t('additionalService.linkPayment.validityPeriod')}:
{item.paymentLimitDate
? moment(item.paymentLimitDate, 'YYYYMMDD').format('YYYY/MM/DD')
@@ -379,7 +381,7 @@ export const LinkPaymentSeparateApprovalPage = () => {
-
- • 연장횟수:
+ • {t('additionalService.linkPayment.extendCount')}:
{item.paymentLimitCount}
>
@@ -388,7 +390,7 @@ export const LinkPaymentSeparateApprovalPage = () => {
-
+
diff --git a/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-success-page.tsx b/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-success-page.tsx
index 3699a61..a578ffb 100644
--- a/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-success-page.tsx
+++ b/src/pages/additional-service/link-payment/separate-approval/link-payment-separate-approval-success-page.tsx
@@ -1,4 +1,5 @@
import { motion } from 'framer-motion';
+import { useTranslation } from 'react-i18next';
import {
FilterMotionDuration,
FilterMotionStyle,
@@ -24,6 +25,7 @@ export const LinkPaymentApplySuccessPage = ({
totalCount,
onClose
}: LinkPaymentApplySuccessPageProps) => {
+ const { t } = useTranslation();
const onClickToClose = () => {
setPageOn(false);
@@ -50,13 +52,13 @@ export const LinkPaymentApplySuccessPage = ({
aria-hidden="true"
>
- 링크결제_분리승인
+ {t('additionalService.linkPayment.separateApproval')}
- 결과 :
- {resultMessage || '전체요청 성공했습니다.'}
+ {t('common.result')} :
+ {resultMessage || t('additionalService.linkPayment.allRequestSuccess')}
@@ -64,7 +66,7 @@ export const LinkPaymentApplySuccessPage = ({
+ >{t('common.confirm')}