UNPKG

@bigin/ns-firebase

Version:
50 lines (49 loc) 2.33 kB
export function ensureTranslationModelDownloaded(options) { return new Promise((resolve, reject) => { _downloadTranslationModelIfNeeded(options) .then(() => resolve()) .catch(reject); }); } export function translateText(options) { return new Promise((resolve, reject) => { try { const onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({ onSuccess: (result) => resolve(result), }); const onFailureListener = new com.google.android.gms.tasks.OnFailureListener({ onFailure: (exception) => reject(exception.getMessage()), }); _downloadTranslationModelIfNeeded(options) .then((translator) => { translator.translate(options.text).addOnSuccessListener(onSuccessListener).addOnFailureListener(onFailureListener); }) .catch(reject); } catch (ex) { console.log('Error in firebase.mlkit.translation.translateText: ' + ex); reject(ex); } }); } function _downloadTranslationModelIfNeeded(options) { return new Promise((resolve, reject) => { try { const source = +com.google.firebase.ml.naturallanguage.translate.FirebaseTranslateLanguage.languageForLanguageCode(options.from); const target = +com.google.firebase.ml.naturallanguage.translate.FirebaseTranslateLanguage.languageForLanguageCode(options.to); const firTranslatorOptions = new com.google.firebase.ml.naturallanguage.translate.FirebaseTranslatorOptions.Builder().setSourceLanguage(source).setTargetLanguage(target).build(); const firTranslator = com.google.firebase.ml.naturallanguage.FirebaseNaturalLanguage.getInstance().getTranslator(firTranslatorOptions); const modelDownloadConditions = new com.google.firebase.ml.common.modeldownload.FirebaseModelDownloadConditions.Builder().requireWifi().build(); const onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({ onSuccess: () => resolve(firTranslator), }); const onFailureListener = new com.google.android.gms.tasks.OnFailureListener({ onFailure: (exception) => reject(exception.getMessage()), }); firTranslator.downloadModelIfNeeded(modelDownloadConditions).addOnSuccessListener(onSuccessListener).addOnFailureListener(onFailureListener); } catch (ex) { console.log('Error downloading translation model: ' + ex); reject(ex); } }); } //# sourceMappingURL=index.android.js.map