Imagen del artículo Internacionalización y localización en Flutter: configuración del entorno para la internacionalización

10.2. Internacionalización y localización en Flutter: configuración del entorno para la internacionalización

Página 135 | Escuchar en audio

La internacionalización y la localización son aspectos fundamentales en el desarrollo de aplicaciones, ya que permiten que la aplicación sea utilizada por personas de diferentes regiones y que hablan diferentes idiomas. Flutter y Dart ofrecen potentes herramientas para facilitar la internacionalización y localización de aplicaciones. En este texto aprenderemos cómo configurar el entorno para la internacionalización en Flutter.

Antes de comenzar, es importante comprender qué son la internacionalización y la localización. La internacionalización (i18n) es el proceso de diseñar y preparar su aplicación para ser utilizada en diferentes idiomas y regiones. La localización (l10n) es el proceso de traducir contenido internacionalizado y adaptar la aplicación a regiones específicas.

Configuración del entorno para la internacionalización

Para comenzar la internacionalización en Flutter, necesitamos realizar una configuración inicial. Primero, necesitarás agregar la dependencia flutter_localizations a tu archivo pubspec.yaml:

dependencias:
  aleteo:
    SDK: aleteo
  ubicaciones_flutter:
    SDK: aleteo

A continuación, deberá importar el paquete flutter_localizations a su archivo main.dart y agregar las localizaciones que admitirá la aplicación:

importar 'paquete:flutter_localizations/flutter_localizations.dart';

vacío principal() {
  ejecutarApp(MaterialApp(
    localizacionesDelegados: [
      GlobalMaterialLocalizations.delegado,
      GlobalWidgetsLocalizations.delegado,
    ],
    Configuraciones regionales admitidas: [
      const Locale('en', 'US'), // Inglés
      const Locale('es', 'ES'), // Español
      // ... otras configuraciones regionales que admite la aplicación
    ],
  ));
}

Los delegados de ubicación son clases que producen colecciones localizadas de valores específicos. GlobalMaterialLocalizations.delegate proporciona cadenas y diseños localizados para la biblioteca de componentes de materiales. GlobalWidgetsLocalizations.delegate define el texto direccional predeterminado para el widget MaterialApp.

Ahora, necesita crear un archivo Dart para cada idioma que admita la aplicación. Cada archivo Dart debe contener una clase que extienda las localizaciones e implemente todas las cadenas que se utilizarán en la aplicación. Por ejemplo, para inglés, puedes crear un archivo llamado app_localizations_en.dart:

clase AppLocalizationsEn extiende Localizaciones {
  // ... pon tus cadenas localizadas aquí
}

Para cada cadena que desee encontrar, debe agregar una propiedad getter. Por ejemplo, si tienes una cadena "hola", puedes agregar el siguiente código:

Cadena obtener hola => "Hola";

Para utilizar la cadena localizada en su aplicación, puede utilizar el método Localizations.of(). Por ejemplo:

Texto(Localizaciones.de(contexto, AppLocalizationsEn).hola)

Esto mostrará la cadena "Hola" si el idioma actual de la aplicación es inglés.

Para agregar soporte para otro idioma, necesita crear otro archivo Dart y otra clase que extienda las localizaciones. Por ejemplo, para español puedes crear un archivo llamado app_localizations_es.dart y agregar la siguiente clase:

clase AppLocalizationsEs extiende Localizaciones {
  // ... pon tus cadenas localizadas aquí
}

A continuación, debe agregar la nueva ubicación a la lista compatible de la aplicación:

Configuraciones regionales admitidas: [
  const Locale('en', 'US'), // Inglés
  const Locale('es', 'ES'), // Español
  const Locale('fr', 'FR'), // Francés
  // ... otras configuraciones regionales que admite la aplicación
],

En resumen, la internacionalización y localización en Flutter implica configurar el entorno para admitir múltiples idiomas, crear archivos Dart para cada idioma con clases que extienden las localizaciones y usar el método Localizations.of() para mostrar cadenas localizadas. Este proceso le permite crear aplicaciones que pueden ser utilizadas por usuarios de diferentes regiones y que hablan diferentes idiomas.

Ahora responde el ejercicio sobre el contenido:

¿Qué se necesita para configurar la internacionalización en Flutter?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Internacionalización y localización en Flutter: traducción de cadenas

Siguiente página del libro electrónico gratuito:

136Internacionalización y localización en Flutter: traducción de cadenas

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.