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

102 lines
2.2 KiB
Markdown

# Multi-Language Translation Status
## ✅ Completed (60% - Core Features)
### Infrastructure
- [x] Language Context (`LanguageContext.tsx`)
- [x] Translation files (`locales/id.ts`, `locales/en.ts`)
- [x] Language toggle component (`LanguageToggle.tsx`)
- [x] Integration in App.tsx
### Translated Components
- [x] **AppSidebar** - Navigation menu
- [x] **WalletDialog** - Add/Edit wallet form
- [x] **TransactionDialog** - Add/Edit transaction form
- [x] **Wallets Page** - Complete wallet management
### Toast Messages
- [x] 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:
```typescript
const { t } = useLanguage()
```
2. Replace hardcoded strings:
```typescript
// Before
<Button>Add Wallet</Button>
// After
<Button>{t.wallets.addWallet}</Button>
```
3. Test language switching
## Translation Keys Structure
```typescript
{
common: { search, filter, add, edit, delete, ... },
nav: { overview, transactions, wallets, profile },
overview: { ... },
transactions: { ... },
wallets: { ... },
profile: { ... },
}
```
## Testing Checklist
- [x] Language toggle works
- [x] Preference persists in localStorage
- [x] Sidebar navigation translated
- [x] Dialogs translated
- [x] 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