ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

¿Qué es la internacionalización y para qué sirve?


Enviado por   •  8 de Noviembre de 2018  •  Apuntes  •  739 Palabras (3 Páginas)  •  153 Visitas

Página 1 de 3

Internacionalización.[pic 1]

¿Qué es la internacionalización y para qué sirve?

Permite crear aplicaciones que se puedan adaptar a los diferentes idiomas y así abarcar poder abarcar más usuarios.

Además, se podrá utilizar textos de manera que no estén fijos en el código Java “hardcoded”.

Formatos y funcionamiento.

Existen dos maneras de crear textos, una de ellas es utilizando una clase de Java y la otra consiste en un archivo de texto plano, Java determina automáticamente el idioma y el país por defecto, por ejemplo español Argentina, “Etiquetas_es_AR”, si no encuentra el archivo o la clase con esa terminación lo buscará como “Etiquetas_es”, en caso de no encontrar este otro lenguaje mostrará una excepción.

Estructura de los textos.

Archivo de texto plano:

El archivo se lo guarda con la siguiente estructura “Nombre_xx_yy.properties” donde xx es el idioma e yy es el país.

Utiliza varias líneas siguiendo el formato de clave-valor, por ejemplo:

        # Textos_es_ES

        Texto_Boton=Pulsame

        Titulo_Ventana=Una ventana

        Texto_Boton_Salir=Salir

        # Textos_en_US

        Texto_Boton=Hit me!

        Titulo_Ventana=A window

        Texto_Boton_Salir=Exit

El caracter # sirve para hacer comentarios.

Un detalle importante a la hora de crear archivos de textos es el de no usar caracteres especiales como acentos, eñes o cirílicos, en su lugar se deben poner los códigos Unicode correspondientes, por ejemplo para escribir “eñe” se debe escribir “e\u00a4e” donde “\u00a4” es la letra ñ en Unicode. Java permite obtener estos códigos con una herramienta incluida llamada “Native2ascii”.

Otra manera de armar el archivo sería crear un documento y armarle la estructura con los caracteres especiales, esto se puede hacer con un block de notas. Luego guardar el archivo en formato Unicode, hasta ese punto el archivo no será legible, ahora se deberá ejecutar un comando para poder convertirlo con los caracteres especiales: “native2ascii –encoding UNICODE archivo_unicode.properties archivo_es.properties” luego de eso el archivo podrá verse con los caracteres convertidos.


Clase de Java:

En el caso de crear una clase Java, se debe heredar de la clase ListResourceBundle y definir el método abstracto.

package languages;

import java.util.ListResourceBundle;

public class Lenguaje_ES extends ListResourceBundle {

        // Atributos de la clase.

        private Object[][] contenido = {{"Texto_Boton", "Pulsame"},{"Titulo_Ventana","Una Ventana"},{"Texto_Boton_Salir","Salir"}};

                

        @Override

        protected Object[][] getContents() {

                // TODO Auto-generated method stub

                return contenido;

        }

}

package languages;

import java.util.ListResourceBundle;

public class Lenguaje_EN extends ListResourceBundle {

        // Atributos de la clase.

        private Object[][] contenido = {{"Texto_Boton", "Hit me!"},{"Titulo_Ventana","A window"},{"Texto_Boton_Salir","Exit"}};

        

        

        @Override

        protected Object[][] getContents() {

                // TODO Auto-generated method stub

                return contenido;

        }

}

Utilizar los textos.

“Textos” será el nombre del archivo o clase de Java, con el método ResourceBundle.getBundle() se determina el idioma y el país y se añadirá la extensión al parámetro “Textos”, es decir, construirá la cadena “Textos_es_AR”. Luego buscará la clase con ese nombre “Textos_es_AR.class”, si no existe buscará un archivo de nombre “Textos_es_AR.properties”, una vez que lo encuentre, se llamará al método getString(“Texto_Boton”) y el texto correspondiente a esa clave.

Ejemplo:

System.out.println(ResourceBundle.getBundle(“Etiquetas”).getString(“Texto_Boton”));

System.out.println(ResourceBundle.getBundle(“paquete.paquete2.Etiquetas”).getString(“Texto_Boton”));

Utilizar los textos.

Para comprobar los archivos de idiomas se puede indicar al programa a cambiar el lenguaje y el país con el siguiente código:

Locale.setDefault(new Locale(“XX”, ”YY”));

Donde XX es el idioma e YY el país.


Language

Country

Locale ID

Albanian

Albania

sq_AL

Arabic

Algeria

ar_DZ

Arabic

Bahrain

ar_BH

Arabic

Egypt

