feat: implement global translation for HR, purchases, and core UI components
This commit is contained in:
@@ -42,5 +42,8 @@ File riassuntivo dello stato di sviluppo di Zentral.
|
||||
- Miglioramento UX tab: chiusura con middle-click, drag & drop, gruppi di tab personalizzati.
|
||||
- [2025-12-06 Tab Flicker Fix](./devlog/2025-12-06-011500_tab_flicker_fix.md) - **Completato**
|
||||
- Risolto problema di flicker rimuovendo l'aggiornamento manuale dello stato attivo e affidandosi esclusivamente alla sincronizzazione con l'URL.
|
||||
- [2025-12-06 Fix Apps Tab Translation](./devlog/2025-12-06-013500_fix_apps_tab_translation.md) - **Completato**
|
||||
- [2025-12-06 02:10:00 - Fix Traduzione Tab](./devlog/2025-12-06-021000_fix_tab_translation.md) - **Completato**
|
||||
- [2025-12-06 01:55:00 - Traduzione Menu, Search Bar e Tab](./devlog/2025-12-06-015500_translate_navigation.md) - **Completato**
|
||||
- [2025-12-06 01:48:00 - Traduzione Modulo Acquisti](./devlog/2025-12-06-014800_translate_purchases.md) - **Completato**
|
||||
- [2025-12-06 01:35:00 - Fix Traduzione Tab Applicazioni](./devlog/2025-12-06-013500_fix_apps_tab_translation.md) - **Completato**
|
||||
- Corretta chiave di traduzione errata per la tab "Gestione Applicazioni" e migliorata la gestione dell'aggiornamento etichette tab.
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# Global Translation Alignment
|
||||
|
||||
## Stato
|
||||
Completato
|
||||
|
||||
## Descrizione
|
||||
Allineamento completo delle traduzioni in tutto il gestionale. Verifica di stringhe hardcoded, chiavi mancanti e supporto accessibilità.
|
||||
|
||||
## Piano di Lavoro
|
||||
1. [x] Analisi struttura i18n esistente.
|
||||
2. [x] Scansione frontend per stringhe hardcoded.
|
||||
3. [x] Scansione backend per messaggi utente non localizzati.
|
||||
4. [x] Aggiornamento file di traduzione (IT/EN).
|
||||
5. [x] Verifica accessibilità (aria-labels, alt text).
|
||||
6. [x] Test cambio lingua.
|
||||
|
||||
## Log
|
||||
- Creazione piano di lavoro.
|
||||
@@ -0,0 +1,17 @@
|
||||
# Traduzione Modulo Acquisti
|
||||
|
||||
## Obiettivo
|
||||
Tradurre completamente il modulo acquisti (Purchases) in italiano e inglese, eliminando le stringhe hardcoded.
|
||||
|
||||
## File da analizzare
|
||||
- `src/frontend/src/apps/purchases/pages/PurchaseOrderFormPage.tsx`
|
||||
- `src/frontend/src/apps/purchases/pages/PurchaseOrdersPage.tsx`
|
||||
- `src/frontend/src/apps/purchases/pages/SupplierFormPage.tsx`
|
||||
- `src/frontend/src/apps/purchases/pages/SuppliersPage.tsx`
|
||||
- `src/frontend/src/apps/purchases/components/PurchasesStatsWidget.tsx`
|
||||
|
||||
## Piano di lavoro
|
||||
1. Analizzare i file per identificare le stringhe hardcoded.
|
||||
2. Aggiungere le chiavi di traduzione in `it/translation.json` e `en/translation.json`.
|
||||
3. Aggiornare i componenti React per utilizzare `useTranslation`.
|
||||
4. Verificare la build.
|
||||
@@ -0,0 +1,21 @@
|
||||
# Traduzione Menu, Search Bar e Tab
|
||||
|
||||
## Obiettivo
|
||||
Tradurre completamente i componenti di navigazione principale: Sidebar (Menu), Search Bar e TabsBar.
|
||||
|
||||
## File da analizzare
|
||||
- `src/frontend/src/components/Sidebar.tsx`
|
||||
- `src/frontend/src/components/SearchBar.tsx`
|
||||
- `src/frontend/src/components/TabsBar.tsx`
|
||||
|
||||
## Piano di lavoro
|
||||
1. Analizzare `Sidebar.tsx` per le voci di menu hardcoded.
|
||||
2. Analizzare `SearchBar.tsx` per placeholder e testi hardcoded.
|
||||
3. Analizzare `TabsBar.tsx` per i titoli delle tab e menu contestuali.
|
||||
4. Aggiungere le chiavi mancanti in `it/translation.json` e `en/translation.json`.
|
||||
5. Aggiornare i componenti per usare `useTranslation`.
|
||||
|
||||
## Stato
|
||||
- **Completato**: 2025-12-06 02:05:00
|
||||
- Aggiunte chiavi di traduzione per menu, navigazione e tab.
|
||||
- Aggiornati i componenti `Sidebar.tsx`, `SearchBar.tsx` e `TabsBar.tsx`.
|
||||
@@ -0,0 +1,26 @@
|
||||
# Traduzione Tab
|
||||
|
||||
## Problema
|
||||
Le tab aperte non venivano tradotte dinamicamente al cambio lingua perché il titolo (label) veniva salvato come stringa statica nel `TabContext` (e persistito in localStorage).
|
||||
|
||||
## Soluzione
|
||||
1. Aggiornato `TabContext.tsx`:
|
||||
- Aggiunta proprietà opzionale `translationKey` all'interfaccia `Tab`.
|
||||
- Aggiornata la funzione `openTab` per accettare e salvare `translationKey`.
|
||||
- Aggiornato il caricamento iniziale (default tab) per includere la chiave di traduzione.
|
||||
|
||||
2. Aggiornato `Sidebar.tsx`:
|
||||
- Aggiunta proprietà `translationKey` alla struttura del menu.
|
||||
- Passaggio della chiave di traduzione alla funzione `openTab` al click.
|
||||
|
||||
3. Aggiornato `SearchBar.tsx`:
|
||||
- Aggiunta proprietà `translationKey` alle opzioni di ricerca.
|
||||
- Passaggio della chiave di traduzione alla funzione `openTab` alla selezione.
|
||||
|
||||
4. Aggiornato `TabsBar.tsx`:
|
||||
- Utilizzo di `t(tab.translationKey)` se disponibile, altrimenti fallback su `tab.label`.
|
||||
- Questo garantisce che le tab cambino lingua istantaneamente quando l'utente cambia lingua.
|
||||
|
||||
## Stato
|
||||
- **Completato**: 2025-12-06 02:15:00
|
||||
- Le tab ora supportano la traduzione dinamica.
|
||||
Reference in New Issue
Block a user