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

Flutter使用easy_localization实现单按钮切换应用多语言

Flutter 单按钮多语言切换实现方案

你现有项目的easy_localization配置不需要做任何修改,只需要把原来的两个独立ElevatedButton替换为下面的单按钮组件即可,组件会自动读取当前应用的locale状态完成文本渲染和切换逻辑:

ElevatedButton(
  onPressed: () async {
    final isArabic = context.locale.languageCode == 'ar';
    await context.setLocale(
      isArabic ? const Locale('en') : const Locale('ar')
    );
  },
  child: Text(
    context.locale.languageCode == 'ar' ? 'English' : 'عربي'
  ),
)

实现说明

  • 核心通过context.locale(easy_localization提供的上下文扩展)直接获取当前应用的语言状态,不需要额外维护状态变量
  • 逻辑完全匹配需求:当前为阿拉伯语环境时按钮显示English,点击切换为英语;当前为英语环境时按钮显示عربي,点击切换为阿拉伯语
  • 按钮放置在你现有HomeScreen中即可正常生效,该位置的上下文已经处于EasyLocalization的子树范围内,能正确读取和修改全局locale配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:12:28