Commit Graph

338 Commits

Author SHA1 Message Date
Jay Sheen
e1c477f7a7 ARS 결제 다국어 지원 추가
- 신용카드 ARS 결제 페이지에 i18n 적용
- 한글/영문 번역 키 추가 (ko.json, en.json)
- 페이지 제목, 버튼, 레이블 현지화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 15:43:39 +09:00
Jay Sheen
04dc3a9ebb SMS 결제 통보 다국어 지원 추가
- SMS 결제 통보 관련 컴포넌트에 i18n 적용
- 한글/영문 번역 키 추가 (ko.json, en.json)
- sms-payment-detail-resend, sms-payment-filter, sms-payment-page 현지화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 15:42:27 +09:00
HyeonJongKim
9c5f01f997 - 엑셀 다운 누락 필드 추가
- 스낵바 누락 수정
2025-11-03 15:07:39 +09:00
HyeonJongKim
7610fb9e94 - KeyIn 결제신청 에러메시지 일부 수정 2025-11-03 14:24:13 +09:00
Jay Sheen
c03cb55157 Fix translation key for detail section title
- Change transaction.fields.detailInfo to transaction.sections.detailInfo
- Fixes missing translation issue in account holder auth and search detail pages
- detailInfo is a section title, not a field, so it belongs in sections namespace

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 13:59:20 +09:00
Jay Sheen
df5ea656c6 Add common translation keys and localize account holder search request page
- Add common translation keys: select, requestSuccess, requestFailed, errorOccurred
- Replace hardcoded '선택' with t('common.select') in account holder search request page
- Fix KeyIn enum: uncomment FULL_CANCEL and PARTIAL_CANCEL to resolve TypeScript errors
- All labels now support Korean and English through i18n

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 13:57:23 +09:00
HyeonJongKim
b543719295 - 링크결제 전화번호 입력 Number only
- 링크결제 신청 완료 페이지 결과 박스 제거
- 안면인증 테스트용 Mid 고정
2025-11-03 13:29:38 +09:00
Jay Sheen
e7a3409edc Add localization for account holder auth and search detail pages
- Replace hardcoded Korean strings with translation keys in detail pages
- Add new translation keys for account holder services:
  - accountHolderAuth: title, detailTitle, requestDate, requestWay
  - accountHolderSearch: title, detailTitle
- Add 'result' key to common translations for reusability
- All labels now support Korean and English through i18n

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 13:09:50 +09:00
HyeonJongKim
446ac47def - 링크결제: 결제내역 분리승인 버튼 하단 패딩 추가 2025-11-03 11:06:24 +09:00
HyeonJongKim
13292f6d20 - KeyIn 결제 신청_ 주문번호 필수처리 2025-11-03 10:35:32 +09:00
HyeonJongKim
840ee8f17e -안면인증 권한 제한 주석 2025-11-03 10:33:32 +09:00
HyeonJongKim
e8286206bb - 권한 접근 제한 주석 2025-11-03 09:44:18 +09:00
focp212@naver.com
b44c7360bf 수정 2025-10-31 16:37:05 +09:00
focp212@naver.com
79ed55f524 ui 수정 2025-10-31 16:22:52 +09:00
focp212@naver.com
216cca963f css 2025-10-31 16:10:57 +09:00
focp212@naver.com
9bf6b7aba9 css 수정 2025-10-31 13:42:42 +09:00
Jay Sheen
5ef6407e9b Localize link-payment main pages
- Added linkPayment translation keys to en.json:
  - title, detailTitle, waitDetailTitle, applyTitle, messagePreview
  - resendSuccess, resendFailed, resendError, resendConfirm
  - deleteSuccess, deleteConfirm, resend, delete
  - separateApprovalTitle, separateApprovalDetail, warning
- Localized link-payment-history-page.tsx:
  - Header title, access check comment
- Localized link-payment-wait-send-page.tsx:
  - Header title, page comment
- Localized link-payment-detail-page.tsx:
  - Header title, button labels (resend, separate approval detail)
  - Success/error messages for resend operations
  - Dialog button labels and confirmation message
  - Code comments from Korean to English
- Localized link-payment-wait-detail-page.tsx:
  - Header title, button label (delete)
  - Success message for delete operation
  - Dialog button labels and confirmation message
