Originariamente inviato da -plume83-
la soluzione da te proposta è fantastica !! però avevo ho bisogno di un dizionario e la prima soluzione è la migliore..
Considerando la tua risposta, credo che l'esempio di utilizzo di ResourceBoundle che ho fatto non sia stato abbastanza chiaro. Lo riscrivo in modo più comprensibile.
Codice PHP:
ResourceBundle rb = ResourceBundle.getBundle("languages.lang", Locale.ITALY);
String city = "Milan";
if(rb.containsKey(city)){
String string = rb.getString(city);
...
}
come puoi vedere usando il ResourceBoundle l'inserimento dei valori nell'Hashtable delle varie citta viene sostituito con una sola istruzione (ResourceBundle rb = ResourceBundle.getBundle("languages.lang", Locale.ITALY)
, non devi piu scrivere una "put" per ogni città. Ma il vantaggio principale di questo approccio è che se vuoi inserire una nuova città devi modificare solo il file .properties, e non ricompilare la classe (operazione necessaria se usi l Hashtable). Poi se le città sono poche e prevedi di non aggiungerne di nuove, conviene "cablarli" nel sorgente, usando una struttura dati come l Hashtable. Se le città sono molte, se prevedi di definire la traduzione per nuove lingue e cerchi una soluzione più flessibile ti conviene caricarle da un file e usare ResourceBoundle.
Ciao.