安装 Flutter Intl
Android Studio 和 VS Code 都有 Flutter Intl 插件。
- Android Studio → File → Setting → Plugins → 搜索 Flutter Intl。

安装重启即可。
- VS Code 的 Flutter Intl 插件 marketplace.visualstudio.com/items?itemN...
安装 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)