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

@@ -1,3 +1,4 @@
import { useTranslation } from 'react-i18next';
import { useStore } from "@/shared/model/store";
import { ChangeEvent, useState } from "react";
@@ -17,6 +18,7 @@ export const AllTransactionCancelSectionBankGroup = ({
accountHolder,
setAccountHolder
}: AllTransactionCancelSectionBankGroupProps ) => {
const { t } = useTranslation();
let bankList = useStore.getState().CommonStore.virtualBankList;
bankList = bankList.filter((value, index) => value.code1 !== '****');
@@ -37,14 +39,14 @@ export const AllTransactionCancelSectionBankGroup = ({
return (
<>
<div className="form-group">
<label className="form-label"></label>
<label className="form-label">{t('transaction.fields.bank')}</label>
<div className="input-wrapper wid-100">
<select
<select
className="wid-100 align-right"
value={ bankCode }
onChange={ (e: ChangeEvent<HTMLSelectElement>) => onChangeNewBankCode(e.target.value) }
>
<option value=""></option>
<option value="">{t('transaction.cancel.bankGroup.select')}</option>
{ bankList.map((value, index) => (
<option value={ value.code1 }>{ value.desc1 }</option>
))
@@ -54,11 +56,11 @@ export const AllTransactionCancelSectionBankGroup = ({
</div>
<div className="form-group">
<label className="form-label"></label>
<label className="form-label">{t('transaction.fields.accountNo')}</label>
<div className="input-wrapper wid-100">
<input
className="form-input wid-100"
type="text"
<input
className="form-input wid-100"
type="text"
value={ newAccountNo }
onChange={ (e: ChangeEvent<HTMLInputElement>) => onChangeNewAccountNo(e.target.value) }
/>
@@ -66,11 +68,11 @@ export const AllTransactionCancelSectionBankGroup = ({
</div>
<div className="form-group">
<label className="form-label"></label>
<label className="form-label">{t('transaction.fields.accountHolder')}</label>
<div className="input-wrapper wid-100">
<input
className="form-input wid-100"
type="text"
<input
className="form-input wid-100"
type="text"
value={ newAccountHolder }
onChange={ (e: ChangeEvent<HTMLInputElement>) => onChangeNewAccountHolder(e.target.value) }
/>
@@ -78,7 +80,7 @@ export const AllTransactionCancelSectionBankGroup = ({
</div>
<div className="notice-text wid-100">
<p> .<br /> .</p>
<p>{t('transaction.cancel.bankGroup.notice')}</p>
</div>
</>
);