firebase_mlkit_language 1.1.2

Flutter Android iOS

Firebase ML Kit Language Plugin for Flutter, enables Language Detection and Translation between 59 Languages

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()
6
likes
100
pub points
72%
popularity

Firebase ML Kit Language Plugin for Flutter, enables Language Detection and Translation between 59 Languages

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

Uploaders

rishab@bu.edu
nikzad@bu.edu

License

BSD (LICENSE)

Dependencies

flutter

More

Packages that depend on firebase_mlkit_language