ar_EG

Arabic

Iraq

ar_IQ

Arabic

Jordan

ar_JO

Arabic

Kuwait

ar_KW

Arabic

Lebanon

ar_LB

Arabic

Libya

ar_LY

Arabic

Morocco

ar_MA

Arabic

Oman

ar_OM

Arabic

Qatar

ar_QA

Arabic

Saudi Arabia

ar_SA

Arabic

Sudan

ar_SD

Arabic

Syria

ar_SY

Arabic

Tunisia

ar_TN

Arabic

United Arab Emirates

ar_AE

Arabic

Yemen

ar_YE

Belarusian

Belarus

be_BY

Bulgarian

Bulgaria

bg_BG

Catalan

Spain

ca_ES

Chinese (Simplified)

China

zh_CN

Chinese (Simplified)

Singapore

zh_SG

Chinese (Traditional)

Hong Kong

zh_HK

Chinese (Traditional)

Taiwan

zh_TW

Croatian

Croatia

hr_HR

Czech

Czech Republic

cs_CZ

Danish

Denmark

da_DK

Dutch

Belgium

nl_BE

Dutch

Netherlands

nl_NL

English

Australia

en_AU

English

Canada

en_CA

English

India

en_IN

English

Ireland

en_IE

English

Malta

en_MT

English

New Zealand

en_NZ

English

Philippines

en_PH

English

Singapore

en_SG

English

South Africa

en_ZA

English

United Kingdom

en_GB

English

United States

en_US

Estonian

Estonia

et_EE

Finnish

Finland

fi_FI

French

Belgium

fr_BE

French

Canada

fr_CA

French

France

fr_FR

French

Luxembourg

fr_LU

French

Switzerland

fr_CH

German

Austria

de_AT

German

Germany

de_DE

German

Luxembourg

de_LU

German

Switzerland

de_CH

Greek

Cyprus

el_CY

Greek

Greece

el_GR

Hebrew

Israel

iw_IL

Hindi

India

hi_IN

Hungarian

Hungary

hu_HU

Icelandic

Iceland

is_IS

Indonesian

Indonesia

in_ID

Irish

Ireland

ga_IE

Italian

Italy

it_IT

Italian

Switzerland

it_CH

Japanese (Gregorian calendar)

Japan

ja_JP

Japanese (Imperial calendar)

Japan

ja_JP_JP

Korean

South Korea

ko_KR

Latvian

Latvia

lv_LV

Lithuanian

Lithuania

lt_LT

Macedonian

Macedonia

mk_MK

Malay

Malaysia

ms_MY

Maltese

Malta

mt_MT

Norwegian (Bokmål)

Norway

no_NO

Norwegian (Nynorsk)

Norway

no_NO_NY

Polish

Poland

pl_PL

Portuguese

Brazil

pt_BR

Portuguese

Portugal

pt_PT

Romanian

Romania

ro_RO

Russian

Russia

ru_RU

Serbian (Cyrillic)

Bosnia and Herzegovina

sr_BA

Serbian (Cyrillic)

Montenegro

sr_ME

Serbian (Cyrillic)

Serbia

sr_RS

Serbian (Latin)

Bosnia and Herzegovina

sr_Latn_BA

Serbian (Latin)

Montenegro

sr_Latn_ME

Serbian (Latin)

Serbia

sr_Latn_RS

Slovak

Slovakia

sk_SK

Slovenian

Slovenia

sl_SI

Spanish

Argentina

es_AR

Spanish

Bolivia

es_BO

Spanish

Chile

es_CL

Spanish

Colombia

es_CO

Spanish

Costa Rica

es_CR

Spanish

Dominican Republic

es_DO

Spanish

Ecuador

es_EC

Spanish

El Salvador

es_SV

Spanish

Guatemala

es_GT

Spanish

Honduras

es_HN

Spanish

Mexico

es_MX

Spanish

Nicaragua

es_NI

Spanish

Panama

es_PA

Spanish

Paraguay

es_PY

Spanish

Peru

es_PE

Spanish

Puerto Rico

es_PR

Spanish

Spain

es_ES

Spanish

United States

es_US

Spanish

Uruguay

es_UY

Spanish

Venezuela

es_VE

Swedish

Sweden

sv_SE

Thai (Western digits)

Thailand

th_TH

Thai (Thai digits)

Thailand

th_TH_TH

Turkish

Turkey

tr_TR

Ukrainian

Ukraine

uk_UA

Vietnamese

Vietnam

vi_VN

...

Descargar como (para miembros actualizados)  txt (7.6 Kb)   pdf (92.2 Kb)   docx (17.5 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com