feat: implement global translation for HR, purchases, and core UI components

This commit is contained in:
2025-12-06 02:01:54 +01:00
parent fef463dce5
commit 623f7b3b56
19 changed files with 789 additions and 361 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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`.

View File

@@ -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.