- All files: Added useTranslation hook import

Note: Apply and separate-approval subdirectories still need localization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:20:13 +09:00
Jay Sheen
b9aab1d0fd Add thousand separator formatting to deposit balance
Use Intl.NumberFormat('en-US').format() to add commas for thousand separators
in the deposit balance display (50,000,000 instead of 50000000).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:14:35 +09:00
Jay Sheen
473f8b0881 Fix currency display format to use t('home.money', { value })
Changed from separate number and unit to use t('home.money', { value: 50000000 })
for proper currency formatting with interpolation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:13:11 +09:00
Jay Sheen
e7731caaa3 Update currency display to use t('home.money')
Changed from t('common.currency.krw') to t('home.money') in payout list page
for consistent currency display across the application.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:08:12 +09:00
Jay Sheen
c2e8da956a Localize payout pages (detail, list, request)
- Added payout-specific translation keys to en.json:
  - depositBalance, subId, disbursementAmount, requestFailed
- Added common translation keys: filter, download, searchOptions, failed, clear, currency.krw
- Localized detail-page.tsx:
  - Header title, button text, detail section title
  - All KV labels (disbursementStatus, transactionType, etc.)
  - Updated code comments from Korean to English
- Localized list-page.tsx:
  - Header title, aria-labels, alt texts
  - Deposit balance label and currency unit
  - Request button text
- Localized request-page.tsx:
  - Header title, form labels, placeholder text
  - Success/error messages in snackBar calls
  - Added useTranslation hook import

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:06:28 +09:00
Jay Sheen
52717206db Localize QNA (Q&A) support pages
Replace all hardcoded Korean text with i18n translation keys in
QNA detail and register pages. List page was already localized.

Translation keys added to en.json:
- detailLabels: title, type, registrationDate, answerDate,
  inquiryAnswer, inquiryContents
- formLabels: title, inquiryType, requesterName, phoneNumber,
  emailAddress, inquiryContents, required marker, placeholders
- submitButton, confirmButton, successMessage

Components localized:
- detail-page.tsx: All label badges for title, type, dates, and
  section titles for answer/contents
- register-page.tsx: All form field labels, placeholders, dialog
  button, success alert, and submit button

Note: list-page.tsx was already fully localized.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:43:22 +09:00
Jay Sheen
79bb42d2cc Localize FAQ detail page header title
Replace hardcoded Korean text '자주 묻는 질문' with dynamic
translation key using useTranslation hook.

Changes:
- Import useTranslation from react-i18next
- Replace hardcoded title with t('support.faq.title')
- Maintains consistency with FAQ list page localization

Note: FAQ list-page.tsx was already fully localized.
Translation key 'support.faq.title' already exists in en.json.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:40:23 +09:00
Jay Sheen
25fe5f75c4 Apply localization to account-holder-search pages
- Replace hardcoded Korean text with i18n translation keys
- Update page titles, form labels, and button text
- Localize error messages and console logs
- Apply to list page, detail page, and request page
- Support dynamic language switching (ko/en)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:11:00 +09:00
Jay Sheen
abb0843f51 Add localization for payment method and currency in transaction/settlement modules
- Add payment method name localization mapping for both Korean and English
- Support payment methods: Credit Card, Virtual Account, Account Transfer, Simple Account Transfer, Mobile Payment, SSG Money, SSG Bank Account, Culture Voucher, Tmoney Pay
- Update transaction list to use localized currency format (ko: 9,999,999원, en: ₩9,999,999)
- Apply localization to payment method dropdown options in filters and list pages
- Update settlement transaction info to display localized payment method names

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 10:23:19 +09:00
Jay Sheen
95c83ebd7e Fix TypeScript errors in additional-service module
Updated 24 files to resolve 111 TypeScript compilation errors by:
- Updating imports from direct constant exports to getter functions
- Adding i18n support with useTranslation hook
- Fixing curried function calls to use translation function parameter
- Adding explicit type annotations to map callbacks

