ecco la mia soluzione adottata fin qui, dimmi se migliorarla.
non ho usato gli Array in quanto l'indice nn può essere una stringa ma un numero. trovo più mnemonica la chiave stringa. Ho pertanto dichiarato:
codice:
private Hashtable h = null;
che vado a popolare a col metodo di inizializzazione in base al valore di lingua restituitomi dal radiobutton del relativo menu language. Per l'inglese ad esempio:
codice:
private void initializeEnglish()
.
Tale metodo contiene:
codice:
h = new Hashtable();
e le varie
codice:
h.put("idButtonOMsg","EnglishLabel");
per le varie label di pulsanti e di info da restituire.
Quello che tu mi suggerisci, ma anche kateetak nel suo precedente intervento, è questo:
- scrivere un metodo che cambi tutte le label.
Trovo però queste difficoltà non implementative ma diciamo "concettuali":
le label sono tante, considerando tutte le varie voci dei menu. Possibile soluzione "ad hoc": dare come chiave della hashtable il nome della variabile da modificare e utilizzare questo x cambiare le varie label.
Limite alla soluzione appena indicata: il vocabolario della hash table è popolato anche da "messaggi di ritorno" informativi che comunico all'utente in una "labelInfo".
Possibile soluzione al limite: scorrere la hashtable escludendo le chiavi che comincino per "msg" ad esempio...
Ho dei dubbi su questo tipo di implementazione... in quanto cmq dovrei capire che messaggio sto visualizzando nella label info e restituire quello esatto...
arrivato a tutti questi ragionamenti mi blocco e mi chiedo: esiste di meglio? esiste una soluzione più "pulita" (sempre considerando che la mia hashtable potra' arrivare a contenere molte put -un centinaio circa-)?