133 messaggi dal 22 febbraio 2006
Ciao a tutti devo sviluppare un'applicazione multilingua.
L'applicazione è composta anche da un pannello di amministrazione da gestire sempre in multilingua.

Vorrei un consiglio per gestire le lingue nel DB (Access)? Per ogni tabella replico i campi per tutte le lingue? Oppure scrivo un arecord nuovo per ogni lingua con conseguente reinserimento di campi comuni (es.: immagini/file, categorie, ecc).

Ciao a tutti e grazie.

Matteo
71 messaggi dal 26 aprile 2004
Ciao, io ho seguito i consigli di questo articolo e mi sono trovato molto bene

http://www.aspitalia.com/articoli/asp.net/resources.aspx?article=/articoli/asp.net/resources.aspx
133 messaggi dal 22 febbraio 2006
Interessante, avevo letto qualcosa di simile, ma questo risponde solo in parte alle mi esigenze... cercavo un consiglio anche a livello di DataBase, oltre che di successivo accesso/visualizzazione dei dati in base alla lingua, per sapere se qualcuno che si è scontrato con il problema aveva optato per l'inserimento ripetuto dello stesso record in base alla lingua, oppure se aveva moltiplicato i campi della tabella del DB per il numero di lingue(es.: 3 campi per 3 lingue = 9 campi nella tabella, 3 in ITA, 3 in ING, e in FRA)... mi vengono in mente vantaggi e svantaggi per entrambe le scelte.

Comunque grazie per il link... ma se i dati li recupero dal DB e non da file XML, TXT, RESX... come faccio?

Grazie di nuovo.

Matteo
26 messaggi dal 06 novembre 2001
sinceramente credo che la soluzione migliore sia creare una tabella in cui ci stanno i dati che sono indipendenti dalla lingua (ad esempio gli id per le relazioni, e tutti i campi comuni) e anzichè aggiungere un campo descrittivo per ogni lingua come dicevi tu farei una tabella esterna che come chiave primaria ha l'id della riga della prima tabella e l'id della lingua di interesse (le lingue le metti in una tabella a parte con ID_Lingua e Descrizione)
Questa soluzione ti consente di non duplicare i campi che rimangono invariati per tutte le lingue e di non creare una struttra rigida e non espandibile per il sito multilingua perchè se dovesse succederti di aggiungere una lingua al sito non dovrai fare altro che aggiungere la lingua nella tabbella delle lingue e una riga nella tabella delle descrizioni ed il gioco è fatto

Facciamo per chiarezza un esempio:

Tabella 1: Prodotti
Campi tabella 1:
ID_Prodotto (chiave primaria)
Immagine_Prodotto
ID_Categoria merceologica
Nome_Prodotto

Tabella 2: Proditti_Descrizioni
Campi Tabella 2:
ID_Prodotto (Chiave Primaria)
ID_Lingua (Chiave Primaria)
Descrizione_Prodotto

Tabella 3: Lingue
Campi Tabella 3;
ID_Lingua (Chiave Primaria)
Descrizione (Es: Italiano, English...)

Se non sono stato chiaro fammi sapere (ovviamente se la soluzione ti può interessare :-) )
133 messaggi dal 22 febbraio 2006
Sei stato molto chiaro... è una delle soluzioni a cui avevo pensato anche io... ricuramente la più versatile e scalabile... Questo permette di avere prodotti diversi per lingue diverse, non necessariamente una copia di tutto.

Grazie per la risposta.

Ciao,

Matteo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.