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

@@ -5,6 +5,7 @@ import { ListItemProps, TransactionCategory } from '../model/types';
import moment from 'moment';
import { useStore } from '@/shared/model/store';
import { AllTracsactionStatusCode } from '../model/contant';
import { useTranslation } from 'react-i18next';
export const ListItem = ({
transactionCategory,
@@ -12,12 +13,13 @@ export const ListItem = ({
installmentMonth, serviceName, serviceCode,
serviceDetailName, goodsAmount,
amount, customerName, issueNumber, approvalNumber,
paymentMethod, processResult, transactionType,
paymentMethod, processResult, transactionType,
transactionDateTime, transactionAmount,
deliveryStatus, settlementStatus,
deliveryStatus, settlementStatus,
cancelStatus, billKey, orderNumber
}: ListItemProps) => {
const { navigate } = useNavigate();
const { t } = useTranslation();
const getItemClass = () => {
let rs = '';
if(statusCode === '0'){
@@ -78,7 +80,7 @@ export const ListItem = ({
});
}
else{
alert('pageType 이 존재하지 않습니다.');
alert(t('common.error'));
}
};
@@ -163,7 +165,7 @@ export const ListItem = ({
(!!installmentMonth && parseInt(installmentMonth) > 1) &&
<>
<span className="separator">|</span>
<span>{ installmentMonth } </span>
<span>{ t('transaction.fields.installmentMonthly', { count: installmentMonth }) }</span>
</>
}
</div>
@@ -196,7 +198,7 @@ export const ListItem = ({
(!!installmentMonth && parseInt(installmentMonth) > 1) &&
<>
<span className="separator">|</span>
<span>{ installmentMonth } </span>
<span>{ t('transaction.fields.installmentMonthly', { count: installmentMonth }) }</span>
</>
}
</div>
@@ -231,11 +233,11 @@ export const ListItem = ({
</div>
<div className="transaction-amount">
<NumericFormat
value={ goodsAmount || amount || transactionAmount }
value={ goodsAmount || amount || transactionAmount }
thousandSeparator
displayType="text"
suffix={ '원' }
></NumericFormat>
suffix={ t('home.currencyWon') }
></NumericFormat>
</div>
</div>
</>