Flutter 日历组件如何支持中文(国际化)

Flutter 日历组件如何支持中文(国际化)


在 App 开发中,我们通常需要用到国际化的支持。

Flutter 在默认情况下就是支持国际化,但是在没有进行特别的设置之前,它们无论在什么环境都是以英文的方式显示的。例如,我们显示一个日历组件,默认是英文展示的。

我们想要改成中文,或者添加其他语言支持应该怎么做呢?

设置语言支持步骤

本例中,我们将要为日历组件,添加中文支持。我们来看怎么做?

1. 在 pubspec.yaml 中添加如下依赖:
flutter_localizations:
    sdk: flutter

这一步是添加国际化支持的库。

2. 更新依赖包

直接在 Android Studio 中点击“Pub get"或者使用如下命令:

flutter pub get

将库,加载到项目中。

3. 在 main.dart 中 import 如下:
import 'package:flutter_localizations/flutter_localizations.dart';

这一步是导入类库。

4. MaterialApp 的配置

然后在 MaterialApp 的构造方法中给 localizationsDelegates 和 supportedLocales 两个可选参数赋值:

  @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'),
        ],
        ……
    ……
}
  • localizationsDelegates:指定哪些 Widget 需要进行国际化。例如,本例中,指定了 Material、Widgets、Cupertino 都使用国际化。
  • GlobalMaterialLocalizations:指定本地化的字符串和一些其他的值。
  • GlobalWidgetsLocalizations:定义 widget 默认的文本方向,从左到右或从右到左。
  • GlobalCupertinoLocalizations:对应的 Cupertino 风格。
Widget 的配置

例如,这里配置的是日历组件,显示中文:

  _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"));
    ……
    });

好了,我们的日历显示中文配置已经完成了,你也动手试试吧~


**PS:更多精彩内容,请查看 --> 《Flutter 开发》
**PS:更多精彩内容,请查看 --> 《Flutter 开发》
**PS:更多精彩内容,请查看 --> 《Flutter 开发》

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卜大爷

觉得不错的可以给我加油哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值