A grandi linee, ti occorrono due tabelle:
Tabella LINGUE: che contiene l'elenco delle lingua gestite
Campi: IDLingua (PK), la Lingua 'in lingua' ovvero (Italiano, English, Français, Deutsch, ecc...) ed il relativo codice ISO-Alpha3, che identifica la lingua con 3 caratteri (ITA, ENG, FRA, DEU, ...)
Tabella TESTI: che contiene i testi nelle varie lingue.
La struttura di questa tabella dipende dalla modalità di gestione.
Personalmente la gestisco in questo modo:
- IDTesto (PK, ma non identity)
- alcuni campi che mi aiutano ad identificare il tipo di testo e dove è utilizzato (maschera, messaggio, campo di tabella, ...)
- i campi delle lingue, esempio: ENG, ITA, FRA, DEU, ...
In questo modo, se ho necessità di aggiungere una nuova lingua, non faccio altro che creare il nuovo campo (es PTB) e vi copio tutte le stringhe dall'inglese, così l'utente con l'apposito traduttore che gli fornisco potrà andare a fare tutte le traduzioni.
P.S. Come dice @Alex, le matrici non c'entrano nulla.