Aplicación JAVA Multilenguaje
Hola, Comunidad Computrachos.com
Me gustaría saber como hago una aplicación Java que sea multilenguaje, por ejemplo:
Barra de Menu
Configuración
Idioma
Español
Inglés
Al elegir un idioma en la lista de disponibles, la aplicación cambie las etiquetas, los comentarios, etc al idioma seleccionado.
Además la posibilidad de agregar nuevos idiomas.
Saludos Cordiales, Randy

Hola amigos de Computrachos, para que nuestras aplicaciones hechas en Java sean Multilenguaje debemos usar archivos con extension .Properties, si usamos NetBeans los podemos crear desde Tools-Internationalization-Internationalization Wizard. Debemos tener tantos archivos .Properties como idiomas tendra nuestra aplicacion…
import java.io.IOException; import java.util.Properties; /** * * @author alexis */ public class PropertiesL extends Properties{ public PropertiesL(String idioma){ if(idioma.equals("Español")){//español getProperties("Español.properties"); }else if(idioma.equals("Ingles")){//Ingles getProperties("Ingles.properties"); }else{//sino por default idioma español getProperties("Español"); } } /* se leen las propiedades */ private void getProperties(String idioma) { try { this.load( getClass().getResourceAsStream(idioma) ); } catch (IOException ex) { System.out.println(ex.getMessage()); } } }esta clase es la encargada de leer y cargar las propiedades del archivo .Properties, esta es .Java pero la pueden hacer como .Properties….
En el lugar que la necesiten usan este metodo o funcion, con las etiketas de su Aplicacion…
private void Lenguaje(String idioma){ PropertiesL prop = new PropertiesL(idioma); // se colocal las propiedades this.setTitle(prop.getProperty("titulo") + " - by Alexis Ortiz"); jLabel1.setText(prop.getProperty("titulo")); jLabel2.setText(prop.getProperty("nombre")); jLabel3.setText(prop.getProperty("Apellidos")); jLabel4.setText(prop.getProperty("fono")); jButton1.setText(prop.getProperty("guardar")); jButton2.setText(prop.getProperty("salir")); jMenu1.setText(prop.getProperty("archivo")); jMenu2.setText(prop.getProperty("propiedades")); jMenuItem1.setText(prop.getProperty("guardar")); jMenuItem2.setText(prop.getProperty("salir")); jRadioButtonMenuItem1.setText(prop.getProperty("en")); jRadioButtonMenuItem2.setText(prop.getProperty("es")); }solo falta llamar el metodo anterior en algun tipo evento de boton.
private void jRadioButtonMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) { Lenguaje("Español"); } private void jRadioButtonMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { Lenguaje("Ingles"); }eso es todo nuestra aplicacion ya es MultiLenguaje..
Subire el proyecto completo para que le hechen un vistazo….
espero les sirva….
hasta la proxima…
Fue útil la respuesta?
LikeDislikePueden descargar el código fuente aqui:
http://data.amayasystems.com/AplicacionMultilenguaje.zip
Fue útil la respuesta?
LikeDislike