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,5 +1,6 @@
import { IMAGE_ROOT } from '@/shared/constants/common';
import { motion } from 'framer-motion';
import { useTranslation } from 'react-i18next';
export interface EscrowMailResendBottomSheetProps {
setBottomSheetOn: (bottomSheetOn: boolean) => void;
@@ -12,6 +13,7 @@ export const EscrowMailResendBottomSheet = ({
bottomSheetOn,
callMailResend
}: EscrowMailResendBottomSheetProps) => {
const { t } = useTranslation();
const onClickToClose = () => {
setBottomSheetOn(false);
@@ -30,7 +32,7 @@ export const EscrowMailResendBottomSheet = ({
{ (bottomSheetOn) &&
<div className="bg-dim"></div>
}
<motion.div
<motion.div
className="bottomsheet"
initial="hidden"
animate={ (bottomSheetOn)? 'visible': 'hidden' }
@@ -39,14 +41,14 @@ export const EscrowMailResendBottomSheet = ({
>
<div className="bottomsheet-header">
<div className="bottomsheet-title">
<h2> </h2>
<h2>{ t('transaction.bottomSheet.escrowMailResend.title') }</h2>
<button
className="close-btn"
type="button"
>
<img
src={ IMAGE_ROOT + '/ico_close.svg' }
alt="닫기"
alt={ t('transaction.bottomSheet.escrowMailResend.close') }
onClick={ () => onClickToClose() }
/>
</button>
@@ -60,24 +62,24 @@ export const EscrowMailResendBottomSheet = ({
<div className="mail-icon-bg"></div>
<img
src={ IMAGE_ROOT +'/ico_email.svg' }
alt="메일"
alt={ t('transaction.bottomSheet.escrowMailResend.mail') }
/>
</div>
<span className="label-text"> </span>
<span className="label-text">{ t('transaction.bottomSheet.escrowMailResend.mailLabel') }</span>
</div>
<div className="email-select">
<div className="select-wrapper">
<select>
<option></option>
<option>1</option>
<option>2</option>
<option>{ t('transaction.bottomSheet.escrowMailResend.select') }</option>
<option>{ t('transaction.bottomSheet.escrowMailResend.select') }1</option>
<option>{ t('transaction.bottomSheet.escrowMailResend.select') }2</option>
</select>
</div>
</div>
<div className="error-message">
<p> .<br /> .</p>
<p>{ t('transaction.bottomSheet.escrowMailResend.errorNoEmail') }</p>
</div>
</div>
</div>
@@ -87,7 +89,7 @@ export const EscrowMailResendBottomSheet = ({
className="btn-50 btn-blue flex-1"
type="button"
onClick={ () => onClickToMailResend() }
></button>
>{ t('transaction.submit') }</button>
</div>
</motion.div>
</>