Я пытаюсь перевести текст с помощью Firebase ML. Я уже искал выше ошибку на stackoverflow, но решения не работают. Нет подходящего примера или чего-то, с чем я мог бы попробовать! Код:
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.ml.common.modeldownload.FirebaseModelDownloadConditions;
import com.google.firebase.ml.naturallanguage.FirebaseNaturalLanguage;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslateLanguage;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslator;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslatorOptions;
import com.jimmytrivedi.learning.translateapp.utils.Logger;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpFirebaseTranslateAPI();
}
private void setUpFirebaseTranslateAPI() {
// Create an English-German translator:
FirebaseTranslatorOptions options =
new FirebaseTranslatorOptions.Builder()
.setSourceLanguage(FirebaseTranslateLanguage.EN)
.setTargetLanguage(FirebaseTranslateLanguage.HI)
.build();
final FirebaseTranslator englishGermanTranslator =
FirebaseNaturalLanguage.getInstance().getTranslator(options);
setFirebaseModelDownloadConditions(englishGermanTranslator);
}
private void setFirebaseModelDownloadConditions(FirebaseTranslator englishGermanTranslator) {
FirebaseModelDownloadConditions conditions = new FirebaseModelDownloadConditions.Builder()
.build();
englishGermanTranslator.downloadModelIfNeeded(conditions)
.addOnSuccessListener(
new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void v) {
// Model downloaded successfully. Okay to start translating.
// (Set a flag, unhide the translation UI, etc.)
Logger.d("success");
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Model couldn’t be downloaded or other internal error.
// ...
Logger.d("failed");
}
});
}
}
ОШИБКА:
com.google.firebase.ml.common.FirebaseMLException: файлы модели перевода не найдены. Обязательно вызовите downloadModelIfNeeded, а в случае сбоя удалите модели и повторите попытку.
ССЫЛКА: https://firebase.google.com/docs/ml-kit/android/translate-text