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

@@ -1,31 +1,32 @@
import { TFunction } from 'i18next';
import { AccountHolderAuthStatus } from "./types";
export const authStatusBtnGroup = [
{ name: '전체', value: AccountHolderAuthStatus.ALL },
{ name: '요청', value: AccountHolderAuthStatus.REQUEST},
{ name: '성공', value: AccountHolderAuthStatus.SUCCESS},
{ name: '실패', value: AccountHolderAuthStatus.FAIL}
export const getAuthStatusBtnGroup = (t: TFunction) => [
{ name: t('transaction.constants.all'), value: AccountHolderAuthStatus.ALL },
{ name: t('additionalService.common.request'), value: AccountHolderAuthStatus.REQUEST},
{ name: t('additionalService.common.success'), value: AccountHolderAuthStatus.SUCCESS},
{ name: t('additionalService.common.fail'), value: AccountHolderAuthStatus.FAIL}
]
export const getAuthStatusText = (status?: string): string => {
export const getAuthStatusText = (t: TFunction) => (status?: string): string => {
if (!status) return '';
const AuthStatusMap: Record<string, string> = {
'REQUEST' : '요청',
'SUCCESS' : '성공',
'FAIL' : '실패'
'REQUEST' : t('additionalService.common.request'),
'SUCCESS' : t('additionalService.common.success'),
'FAIL' : t('additionalService.common.fail')
}
return AuthStatusMap[status] || status;
}
export const getAuthResultText = (status?: string): string => {
export const getAuthResultText = (t: TFunction) => (status?: string): string => {
if (!status) return '';
const AuthResultMap: Record<string, string> = {
'MATCHED' : '예금주명 일치',
'NOT_MATCHED' : '예금주명 불일치',
'FAILED' : '인증실패 (계좌 오류 등)'
'MATCHED' : t('additionalService.accountHolderAuth.accountHolderNameMatch'),
'NOT_MATCHED' : t('additionalService.accountHolderAuth.accountHolderNameMismatch'),
'FAILED' : t('additionalService.accountHolderAuth.authFailedAccountError')
}
return AuthResultMap[status] || status;