字
字节笔记本
2026年2月22日
google_mlkit_translation:Flutter 设备端翻译插件
本文介绍 google_mlkit_translation,一个 Flutter 插件,用于在设备端实现 Google ML Kit 的文本翻译功能,支持超过 50 种语言之间的动态翻译。
项目简介
google_mlkit_translation 是由 flutter-ml.dev 维护的开源 Flutter 插件,截至目前已获得 64 个 likes 和超过 20,000 次下载。该插件封装了 Google ML Kit 的设备端翻译 API,让 Flutter 开发者能够轻松集成强大的机器翻译功能到移动应用中。
核心特性
- 设备端翻译:无需网络连接即可翻译文本,保护用户隐私
- 多语言支持:支持超过 50 种语言之间的相互翻译
- 模型管理:提供完整的语言模型下载、检查和删除功能
- 跨平台:同时支持 Android 和 iOS 平台
- MIT 开源协议:可自由用于商业项目
技术栈
- Flutter:跨平台移动应用框架
- Google ML Kit:Google 的移动端机器学习 SDK
- Dart:Flutter 开发语言
- 平台通道:用于 Flutter 与原生平台通信
安装指南
依赖配置
在 pubspec.yaml 中添加依赖:
yaml
dependencies:
google_mlkit_translation: ^0.13.1Android 配置要求
minSdkVersion: 21targetSdkVersion: 35compileSdkVersion: 35
iOS 配置要求
- 最低 iOS 部署目标:15.5
- Xcode 15.3.0 或更新版本
- Swift 5
重要提示:ML Kit 不支持 32 位架构(i386 和 armv7),需要在 Xcode 中排除 armv7 架构。
配置 ios/Podfile:
ruby
platform :ios, '15.5'
$iOSVersion = '15.5'
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7"
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
end
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
end
end
end
end快速开始
创建翻译器实例
dart
import 'package:google_mlkit_translation/google_mlkit_translation.dart';
final TranslateLanguage sourceLanguage = TranslateLanguage.english;
final TranslateLanguage targetLanguage = TranslateLanguage.chinese;
final onDeviceTranslator = OnDeviceTranslator(
sourceLanguage: sourceLanguage,
targetLanguage: targetLanguage,
);翻译文本
dart
final String text = 'Hello, world!';
final String response = await onDeviceTranslator.translateText(text);
print(response); // 输出: 你好,世界!释放资源
dart
onDeviceTranslator.close();模型管理
翻译前需要确保源语言和目标语言的模型已下载到设备。
创建模型管理器
dart
final modelManager = OnDeviceTranslatorModelManager();检查模型是否已下载
dart
final bool isDownloaded = await modelManager.isModelDownloaded(
TranslateLanguage.english.bcpCode,
);下载模型
dart
final bool success = await modelManager.downloadModel(
TranslateLanguage.english.bcpCode,
);删除模型
dart
final bool deleted = await modelManager.deleteModel(
TranslateLanguage.english.bcpCode,
);支持的语言
ML Kit 翻译支持超过 50 种语言,包括但不限于:
- 中文(简体/繁体)
- 英语
- 日语
- 韩语
- 法语
- 德语
- 西班牙语
- 俄语
- 阿拉伯语
- 印地语
完整语言列表请参考 Google 官方文档。
使用注意事项
- 模型大小:每种语言的模型约占用 30-40MB 存储空间
- 首次使用:需要先下载语言模型才能进行翻译
- 隐私保护:设备端翻译意味着文本不会发送到 Google 服务器
- 使用条款:使用 Google ML Kit 设备端翻译 API 需要遵守 Google 的品牌和使用指南
项目链接
- Pub.dev: https://pub.dev/packages/google_mlkit_translation
- GitHub 仓库: https://github.com/flutter-ml/google_ml_kit_flutter
- API 文档: https://pub.dev/documentation/google_mlkit_translation/latest/
- Google ML Kit 文档: https://developers.google.com/ml-kit/language/translation
- 示例应用: https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/example
版本信息
- 当前版本:0.13.1
- 发布时间:17 天前
- 许可证:MIT
- 下载量:20.9k+
分享: