거래 관련 페이지 다국어화 완료 (현금영수증, 에스크로, 빌링)

- 현금영수증 페이지 다국어화 (목록, 상세, 수기발행)
  * 승인/취소 금액 통화 표기 개선 (₩ prefix for EN)
  * 검색옵션, 다운로드, 용도변경 등 모든 텍스트 다국어화
- 에스크로 페이지 다국어화 (목록, 상세)
  * 헤더 타이틀 및 UI 텍스트 다국어화
- 빌링 페이지 다국어화 (목록, 상세, 청구)
  * 통화 표기 언어별 처리 (한국어: 원 suffix / 영어: ₩ prefix)
- 번역 키 추가: cashReceipt, escrow, billing, common 네임스페이스
- 모든 거래 페이지 일관된 다국어 지원 완료

🤖 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:48:25 +09:00
parent aedf5d3d8f
commit 00b0290fa7
10 changed files with 93 additions and 38 deletions

View File

@@ -1,5 +1,6 @@
import moment from 'moment';
import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useStore } from '@/shared/model/store';
import { IMAGE_ROOT } from '@/shared/constants/common';
import { PATHS } from '@/shared/constants/paths';
@@ -33,6 +34,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
export const BillingListPage = () => {
const { navigate } = useNavigate();
const { t } = useTranslation();
const userMid = useStore.getState().UserStore.mid;
const [onActionIntersect, setOnActionIntersect] = useState<boolean>(false);
@@ -54,7 +56,7 @@ export const BillingListPage = () => {
const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState<boolean>(false);
useSetHeaderTitle('빌링');
useSetHeaderTitle(t('billing.title'));
useSetHeaderType(HeaderType.LeftArrow);
useSetOnBack(() => {
navigate(PATHS.home);
@@ -176,19 +178,19 @@ export const BillingListPage = () => {
readOnly={ true }
/>
<button className="filter-btn">
<img
src={ IMAGE_ROOT + '/ico_setting.svg' }
alt="검색옵션"
<img
src={ IMAGE_ROOT + '/ico_setting.svg' }
alt={ t('transaction.searchOptions') }
onClick={ () => onClickToOpenFilter() }
/>
</button>
</div>
<button className="download-btn">
<img
src={ IMAGE_ROOT + '/ico_download.svg' }
alt="다운로드"
<img
src={ IMAGE_ROOT + '/ico_download.svg' }
alt={ t('transaction.download') }
onClick={ () => onClickToOpenDownloadBottomSheet() }
/>
/>
</button>
</div>
</div>