如何更改语言环境

时间:2020-09-13 19:10:19

标签: flutter

我想翻译showDatePicker标签,我可以使用paramater更改cancelText,congirmText和helpText。理论上,当我将locale参数更改为Locale('tr')时,日期应翻译为土耳其语日期,但这会产生错误。 Locale('en')却不给出错误Locale('tr')给出了错误。我在支持的语言中检查了Tr。 有什么方法可以使用Locale('tr')?

以下NoSuchMethodError被抛出 _DatePickerDialog(脏,依赖项:[_ LocalizationsScope- [GlobalKey#b2e0e],_ InheritedTheme,MediaQuery], 状态:_DatePickerDialogState#4c7b9):方法'formatMediumDate' 被调用为null。接收方:null尝试调用: formatMediumDate('DateTime'的实例)

                          showDatePicker(
                            cancelText: proTranslate["Back"][Language.languageIndex],
                            confirmText: proTranslate["Okay"][Language.languageIndex],
                            helpText: Language.languageIndex == 1 ? proTranslate["TARİH SEÇ"]:"TARİH SEÇ",
                            context: context,
                            locale: Locale('en',''),
                            initialDate: DateTime.now(),
                            firstDate: DateTime.now(),
                            lastDate: DateTime(2025),
                          ).then((value) {
                            setState(() {
                              try {
                                _selectedDate = value.year.toString() +
                                    "-" +
                                    ((value.month.toString().length == 1)
                                        ? ("0" + value.month.toString())
                                        : value.month.toString()) +
                                    "-" +
                                    (value.day.toString().length == 1
                                        ? "0" + value.day.toString()
                                        : value.day.toString());
                              } catch (e) {
                                print("[ERROR] [ADDEVENT] [showDatePicker] $e");
                              }
                            });
                          })

在视觉上,我想更改周日,9月等。他们的土耳其语等效项。

enter image description here

对于这个问题,我还有另一个类似的问题,我无法在supportedLocales中写入Locale('tr-en ...'),这同样会导致错误

编译器消息:lib / pages / mainmenu.dart:50:21:错误:该类 “语言环境”是抽象的,无法实例化。语言环境('en','US'),

 return MaterialApp(
                  supportedLocales: [
                    Locale('en','US'), // the error appears here
                  ],
                  localizationsDelegates: [
                    GlobalMaterialLocalizations.delegate,
                    GlobalWidgetsLocalizations.delegate,
                  ],
                  debugShowCheckedModeBanner: false,
                  theme: theme,
                  home: MainMenuBody(
                    warning: snapshot.data[0].warning,
                  ),
                  // navigatorKey: navigatorKey,
                );

1 个答案:

答案 0 :(得分:0)

通过仅删除MaterialApp中支持的Locales来解决所有问题。