编辑:答案很简单:
await initializeDateFormatting('pl_PL');
Run Code Online (Sandbox Code Playgroud)
上面的代码与以下内容发生冲突:
GlobalMaterialLocalizations.delegate
Run Code Online (Sandbox Code Playgroud)
删除 initializeDateFormatting 有帮助。
我在我的 Flutter 应用程序上进行了本地化。不幸的是,当我添加GlobalMaterialLocalizations.delegate时localizationsDelegates出现错误。删除GlobalMaterialLocalizations.delegate提供应用程序正常工作,但只有英文版本。另一种语言(波兰语)与 AppBars 有问题(再次 - 删除它后(appbar)应用程序在该语言中也能正常工作)。
我的部分代码:
localizationsDelegates: [
const ReadyLocalizationsDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
const Locale('en', 'US'),
const Locale('pl', 'PL'),
],
Run Code Online (Sandbox Code Playgroud)
错误:
不支持的操作:无法在不可修改的 Map 中设置值
当我评论 GlobalMaterialLocalizations.delegate(页面有 AppBar)时出现错误:https : //pastebin.com/ENF5ZET7
正如我所说,本地化设置为英语时没有错误。
edi*_*oth 29
await initializeDateFormatting('pl_PL');
上面的代码与以下内容发生冲突:
GlobalMaterialLocalizations.delegate
删除 initializeDateFormatting 有帮助。
如果您只想使用系统的区域设置,则无需调用initializeDateFormatting()。在调用 runApp() 之前,在 main.dart 中执行以下操作:
await findSystemLocale();
Run Code Online (Sandbox Code Playgroud)
要调用此方法,您将需要此导入:
import 'package:intl/intl_standalone.dart';
Run Code Online (Sandbox Code Playgroud)
作为参考,这里有一些文档 - https://api.flutter.dev/flutter/intl/Intl/systemLocale.html
| 归档时间: |
|
| 查看次数: |
5305 次 |
| 最近记录: |