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": {