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>
Replace all hardcoded Korean text with dynamic translation keys
in the account-holder-search filter component for internationalization
support.
Changes:
- Add translation keys for filter labels (select, bank, search result)
- Replace filter title, close button, merchant, and apply button text
- Update bank select options and form field labels with i18n keys
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
- Update moment locale based on current language (ko/en-gb)
- Apply to transaction, settlement, and additional-service modules
- Add service name localization in transaction list-date-group
- Date format displays weekday in user's language (ko: 수, en: Wed)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
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>
- Add translation keys to filter namespace:
- filter.periods.currentMonth: Current month period option
- filter.periods.2months: 2 months period option
- filter.selectDate: Date selection placeholder and alt text
- Localize shared/ui/filter/calendar-month.tsx:
- Replace hardcoded "조회기간" with filter.period
- Replace hardcoded "당월" with filter.periods.currentMonth
- Replace hardcoded "2개월" with filter.periods.2months
- Replace hardcoded "3개월" with filter.periods.3months
- Replace hardcoded "직접입력" with filter.periods.custom
- Replace hardcoded "날짜 선택" with filter.selectDate
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>