Sì anche io ho scelto di mettere nel DB una tabella di relazione tra TbMenu e TbLingue contenente

TbMenu
----------------
idMenu
LinkMenu
Visibile

TbLingue_Menu
----------------
IdMenu
IdLingua
NomeMenu
DescrizioneMenu

TbLingue
----------------
IdLingua
Descrizione
Abbreviazione
Abilitata




L'unica cosa su cui sono dubbioso è che, in fase di inserimento del menu, non so come gestirmela perchè non so se scegliere:
- La creazione di un menu localizzato in più lingue (grazie a TbLingue_Menu)
oppure
- La creazione di un menu per ogni lingua, ottenendo quindi dei contenuti diversi (non è lo stesso menu della versione italiana ma è un nuovo menu nella versione inglese, per esempio) anzichè delle traduzioni.

Per i menu non è un grosso problema. Più che altro me lo pongo per le pagine che dovranno essere localizzate.
Il secondo metodo è più versatile ma obbliga a inserire il contenuto moltiplicato per il numero di lingue; e se voglio effettuare delle modifiche al menu dovrò farle ad entrambe le versioni.

Cioè se ho lingua inglese ed italiana ed un menu "Contatti" nel DB avrò

Un record con ID=X e Descrizione="Contatti" e
un record con ID=Y e Descrizione="Contacts"

Mentre nel primo caso ho un solo menu co ID=X e due traduzioni nella relativa tabella.

Io credo che sceglierò la prima strada.
Voi che cosa ne pensate?


PS - Perdonate la prolissità
Nome