All filter components, list wrappers, and page components now properly
use internationalized getter functions for status text and button groups.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 09:21:07 +09:00
HyeonJongKim
e2a4430821 - 부가서비스 접근 권한 체크 및 제한 주석 해제
- 제한 다이얼로그 텍스트 영문 적용
2025-10-30 17:41:11 +09:00
Jay Sheen
29f69c248c Convert transaction constants to i18n-compatible getter functions
- Convert all hardcoded constant arrays to functions accepting TFunction
- Add transaction.constants namespace with 40+ translation keys
- Update contant.ts: All exports now use get* prefix (e.g., getCashReceiptPurposeTypeBtnGroup)
- Replace ko/en properties with single name property using t() function

Updated constants:
- getAllTransactionMoidTidOptionsGroup(t)
- getAllTransactionStatusCodeBtnGroup(t)
- getAllTransactionServiceCodeOptionsGroup(t)
- getAllTransactionStatusCode(t)
- getCashReceiptPurposeTypeBtnGroup(t)
- getCashReceiptTransactionTypeBtnGroup(t)
- getCashReceiptProcessResultBtnGroup(t)
- getEscrowSearchTypeOptionsGroup(t)
- getEscrowDeliveryStatusBtnGroup(t)
- getEscrowSettlementStatusBtnGroup(t)
- getBillingSearchTypeOptionsGroup(t)
- getBillingRequestStatusBtnGroup(t)
- getBillingProcessResultBtnGroup(t)
- getBillingPaymentMethodBtnGroup(t)

Updated components (9 files):
- Filter components: all-transaction, cash-receipt, billing, escrow
- List pages: billing, cash-receipt, escrow
- UI components: list-item, important-info-section

All constants now properly support Korean/English language switching.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:36:30 +09:00
HyeonJongKim
fc151af439 - 부가서비스 SMS결제통보 재발송 Error 처리 수정 2025-10-30 15:15:40 +09:00
HyeonJongKim
2723bba0d3 Merge branch 'main' of https://gitea.bpsoft.co.kr/nicepayments/nice-app-web 2025-10-30 14:50:39 +09:00
HyeonJongKim
1ca06f8e8b -부가서비스 MID 기준 SelectBox 처리 (추후 수정 가능)
- SMS 재발송 API 수정
2025-10-30 14:46:55 +09:00
Jay Sheen
531c6e4be6 Fix: 앱 언어 설정이 웹페이지에 자동으로 적용되도록 수정
- i18n 초기화 시 네이티브 앱 언어 설정을 확인하여 적용
- 네이티브 환경: 앱 언어를 가져와 localStorage에 저장
- 웹 환경: localStorage에서 저장된 언어 사용
- setting-page에서 언어 동기화 시 localStorage 업데이트 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:41:14 +09:00
focp212@naver.com
e994dc7ec3 수정 2025-10-30 13:21:31 +09:00
HyeonJongKim
8245e394a3 - FilterSelectMid 수정
- 부가서비스 Filter Mid Select 컴포넌트 변경
2025-10-30 13:12:09 +09:00
focp212@naver.com
2b9c782f46 필터 적용 완료 2025-10-30 11:15:20 +09:00
focp212@naver.com
acee57f819 수정 2025-10-30 11:06:57 +09:00
Jay Sheen
e4e73dec72 부가서비스 SERVICE_MAP 다국어화: i18n 번역 키 적용
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 10:38:37 +09:00
focp212@naver.com
f948575233 추가 2025-10-30 10:37:58 +09:00
Jay Sheen
2553aca4de [Object Object] 표시 오류 수정: Intl.NumberFormat 사용 2025-10-30 10:19:25 +09:00
Jay Sheen
3dbd6b4dda 통화 표기 방식 개선: t('home.money', { value }) 패턴으로 통일 2025-10-30 09:38:51 +09:00
HyeonJongKim
133aa44dff - 부가서비스 링크결제 : 기간연장,링크 중단 활성화,비활성화 조건 적용, 체크박스 Action 추가 2025-10-30 09:29:13 +09:00
Jay Sheen
bc1540ca04 부가세 신고 페이지 및 컴포넌트 다국어화 완료
- 부가세 신고 페이지 다국어화 (3개 페이지)
  * 조회 페이지: 헤더 타이틀, 탭, 검색/다운로드
  * 상세 페이지: 세금계산서 상세 정보
  * 참조번호 발급 페이지: 신청 완료/실패 메시지
