Flutter谷歌ML Kit翻译功能插件google_mlkit_translation_no_ios的使用
Flutter谷歌ML Kit翻译功能插件google_mlkit_translation_no_ios的使用
Google’s ML Kit On-Device Translation for Flutter
一个用于在Flutter应用中使用Google的ML Kit离线翻译的插件,支持动态翻译超过50种语言。
开始使用
在开始之前,请阅读此插件的需求和已知问题。
使用ML Kit离线翻译的指南
为了在您的应用中使用Google的离线翻译API,您需要遵守以下指南。这些指南可能会随时更改,且无需提前通知Google。继续使用离线翻译API的前提是您必须遵循这些指南。如果您对这些品牌指南有任何不适,请停止使用该API,并通过[a href=“https://developers.google.com/ml-kit/community”]联系Google[/a]。更多关于使用指南的信息可以查看这里。
支持的语言
ML Kit可以翻译以下语言。
使用方法
离线翻译
创建OnDeviceTranslator
实例
final TranslateLanguage sourceLanguage; // 源语言
final TranslateLanguage targetLanguage; // 目标语言
final onDeviceTranslator = OnDeviceTranslator(
sourceLanguage: sourceLanguage,
targetLanguage: targetLanguage,
);
处理文本
final String response = await onDeviceTranslator.translateText('Hello World');
注意: 在翻译任何文本之前,请确保已经下载了源语言和目标语言模型。
释放资源
onDeviceTranslator.close(); // 关闭翻译器以释放资源
管理远程模型
创建模型管理器实例
final modelManager = OnDeviceTranslatorModelManager();
检查模型是否已下载
final bool isDownloaded = await modelManager.isModelDownloaded('en'); // 'en' 是英语的BCP代码
下载模型
final bool isDownloaded = await modelManager.downloadModel('en'); // 下载英语模型
删除模型
final bool isDeleted = await modelManager.deleteModel('en'); // 删除英语模型
示例代码
完整的示例代码可以在以下位置找到:
https://github.com/bharat-biradar/Google-Ml-Kit-plugin/tree/master/packages/google_ml_kit/example
更多关于Flutter谷歌ML Kit翻译功能插件google_mlkit_translation_no_ios的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter谷歌ML Kit翻译功能插件google_mlkit_translation_no_ios的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
google_mlkit_translation_no_ios
是一个 Flutter 插件,用于在 Android 平台上使用 Google ML Kit 的翻译功能。这个插件目前不支持 iOS 平台,因此它的名称中包含了 no_ios
。
安装插件
首先,你需要在 pubspec.yaml
文件中添加依赖:
dependencies:
flutter:
sdk: flutter
google_mlkit_translation_no_ios: ^0.0.1
然后运行 flutter pub get
来安装插件。
使用插件
以下是一个简单的示例,展示如何使用 google_mlkit_translation_no_ios
插件进行文本翻译。
import 'package:flutter/material.dart';
import 'package:google_mlkit_translation_no_ios/google_mlkit_translation_no_ios.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: TranslationDemo(),
);
}
}
class TranslationDemo extends StatefulWidget {
[@override](/user/override)
_TranslationDemoState createState() => _TranslationDemoState();
}
class _TranslationDemoState extends State<TranslationDemo> {
final _translationController = TextEditingController();
String _translatedText = '';
Future<void> _translateText() async {
// 创建翻译器实例
final translator = OnDeviceTranslator(
sourceLanguage: TranslateLanguage.english,
targetLanguage: TranslateLanguage.spanish,
);
// 翻译文本
final translatedText = await translator.translateText(_translationController.text);
setState(() {
_translatedText = translatedText;
});
// 释放资源
translator.close();
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('ML Kit Translation Demo'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: _translationController,
decoration: InputDecoration(
labelText: 'Enter text to translate',
),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: _translateText,
child: Text('Translate'),
),
SizedBox(height: 20),
Text('Translated Text: $_translatedText'),
],
),
),
);
}
}