【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'),
    ],
  );
相关推荐
前端开发爱好者4 分钟前
国产 Canvas 引擎!神器!
前端·javascript·vue.js
Canace11 分钟前
浏览器渲染原理概述
前端·性能优化·浏览器
星释13 分钟前
鸿蒙Flutter三方库适配指南-04.使用MacOS搭建开发环境
flutter·macos·harmonyos
啃火龙果的兔子18 分钟前
前端八股文性能调优篇
前端·前端框架
JarvanMo22 分钟前
停止与 Compose 导航作斗争(这 5 个技巧将改变一切)
前端
trsoliu32 分钟前
前端周刊第437期:AI编程助手、WebGPU实战与React生态新动态
前端
AnalogElectronic36 分钟前
vue3 实现贪吃蛇 电脑版01
javascript·vue.js·ecmascript
trsoliu38 分钟前
2025年Web前端前沿技术动态:WebGL动画、CSS View Transitions与HTML隐藏API
前端·javascript·css
trsoliu40 分钟前
2025年Web前端最新趋势:React基金会成立、AI编码助手崛起与Astro极速搜索
前端·javascript·react.js
一 乐44 分钟前
商城推荐系统|基于SprinBoot+vue的商城推荐系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·商城推荐系统