Add comprehensive i18n localization to transaction UI components

- Localize 23 transaction UI component files
- Add 150+ translation keys to ko.json and en.json
- Organized translations under transaction namespace:
  * transaction.bottomSheet - Bottom sheet modals
  * transaction.sections - Section titles
  * transaction.fields - Field labels (90+ keys)
  * transaction.cancel - Cancellation flows
  * transaction.handWrittenIssuance - Manual issuance forms
  * transaction.list - List actions

Updated files:
- Bottom sheets: escrow-mail-resend, cash-receipt-purpose-update
- Sections: billing-info, part-cancel-info, detail-info, issue-info,
  escrow-info, important-info, payment-info, transaction-info,
  settlement-info, merchant-info, amount-info, cancel-bank-group,
  cancel-password-group
- Lists: list-item, billing-list, cash-receipt-list
- Cancel flows: all-cancel, part-cancel, prevent-bond
- Issuance: hand-written-issuance-step1, hand-written-issuance-step2

🤖 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 16:14:25 +09:00
parent 5f420c212b
commit e067fc8d4f
25 changed files with 847 additions and 384 deletions

View File

@@ -2,6 +2,7 @@ import { ChangeEvent } from 'react';
import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout';
import { ProcessStep } from '../model/types';
import { NumericFormat } from 'react-number-format';
import { useTranslation } from 'react-i18next';
export interface CashReceiptHandWrittenIssuanceStep2Props {
setProcessStep: (processStep: ProcessStep) => void;
@@ -31,17 +32,19 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({
setServiceCharge,
onClickToVatCalculate
}: CashReceiptHandWrittenIssuanceStep2Props) => {
const { t } = useTranslation();
useSetOnBack(() => {
setProcessStep(ProcessStep.One);
});
return (
<>
<h2 className="issue-title"> </h2>
<h2 className="issue-title">{t('transaction.handWrittenIssuance.step2Title')}</h2>
<div className="issue-form">
<div className="issue-row">
<div className="issue-label"></div>
<div className="issue-label">{t('transaction.handWrittenIssuance.issueAmount')}</div>
<div className="issue-field">
<div className="seg-buttons">
<NumericFormat
@@ -54,13 +57,13 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({
className="btn-40 btn-white"
type="button"
onClick={ onClickToVatCalculate }
>VAT자동계산</button>
>{t('transaction.handWrittenIssuance.vatAutoCalc')}</button>
</div>
</div>
</div>
<div className="issue-row">
<div className="issue-label"></div>
<div className="issue-label">{t('transaction.fields.supplyAmount')}</div>
<div className="issue-field">
<NumericFormat
value={ supplyAmount }
@@ -71,7 +74,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({
</div>
</div>
<div className="issue-row">
<div className="issue-label">VAT</div>
<div className="issue-label">{t('transaction.fields.vat')}</div>
<div className="issue-field">
<NumericFormat
value={ vatAmount }
@@ -82,7 +85,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({
</div>
</div>
<div className="issue-row">
<div className="issue-label"></div>
<div className="issue-label">{t('transaction.fields.taxFreeAmount')}</div>
<div className="issue-field">
<NumericFormat
value={ taxFreeAmount }
@@ -93,7 +96,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({
</div>
</div>
<div className="issue-row">
<div className="issue-label"></div>
<div className="issue-label">{t('transaction.fields.serviceAmount')}</div>
<div className="issue-field">
<NumericFormat
value={ serviceCharge }
@@ -104,7 +107,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({
</div>
</div>
<div className="issue-note error">
VAT,, .
{t('transaction.handWrittenIssuance.errorMessage')}
</div>
</div>
</>