Crear app Multilenguaje en Android

Siempre es una buena práctica para extraer cadenas de interfaz de usuario de su código de aplicación y mantenerlos en un archivo externo. Android lo hace fácil con un directorio de recursos de cada proyecto Android.

para que nuestras aplicaciones estén disponibles en varios idiomas o sean multilenguaje.
Lo primero que debemos tener en cuenta es evitar insertar "textos en el código" y en vez de eso, hacer uso del archivo strings.xml de la carpeta values.

Vamos a ver un ejemplo sencillo para hacerlo desde un XML, por ejemplo, para un botón sería así:

  
<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/accept" /> <!-- Texto que aparecerá -->

Sin embargo, cuando necesitamos obtener el texto desde el código java no es tan intuitivo, pero igualmente sencillo.

Desde el Activity podemos hacer:

  
String cadena = getResources().getString(R.string.accept);

Si lo usamos desde una clase distinta al Activity, tendremos que pasar el getResources() hasta esta.

Ahora que tenemos nuestra aplicación preparada para internacionalizarla, así que solo queda meter las traducciones correctamente.

Básicamente, consiste en crear carpetas con sufijos del idioma, en nuestro caso para los textos, tendríamos values con el idioma por defecto (normalmente inglés) y creas otra con el sufijo, en este caso, values-es .

Si queremos añadir más idiomas, pues basta con añadir más carpetas en res/ con la nomenclatura del idioma. Los elementos que sean iguales en todos los idiomas no hace falta que los pongamos.


LenguajeNomenclatura values/strings.xml
Germandevalues-de/strings.xml
Chinesezhvalues-zh/strings.xml
Czechcsvalues-cs/strings.xml
Dutchnlvalues-nl/strings.xml
Frenchfrvalues-fr/strings.xml
Italianitvalues-it/strings.xml
Japanesejavalues-ja/strings.xml
Koreankovalues-ko/strings.xml
Polishplvalues-pl/strings.xml
Russianruvalues-ru/strings.xml
Spanishesvalues-es/strings.xml
Arabicarvalues-ar/strings.xml
Bulgarianbgvalues-bg/strings.xml
Catalancavalues-ca/strings.xml
Croatianhrvalues-hr/strings.xml
Danishdavalues-da/strings.xml
Finnishfivalues-fi/strings.xml
Greekelvalues-el/strings.xml
Hebrewiwvalues-iw/strings.xml
Hindihivalues-hi/strings.xml
Hungarianhuvalues-hu/strings.xml
Indonesianinvalues-in/strings.xml
Latvianlvvalues-lv/strings.xml
Lithuanianltvalues-lt/strings.xml
Norwegiannbvalues-nb/strings.xml
Portugueseptvalues-pt/strings.xml
Romanianrovalues-ro/strings.xml
Serbiansrvalues-sr/strings.xml
Slovakskvalues-sk/strings.xml
Slovenianslvalues-sl/strings.xml
Swedishsvvalues-sv/strings.xml
Tagalogtlvalues-tl/strings.xml
Thaithvalues-th/strings.xml
Turkishtrvalues-tr/strings.xml
Ukrainianukvalues-uk/strings.xml
Vietnamesevivalues-vi/strings.xml

Comentarios

Entradas populares de este blog

Como conectar MySQL con Android Nativo

Lista con imágenes Android nativo (ListView)

SUMAR RESTAR HORAS DÍAS EN ANDROID