Add comprehensive i18n localization to settlement entity

- Convert settlement constants to i18n-compatible getter functions
- Add 28+ translation keys to settlement namespace
- Localize 11 settlement UI components

Constant conversions:
- getSettlementPeriodTypeBtnGroup(t)
- getSettlementPaymentMethodOptionsGroup(t)

Translation keys added:
- settlement.periodType.* (settlementDate, transactionDate)
- settlement.searchCriteria, searchPeriod
- settlement.settlementCompleted, depositScheduled
- settlement.settlementInfo, transferStatus, transferId, transferTime
- settlement.bankName, accountNumber, depositorName
- settlement.settlementDepositAmount, errorReason
- settlement.transactionDetailInfo
- settlement.cardBankTelecom, approvalAccountPhone
- common.weekdays.* (sun-sat)
- common.currencyUnit

Localized components:
- filter/list-filter.tsx
- calandar-wrap.tsx, calendar-grid.tsx
- calendar-settlement-item.tsx, calandar-amount-row.tsx
- info-wrap/settlement-info-wrap.tsx
- info-wrap/transaction-info-wrap.tsx
- list-summary-extend-settlement.tsx
- list-summary-extend-transaction.tsx

All settlement components now support Korean/English language switching.

🤖 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 17:36:42 +09:00
parent 868f6754ed
commit 0d43510307
12 changed files with 233 additions and 137 deletions

View File

@@ -1,4 +1,5 @@
import { NumericFormat } from 'react-number-format';
import { useTranslation } from 'react-i18next';
import { SettlementStatus } from '../model/types';
export interface CalendarAmountRowProps {
@@ -10,23 +11,24 @@ export const CalendarAmountRow = ({
amount,
settlementStatus
}: CalendarAmountRowProps) => {
const { t } = useTranslation();
const makeTitle = () => {
let rs = [];
if(settlementStatus === SettlementStatus.SCHEDULED){
rs.push(
<span
<span
key='amount-label-scheduled'
className="scheduled"
></span>
>{t('settlement.scheduled')}</span>
);
}
else if(settlementStatus === SettlementStatus.COMPLETED){
rs.push(
<span
<span
key='amount-label-complete'
className="complete"
></span>
>{t('settlement.completed')}</span>
);
}
return rs;
@@ -35,13 +37,13 @@ export const CalendarAmountRow = ({
return (
<>
<div className="amount-row">
<div className="amount-label"> { makeTitle() } </div>
<div className="amount-label">{t('settlement.settlementShort')} { makeTitle() } {t('filter.amount')}</div>
<div className="amount-value">
<NumericFormat
value={ amount }
value={ amount }
thousandSeparator
displayType="text"
suffix='원'
suffix={t('common.currencyUnit')}
></NumericFormat>
</div>
</div>