Flutter Intl Utils使用指南:简化国际化工作流
简介
intl_utils
是一个Dart包,它在您的Flutter应用中创建了ARB文件(Apple Resource Bundle)和本地化代码之间的桥梁。该包为官方Dart intl
库生成样板代码,并在Dart代码中为键提供自动完成功能。
主要特点
- 从.arb文件自动生成本地化代码。
- 为翻译键提供自动完成支持,提高开发效率。
- 支持Visual Studio Code或IntelliJ/Android Studio插件自动运行。
- 支持持续集成工具或命令行直接使用。
使用Intl Utils
1. 添加依赖
在Flutter项目的 pubspec.yaml
文件中添加intl_utils包的依赖:
dependencies:
intl_utils: ^最新版本号
然后运行 flutter pub get
来安装包。
2. 配置Package
在 pubspec.yaml
文件中添加intl_utils的配置:
flutter_intl:
enabled: true
class_name: S
main_locale: en
arb_dir: lib/l10n
output_dir: lib/generated
use_deferred_loading: false
# Localizely平台的可选配置
localizely:
project_id:
branch:
upload_overwrite: false
upload_as_reviewed: false
# 更多Localizely配置...
3. 添加ARB文件
为应用支持的每种语言添加一个ARB文件,并按照以下格式命名:intl_<LOCALE_ISO_CODE>.arb
。
例如:intl_en.arb
或 intl_en_GB.arb
。
将ARB文件放在项目中的 lib/l10n
文件夹内。
4. 生成本地化代码
在项目的根目录下(即包含 pubspec.yaml
的目录),运行以下命令来生成本地化代码:
flutter pub run intl_utils:generate
这将在 lib/generated
目录中生成本地化文件。
5. 使用Localizely集成
如果使用Localizely平台,可以通过以下命令上传主要的ARB文件:
flutter pub run intl_utils:localizely_upload_main
此命令将上传主ARB文件到Localizely,并使用 pubspec.yaml
文件中的配置或默认值。
6. 下载ARB文件
从Localizely平台下载所有可用的ARB文件,并放在指定的 arb-dir
文件夹中:
flutter pub run intl_utils:localizely_download
7. 在Flutter应用中使用
在Flutter应用中,通过生成的本地化类来访问翻译后的文本:
import 'package:flutter/material.dart';
import 'lib/generated/l10n/s.dart'; // 根据实际路径调整
class MyWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Text(S.welcomeMessage);
}
}
结论
intl_utils
包为Flutter应用的国际化开发提供了便捷的工具,通过自动化生成代码和集成Localizely平台,简化了国际化工作流。本文的指南涵盖了从配置到使用intl_utils
包的全过程,帮助你在项目中高效地实现多语言支持。如果在实际使用中遇到问题,可以查阅 intl_utils的官方文档 或访问 Localizely平台 获取更多帮助。