diff --git a/src/locales/en.json b/src/locales/en.json index 255d496..7261a68 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1043,6 +1043,15 @@ "applyTitle": "Link Payment Request", "messagePreview": "Message Preview", "separateApprovalTitle": "Separate Approval Detail", + "previous": "Previous", + "next": "Next", + "requestProcessingError": "Unable to process request.", + "requestError": "An error occurred during request", + "confirmSendMessage": "Please confirm\nthe message to be sent", + "paymentRequestComplete": "Payment request has been completed.", + "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.", "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 d4ecf40..7f4b92f 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1043,6 +1043,15 @@ "applyTitle": "링크결제 신청", "messagePreview": "메시지 미리보기", "separateApprovalTitle": "분리승인 상세", + "previous": "이전", + "next": "다음", + "requestProcessingError": "요청을 처리할 수 없습니다.", + "requestError": "요청 중 오류가 발생했습니다", + "confirmSendMessage": "발송 메시지를\n최종 확인하세요", + "paymentRequestComplete": "결제 신청이 완료되었습니다.", + "merchantName": "가맹점 상호", + "customerGreeting": "{buyerName} 고객님, 안녕하세요?", + "paymentGuideMessage": "나이스페이먼츠 주식회사에서\n결제하실 내역 안내드립니다.\n아래 URL로 접속하시면 상세 내역 확인과 결제 진행이 가능합니다.", "resendSuccess": "재발송을 성공하였습니다.", "resendFailed": "재발송을 실패하였습니다.", "resendError": "재발송 중 오류가 발생했습니다.", diff --git a/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx b/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx index 4381a08..59d17b0 100644 --- a/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx +++ b/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx @@ -1,3 +1,4 @@ +import { useTranslation } from 'react-i18next'; import { HeaderType } from '@/entities/common/model/types'; import { useSetFooterMode, useSetHeaderTitle, useSetHeaderType } from '@/widgets/sub-layout/use-sub-layout'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; @@ -9,13 +10,14 @@ import { ExtensionLinkPayRequestParams, ExtensionLinkPayRequestResponse, LinkPay import { snackBar } from '@/shared/lib'; export const LinkPaymentApplyConfirmPage = () => { + const { t } = useTranslation(); const { navigate } = useNavigate(); const location = useLocation(); const formData: LinkPaymentFormData = location.state?.formData; const { mutateAsync: linkPayRequest } = useExtensionLinkPayRequestMutation(); - useSetHeaderTitle('메시지 미리보기'); + useSetHeaderTitle(t('additionalService.linkPayment.messagePreview')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); @@ -53,16 +55,16 @@ export const LinkPaymentApplyConfirmPage = () => { navigate(PATHS.additionalService.linkPayment.confirmSuccess); } else { // 일반 에러 메시지 - const errorMessage = rs.error?.message || '요청을 처리할 수 없습니다.'; - snackBar(`[실패] ${errorMessage}`); + const errorMessage = rs.error?.message || t('additionalService.linkPayment.requestProcessingError'); + snackBar(`[${t('common.failed')}] ${errorMessage}`); } }) .catch((error) => { // 네트워크 에러 등 예외 상황 const errorMessage = error?.response?.data?.error?.message || error?.message || - '요청 중 오류가 발생했습니다'; - snackBar(`[실패] ${errorMessage}`); + t('additionalService.linkPayment.requestError'); + snackBar(`[${t('common.failed')}] ${errorMessage}`); }); }; @@ -76,20 +78,18 @@ export const LinkPaymentApplyConfirmPage = () => {
-

발송 메시지를
최종 확인하세요

+

{t('additionalService.linkPayment.confirmSendMessage')}

- {formData.buyerName} 고객님, 안녕하세요?
- 나이스페이먼츠 주식회사에서
- 결제하실 내역 안내드립니다.
- 아래 URL로 접속하시면 상세 내역 확인과 결제 진행이 가능합니다.

+ {t('additionalService.linkPayment.customerGreeting', { buyerName: formData.buyerName })}
+ {t('additionalService.linkPayment.paymentGuideMessage')}

!${pay_url}

- 가맹점 상호 : 나이스페이먼츠 주식회사
- 상품명 : {formData.goodsName}
- 금액 : {formData.amount.toLocaleString()}원 + {t('additionalService.linkPayment.merchantName')} : 나이스페이먼츠 주식회사
+ {t('transaction.fields.productName')} : {formData.goodsName}
+ {t('transaction.fields.amount')} : {formData.amount.toLocaleString()}{t('common.currencyUnit')}

@@ -100,11 +100,11 @@ export const LinkPaymentApplyConfirmPage = () => { + >{t('additionalService.linkPayment.previous')} + >{t('additionalService.linkPay.paymentRequest')}
diff --git a/src/pages/additional-service/link-payment/apply/link-payment-apply-page.tsx b/src/pages/additional-service/link-payment/apply/link-payment-apply-page.tsx index 1b2ea8f..2752cea 100644 --- a/src/pages/additional-service/link-payment/apply/link-payment-apply-page.tsx +++ b/src/pages/additional-service/link-payment/apply/link-payment-apply-page.tsx @@ -1,4 +1,5 @@ import { useState } from 'react'; +import { useTranslation } from 'react-i18next'; import { LinkPaymentStep1 } from '@/entities/additional-service/ui/link-payment/apply/link-payment-step1'; import { LinkPaymentStep2 } from '@/entities/additional-service/ui/link-payment/apply/link-payment-step2'; import { HeaderType } from '@/entities/common/model/types'; @@ -14,6 +15,7 @@ import moment from 'moment'; export const LinkPaymentApplyPage = () => { + const { t } = useTranslation(); const { navigate } = useNavigate(); const midOptionsWithoutGids = useStore.getState().UserStore.selectOptionsMidsWithoutGids; @@ -43,7 +45,7 @@ export const LinkPaymentApplyPage = () => { linkContentType: LinkContentType.BASIC }); - useSetHeaderTitle('링크결제 신청'); + useSetHeaderTitle(t('additionalService.linkPayment.applyTitle')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); @@ -144,7 +146,7 @@ export const LinkPaymentApplyPage = () => { className="btn-50 btn-blue flex-1" onClick={() => onClickToChangeTab()} disabled={!isStep1Valid()} - >다음 + >{t('additionalService.linkPayment.next')}
} {(processStep === ProcessStep.Two) && @@ -152,12 +154,12 @@ export const LinkPaymentApplyPage = () => { + >{t('additionalService.linkPayment.previous')} + >{t('additionalService.linkPay.paymentRequest')} } diff --git a/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx b/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx index a3d5dd5..7ed2721 100644 --- a/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx +++ b/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx @@ -1,12 +1,14 @@ +import { useTranslation } from 'react-i18next'; import { HeaderType } from '@/entities/common/model/types'; import { useSetFooterMode, useSetHeaderTitle, useSetHeaderType } from '@/widgets/sub-layout/use-sub-layout'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { PATHS } from "@/shared/constants/paths"; export const LinkPaymentApplySuccessPage = () => { + const { t } = useTranslation(); const { navigate } = useNavigate(); - useSetHeaderTitle('링크결제 신청'); + useSetHeaderTitle(t('additionalService.linkPayment.applyTitle')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); @@ -20,15 +22,15 @@ export const LinkPaymentApplySuccessPage = () => {

- 링크결제
- 결제 신청이 완료되었습니다. + {t('additionalService.linkPayment.title')}
+ {t('additionalService.linkPayment.paymentRequestComplete')}

- + >{t('common.confirm')}