【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'),
    ],
  );
相关推荐
智算菩萨几秒前
基于spaCy的英文自然语言处理系统:低频词提取与高级文本分析
前端·javascript·easyui
hudawei9962 分钟前
对比kotlin和flutter中的异步编程
开发语言·flutter·kotlin·异步·
庄雨山5 分钟前
深度解析Flutter手势系统:原理、实战与开源鸿蒙ArkUI手势交互对比
flutter·openharmonyos
kirk_wang7 分钟前
Flutter 三方库在 OHOS 平台的适配实践
flutter·移动开发·跨平台·arkts·鸿蒙
刘一说11 分钟前
Vue单页应用(SPA)开发全解析:从原理到最佳实践
前端·javascript·vue.js
疯狂成瘾者12 分钟前
前端vue核心知识点
前端·javascript·vue.js
Laravel技术社区1 小时前
用PHP8实现斗地主游戏,实现三带一,三带二,四带二,顺子,王炸功能(第二集)
前端·游戏·php
m0_738120722 小时前
应急响应——知攻善防Web-3靶机详细教程
服务器·前端·网络·安全·web安全·php
hh随便起个名8 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
小a杰.8 小时前
Flutter 与 AI 深度集成指南:从基础实现到高级应用
人工智能·flutter