【Flutter 必备插件】国际化 Flutter Intl、flutter_localizations

安装 Flutter Intl

Android Studio 和 VS Code 都有 Flutter Intl 插件。

  • Android Studio → File → Setting → Plugins → 搜索 Flutter Intl。

安装重启即可。

安装 flutter_localizations

添加依赖

yaml 复制代码
dependencies:
	flutter_localizations:
    sdk: flutter

初始化工程

  • Android Studio → Tools → Flutter Intl → Initalize。

在 lib 下生成 generated 和 l10n

  • generated 包下的 itnl 目录默认生成 messages_all.dart 和 messages_en.dart 文件,messages 开头的文件无需手动修改,是自动生成的。
  • generated 包下的 l10n.dart 是 Localizations 和 Delegate的实现,无需手动修改,是自动生成的。
  • l10n 包下存在一个 intl_en.arb 文件,文案存放在此处。

pubspec.yaml 生成如下内容:

添加语言

  • Android Studio → Tools → Flutter Intl → Add Locale。

添加中文支持

自动生成相关文件

初始化

  • main.dart
csharp 复制代码
import 'package:flutter_localizations/flutter_localizations.dart';

MaterialApp(
 localizationsDelegates: [
   // 本地化的代理类
   // GlobalMaterialLocalizations.delegate 为Material 组件库提供的本地化
   // 的字符串和其他值,它可以使Material 组件支持多语言
   GlobalMaterialLocalizations.delegate,
   // GlobalWidgetsLocalizations.delegate 定义组件默认的文本方向,
   // 从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的
   GlobalWidgetsLocalizations.delegate,
 ],
 supportedLocales: S.delegate.supportedLocales,
  // ...
)

在 intl_zh.arb 下添加文案

json 复制代码
{
  "appName": "appName"
}

使用示例

scss 复制代码
Text(S.of(context).appName)
相关推荐
ZZZMMM.zip12 小时前
基于鸿蒙HarmonyOS NEXT开发AI英语口语应用:智能口语练习新体验与鸿蒙Flutter框架跨端实
人工智能·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
心中有国也有家13 小时前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
心中有国也有家13 小时前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
心中有国也有家15 小时前
AtomGit Flutter 鸿蒙客户端:呼吸球动画
学习·flutter·华为·harmonyos
心中有国也有家18 小时前
AtomGit Flutter 鸿蒙客户端:呼吸练习的三种科学模式
学习·flutter·华为·harmonyos
yuanlaile19 小时前
前端转 Flutter 自学完整规划,避开跨栈思维转换误区
前端·flutter·flutter跨平台开发
姑苏倾城客19 小时前
Flutter中,html 与 dart 桥接沟通
javascript·flutter·html
ZZZMMM.zip20 小时前
基于鸿蒙HarmonyOS NEXT开发AI书籍推荐应用:智能阅读新体验与鸿蒙Flutter框架跨端实践
人工智能·flutter·华为·harmonyos·鸿蒙
铅笔侠_小龙虾20 小时前
DSL-Flutter : 告别嵌套地狱,用缩进书写 Flutter!
flutter
ZZZMMM.zip1 天前
基于鸿蒙HarmonyOS NEXT开发AI股票分析应用:智能投资新体验与鸿蒙Flutter框架跨端实践
人工智能·flutter·华为·harmonyos·鸿蒙