Ciao, vi chiedo un consiglio su come sviluppare un sistema multilingua con php e mysql. Il sistema è un ecommerce, e fino ad oggi i prodotti nel db avevano un campo di descrizione per ogni lingua, il titolo del prodotto anche. Invece tutti i link, altri contenuti statici si trovano in un file di testo dentro alle variabili (escluse le pagine statiche) che veniva caricato in base alla lingua selezionata.
Ora devo sviluppare un sistema con 2 lingue, ma successivamente ne andranno aggiunte altre, con il sistema che utilizzavo prima devo aprire tutti i file, tutte le query e aggiungere tutti i campi nel db, è abbastanza scomodo per quanto mi riguarda, potrei commettere errori, o dimenticanze durante l'inserimento della lungua, poi con le traduzione diventa un problema, perchè io devo aprire i file ed effettuare le traduzioni.
Sto progettando un nuovo sistema, ma vorrei sapere un vostro consiglio parere, sui pro e sui contro.
In pratica tutti i prodotti dinamici presenti nel db avranno un rifetimento ad una tabella lingue e una tabella contenuti con le varie lingue, questo mi facilita perchè inserendo una riga nella tabella lingue in modo automatico si aggiunge una lingua in tutte le tabelle che necessitano di avere i contenuti in diverse lingue. Per quanto riguarda php non devo aprire nessun file, perchè controllando quella tabella riesco a sapere quanti campi dei contenuti inserire per le lingue. In questo sistema metterei tutto quello che riguarda il prodotto e la sua visualizzazione, alt delle immagini, meta tag, titolo pagina, ecc.
Tutti i link del sito li metterei nel db sempre con lo stesso sistema, il problema (se così si può chiamare) sono le pagine statiche, metterle nel db comporta uno spreco di risorse, potrei anche lasciarle in file di testo da includere, ma poi mi rimane il problema della traduzione, dare l'accesso ftp e spigare come tradurre, oppure aggiungere io le traduzioni.
Io ho pensato di lasciare le pagine statiche come file, uno per ogni lingua, e dal pannello di amministrazione, tramite opportuni riferimenti messi nel db, dare la possibilità di tradurle, e poi riscrivere il file. in questo modo php nel sito carica sempre un file e non legge contenuti nel db. Questo sistema è molto comodo perchè una volta consegnato il progetto io non devo mettere mano a nulla, e quando devo aggiungere una lingua posso farlo in 5 minuti senza tanti problemi, semplicemente aggiungendo una riga nel db. In più il sistema gestisce i permessi degli utenti, quindi è possibile creare un account che può solo effettuare le traduzioni, senza modificare gli altri contenuti.
Secondo voi può andar bene? ovviamente l'ho descritto in modo sommario e apprissimativo, ma io devo realizzare un e-commerce multilingua in cui le traduzioni le devono gestire da soli, senza chiedere il mio aiuto. Ho leggo nei forum pareri discordanti al mio nuovo sistema, a secondo me è molto vantaggioso, non saprei in termini di prestazioni, ma se il tutto è ben strutturato e ottimizzato credo che anche in questo non ci sono problemi.