10.10. Internacionalización y localización en Flutter: cambio dinámico de idioma

Escuchar en audio

La internacionalización y la localización son partes esenciales del desarrollo de aplicaciones en Flutter, especialmente si deseas llegar a una audiencia global. La internacionalización se refiere al proceso de desarrollar una aplicación que admita múltiples idiomas, mientras que la localización se refiere al proceso de traducir la aplicación a un idioma específico.

¿Por qué son importantes la internacionalización y la localización?

Imagina que has creado una aplicación increíble que ofrece una excelente experiencia de usuario, pero que solo está disponible en un idioma. Esto limitaría significativamente la cantidad de personas que pueden usar su aplicación, especialmente en un mundo tan globalizado. Al internacionalizar y localizar su aplicación, puede llegar a una audiencia mucho más amplia y brindar una experiencia de usuario aún mejor, ya que los usuarios pueden interactuar con su aplicación en su idioma nativo.

¿Cómo implementar la internacionalización y localización en Flutter?

Lo primero que debe hacer es agregar las dependencias necesarias a su archivo pubspec.yaml. Estas dependencias incluyen flutter_localizations e intl.

dependencias:
  aleteo:
    SDK: aleteo
  ubicaciones_flutter:
    SDK: aleteo
  internacional: ^0.17.0

A continuación, debe importar las bibliotecas necesarias a su archivo main.dart y agregar los delegados de ubicación a su aplicación.

importar 'paquete:flutter_localizations/flutter_localizations.dart';
importar 'paquete:intl/intl.dart';

vacío principal() {
  runApp(MiAplicación());
}

clase MyApp extiende StatelessWidget {
  @anular
  Construcción de widgets (contexto BuildContext) {
    devolver MaterialApp(
      Configuraciones regionales admitidas: [
        Locale('en', 'US'),
        Configuración regional('es', 'ES'),
      ],
      localizacionesDelegados: [
        GlobalMaterialLocalizations.delegado,
        GlobalWidgetsLocalizations.delegado,
        GlobalCupertinoLocalizaciones.delegado,
      ],
      localeResolutionCallback: (locale, supportLocales) {
        para (var SupportLocale en SupportLocales) {
          si (supportedLocale.languageCode == locale.languageCode &&
              supportLocale.countryCode == locale.countryCode) {
            devolver la configuración regional admitida;
          }
        }
        devolver supportLocales.first;
      },
      inicio: MiPáginaInicio(),
    );
  }
}

Este código define qué idiomas admitirá su aplicación (en este caso, inglés y español) y cómo Flutter debe elegir el idioma apropiado según la configuración del dispositivo del usuario.

¿Cómo crear archivos de localización?

Los archivos de localización son donde almacenará todas sus cadenas traducidas. Puede crear un archivo para cada idioma que admita su aplicación. Por ejemplo, es posible que tenga un archivo en.dart para inglés y un archivo es.dart para español. Cada archivo contendrá un mapa de cadenas, donde la clave es el identificador de la cadena y el valor es la traducción.

// es.dardo
const Mapa enUS = {
  'Hola hola',
};

// es.dart
const Mapa esES = {
  'Hola hola',
};

Luego puedes usar estos archivos de localización en tu aplicación para mostrar las cadenas traducidas.

Texto(AppLocalizations.of(contexto).translate('hola'))

Cambio de idioma sobre la marcha

En algunos casos, es posible que desee permitir que los usuarios cambien el idioma de la aplicación directamente desde la aplicación. Para ello, puede crear una función que actualice la configuración regional de la aplicación.

void changeLanguage(Configuración regional) {
  MyApp.setLocale(contexto, configuración regional);
}

Puedes llamar a esta función cada vez que el usuario seleccione un nuevo idioma.

Conclusión

La internacionalización y la localización son partes esenciales del desarrollo de aplicaciones en Flutter. Al admitir varios idiomas, puede llegar a una audiencia más amplia y brindar una mejor experiencia de usuario. Afortunadamente, Flutter hace que sea relativamente fácil implementar la internacionalización y localización con la ayuda de las bibliotecas flutter_localizations e intl.

Ahora responde el ejercicio sobre el contenido:

¿Qué es la internacionalización y localización en Flutter y por qué es importante?

¡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: soporte de pluralización

Siguiente página del libro electrónico gratuito:

144Internacionalización y localización en Flutter: soporte de pluralización

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.