Files
tabungin/TRANSLATION_STATUS.md
dwindown d626c7d8de feat: Translate Overview and Transactions pages
- Add multi-language support to Overview page
- Add multi-language support to Transactions page
- Translate stats cards, buttons, and filters
- All UI text now supports ID/EN switching

Remaining: Profile page only
2025-10-12 08:57:57 +07:00

2.2 KiB

Multi-Language Translation Status

Completed (60% - Core Features)

Infrastructure

  • Language Context (LanguageContext.tsx)
  • Translation files (locales/id.ts, locales/en.ts)
  • Language toggle component (LanguageToggle.tsx)
  • Integration in App.tsx

Translated Components

  • AppSidebar - Navigation menu
  • WalletDialog - Add/Edit wallet form
  • TransactionDialog - Add/Edit transaction form
  • Wallets Page - Complete wallet management

Toast Messages

  • All toast notifications use Indonesian text
  • Need to translate toast messages to use t hook

🔄 Remaining (40% - 3 Pages)

Pages to Translate

  1. Overview.tsx (~30 strings)

    • Dashboard cards
    • Recent transactions
    • Charts
    • Empty states
  2. Transactions.tsx (~25 strings)

    • Transaction list
    • Filters
    • Stats cards
    • Table headers
  3. Profile.tsx (~50 strings)

    • Personal info
    • Security settings
    • 2FA options
    • Danger zone

Implementation Guide

For Each Page:

  1. Add useLanguage hook:

    const { t } = useLanguage()
    
  2. Replace hardcoded strings:

    // Before
    <Button>Add Wallet</Button>
    
    // After
    <Button>{t.wallets.addWallet}</Button>
    
  3. Test language switching

Translation Keys Structure

{
  common: { search, filter, add, edit, delete, ... },
  nav: { overview, transactions, wallets, profile },
  overview: { ... },
  transactions: { ... },
  wallets: { ... },
  profile: { ... },
}

Testing Checklist

  • Language toggle works
  • Preference persists in localStorage
  • Sidebar navigation translated
  • Dialogs translated
  • Wallets page translated
  • Overview page translated
  • Transactions page translated
  • Profile page translated
  • All toast messages translated

Estimated Time to Complete

  • Overview page: ~15 minutes
  • Transactions page: ~15 minutes
  • Profile page: ~20 minutes
  • Toast messages: ~10 minutes
  • Testing: ~10 minutes

Total: ~70 minutes remaining

Notes

  • Admin dashboard remains English-only (as requested)
  • Default language: Indonesian (ID)
  • Optional language: English (EN)
  • Type-safe with full autocomplete support