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.