- 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
102 lines
2.2 KiB
Markdown
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
|