'I cant use Google Translate API in my Android Studio
I am trying to create a translation app that uses google translate api and I keep on having error in my program here. I really do not know what to do, in the error it states that "Create method 'translate' in 'Translate'. I am not trying to create a method, but rather it should accept the language code to be translated.
translate.translate(
txtEdit,
TranslateOption.sourceLanguage(firstLang),
TranslateOption.targetLanguage(secondLang));
Here is my whole class
public class Translate extends AppCompatActivity {
TextView txtlogo;
private Spinner spnFrom, spnTo;
private MaterialButton btnTranslate;
private TextInputEditText txtEdit, txtOutput;
private String originalText;
private String translatedText;
String fromChoice, toChoice;
String firstLang,secondLang;
Translate translate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_translate);
//HOOKS
spnFrom = findViewById(R.id.spnTfrom);
spnTo = findViewById(R.id.spnTto);
btnTranslate = findViewById(R.id.btnTtranslate);
txtEdit = findViewById(R.id.txtTeditsource);
txtOutput = findViewById(R.id.txtTtranslatedsource);
ArrayAdapter<CharSequence> fromadapter = ArrayAdapter.createFromResource(this, R.array.language, R.layout.spinner_layout);
fromadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnFrom.setAdapter(fromadapter);
spnTo.setAdapter(fromadapter);
btnTranslate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getTranslateService();
Translate translate = (Translate) TranslateOptions.getDefaultInstance().getService();
spnFrom.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
fromChoice = adapterView.getItemAtPosition(i).toString();
if (fromChoice.equals("Select Language")){
Toast.makeText(getApplicationContext(), "Please select a language (from)", Toast.LENGTH_LONG).show();
} else if (fromChoice.equals("Bisaya")){
firstLang = "ceb";
} else firstLang = "tl";
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
Toast.makeText(getApplicationContext(), "Please select a language (from)", Toast.LENGTH_LONG).show();
}
});
spnTo.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
toChoice = adapterView.getItemAtPosition(i).toString();
if (toChoice.equals("Select Language")){
Toast.makeText(getApplicationContext(), "Please select a language (from)", Toast.LENGTH_LONG).show();
} else if (fromChoice.equals("Tagalog")){
secondLang = "tl";
} else secondLang = "ceb";
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
Toast.makeText(getApplicationContext(), "Please select a language (from)", Toast.LENGTH_LONG).show();
}
});
Translation translation =
translate.translate(
txtEdit,
TranslateOption.sourceLanguage(firstLang),
TranslateOption.targetLanguage(secondLang));
}
});
}
public void getTranslateService() {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try (InputStream is = getResources().openRawResource(R.raw.credentials)) {
//Get credentials:
final GoogleCredentials myCredentials = GoogleCredentials.fromStream(is);
//Set credentials and get translate service:
TranslateOptions translateOptions = TranslateOptions.newBuilder().setCredentials(myCredentials).build();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
} ```
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
