Traducir programa en Java

Javito
02 de Diciembre del 2003
Hola¡ Tengo un programa escrito en java hecho por un amigo. Me gustaría poder escribir dicho programa en varios idiomas. Una vez traducida toda la interfaz, mi intención es crear una pantalla inicial donde se pueda elegir el idioma y a partir de ahí navegar por las pantallas dependiendo del idioma. Una vez hecho esto, cual sería una solución elegante para llevar esto a cabo. Es decir, a nivel de programación cómo podría hacerlo??
Gracias.

chuidiang
02 de Diciembre del 2003
Una forma que se me ocurre es hacer la interface sin ningún texto, simplemente que lea los textos de un fichero. Al elegir el idioma sólo tienes que pasarle a la interface el fichero adecuado y que vaya construyendose poniendo los textos del fichero. Este metodo tiene la ventaja de que puedes ir añadiendo nuevos ficheros de idiomas sin necesidad de recompilar nada de codigo.

Otra forma es hacer una interface del estilo
interface GeneradorTextos
{
String dameTexto (identificadorDeBoton);
}

Luego haces clases hijas segun el idioma

class Español implements GeneradorTexto
{
String dameTexto (identificadorDeBoton)
{
...
}
}

Las clases visuales deben admitir en el constructor un GeneradorTextos de este estilo. Al construir los botones van pidiendo al GeneradorTexto las etiquetas.
Unicamente debes instanciar las clases visuales pasandoles un new Español(), new Ingles() o lo que quieras.

Se bueno.