Ciao a tutti,
ho la seguente problematica e non ho idea su come poter fare a risolverla:
Un software che stò realizzando sarà multi lingua. Per fare questo, oltre alle lable anche i campi di lookup (ad esempio il sesso sull'anagrafica clienti devono essere tali "MASCHIO"; "MALE"; ecc...) sono multi lingua. PEr fare questo ho memorizzato le traduzioni su una tabella apposita con struttura tipo questa
codice:
tabella: anag_sex
Id
desc_it
desc_en
desc_fr
Sulla tabella anagrafica vado a memorizzare il campo ID
La problematica stà sulla query per estrarre i dati. Per il momento ho usato questa soluzione
codice:
SELECT
nome,
case LANGUAGE:
when 'IT' then anag_sex.desc_it
when 'EN' then anag_sex.desc_en
when 'FR' then anag_sex.desc_fr
end as sesso;
FROM
anag_cli
INNER JOIN anag_sex ON anag_cli.id_sex=anag_sex.id
Dato però che i campi di lookup sono parecchi ho la problematica che se un domani si voglia aggiungere una lingua devo modificare tutte le query a mano.
Pensavo, se la cosa potesse essere risolta con una stored procedure o un function in cui gli passo come parametro la lingua e la parte inziale del campo (ad. esempio anag_sex.desc_) e lui mi restituisce il campo (non il valore).
Qulacuno mi sa dire se è possibile e come ?
Grazie a tutti
Alessandro