## Crear un objeto Locale

Para crear un objeto Locale, se especifica el código del idioma y el código del país. Por ejemplo para especificar el idioma Francés y el país Canada, se llamará al constructor de esta forma:

    aLocale = new Locale("fr","CA");

En el siguiente ejemplo, creamos objetos Locale para el idioma Inglés en U.S.A. y Gran Bretaña:

    bLocale = new Locale("en","US");
    cLocale = new Locale("en","GB");

El primer argumento es el código del lenguaje, un par de letras minúsculas conformes a la norma ISO-639. Puedes encontrar una lista completa de códigos ISO-639 en: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt

El segundo argumento es el código de país. Que consiste en dos letras mayúsculas, conforme a la norma ISO3166. Puedes encontrar un copia de esta norma en:http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html

Además, si necesitas distinguir todavía más tu Locale, puedes especificar un tercer parámetro, llamado código de variante. Si existen variaciones en el idioma utilizado dentro del mismo país, podrías querer especificar una variante. Por ejemplo, en el Sur de Estados Unidos, la gente suele decier "y'all," cuando en el Norte dicen "you all." Se podría crear diferentes objetos Locale de esta forma:

    nLocale = new Locale("en", "US" ,"NORTH");
    sLocale = new Locale("en", "US", "SOUTH");

Los códigos de variante no conforman un estándard. Son arbitrarios y específicos de la aplicación. Si se crean objetos Locale con los códigos de variante NORTH y SOUTH, como en el ejemplo anterior, sólo nuestra aplicación sabrá como tratarlos.

Normalmente, se específican códigos de variante para identificar diferencias cuasadas por la plataforma de ordenador. Por ejemplo, las diferencias de fuentes podría forzar a utilizar caracteres diferentes en Windows y en UNIX. Se podría definir los objetos Locale con estos códigos de variante:

    xLocale = new Locale("de", "DE" ,"UNIX");
    yLocale = new Locale("de", "DE", "WINDOWS");

El código de país y el código de variante son opcionales. Se podría crear un objeto Locale para el idioma Inglés de esta forma:

    enLocale = new Locale("en", "");

Sin embargo, si se omite el código de país, la aplicación no podrá adaptarse a las diferencias regionales del idioma. Por ejemplo, un programa que utilice el objeto enLocale no podrá mostra la palabra "colour" en U.K. y la palabra "color" en U.S.A.

Por conveniencia, la clase Locale proporciona constantes para algunos idiomas y paises. Por ejemplo, se puede crear un objeto Locale especificando las constantes JAPANESE o JAPAN. Los objetos creados por las dos sentencias siguientes son equivalentes:

    j1Locale = Locale.JAPAN;
    j2Locale = new Locale("ja", "JA");

Cuando se específica una constante de idioma, la porción del país del objeto Locale no se define. Las siguientes sentencias crean objetos Locale equivalentes:

    j3Locale = Locale.JAPANESE;
    j4Locale = new Locale("ja", "");

Ozito