mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-03 18:22:57 +00:00
hot fix #1
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# Table Headers Internationalization - Implementation Summary
|
||||
|
||||
## Overview
|
||||
Successfully implemented internationalization (i18n) for table headers in the homepage frontpage to support both English and Czech languages.
|
||||
|
||||
## Changes Made
|
||||
|
||||
### 1. StandingsCard Component (`/frontend/src/components/pack/StandingsCard.tsx`)
|
||||
- **Added import**: `import { useTranslation } from 'react-i18next';`
|
||||
- **Added hook**: `const { t } = useTranslation();`
|
||||
- **Updated table headers** from hardcoded Czech to translation keys:
|
||||
- `Tým` → `{t('homepage.team')}`
|
||||
- `Z` → `{t('homepage.played')}`
|
||||
- `V` → `{t('homepage.won')}`
|
||||
- `R` → `{t('homepage.drawn')}`
|
||||
- `P` → `{t('homepage.lost')}`
|
||||
- `Skóre` → `{t('homepage.goals')}`
|
||||
- `Body` → `{t('homepage.points')}`
|
||||
- **Updated alt text**: Team logo alt text now uses `{t('homepage.team')}` instead of hardcoded `'Tým'`
|
||||
|
||||
### 2. Translation Keys (`/frontend/src/i18n/index.ts`)
|
||||
- **Czech translations** (already existed):
|
||||
```json
|
||||
homepage: {
|
||||
team: "Tým",
|
||||
played: "Zápasy",
|
||||
won: "V",
|
||||
drawn: "R",
|
||||
lost: "P",
|
||||
goals: "Góly",
|
||||
points: "Body"
|
||||
}
|
||||
```
|
||||
- **English translations** (already existed):
|
||||
```json
|
||||
homepage: {
|
||||
team: "Team",
|
||||
played: "Played",
|
||||
won: "W",
|
||||
drawn: "D",
|
||||
lost: "L",
|
||||
goals: "Goals",
|
||||
points: "Points"
|
||||
}
|
||||
```
|
||||
- **Added missing Czech table keys**:
|
||||
```json
|
||||
tables: {
|
||||
rank: "#",
|
||||
team: "Tým",
|
||||
played: "Z",
|
||||
wins: "V",
|
||||
draws: "R",
|
||||
losses: "P",
|
||||
score: "Skóre",
|
||||
points: "Body"
|
||||
}
|
||||
```
|
||||
|
||||
## Translation Mapping
|
||||
|
||||
| Original (Czech) | Translation Key | Czech Value | English Value |
|
||||
|------------------|----------------|-------------|---------------|
|
||||
| Tým | `homepage.team` | "Tým" | "Team" |
|
||||
| Z | `homepage.played` | "Zápasy" | "Played" |
|
||||
| V | `homepage.won` | "V" | "W" |
|
||||
| R | `homepage.drawn` | "R" | "D" |
|
||||
| P | `homepage.lost` | "P" | "L" |
|
||||
| Skóre | `homepage.goals` | "Góly" | "Goals" |
|
||||
| Body | `homepage.points` | "Body" | "Points" |
|
||||
|
||||
### TablesPage Translation Mapping
|
||||
| Translation Key | Czech Value | English Value |
|
||||
|----------------|-------------|---------------|
|
||||
| `tables.rank` | "#" | "#" |
|
||||
| `tables.team` | "Tým" | "Team" |
|
||||
| `tables.played` | "Z" | "P" |
|
||||
| `tables.wins` | "V" | "W" |
|
||||
| `tables.draws` | "R" | "D" |
|
||||
| `tables.losses` | "P" | "L" |
|
||||
| `tables.score` | "Skóre" | "Score" |
|
||||
| `tables.points` | "Body" | "Points" |
|
||||
|
||||
## Components Affected
|
||||
- ✅ `StandingsCard.tsx` - Main table component used in homepage
|
||||
- ✅ `TablesPage.tsx` - Already using translations (added missing Czech keys)
|
||||
- ✅ `StandingsPage.tsx` - Already using translations (no changes needed)
|
||||
|
||||
## Testing
|
||||
- ✅ Frontend builds successfully without errors
|
||||
- ✅ All translation keys exist in both Czech and English
|
||||
- ✅ TypeScript compilation successful
|
||||
|
||||
## Usage
|
||||
The table headers will now automatically display in the user's selected language:
|
||||
- **Czech users** will see: "Tým", "Zápasy", "V", "R", "P", "Góly", "Body"
|
||||
- **English users** will see: "Team", "Played", "W", "D", "L", "Goals", "Points"
|
||||
|
||||
## Language Switching
|
||||
Users can switch languages using the language switcher (if available) or the system will detect their browser language preference automatically.
|
||||
|
||||
## Status: ✅ COMPLETE
|
||||
All table headers in the homepage frontpage now support proper internationalization for both English and Czech languages.
|
||||
Reference in New Issue
Block a user