- 부가세 엔티티 컴포넌트 다국어화 (11개 컴포넌트)
  * vat-return-tab: 세금계산서/부가세참고 탭
  * list-wrap: 조회 페이지 래퍼
  * list-item: 거래 항목 (통화 표기 포함)
  * reference-wrap: 참조 자료 신청
  * reference-request-success/fail: 신청 결과
  * list-detail-bottom-sheet: 상세 내역 (10개 통화 인스턴스)
- 섹션 컴포넌트 다국어화 (4개)
  * amount-section: 금액 상세 (공급가액, VAT, 합계금액)
  * issue-section: 발행 정보 (발행대상일자, 적요 등)
  * supplier-section: 공급자 정보
  * receiver-section: 공급받는 자 정보
- 통화 표기 통일 (10개 인스턴스)
  * 한국어: 1,000원 (suffix)
  * 영어: ₩1,000 (prefix)
- 번역 키 추가: vatReturn 네임스페이스 29개 키
- 기존 번역 키 재사용 (merchant, transaction, common, home)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:27:14 +09:00
Jay Sheen
11c0fc6269 안면인증 페이지 다국어화 및 공통 정렬 옵션 추가
- 안면인증 페이지 다국어화
  * 헤더 타이틀: 안면인증 → Face Authentication
  * 검색옵션, 다운로드 버튼 aria-label 및 alt 텍스트
  * 정렬 옵션: 최신순/오래된순
- 공통 번역 키 추가
  * common.latest: 최신순 / Latest
  * common.oldest: 오래된순 / Oldest
- 번역 키 추가: faceAuth 네임스페이스

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:17:18 +09:00
Jay Sheen
9a73626422 알림함 페이지 및 컴포넌트 다국어화 완료
- 알림함 페이지 다국어화
  * 헤더 타이틀: 알림함 → Notifications
  * 전체 탭 버튼 다국어화
- 알림 컴포넌트 다국어화
  * alarm-list: 90일 보관 안내 메시지
  * alarm-item: 바로가기 alt 텍스트 (파라미터 지원)
- 번역 키 추가: alarm 네임스페이스 4개 키
  * title, all, retentionNotice, goTo
- 파라미터화된 번역 지원 ({{category}})

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:24:48 +09:00
Jay Sheen
f0a157b2c3 부가서비스 페이지 및 컴포넌트 다국어화 완료
- 부가서비스 메인 페이지 다국어화
  * 헤더 타이틀, 사용중인 서비스/신청 가능한 서비스 섹션
  * 비활성 서비스 안내 메시지
- 부가서비스 공통 컴포넌트 다국어화
  * list-item: 11개 서비스의 상태 라벨 (성공, 실패, 요청, 재발송)
  * title-info-wrap: 서비스 정보 표시
- 정산대행 페이지 다국어화 (5개 페이지)
  * 관리, 입금, 회원, 상세 페이지 헤더
  * 상세 페이지: 입금 확인, 정산 정보, 수수료 정보 등 17개 필드
  * 상태 변경 이력: 출금 실패, 동의 완료, 동의 만료 등
- 서비스별 상세 페이지 통화 표기 개선 (4개 페이지)
  * ARS, 펀드계좌(이체/결과), 페이아웃 상세 페이지
- 전체 통화 표기 통일 (11개 인스턴스)
  * 한국어: 100,000원 (suffix)
  * 영어: ₩100,000 (prefix)
- 번역 키 추가: additionalService 네임스페이스 51+ 키
  * 공통 상태 라벨, 11개 서비스명 및 설명
  * 정산대행 전용 21개 키
- 지원 서비스: SMS결제, ARS결제, KEY-IN결제, 계좌조회/인증,
  페이아웃, 정산대행, 링크결제, 펀드계좌, 알림톡, 안면인증

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:22:09 +09:00
Jay Sheen
3f0ab49a3d 계정 관리 페이지 및 컴포넌트 다국어화 완료
- 계정 관리 페이지 전체 다국어화 (8개 페이지)
  * 사용자 관리: 계정 추가, 메뉴 권한, 계정 정보, 로그인 인증정보
  * 비밀번호 관리: 로그인/취소 비밀번호 변경
