10.6. Internacionalización y localización en Flutter: formato de moneda

Escuchar en audio

La internacionalización y la localización son aspectos cruciales del desarrollo de aplicaciones que a menudo se pasan por alto. Sin embargo, son vitales para llegar a una audiencia global. En este contexto, Flutter y Dart ofrecen una serie de herramientas y recursos para facilitar este proceso. Uno de los aspectos más importantes de la localización es el formato de moneda. En este capítulo, exploraremos cómo podemos implementar la internacionalización y localización en Flutter, con un enfoque en el formato de moneda.

Para empezar, debemos entender qué son la internacionalización y la localización. La internacionalización, o i18n, es el proceso de desarrollo de productos de software que pueden adaptarse fácilmente a múltiples idiomas y regiones sin modificaciones de ingeniería. Por otro lado, la localización, o l10n, es el proceso de adaptación de un producto internacionalizado para una región o idioma específico.

En Flutter, la internacionalización es facilitada por la clase `WidgetsApp`, que utiliza el idioma del sistema del dispositivo para determinar la configuración de localización. Para agregar soporte para idiomas adicionales, puede extender la clase `LocalizationsDelegate`.

Cuando se trata de formatear monedas, el paquete `intl` de Dart es extremadamente útil. Este paquete proporciona muchas funciones para formatear números, fechas y monedas. Para utilizar el paquete `intl`, debe agregarlo a su archivo `pubspec.yaml` e importarlo a su archivo Dart.

dependencias:
  aleteo:
    SDK: aleteo
  internacional: ^0.17.0

Después de importar el paquete `intl`, puede usar la clase `NumberFormat` para formatear monedas. La clase `NumberFormat` tiene un método `currency` que se puede utilizar para formatear números como monedas. El método "moneda" acepta tres argumentos: "locale", "nombre" y "símbolo". El argumento "locale" es una cadena que representa la configuración regional del idioma que desea utilizar para formatear la moneda. El argumento "nombre" es una cadena que representa el nombre de la moneda que desea formatear. Finalmente, el argumento "símbolo" es una cadena que representa el símbolo de moneda que desea utilizar.

var formato = NumberFormat.currency(locale: 'en_US', nombre: 'USD', símbolo: '\$');
imprimir(formato.formato(123456789.987654321)); // Salida: \$123.456.789,99

Como puede ver en el ejemplo anterior, el método "moneda" formatea el número como una moneda de dólar estadounidense, incluido el signo del dólar y dos decimales.

Es importante tener en cuenta que el paquete `intl` admite muchos idiomas y monedas diferentes. Para ver la lista completa de idiomas y monedas admitidos, puede consultar la documentación oficial de Dart.

Además, Flutter también permite buscar texto en tu aplicación. Para localizar texto en su aplicación, puede usar la clase `Intl` del paquete `intl`. La clase `Intl` tiene un método `message` que se puede utilizar para definir mensajes que se pueden traducir a diferentes idiomas. Para utilizar el método "mensaje", debe definir un mapa de mensajes para cada idioma que admita su aplicación. Cada mapa de mensajes es un mapa de cadena a cadena, donde la clave es el mensaje original en inglés y el valor es la traducción del mensaje al idioma correspondiente.

var mensajes = {
  'es': {
    'Hola hola',
  },
  'es': {
    'Hola hola',
  },
};

imprimir (mensaje internacional (
  'Hola',
  nombre: 'hola',
  configuración regional: 'es',
  mensaje predeterminado: 'Hola',
  mensajes: mensajes,
)); // Salida: Hola

Como puedes ver en el ejemplo anterior, el método `message` traduce el mensaje "hola" al español, porque la `locale` está configurada en 'es'.

En resumen, la internacionalización y la localización son aspectos importantes del desarrollo de aplicaciones que pueden ayudarle a llegar a una audiencia global. Flutter y Dart facilitan la implementación de la internacionalización y localización, especialmente cuando se trata de formatear monedas. Con el paquete `intl`, puede formatear fácilmente números como monedas en muchos idiomas y monedas diferentes. Además, también puedes localizar texto en tu aplicación usando la clase `Intl`.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es la diferencia entre internacionalización y localización en el contexto del desarrollo de aplicaciones?

¡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: formato de medida

Siguiente página del libro electrónico gratuito:

140Internacionalización y localización en Flutter: formato de medida

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.