¿Cómo es compatible el componente de calendario de Flutter con el chino (internacionalización)?

¿Cómo es compatible el componente de calendario de Flutter con el chino (internacionalización)?


En el desarrollo de aplicaciones, normalmente necesitamos utilizar soporte internacional.

Flutter admite la internacionalización de forma predeterminada, pero antes de realizar ajustes especiales, se muestran en inglés independientemente del entorno. Por ejemplo, mostramos un componente de calendario, que se muestra en inglés de forma predeterminada.

¿Qué debemos hacer si queremos cambiar al chino o agregar compatibilidad con otros idiomas?

Configurar los pasos de compatibilidad con el idioma

En este ejemplo, agregaremos soporte chino para el componente de calendario. Veamos como se hace

1. Agregue las siguientes dependencias en pubspec.yaml:

flutter_localizations:
    sdk: flutter

Este paso es agregar bibliotecas que admitan la internacionalización.

2. Actualizar dependencias

Haga clic en "Pub get" directamente en Android Studio o use el siguiente comando:

flutter pub get

Cargue la biblioteca en el proyecto.

3. Importe en main.dart de la siguiente manera:

import 'package:flutter_localizations/flutter_localizations.dart';

Este paso es para importar la biblioteca de clases.

4. Configuración de MaterialApp

Luego, asigne valores a los dos parámetros opcionales localizationsDelegates y supportedLocales en el método de construcción de MaterialApp:

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        theme: ThemeData(
          primaryColor: Colors.green,
          //...
        ),
        localizationsDelegates: [
          GlobalMaterialLocalizations.delegate,//指定本地化的字符串和一些其他的值
          GlobalWidgetsLocalizations.delegate,//定义 widget 默认的文本方向,从左到右或从右到左。
          GlobalCupertinoLocalizations.delegate,//对应的 Cupertino 风格(Cupertino 风格组件即 iOS 风格组件)
        ],
        supportedLocales: [
          const Locale('zh', 'CH'),
          const Locale('en', 'US'),
        ],
        ……
    ……
}
  • localisationsDelegates: especifique qué widgets deben internacionalizarse. Por ejemplo, en este ejemplo, se especifica que Material, Widgets y Cupertino utilizan la internacionalización.
  • GlobalMaterialLocalizations: especifique cadenas localizadas y algunos otros valores.
  • GlobalWidgetsLocalizations: Defina la dirección de texto predeterminada del widget, de izquierda a derecha o de derecha a izquierda.
  • GlobalCupertinoLocalizations: Estilo Cupertino correspondiente.

Configuración de widget

Por ejemplo, aquí está el componente de calendario configurado para mostrar chino:

  _showDataPicker(int type) async {
    var picker = await showDatePicker(
        context: context,
        initialDate: DateTime.now(),
        firstDate: DateTime(1986),
        lastDate: DateTime(DateTime.now().year+2),
        locale: Locale("zh"));
    ……
    });

Bueno, nuestro calendario muestra que la configuración china se ha completado, también puedes probarlo ~


** PD: Para obtener más contenido emocionante, verifique -> "Desarrollo de Flutter"
** PD: Para obtener contenido más emocionante, verifique -> "Desarrollo de Flutter"
** PD: Para obtener contenido más emocionante, verifique -> "Desarrollo de aleteo"

Supongo que te gusta

Origin blog.csdn.net/u011578734/article/details/111871905
Recomendado
Clasificación