- 계정 엔티티 컴포넌트 다국어화
  * account-tab: 사용자 관리/비밀번호 관리 탭
  * account-user-tab: 로그인 인증정보/계정권한 서브탭
  * password-manage-wrap: 비밀번호 변경 버튼
  * user-manage-wrap: 등록 현황, 사용자 추가 버튼
  * user-login-auth-info-wrap: 이메일/휴대폰 관리 인터페이스
- 계정 추가 페이지 상세 다국어화
  * 폼 라벨: 사용자ID, 비밀번호, 로그인 범위
  * 본인인증 정보 입력 섹션
  * 유효성 검사 메시지
  * 성공/실패 알림 메시지
- 메뉴 권한 페이지 다국어화
  * 권한 설정 안내 메시지
  * 저장/실행/다운로드 권한 라벨
  * 탭 변경 시 초기화 안내
- 번역 키 추가: account 네임스페이스 50개 키
- 모든 폼, 버튼, 알림 메시지 일관된 다국어 지원

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:14:40 +09:00
Jay Sheen
9b193ee6f9 가맹점 관리 페이지 및 컴포넌트 다국어화 완료
- 가맹점 관리 페이지 다국어화 (가맹점 정보, 등록현황)
  * 헤더 타이틀 및 탭 버튼 다국어화
- 가맹점 엔티티 컴포넌트 전체 다국어화
  * merchant-tab: 가맹점 정보/등록현황 탭
  * info-wrap: 계약/기술/정산 담당자 섹션, 안내 메시지
  * registration-status-wrap: 신용카드 심사현황, 에스크로 가입현황
- 가맹점 섹션 컴포넌트 다국어화
  * account-section: 정산계좌 정보 (은행, 계좌번호, 예금주)
  * business-section: 기본정보 (상호, 사업자번호, 업종, 업태 등 11개 필드)
  * online-section: 온라인 등록현황 (상태, 계약완료, 심사 여부 등)
  * escrow-section: 에스크로 정보 (NICECROW 가입, 소재지, URL 등)
- 번역 키 추가: merchant 네임스페이스 35개 키
- 모든 가맹점 관리 필드 및 라벨 일관된 다국어 지원

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:04:15 +09:00
Jay Sheen
8529f501c7 결제 관리 페이지 및 컴포넌트 다국어화 완료
- 결제 관리 페이지 다국어화 (결제 정보, 통보 데이터)
  * 헤더 타이틀 및 탭 버튼 다국어화
- 결제 엔티티 컴포넌트 전체 다국어화
  * payment-tab: 결제 정보/결제데이터 통보 탭
  * info-wrap: 서비스 이용, 수수료 및 정산주기 섹션
  * notification-data-wrap: 결제데이터 통보 조회 (신용카드, 계좌이체 등 5개 결제수단)
  * info-item: 수수료 및 정산주기 버튼
  * notify-row: 통보 상세 정보 (시작일자, 관리자 메일, URL/IP 등)
- 결제 바텀시트 컴포넌트 다국어화
  * card-commission-bottom-sheet: 카드 수수료 (일반/무이자/머니포인트 탭, 할부개월)
  * transfer-commission-bottom-sheet: 계좌이체 수수료 (통화 표기 포함)
  * credit-card-list-bottom-sheet: 카드사 목록
  * no-interest-info-bottom-sheet: 무이자 정보 (통화 표기 포함)
- 통화 표기 개선 (한국어: 원 suffix / 영어: ₩ prefix)
- 번역 키 추가: payment 네임스페이스 32개 키
- 계정 관리 페이지 헤더 타이틀 다국어화 적용

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:56:37 +09:00
Jay Sheen
00b0290fa7 거래 관련 페이지 다국어화 완료 (현금영수증, 에스크로, 빌링)
- 현금영수증 페이지 다국어화 (목록, 상세, 수기발행)
  * 승인/취소 금액 통화 표기 개선 (₩ 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>
2025-10-29 17:48:25 +09:00
Jay Sheen
aedf5d3d8f 정산 및 거래 페이지 다국어화 및 통화 표기 개선
- 정산 페이지 다국어화 (정산조회, 정산내역 상세)
- 거래 페이지 다국어화 (거래내역 조회, 거래 취소, 거래내역 상세)
- 정산 엔티티 컴포넌트 다국어화 (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>
2025-10-29 17:38:46 +09:00