Ciao a tutti...
Metto questo post in ASP dato che io uso questo linguaggio, ma di fatto la mia domanda potrebbe essere generica ed applicata ad altri linguaggi (semmai chiedo ai moderatori di spostarlo).
Cerco di spiegarmi: da sempre quando dovevo gestire dei contenuti in più lingue (ad esempio notizie di un sito) creavo un record con campi multipli dove dentro c'era il contenuto testuale in ogni singola lingua (ogni campo era una lingua).
Siccome ultimamente mi sono trovato di fronte ad una richiesta (seppur rara) di gestire fino a 8 lingue diverse credo forse vale la pena ragionare in modo diverso e creare un sistema che di fatto mi potrebbe permettere di gestire n lingue.
Io pensavo di agire così:
in fase di inserimento della notizia (usiamo questo esempio) salvare tanti record quanto sono le lingue in uso e permettere poi all'utente di inserire il testo nelle lingue aggiuntive.
In questo modo però avrei sicuramente dei problemi in fase di modifica di alcuni dati comuni a tutti i record notizia (vedi ad esempio la data scadenza), ovvero dovrei modificare la data su tutti i record.
Inoltre in questo modo dovrei prevedere un campo che mi riporta il record padre in modo da capire quali record dovrei modificare.
Provo a fare un esempio:
ID IDpadre Testo DataInizio DataFine
1 0 Notizia IT 7/10/2007 20/10/2007
2 1 Notizia UK 7/10/2007 20/10/2007
Come dicevo sopra ho le date che si ripetono in ogni record e in caso di modifica di una devo modificare anche le altre (la correlazione la creo tramite il campo IDpadre).
Secondo voi quale altra soluzione ci potrebbe essere?
Io pensavo anche di creare una tabella dove inserire un solo record con i dati comuni a tutte le lingue (DataInizio e DataFine) e una tabella correlata dove inserire n record, uno per ogni lingua, con i dati specifici (Testo).
Qualcuno di voi mi sa dare un'idea migliore? Come gestite voi la cosa???
Grazie mille
Edo

Rispondi quotando