Recomendado del mes

La orca ibérica 'Toñi' aparece en España con heridas de perdigones en su aleta - LaSexta

Orca ibérica "Toñi" aparece en España con heridas de perdigones en su aleta En un evento que ha llamado la atención de la comunidad científica y tecnológica, la orca ibérica "Toñi" ha sido avistada en aguas españolas con heridas de perdigones en su aleta. Este incidente ha generado preocupación entre los expertos y el público en general, ya que subraya la importancia de la protección y conservación de estas especies marinas. La orca "Toñi" es un ejemplo de cómo la tecnología y la ciencia pueden trabajar juntas para monitorear y proteger la vida marina. La colaboración entre organizaciones de conservación, científicos y tecnólogos es fundamental para abordar los desafíos que enfrentan las especies marinas, desde la contaminación hasta la caza furtiva. La tecnología desempeña un papel crucial en la detección de heridas y la identificación de patrones de comportamiento de los animales, lo que puede ayudar a prevenir futuras lesiones. El presidente franc...

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

“La tecnología es sinónimo de rechazo y competencia”: ¿por qué la gestión del cambio ...

Egipto impulsa una tecnología innovadora que limpia los paneles solares en el desierto sin ...

“Transformar la educación a través de la tecnología digital”: Engel Rocamora - UDG TV