Eventuali duplicati:
Schema for a multilanguage databaseQual è la migliore struttura di database per mantenere i dati multilingue?
Ecco un esempio:
[ products ]
id (INT)
name-en_us (VARCHAR)
name-es_es (VARCHAR)
name-pt_br (VARCHAR)
description-en_us (VARCHAR)
description-es_es (VARCHAR)
description-pt_br (VARCHAR)
price (DECIMAL)
Il problema: ogni nuova lingua sarà necessario modificare la struttura della tabella.
Ecco un altro esempio:
[ products-en_us ]
id (INT)
name (VARCHAR)
description (VARCHAR)
price (DECIMAL)
[ products-es_es ]
id (INT)
name (VARCHAR)
description (VARCHAR)
price (DECIMAL)
Il problema: ogni nuova lingua sarà necessario la creazione di nuove tabelle e il campo "prezzo" è duplicata in ogni tavolo.
Ecco un altro esempio:
[ languages ]
id (INT)
name (VARCHAR)
[ products ]
id (INT)
price (DECIMAL)
[ translation ]
id (INT, PK)
model (VARCHAR) // product
field (VARCHAR) // name
language_id (INT, FK)
text (VARCHAR)
Il problema: fuc * ing duro?
Il terzo metodo è più o meno corretto: cosa c'è di difficile da fare? –
Il problema è che, con ogni soluzione trovata, troverai sempre un caso, quando devi modificare la tabella - cioè più lingue, lingue diverse, un altro campo ... –
Puoi controllare questo link: http://www.gsdesign.ro/blog/multilanguage-database-design-approach/ sebbene leggere i commenti sia molto utile –