Foros del Web » Programación para mayores de 30 ;) » Java »

Idioma a un sistema

Estas en el tema de Idioma a un sistema en el foro de Java en Foros del Web. Hola. Estoy haciendo un sistema en el cual me piden que maneje idiomas como es el español, frances, ingles, italiano, portugues. Por ejemplo si el ...
  #1 (permalink)  
Antiguo 07/07/2009, 16:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Idioma a un sistema

Hola.

Estoy haciendo un sistema en el cual me piden que maneje idiomas como es el español, frances, ingles, italiano, portugues.

Por ejemplo si el usuario entra al sistema le aparecera un combo con los idiomas mencionados anteriormente, en el idioma que escoga debe aparecer el sistema.

Ojala puedan ayudarme gracias
  #2 (permalink)  
Antiguo 07/07/2009, 17:13
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Idioma a un sistema

Sólo lo imagino, pero dicho proceso es tedioso, claro lo más facil y que ahora te podria recomendar son: expresiones regulares en Java.

Seria sólo una buena practica de replace().
  #3 (permalink)  
Antiguo 07/07/2009, 17:16
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Idioma a un sistema

ok, gracias lo intentare
  #4 (permalink)  
Antiguo 07/07/2009, 17:17
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Idioma a un sistema

muchas gracias
  #5 (permalink)  
Antiguo 08/07/2009, 01:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Idioma a un sistema

No se lo de las expresiones regulares, pero lo suyo es almacenar los mensajes a mostrar en algo como un ResourceBundle, el cual puede devolver valores diferentes según el Locale con el que lo inicialices.

De todas formas, depende mucho de como estés haciendo las páginas, ya que muchos framework proporcionan ayudas para la internacionalizacion (i18n). También puede ser bueno igualmente mirar algún tutorial de internacionalización en Java.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #6 (permalink)  
Antiguo 09/07/2009, 09:29
Avatar de ezefarina  
Fecha de Ingreso: junio-2009
Mensajes: 91
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Idioma a un sistema

Hola! Mirá, yo tuve el mismo problema muchas veces, pero cada lenguaje tiene sus propias herramientas (o no) para hacerlo. VSB tenía sus resources files. En java, dentro del ambiente profesional para aplicaciones bussiness, vi la siguiente solución.
Suponete que le mostras el combo, selecciona el idioma, y cada idioma tiene un ID de 3 caracteres. Y en la base de datos, tenés una tabla, que es:

VARCHAR(3) IDIOMA
TEXT TEXTO..


Entonces vos siempre deberías levantar los textos de la siguiente manera

public String getTextFromDB (String idiomaSeleccionado, String idTexto);

Esta solución la aplicamos en varias empresas donde trabaje, así como también en varios desarrollos personales, y nunca me dió ningún tipo de problema. ESO SI, OJO, los tiempos de generación de página que tenía yo usando este método era de 0.5 milisegundos, pero eso solo lo logré implementando algún cache para los textos que debía levantar de la base, porque sino los constantes accesos a la base me subían el tiempo de generación de página a 400 milisegundos por ejemplo.

De cualquier manera, no necesariamente tenés que usar bases de datos para implementar esta solución. Podrías hacer esto mismo con varios XML, levantarlos con XStream o Digester o algo por el estilo. Podrías definir una Key que contenga el idioma y el id del texto, y con eso genere un hash y con ese hash lo introducis o lo obtenes de un HashMap.
Entonces podrías tener algo por el eestilo:

public String getText (TextKey key);

y lo llamarías algo así

String s = getText (new TextKey("ENG","MENSAJE_ERROR"));

Espero te sirva. Slds!
  #7 (permalink)  
Antiguo 09/07/2009, 12:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Idioma a un sistema

Cita:
Iniciado por ezefarina Ver Mensaje
Podrías definir una Key que contenga el idioma y el id del texto, y con eso genere un hash y con ese hash lo introducis o lo obtenes de un HashMap.
Entonces podrías tener algo por el eestilo:

public String getText (TextKey key);

y lo llamarías algo así

String s = getText (new TextKey("ENG","MENSAJE_ERROR"));
Eso en Java, se llama ResourceBundle(http://java.sun.com/docs/books/tutor...dle/index.html), no hace falta hacérselo uno mismo.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.