rishabnayak/firebase_mlkit_language
适用于 Flutter 的 Firebase ML Kit 语言插件
- Stars
- 18
- Forks
- 21
- 最近推送(UTC)
- 2020年10月26日
- 项目状态
- 未归档
使用的依赖
依赖清单 5 项
- flutter
{"sdk":"flutter"} - flutter_test开发依赖
{"sdk":"flutter"} - flutter_driver开发依赖
{"sdk":"flutter"} - firebase_core开发依赖
^0.4.0 - test开发依赖
any
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
展开 / 收起项目 README
ML Kit Natural Language Plugin
Pub
A Flutter plugin to use the ML Kit Natural Language for Firebase API.
For Flutter plugins for other Firebase products, see FlutterFire.md.
Note: This plugin is still under development, and some APIs might not be available yet. Feedback and Pull Requests are most welcome!
Usage
To use this plugin, add firebase_mlkit_language as a dependency in your pubspec.yaml file. You must also configure Firebase for each platform project: Android and iOS (see the example folder or https://codelabs.developers.google.com/codelabs/flutter-firebase/#4 for step by step details).
iOS
Versions 1.0.0+ use the latest ML Kit for Firebase version which requires a minimum deployment
target of 9.0. You can add the line platform :ios, '9.0' in your iOS project Podfile.
Supported Languages
All the supported languages can be found here.
Furthermore, they can be found within the SupportedLanguages class.
Using the ML Kit Language Identifier
1. Create an instance of a language identifier
Initialize a LanguageIdentifier.
final LanguageIdentifier languageIdentifier = FirebaseLanguage.instance.languageIdentifier()
2. Call processText(String) with languageIdentifier
processText(String) returns List<LanguageLabel> in decreasing order of probability of detected language.
final List<LanguageLabel> labels = await languageIdentifier.processText('Sample Text');
3. Extract data
<LanguageLabel> contains the language names and confidence of the prediction, accessible via .text and .confidence.
for (LanguageLabel label in labels) {
final String text = label.text;
final double confidence = label.confidence;
}
Using the ML Kit Language Translator
Note
Get an instance of ModelManager, and download the needed translation models(optional, results in faster first-use).
FirebaseLanguage.instance.modelManager().downloadModel(SupportedLanguages.lang);
1. Create an instance of a language translator
Initialize a LanguageTranslator.
final FirebaseLanguage.instance.languageTranslator(SupportedLanguages.lang, SupportedLanguages.lang);
2. Call processText(String) with languageTranslator
processText(String) returns a string containing the text translated to the target language.
final String translatedString = await languageTranslator.processText('Sample Text');
Using the ML Kit Model Manager
1. Create an instance of a model manager
Initialize a ModelManager
final ModelManager modelManager = FirebaseLanguage.instance.modelManager()
2. Download Model using the model manager
downloadModel() downloads the specified model to the device's local storage. It is recommended to download all the models needed to be used before translating to ensure a fast first-use. On a successful download, the string "Downloaded" will be returned.
modelManager.downloadModel(SupportedLanguages.lang)
3. Delete Model using the model manager
deleteModel() deletes the specified model from the device's local storage. On a successful delete, the string "Deleted" will be returned. If the model specified is not present on the device, the string "Model not downloaded" will be returned.
modelManager.deleteModel(SupportedLanguages.lang)
4. View Models
viewModels() returns a list of the BCP-47 language codes of all the languages downloaded onto the local storage of the device.
modelManager.viewModels()