From 6b4e963fe89d6ce96cb00a8137010f5233df0053 Mon Sep 17 00:00:00 2001 From: Jay Sheen Date: Mon, 3 Nov 2025 17:17:40 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=20=EB=B0=8F=20=EC=84=A4=EC=A0=95=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EB=8B=A4=EA=B5=AD=EC=96=B4=20=EC=A7=80=EC=9B=90=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 알림톡 상세 페이지와 설정 페이지에 대한 다국어 지원을 추가했습니다. 변경사항: - 상세 페이지: 페이지 타이틀, 거래 정보 레이블 다국어화 - 설정 페이지: 페이지 타이틀, 안내 문구, 폼 레이블, 서비스 종류, 버튼, 메시지 다국어화 번역 키 추가: - detailTitle: 알림톡 발송 상세 / Alimtalk Send Detail - transactionInfo: 거래 정보 / Transaction Information - serviceName, sendKind, buyerName, paymentService, notificationDivision, sendDivision - settingNotice1, settingNotice2: 설정 안내 문구 - merchant, sendToMerchant, sendToCustomer - 서비스 종류: creditCardApproval, creditCardCancel, bankTransferApproval, bankTransferCancel, virtualAccountDepositRequest, virtualAccountDepositComplete, virtualAccountRefund - saveSuccess, saveFailed, unknownError 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/locales/en.json | 25 ++++++++++++- .../alimtalk/detail-page.tsx | 16 ++++----- .../alimtalk/setting-page.tsx | 36 ++++++++++--------- 3 files changed, 51 insertions(+), 26 deletions(-) diff --git a/src/locales/en.json b/src/locales/en.json index 484526b..94f5fdb 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1056,6 +1056,7 @@ }, "alimtalk": { "title": "Alimtalk Payment Notification", + "detailTitle": "Alimtalk Send Detail", "buyer": "Buyer", "depositRequest": "Deposit Request", "depositComplete": "Deposit Complete", @@ -1065,7 +1066,29 @@ "notificationCategory": "Notification Category", "sendType": "Send Type", "sendCategory": "Send Category", - "serviceSetting": "Service Settings" + "serviceSetting": "Service Settings", + "transactionInfo": "Transaction Information", + "serviceName": "Service Name", + "sendKind": "Send Type", + "buyerName": "Buyer Name", + "paymentService": "Payment Service", + "notificationDivision": "Notification Division", + "sendDivision": "Send Division", + "settingNotice1": "You can set the recipients for Alimtalk notifications.", + "settingNotice2": "Please configure the recipients and types for Alimtalk notifications.", + "merchant": "Merchant", + "sendToMerchant": "Send to Merchant", + "sendToCustomer": "Send to Customer", + "creditCardApproval": "Credit Card (Approval)", + "creditCardCancel": "Credit Card (Cancel)", + "bankTransferApproval": "Bank Transfer (Approval)", + "bankTransferCancel": "Bank Transfer (Cancel)", + "virtualAccountDepositRequest": "Virtual Account (Deposit Request)", + "virtualAccountDepositComplete": "Virtual Account (Deposit Complete)", + "virtualAccountRefund": "Virtual Account (Refund)", + "saveSuccess": "Saved successfully.", + "saveFailed": "Save failed.", + "unknownError": "Unknown error" }, "payout": { "title": "Payout", diff --git a/src/pages/additional-service/alimtalk/detail-page.tsx b/src/pages/additional-service/alimtalk/detail-page.tsx index 5284927..f45132c 100644 --- a/src/pages/additional-service/alimtalk/detail-page.tsx +++ b/src/pages/additional-service/alimtalk/detail-page.tsx @@ -38,7 +38,7 @@ export const AlimtalkDetailPage = () => { }); }; - useSetHeaderTitle('알림톡 발송 상세'); + useSetHeaderTitle(t('additionalService.alimtalk.detailTitle')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { @@ -67,7 +67,7 @@ export const AlimtalkDetailPage = () => {
-
거래 정보
+
{t('additionalService.alimtalk.transactionInfo')}
  • MID @@ -78,27 +78,27 @@ export const AlimtalkDetailPage = () => { { detail?.tid }
  • - 서비스명 + {t('additionalService.alimtalk.serviceName')} { detail?.extensionServiceName }
  • - 발송 종류 + {t('additionalService.alimtalk.sendKind')} { getAlimtalkSendTypeText(t)(detail?.sendType) }
  • - 주문자명 + {t('additionalService.alimtalk.buyerName')} {detail?.receiverName }
  • - 결제서비스 + {t('additionalService.alimtalk.paymentService')} { getAlimtalkServiceCodeText(t)(detail?.serviceCode) }
  • - 알림구분 + {t('additionalService.alimtalk.notificationDivision')} { getAlimtalkAlimClText(t)(detail?.alimCl) }
  • - 발송구분 + {t('additionalService.alimtalk.sendDivision')} { getAlimtalkSendClTypeText(t)(detail?.sendCl) }
diff --git a/src/pages/additional-service/alimtalk/setting-page.tsx b/src/pages/additional-service/alimtalk/setting-page.tsx index 4d9955c..b2fcdac 100644 --- a/src/pages/additional-service/alimtalk/setting-page.tsx +++ b/src/pages/additional-service/alimtalk/setting-page.tsx @@ -23,8 +23,10 @@ import { useEffect, useState } from 'react'; import { AlimTalkSettingServiceRow } from '@/entities/additional-service/ui/alimtalk/setting-service-row'; import { useStore } from '@/shared/model/store'; import { snackBar } from '@/shared/lib'; +import { useTranslation } from 'react-i18next'; export const AlimtalkSettingPage = () => { + const { t } = useTranslation(); const { navigate } = useNavigate(); const midOptionsWithoutGids = useStore.getState().UserStore.selectOptionsMidsWithoutGids; const userMid = useStore.getState().UserStore.mid; @@ -104,15 +106,15 @@ export const AlimtalkSettingPage = () => { }; alimtalkSettingSave(params) .then((rs) => { - snackBar("저장을 성공하였습니다."); + snackBar(t('additionalService.alimtalk.saveSuccess')); }) .catch((error) => { - const failReason = error?.response?.data?.message || error?.message || "알 수 없는 오류"; - snackBar(`[실패] ${failReason}`); + const failReason = error?.response?.data?.message || error?.message || t('additionalService.alimtalk.unknownError'); + snackBar(`[${t('common.failed')}] ${failReason}`); }); }; - useSetHeaderTitle('알림톡 결제통보'); + useSetHeaderTitle(t('additionalService.alimtalk.title')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { @@ -150,12 +152,12 @@ export const AlimtalkSettingPage = () => {
-
알림톡을 발송할 대상을 설정할 수 있습니다.
-
알림톡 발송 대상과 유형을 설정해 주세요.
+
{t('additionalService.alimtalk.settingNotice1')}
+
{t('additionalService.alimtalk.settingNotice2')}
-
가맹점
+
{t('additionalService.alimtalk.merchant')}