flutter 多语言 国际化 flutter Intl的使用方法

一使用 flutter Intl

Android studio需要添加插件 flutter Intl

路径 File>>Settings>>Plugins>>Marketplace>>flutter Intl>>Install

安装插件重新启动Android studio

Android studio 创建一个flutter测试的新项目

在项目文件中配置 ** 添加完成需要flutter pub get

pubspec.yaml

java 复制代码
  #国际化配置 1
  flutter_localizations:
    sdk: flutter
  #
  intl: ^0.19.0
  #生成文件
  intl_utils: ^2.0.0

使用插件生成配置文件

1.Tools>>Flutter lIntl>>Initialize for the Project
2.Tools>>Flutter lIntl>>Add Locale

中文zh 英文 en

看到{lib>>|10n}生成相关文件,文件内容{}

填写文件

中文

java 复制代码
{
  "appName": "zq国际化{name}",
  "autoBySystem": "跟随系统",
  "theme": "色彩主题",
  "settingLanguage": "多语言",
  "darkMode": "黑夜模式",
  "language": "语言",
  "settingFont": "字体"
}

中文

java 复制代码
{
  "appName": "zqinternational{name}",
  "autoBySystem": "Auto",
  "theme": "Theme",
  "settingLanguage": "Language",
  "darkMode": "Dark Mode",
  "language": "Language",
  "settingFont": "System Font"
}

重点 "appName": "zq国际化{name}",

{name}是一个占位符可以加入动态的字符,配置时都需要配置

执行 flutter pub run intl_utils:generate 生成相关文件

java 复制代码
PS F:\project\android_flutter\language> flutter pub run intl_utils:generate
Flutter assets will be downloaded from https://mirrors.tuna.tsinghua.edu.cn/flutter. Make sure you trust this source!
Deprecated. Use `dart run` instead.
Building package executable... (5.0s)
Built intl_utils:generate.
INFO: No @@locale or _locale field found in intl_en, assuming 'en' based on the file name.
INFO: No @@locale or _locale field found in intl_zh, assuming 'zh' based on the file name.
PS F:\project\android_flutter\language>

在项目文件目录 lib>>generated>>|10n.dart 看到如下文件

java 复制代码
....
....
/// `zqinternational{name}`
  String appName(Object name) {
    return Intl.message(
      'zqinternational$name',
      name: 'appName',
      desc: '',
      args: [name],
    );
  }

  /// `Auto`
  String get autoBySystem {
    return Intl.message(
      'Auto',
      name: 'autoBySystem',
      desc: '',
      args: [],
    );
  }
....
....

使用 区别 有占位符

S.of(context)!.appName('${你好}')

S.of(context)!.autoBySystem

下载地址 https://download.csdn.net/download/ZQ200720/90057955

项目下载地址

0积分

相关推荐
码林鼠8 小时前
flutter状态管理入门教程-Riverpod
开发语言·javascript·flutter
码林鼠11 小时前
flutter网络http请求入门教程-dio
网络协议·flutter·http
码林鼠13 小时前
flutter BLoC 单向数据流完整教程
flutter
恋猫de小郭18 小时前
Flutter 官方表示:AI 时代代码越来越容易写,为什么还要一套代码库?
android·前端·flutter
喵个咪2 天前
GoWind ShortPlay 拆解:Flutter 沉浸式 Feed 的播放器工程——生命周期、手势状态机与游客降级
前端·flutter·架构
恋猫de小郭3 天前
Flutter 的文字为什么比 SwiftUI 更细?问题主要在 Skia 的 256 项查找表里
android·前端·flutter
好的佩奇3 天前
Dart 之类型系统
flutter·dart
恋猫de小郭4 天前
Dart 3.15 新特性:this 终于支持类型提升了
android·前端·flutter
FungLeo5 天前
成为全栈·Flutter App 篇·主题与可访问性:深浅色、大字号和触控体验
flutter·移动开发·深色模式·可访问性·成为全栈·大字号适配