我想翻译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月等。他们的土耳其语等效项。
对于这个问题,我还有另一个类似的问题,我无法在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,
);
答案 0 :(得分:0)
通过仅删除MaterialApp中支持的Locales来解决所有问题。