Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在flatter中更改显示日期选择器的语言_Flutter_Dart_Flutter Layout_Flutter Dependencies_Flutter Animation - Fatal编程技术网

Flutter 如何在flatter中更改显示日期选择器的语言

Flutter 如何在flatter中更改显示日期选择器的语言,flutter,dart,flutter-layout,flutter-dependencies,flutter-animation,Flutter,Dart,Flutter Layout,Flutter Dependencies,Flutter Animation,我想在show date picker中将语言从英语改为法语,请查看下面我使用的代码和类似的代码,它们应该可以解决这一问题,但这会使代码不适用于此部分: new Step( title: new Text("Quelle est la date de 1er immatriculation?"), content: Column( children: <Widget>[

我想在show date picker中将语言从英语改为法语,请查看下面我使用的代码和类似的代码,它们应该可以解决这一问题,但这会使代码不适用于此部分:

              new Step(
              title: new Text("Quelle est la date de 1er immatriculation?"),
              content: Column(
                children: <Widget>[
                 Text(_datetime == null ? "Vous n'avez pas encore choisi de date" : _datetime.toString().substring(0, 10)),

                  RaisedButton(
                      child: Text('choisissez une date'),
                    onPressed: () {
                    showDatePicker(context: context,
                      locale : const Locale("fr","FR"),//this line making the code not working too
                      builder: (BuildContext context, Widget child) {
                        return Theme(
                          data: ThemeData.fallback(),
                          child: child,
                        );
                      },
                     // locale: const Locale('eu', 'FR'),
                      initialDate: DateTime.now(),
                        firstDate: DateTime(1920),
                          lastDate: DateTime(2100),
                      ).then((date) {
                      setState(() {
                        _datetime =  date;
                      });
                      });
                    }
                 ),
                ],
              ),
              isActive: _currentStep >= 0,
              state:
              _currentStep >= 2 ? StepState.complete : StepState.disabled,
            ),
新步骤(
标题:新的文本(“是否有未经催眠的日期?”),
内容:专栏(
儿童:[
Text(_datetime==null?“您是否可以选择日期”:_datetime.toString().substring(0,10)),
升起的按钮(
子项:文本('choisissez une date'),
已按下:(){
showDatePicker(上下文:上下文,
locale:const locale(“fr”、“fr”),//这一行使代码无法工作
生成器:(BuildContext上下文,小部件子项){
返回主题(
数据:主题数据。回退(),
孩子:孩子,
);
},
//语言环境:常量语言环境('eu','FR'),
initialDate:DateTime.now(),
firstDate:DateTime(1920年),
lastDate:DateTime(2100),
).然后((日期){
设置状态(){
_日期时间=日期;
});
});
}
),
],
),
isActive:_currentStep>=0,
声明:
_currentStep>=2?StepState.complete:StepState.disabled,
),

为了用本地语言显示日期选择器,您需要使用
flatter\u本地化
插件,并在主代码中指定
本地化代理
支持的本地化
内部
材质应用
。下面是用法语显示datepicker的示例工作代码:

  • pubspec.yaml
    中添加
    flatter\u本地化
    插件,然后运行
    pub-get
  • 在dart文件中导入插件
  • MaterialApp
    中,添加以下内容:

    return MaterialApp(
          localizationsDelegates: [
            GlobalMaterialLocalizations.delegate
          ],
          supportedLocales: [
            const Locale('en'),
            const Locale('fr')
          ],
    

  • 再次运行应用程序(热重启)并查看datepicker在
    法语中显示


  • 希望这能回答你的问题。

    我遵循了@Darshan的答案,但我得到了以下错误:

    Unsupported operation: Cannot set value in unmodifiable Map
    

    在我删除
    后,等待初始化为teformat('fr_fr')来自
    main.dart
    它对我很有效,享受

    导入是“导入”包:flatter\u本地化/flatter\u本地化.dart”;
    Unsupported operation: Cannot set value in unmodifiable Map