【flutter】TextField输入框工具栏文本为英文解决(不用安装插件版本

输入框长按选项菜单复制、粘贴、剪切、全选部分默认为英文,对于只需要对此部分做中文本地化,不需要考虑其他语言及全局本地化的项目,可以直接自定义一个本地化代理方法进行覆盖,不需要额外下载插件

Dart 复制代码
// 自定义本地化代理
class _ChineseLocalizationsDelegate
    extends LocalizationsDelegate<MaterialLocalizations> {
  const _ChineseLocalizationsDelegate();

  @override
  bool isSupported(Locale locale) => true;

  @override
  Future<MaterialLocalizations> load(Locale locale) async {
    return const _ChineseMaterialLocalizations();
  }

  @override
  bool shouldReload(_ChineseLocalizationsDelegate old) => false;
}

// 自定义 MaterialLocalizations
class _ChineseMaterialLocalizations extends DefaultMaterialLocalizations {
  const _ChineseMaterialLocalizations();

  @override
  String get copyButtonLabel => '复制';
  @override
  String get pasteButtonLabel => '粘贴';
  @override
  String get cutButtonLabel => '剪切';
  @override
  String get selectAllButtonLabel => '全选';
}

然后将其添加到main函数中的主app中

Dart 复制代码
return MaterialApp(
    locale: Locale('zh', 'CH'),
    localizationsDelegates: const [
    _ChineseLocalizationsDelegate(),
    DefaultWidgetsLocalizations.delegate,
    DefaultMaterialLocalizations.delegate,
    ],
    supportedLocales: [
      const Locale('zh', 'CH'),
    ],
  );
相关推荐
Hyyy10 小时前
普通前端自救记录——第0周
前端
前端若水10 小时前
在 Vue 2 与 Vue 3 中使用 markdown-it-vue 渲染 Markdown 和数学公式
前端·javascript·vue.js
之歆10 小时前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(下)
开发语言·前端·javascript·ecmascript
行星飞行10 小时前
从 cursor 、 Claude code 迁移到 codex,30 分钟快速上手 codex 常用技巧
前端
__log11 小时前
ComfyUI 集成技术方案分析报告
javascript·python·django
Pu_Nine_911 小时前
前端埋点从入门到企业实践:手写一个Demo + 主流方案对比
前端·埋点
ZC跨境爬虫11 小时前
跟着 MDN 学 HTML day_56:(HTML 表格基础完全指南)
前端·javascript·ui·html·音视频
Dxy123931021611 小时前
CSS滤镜使用方法完全指南
前端·css
江晓曼*凡云基地11 小时前
Hermes Agent 多Agent模式:并行拆解复杂任务的实战指南
javascript·windows·microsoft
AC赳赳老秦11 小时前
OpenClaw与WPS宏联动:批量执行WPS复杂操作,解决办公表格批量处理难题
java·前端·数据库·自动化·需求分析·deepseek·openclaw