You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter修改日历locale为韩语时出现No MaterialLocalizations错误如何修复

修复方案

90%以上的同类报错都是因为语言码写错导致的,优先检查这一项

1. 修正Locale参数

你当前写的Locale('kr','')不符合规范,韩语的ISO 639-1标准语言码是ko,kr是韩国的国家码,正确写法为Locale('ko', 'KR')。

2. 补充MaterialApp的supportedLocales配置

你当前只配置了localizationsDelegates,没有声明APP支持的语言列表,Flutter无法匹配到对应的本地化资源,需要在MaterialApp中新增supportedLocales字段:

Widget build(BuildContext context) { 
return  MaterialApp(
  localizationsDelegates: [
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
    GlobalCupertinoLocalizations.delegate,
  ],
  // 新增支持的语言列表
  supportedLocales: [
    Locale('ko', 'KR'), // 韩语
    // 如需支持其他语言可以继续往下加
  ],
  home: buildHomePage(),
);
}

3. 确认依赖配置正确

检查pubspec.yaml文件中是否已经添加flutter_localizations依赖,版本必须和当前使用的Flutter SDK匹配:

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

配置完成后执行flutter pub get,然后完全重启项目再测试。

4. 单页面日期选择器适配(不需要全局改语言可选)

如果不需要把整个APP的语言改成韩语,只想让日期选择器显示韩语,可以不用改全局MaterialApp配置,直接在showDatePicker方法外包裹Localizations组件覆盖当前上下文的本地化设置即可。

内容的提问来源于stack exchange,提问作者Malone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:36:03