Cuando diseñamos una aplicación Java, tenemos que tener en cuenta tanto las necesidades actuales como futuras de nuestra aplicación.
Es posible que pensemos que nuestro programa solo necesita mostrar mensajes en nuestro idioma local (en este caso castellano) pero, con mucha probabilidad, en un futuro cercano deba funcionar en otros ..... pongase Ingles, Catalán, etc
Una vez completada una aplicación, sin tener este factor en cuenta, el coste de internacionalizarla y realizar las prubas de regresión puede ser muy elevado o incluso .... puede ser necesario un rediseño completo.
Java, propociona un conjunto de clases para facilitarnos esta labor...
LocaleUn Locale representa una región concreta ... podemos ver la seleccionada actualmente.
| package roberto; /* * primerPrograma.java * * Created on July 16, 2003, 3:53 AM */ import java.text.*; import java.util.*; /** * * @author Administrator */ public class primerPrograma { /** Constructor por defecto de la clase */ public primerPrograma() { } /** * Punto de entrada estático de la aplicación * @param args recibe los parámetros de linea de comando */ public static void main(String[] args) { primerPrograma oInstanciaLocal = new primerPrograma(); oInstanciaLocal.ejecutaProceso(); } /** * Ejecutamos el proceso como un instancia local */ private void ejecutaProceso () { Locale lDefecto = Locale.getDefault(); muestraDatosLocale(lDefecto); Locale[] listaLocales = Locale.getAvailableLocales(); for(int i=0 ; i < listaLocales.length ; i++) { muestraDatosLocaleTab(listaLocales[i]); } } void muestraDatosLocale(Locale lActual) { depura("El pais mostrado es: " +lActual.getDisplayCountry()); depura("El pais es: " +lActual.getCountry()); depura("El lenguaje actual es: " + lActual.getLanguage()); depura("La varidedad del lenguaje es: " + lActual.getDisplayVariant()); depura("El pais actual es: " +lActual.getLanguage()); depura("El nobre actual es: " +lActual.getDisplayName()); try { depura("El pais ISO actual es: " +lActual.getISO3Country()); depura("El lenguaje ISO actual es: " +lActual.getISO3Language()); depura(""); } catch (Exception e) { } } void muestraDatosLocaleTab(Locale lActual) { muestraSimple(lActual.getDisplayCountry()); muestraSimple(lActual.getCountry()); muestraSimple(lActual.getLanguage()); muestraSimple(lActual.getDisplayVariant()); muestraSimple(lActual.getLanguage()); muestraSimple(lActual.getDisplayName()); try { muestraSimple(lActual.getISO3Country()); muestraSimple(lActual.getISO3Language()); depura(""); } catch (Exception e) { } } void muestraSimple(String pCadena) { System.out.print(pCadena + "t"); } void depura(String pCadena) { System.out.println(pCadena); } } |
La salida actual es:

Usuarios que han visto este tema también han visto...
- Sockets en Java
- Posicion del puntero del raton
- Java web frameworks - Cuál elegir?
- Conectar Java con MySQL en NetBeans
- Clases, Objetos y Constructores. ¿Cuál es la Diferencia? en Java
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.