Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Lenguajes orientados a objeto > Java > J2SE > Internacionalización de Programas Java
-Tutoriales

Internacionalización de Programas Java


Un Ejemplo Rápido

Si eres nuevo internacionalizando software, esta lección es para tí. Utilizando un ejemplo sencillo, veremos como internacionalizar un programa que muestra mensajes de texto en el idioma apropiado. En esta lección aprenderás cómo trabajan juntos los objetos Locale y ResourceBundle, y cómo utilizar los ficheros de propiedades.

. Antes de la Internacionalización

En la primera versión del código fuente, codificamos las versiones inglesas de los mensajes que queriamos mostrar. Esta NO es la forma de escribir software internacionalizado.

Supongamos que hemos escrito un programa que muestra tres mensajes.

System.out.println("Hello.");
System.out.println("How are we?");
System.out.println("Goodbye.");

Hemos decidido que este programa necesita mostrar estos tres mensajes para la gente que vive en Francia y en Alemania. Desafortunadamente tu personal de programación no es multi-lingüe., por eso necesitas ayuda para traducir los mensajes al Francés y al Alemám. Cómo los traductores no son programadores, tenemos que sacar los mensajes fuera del código fuente a ficheros de texto que puedan ser editados por los traductores. También queremos que el programa sea lo suficientemente flexibe para poder mostrar los mensajes en otros idiomas, pero ahora mismo no sabemos qué idiomas. Por lo tanto, queremos que el usuario final especifique su idioma en el momento de la ejecución.

Parece que este programa necesita ser internacionalizado.

. Después de la Internacionalización

Abajo puedes ver el código fuente del programa internacionalizado. Observa que el texto de los mensajes no está codificado.

import java.util.*;

public class I18NSample {

   static public void main(String[] args) {

      if (args.length != 2) {
          System.out.println("Please specify language and country codes.");
          System.out.println("For example: java I18NSample fr FR");
          System.exit(-1);
       }

      Locale currentLocale;
      ResourceBundle messages;
      String language = new String(args[0]);
      String country = new String(args[1]);

      currentLocale = new Locale(language, country);

      messages =
        ResourceBundle.getBundle("MessagesBundle",currentLocale);

      System.out.println(messages.getString("greetings"));
      System.out.println(messages.getString("inquiry"));
      System.out.println(messages.getString("farewell"));
   }
}

. Ejecutar el programa de Ejemplo

Para ejecutar el programa de ejemplo, se especifica el idioma y el país en la línea de comandos. Esta sección muestra varios ejemplos.

Nuestro programa internacionalizado es flexible, porque permite que el usuario final pueda especificar el idioma y el país en la línea de comandos. En el siguiente ejemplo, el programa muestra los mensajes en Fancés, porque el código de lenguaje es fr (Francés), y el código de país es FR (Fráncia).

% java I18NSample fr FR
Bonjour.
Comment allez-vous?
Au revoir.

En el siguiente ejemplo, el código de idioma es en (Inglés) y el código de país es US (Estados Unidos).

% java I18NSample en US
Hello.
How are you?
Goodbye.

. Cómo hemos internacionalizado el programa de Ejemplo

Internacionalizar el programa de ejemplo sólo requiere unos pocos pasos. Te sorprenderás de lo fácil que es.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network