Add i18n localization foundation to additional-service entity

- Convert 10 constant files to i18n-compatible getter functions:
  - ars/constant.ts: ARS status codes and payment methods
  - sms-payment/constant.ts: SMS payment status codes
  - link-pay/constant.ts: Link payment status codes
  - account-holder-auth/constant.ts: Account holder verification
  - account-holder-search/constant.ts: Account holder search types
  - face-auth/constant.ts: Face authentication types
  - fund-account/constant.ts: Fund account status codes
  - alimtalk/constant.ts: Alimtalk status and transaction types
  - payout/constant.ts: Payout search types
  - key-in/constant.ts: Key-in cancel types

- Refactor lib/payment-status-utils.ts to curried functions with TFunction

- Add 63 translation keys to additionalService namespace in ko.json/en.json

- Localize 2 UI components as examples:
  - ui/filter/ars-filter.tsx
  - ui/ars/resend-sms-bottom-sheet.tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-10-30 18:06:52 +09:00
parent e60fe0f014
commit ee932f2a46
15 changed files with 345 additions and 199 deletions

View File

@@ -786,6 +786,69 @@
"reason": "Reason",
"accountError": "Payment Account Error",
"agreeOrReject": "Agree/Reject Settlement"
},
"ars": {
"paymentComplete": "Payment Complete",
"unpaid": "Unpaid",
"pendingPayment": "Pending Payment",
"paymentSuccess": "Payment Success",
"expired": "Expired",
"canceled": "Canceled"
},
"sms": {
"virtualAccountRequest": "Virtual Account Request",
"virtualAccountRequestDeposit": "Virtual Account Request + Deposit"
},
"linkPay": {
"sendRequest": "Send Request",
"sendCancel": "Send Cancel",
"incompleteActive": "Incomplete/Active",
"depositRequest": "Deposit Request",
"paymentComplete": "Payment Complete",
"paymentFail": "Payment Failed",
"paymentStopped": "Payment Stopped",
"paymentStoppedInactive": "Payment Stopped/Inactive",
"pending": "Pending",
"email": "Email",
"alimtalk": "Alimtalk"
},
"accountHolderAuth": {
"accountHolderNameMatch": "Account Holder Name Match",
"accountHolderNameMismatch": "Account Holder Name Mismatch",
"authFailedAccountError": "Authentication Failed (Account Error, etc.)"
},
"accountHolderSearch": {
"accountHolder": "Account Holder",
"accountNumber": "Account Number"
},
"faceAuth": {
"authentication": "Authentication",
"registration": "Registration"
},
"fundAccount": {
"registrationComplete": "Registration Complete",
"transferRequest": "Transfer Request",
"requestSuccess": "Request Success",
"requestFail": "Request Failed",
"requestDate": "Request Date",
"transferDate": "Transfer Date",
"recipient": "Recipient",
"accountNumber": "Account Number"
},
"alimtalk": {
"buyer": "Buyer",
"depositRequest": "Deposit Request",
"depositComplete": "Deposit Complete",
"kakaotalk": "KakaoTalk",
"fbSms": "FB SMS"
},
"payout": {
"requestDate": "Request Date",
"disbursementDate": "Disbursement Date"
},
"keyIn": {
"fullCancel": "Full Cancel",
"partialCancel": "Partial Cancel"
}
},
"merchant": {

View File

@@ -790,6 +790,69 @@
"reason": "사유",
"accountError": "지급 계좌오류",
"agreeOrReject": "정산 동의/거절"
},
"ars": {
"paymentComplete": "결제완료",
"unpaid": "미결제",
"pendingPayment": "결제대기",
"paymentSuccess": "결제성공",
"expired": "기간만료",
"canceled": "취소완료"
},
"sms": {
"virtualAccountRequest": "가상계좌 요청",
"virtualAccountRequestDeposit": "가상계좌 요청 + 입금"
},
"linkPay": {
"sendRequest": "발송요청",
"sendCancel": "발송취소",
"incompleteActive": "미완료/활성화",
"depositRequest": "입금요청",
"paymentComplete": "결제완료",
"paymentFail": "결제실패",
"paymentStopped": "결제중단",
"paymentStoppedInactive": "결제중단/비활성화",
"pending": "대기중",
"email": "이메일",
"alimtalk": "알림톡"
},
"accountHolderAuth": {
"accountHolderNameMatch": "예금주명 일치",
"accountHolderNameMismatch": "예금주명 불일치",
"authFailedAccountError": "인증실패 (계좌 오류 등)"
},
"accountHolderSearch": {
"accountHolder": "예금주",
"accountNumber": "계좌번호"
},
"faceAuth": {
"authentication": "인증",
"registration": "등록"
},
"fundAccount": {
"registrationComplete": "등록완료",
"transferRequest": "이체요청",
"requestSuccess": "요청성공",
"requestFail": "요청실패",
"requestDate": "요청일자",
"transferDate": "이체일자",
"recipient": "수취인",
"accountNumber": "계좌번호"
},
"alimtalk": {
"buyer": "주문자",
"depositRequest": "입금요청",
"depositComplete": "입금완료",
"kakaotalk": "카카오톡",
"fbSms": "FB SMS"
},
"payout": {
"requestDate": "요청일자",
"disbursementDate": "지급일자"
},
"keyIn": {
"fullCancel": "전취소",
"partialCancel": "후취소"
}
},
"merchant": {