15 messaggi dal 22 gennaio 2009
Un saluto a tutti,
sto iniziando lo sviluppo di una applicazione web multilinguaggio che necessita di un database. La prima soluzione che mi è venuta in mente per gestire la pluralità delle lingue è creare delle colonne diverse in base alla lingua, nel caso di prodotti e-commerce potrebbe essere:

ID, labelIT, labelEN, labelDE, descIT, descEN, descDE, price, etc...

In questo modo se l'utente sta usando la versione del sito in italiano andrò a prelevare solo le colonne che finisco in IT, altrimenti quelle delle altre lingue, via dicendo.
In questo modo però se un giorno dovessi inserire una lingua dovrei aggiungere le colonne delle nuova lingua e ricreare il dataset (uso i dataset, si, e non posso cambiare).

Chiedo a voi se conoscete un altro metodo più veloce, magari creando delle tabelle diverse per ogni lingua, e magari dinamico.
Insomma, datemi qualche suggerimento :-)
Voi come avete gestito questa situazione?

Grazie a tutti
Ciao
95 messaggi dal 06 novembre 2007
ti serve per forza un db?

prova a dare una occhio ad esempio qui:

http://www.c-sharpcorner.com/uploadfile/mosessaur/aspnetlocalization02042006165851pm/aspnetlocalization.aspx?articleid=96602e53-0fb1-44ec-a67b-1c68b05eb2e1
15 messaggi dal 22 gennaio 2009
Certo che mi serve il db, i contenuti del sito sono dinamici (inseriti dal cliente) e non statici, nel qual caso avrei usato, come dice il tuo link, i files di risorse.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Duff wrote:
Un saluto a tutti,
sto iniziando lo sviluppo di una applicazione web multilinguaggio che necessita di un database. La prima soluzione che mi è venuta in mente per gestire la pluralità delle lingue è creare delle colonne diverse in base alla lingua, nel caso di prodotti e-commerce potrebbe essere: *ID, labelIT, labelEN, labelDE, descIT, descEN, descDE, price, etc...* In questo modo se l'utente sta usando la versione del sito in italiano andrò a prelevare solo le colonne che finisco in IT, altrimenti quelle delle altre lingue, via dicendo.
In questo modo però se un giorno dovessi inserire una lingua dovrei aggiungere le colonne delle nuova lingua e ricreare il dataset (uso i dataset, si, e non posso cambiare).
Chiedo a voi se conoscete un altro metodo più veloce, magari creando delle tabelle diverse per ogni lingua, e magari dinamico.
Insomma, datemi qualche suggerimento :-)
Voi come avete gestito questa situazione?
Grazie a tutti
Ciao
a me la soluzione sembra congrua..
potresti normalizzare ulteriormente con
tabella Messaggi
Id
descrizione messaggio

tabella lingue
Id
nomeLingua

tabella linguaggi
IdMessaggio
IdLingua
messaggio_in_lingua

cosa che ti permette di non avere tutte quelle colonne per ogni articolo, colonne che potrebbero richiedere di essere nullabili, nel caso di "loro assenza"..
ovviamente avrai 1 join in piu', ma tecnicamente puo' funzionare.. l'implementazione dei messaggi localizzati, anche in SQL Server, avviene ad esempio similarmente a questo modo..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
15 messaggi dal 22 gennaio 2009
Ciao Andrea, grazie era una delle soluzioni a cui avevo pensato. Richiede più tempo per la progettazione e per l'implementazione, ci lavorerò su e vedo cosa ne viene fuori. Vorrei poter creare un sistema che sia riusabile nel tempo e facile da manutenere.

Ciao
La soluzione proposta da Andrea ti permette anche di aggiungere eventuali ulteriori lingue.

Dal quel che ho potuto constatare, tutto il tempo che perdi all'inizio della progettazione per fare le cose a regola d'arte, te lo ritrovi in seguito.

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
15 messaggi dal 22 gennaio 2009
Ho trovato la stessa soluzione in fondo a questo articolo, direi che sembra funzionare ed essere la soluzione più "gettonata" :
http://www.codeproject.com/Kb/aspnet/localizationByVivekTakur.aspx

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.