정산 및 거래 페이지 다국어화 및 통화 표기 개선

- 정산 페이지 다국어화 (정산조회, 정산내역 상세)
- 거래 페이지 다국어화 (거래내역 조회, 거래 취소, 거래내역 상세)
- 정산 엔티티 컴포넌트 다국어화 (list-wrap, list-item, amount-info-wrap)
- 정산 탭 컴포넌트 다국어화 (정산달력, 정산내역)
- 홈 화면 통화 표기 개선 (한국어: 999,999원 / 영어: ₩999,999)
- 정산 및 거래 페이지 통화 표기 개선 (prefix/suffix 동적 처리)
- 요일 번역 기능 (월요일-일요일 → Monday-Sunday)
- 번역 키 추가: settlement, transaction 네임스페이스

🤖 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-29 17:38:20 +09:00
parent f4963143aa
commit aedf5d3d8f
14 changed files with 278 additions and 144 deletions

View File

@@ -3,6 +3,7 @@ import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { ListItemProps, SettlementPeriodType } from '../model/types';
import moment from 'moment';
import { useTranslation } from 'react-i18next';
export const ListItem = ({
periodType,
@@ -17,6 +18,7 @@ export const ListItem = ({
transactionAmount
}: ListItemProps) => {
const { navigate } = useNavigate();
const { t, i18n } = useTranslation();
const onClickToNavigate = () => {
let detailId;
if(periodType === SettlementPeriodType.SETTLEMENT_DATE){
@@ -53,23 +55,24 @@ export const ListItem = ({
<>
<div className="transaction-title">{ `${approvalNumber}(${mid})` }</div>
<div className="transaction-details">
<span>{ (!!settlementDate)? '정산': (!!approvalDate)? '승인' : '' }</span>
<span>{ (!!settlementDate)? t('settlement.settled'): (!!approvalDate)? t('settlement.approved') : '' }</span>
<span className="separator">|</span>
<span> { moment(settlementDate).format('MM.DD') }</span>
<span>{t('settlement.settlementShort')} { moment(settlementDate).format('MM.DD') }</span>
<span className="separator">|</span>
<span> { moment(approvalDate).format('MM.DD') }</span>
<span>{t('settlement.approvalShort')} { moment(approvalDate).format('MM.DD') }</span>
</div>
</>
}
</div>
<div className="transaction-amount">
{
{
<NumericFormat
value={ settlementAmount || transactionAmount }
value={ settlementAmount || transactionAmount }
thousandSeparator
displayType="text"
suffix='원'
></NumericFormat>
prefix={i18n.language === 'en' ? t('home.currencySymbol') : ''}
suffix={i18n.language === 'en' ? '' : t('home.currencyWon')}
></NumericFormat>
}
</div>
</div>