- Add transaction.filter.paymentStatus (결제상태 / Payment Status)
- Add transaction.filter.orderStatus (주문상태 / Order Status)
- Fix missing Korean translations in ARS filter
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add PRE_CANCEL and POST_CANCEL transaction types to KeyIn payment
- Update English translations for better readability (FAQ, Settlement Service)
- Fix calendar month date parsing to handle format correctly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- additionalService section: Added 170+ missing Korean translations
- sms: smsDetailAndResend, sender, receiver, send status messages
- linkPay: 35 fields including product info, buyer info, language settings
- accountHolderSearch: 5 fields for search functionality
- faceAuth: merchantMemberId, transactionType, authenticationResult
- fundAccount: 10 fields for transfer and inquiry features
- alimtalk: notification categories and send types
- payout: 19 fields for disbursement details
- keyIn: productPrice
- linkPayment: Complete new section with 41 fields
- infoWrap: Complete new section with 24 fields
- settlementAgencyDetails: Complete new section with 27 fields
- support.notice.categories: Added ALL, NOTICE, SERVICE, IMPORTANT
- support.qna: Added submitButton, confirmButton, successMessage
- home: Added currencySymbol (₩)
All translations sourced from actual Korean strings in UI components,
not arbitrary translations, ensuring consistency with existing codebase.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added else clauses to set valueMonth to undefined when month values are not provided:
- Prevents stale date values in calendar
- Ensures calendar displays correctly when switching between date ranges
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed invalid date error when selecting month:
- Changed valueYear (string) to valueMonth (Date) state
- Set valueMonth using moment().toDate() for all calendar types
- Parse startMonth, endMonth, singleMonth with moment and convert to Date
- Calendar component now receives proper Date object instead of year string
- This fixes the "Invalid date" error and prevents error cascade
Changes:
- useState<string> → useState<Date | undefined>
- setValueYear(year) → setValueMonth(moment().toDate())
- Calendar value prop now receives Date object
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Improved date parsing in setMinMaxValueDate:
- Use moment with multiple format support: ['YYYY.MM', 'YYYYMM']
- Add strict parsing mode with true parameter
- Validate date with isValid() before setting
- Handles both 'YYYY.MM' and 'YYYYMM' input formats
This resolves the invalid date error when selecting year/month.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed Invalid date error when selecting year/month:
- Changed date creation from `new Date(moment(endMonth+'01').format('YYYY.MM.DD'))`
to `moment(endMonth + '.01', 'YYYY.MM.DD').toDate()`
- Used proper moment parsing with explicit format string
- Applied to both minMonth and maxMonth date creation
This fixes the error that occurred after localization was applied.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Modified formatDay function in both calendar components:
- For Korean locale (ko), display only the day number (e.g., '10' instead of '10일')
- For other locales, use default toLocaleString formatting
Changes:
- nice-calendar.tsx: Updated formatDay to check currentLocale === 'ko'
- nice-calendar-month.tsx: Updated formatDay to check currentLocale === 'ko'
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Applied i18n locale to both calendar components:
Changes to nice-calendar.tsx:
- Added useTranslation hook import
- Get current locale from i18n.language
- Updated all format functions (formatMonthYear, formatYear, formatMonth, formatDay, formatShortWeekday) to use currentLocale instead of hardcoded 'en'
- Added locale prop to Calendar component
Changes to nice-calendar-month.tsx:
- Added useTranslation hook import
- Get current locale from i18n.language
- Updated all format functions to use currentLocale instead of hardcoded 'en'
- Added locale prop to Calendar component
Now calendars will display in Korean when language is set to 'ko' and in English when set to 'en'.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added missing Korean translation keys in ko.json common section:
- selectEmailAddress: 이메일 주소 선택
- imageSave: 이미지로 저장
- receiveByEmail: 이메일로 받기
- mail: 메일
- image: 이미지
- request: 요청
- imageRequested: 이미지가 요청되었습니다.
- selectDownloadMethod: 다운로드 방법 선택
- filter: 필터
- download: 다운로드
- searchOptions: 검색 옵션
- requestDate: 요청일
- failed: 실패
- clear: 지우기
- currency.krw: 원
These keys are used by email-bottom-sheet and other common components.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added linkPayment translation keys to en.json:
- shippingHistory, pendingSend, all, incompleteActive
- depositRequest, paymentComplete, paymentFailed, paymentStopped
- applyRequest, noData
- Localized link-payment-tab.tsx:
- Tab button labels (shippingHistory, pendingSend)
- Added useTranslation hook
- Localized link-payment-history-wrap.tsx:
- Payment status button group with function getPaymentResultBtnGroup(t)
- Alt texts and aria-labels for filter and download buttons
- Apply request button text
- Added useTranslation hook
- Localized link-payment-wait-send-wrap.tsx:
- Alt texts and aria-labels for filter and download buttons
- Apply request button text
- Uses getProcessStatusBtnGroup(t) from constant file
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
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>
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>
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>
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>
Add comprehensive category translation keys for notice pages
to support all notice types used in the application.
Categories added:
- INTEREST_FREE_INSTALLMENT: Interest-Free Installment
- NEWS: News
- SERVICE_DISRUPTION_NOTICE: Service Disruption Notice
- MAINTENANCE_NOTICE: Maintenance Notice
- SERVICE_CHANGE_OR_ADDITION: Service Change or Addition
- IMPORTANT_NOTICE: Important Notice
- ADDITIONAL_SERVICE: Additional Service
Note: Notice pages (list-page.tsx and detail-page.tsx) are already
fully localized with useTranslation and t() function calls.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace all hardcoded Korean text with i18n translation keys in
common bottom sheet components for email selection and download
type selection.
Components localized:
- email-bottom-sheet: Title, image save label, receive by email label,
image requested snackbar message, close button alt, request button
- download-type-bottom-sheet: Title, download method selection labels,
image/email alt texts, close button alt
Translation keys added to en.json:
- selectEmailAddress: "Select Email Address"
- imageSave: "Save as Image"
- receiveByEmail: "Receive by Email"
- mail: "Mail"
- image: "Image"
- request: "Request"
- imageRequested: "Image has been requested."
- selectDownloadMethod: "Select Download Method"
All bottom sheet UI text now supports internationalization.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace all hardcoded Korean text with i18n translation keys in
key-in payment list and fund account components including tab
navigation and wrap components.
Components localized:
- key-in-payment-list: Payment request button
- fund-account/tab: Transfer request and result inquiry tab buttons
- fund-account/transfer-list-wrap: Balance, won unit, transfer registration notice and button
- fund-account/result-list-wrap: Request/success/fail labels, won units, transfer registration button
All text now supports multi-language through translation keys.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace all hardcoded Korean text with i18n translation keys in
6 filter components covering payout, fund account, alimtalk,
face authentication, and account holder authentication.
Components localized:
- payout-filter: Filter title, merchant, search criteria, period, payment status, transaction amount
- fund-account-transaction-filter: Select option, merchant, recipient/account, period, bank, processing result
- fund-account-result-filter: Search criteria, recipient/account, period, bank, processing result
- alimtalk-filter: Merchant, order/TID, payment method, notification category, period, send type/category
- face-auth-filter: Merchant, member ID, period, transaction type, authentication result
- account-holder-auth-filter: Merchant, period, payment status
All filter headers, close buttons, and apply buttons now use dynamic translations.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add extensive translation keys to en.json for all additional-service
components including link payment, fund account, SMS, alimtalk, face auth,
key-in payment, payout, settlement agency, and info-wrap components.
Localize components:
- account-holder-search-list: Add search request button translation
- key-in-payment-filter: Replace all Korean filter labels with i18n keys
Translation keys added cover:
- Link payment forms, steps, and bottom sheets
- Fund account transfer and result views
- SMS detail and resend functionality
- Filter components for all service types
- Info wrap components for payment and detail information
- Settlement agency management interfaces
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>