Newsgroup: it.comp.appl.access
Titolo: applicazione multilingua

Ciao a tutti
Stò programmando la creazione di un'applicazione Multilingua
(Italiano,tedesco e francese).
Mi domando se c'è una possibilità di creare una tabella con tutti i testi
nelle tre lingue volute e poi di allaciarmi a questa sia per la creazione di
maschere, stampe, messaggi etc.
La vostra espezienza è richiesta.
tanti saluti
giova

 maschere, stampe, messaggi etc.
Il modo di farlo c'e', ma devi farlo tu.
Sicuramente io creerei una tabella Messaggio con:
ID, CodMessaggio, CodLingua, TestoMsg
poi nelle etichette di maschere e report metterei invece dei testi il
CodMessaggio e quindi creerei una funzione che scorre le etichette e gli
carica dentro il corrispondente testo a seconda della lingua scelta.
Puoi creare una funzione esterna che accetta come parametro un riferimento
alla maschera o report e poi mettere nell'evento apertura della maschera o
report una chiamata alla funzione.
Qualcosa del tipo:
Public Function MettiEtichette (Msk)
    dim ctl as control
        for each ctl in msk.controls
            ...
End
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:jzveb.201368$R32.6...@news2.tin.it...

Ottima soluzione
Per esperienza penso che il numero delle tabelle con la traduzione dipenda
dal tipo di programma che va a realizzare.
nel mio caso ad esempio (un programma medico in 8 lingue)
ho la tabella linguesting per i testi dei controlli , una linguesym per i
sintomi medici (che vanno a riempire combo ecc.. ,una linguediag per le
diagnosi e cosi altre tabelle per i tipi di dati che uso negli elenchi di
scelta .
Stefano (Kabisa)

 Stefano (Kabisa)
Per formamentis avrei usato una sola tabella identificando le tipologie di
messaggio con un campo TipoMsg.
Ciao
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:q0web.201609$R32.6...@news2.tin.it...

Inizialmente avevo fatto così ma ho dovuto cambiare per esigenze di
mantenimento e aggiornamento dei dati da parte di persone diverse.
Stefano

 Stefano
Anch'io avrei usato un'unica tabella, č piů semplice e generalizzato, e
non devi cambiare il codice in ogni maschera per pescare da una tabella o
dall'altra a seconda dei casi.
Puoi addirittura usare una funzione pubblica che imposta le etichette, a
cui passi solo il nome della maschera, quindi in ogni maschera avrai solo
una chiamata "ImpostaEtichette(Me.Name)".
Se devi far aggiornare le lingue da persone diverse basta che aggiungi
nella tabella un ulteriore campo che userai per filtrare i record in modo
che ciascuna delle persone che devono aggiornare i dati veda solo la parte
di sua competenza.
Namor
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:ble551$9k6$1...@news.newsland.it...

Il fatto e che per le etichette va bene ma per i dati che metti nelle combo,
list box, caselle di testo (che devono essere anche quelli in multilingua)
hai dei campi diversi quindi il numero di tabelle che devi usare dipende
dalla struttura dati che usi.
stefano

 stefano
Le combo e le listbox le progetti in modo che la query di origine dati
selezioni già la lingua in automatico, usando una variabile pubblica tipo
"LinguaCorrente" che imposti all'apertura del database, quindi non le
tocchi più da codice, funzionano da sole.
Le caselle di testo di solito le usi per far inseire i dati all'utente,
quindi la lingua sarà quella di chi inserisce il dato.
E comunque puoi sempre usare la struttura ad unica tabella filtrando le
parti che ti servono in base al valore di un campo.
Avresti il vantaggio di poter alll'occorrenza aggiungere una nuova lingua
senza dover modificare alcunchè nella struttura del database.


 dalla struttura dati che usi.
Concordo con namor,
le list e le combo basta gestirle cosi:
le imposti in base a tabella e non a testo fisso,
nella tabella metti tutti i messaggi in tutte le lingue e nella combo filtri
in base all'identificativo lingua.
oltre tutto basta che il messaggio contenga i vari valori separati da un
pinto e virgola e la struttura unica continua ad andare bene.
hai altre strutture?
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:fBzeb.203449$R32.6...@news2.tin.it...

sono pienamente daccordo con voi al 90 % dei casi
ma se avete a che fare con un programma che oltre al multilingua deve tener
conto per quanto riguarda esclusivamente le diagnosi e i sintomi
dei seguenti "parametri":
sinomoni di diagnosi e sintomi che sono diversi in base alla lingua che uso
dati aggiuntivi che dipendono dal continente di utilizzo:
Africa
Asia
America latina
Cosmopolito
i risultati delle listbox e delle combo dipendono da calcoli matematici
complessi che determinano le prevalenze di diagnosi (e qui entrano in gioco
anche i sinonomi)
in base alle sensibilità dei sintomi (che variano in base al continente in
cui ti trovi ad operare)
quindi tramitr tabelle di associazione a codici (naturalmente)
recupero i dati che devo inserire e poi metto la descrizione nella lingua
corretta.
Stefano (kabisa)

 "Sib" <si...@SPAMiol.it> ha scritto nel messaggio

Certamente non metto in dubbio che tu habbia lavorato molto prima di mettere
giu' una struttura e non sostengo che la tua srtuttura sia sbagliata.
In generale vale il principio che dati omogenei vanno, a prescindere ad ogni
altra considerazione, in un'unica tabella.
Poiche' pero' solo tu conosci il tuo programma allora solo tu puoi, in
ultima analisi, fare la scelta.
Le considerazioni fatte considerale di carattere generale ed espresse al
solo scopo di accrescere la reciproca esperienza.
Ciao
Sib