All Language Translator App Android Studio Source code by ajjuvirus.inc

Android Studio Translator App using java...


AjjuTranslator: App Souce Code is Free you can use it for practices. This code file is created by author Mr Azeem Junejo (Android Developer)

 



Jave.Class File;



package 


#ref-menu


com.ajjuvirus.ajjutranslator;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.textfield.TextInputEditText;
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 java.util.ArrayList;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {
//this Code is written by ajjuvirus
private Spinner fromSpinner, toSpinner;
private TextInputEditText sourceEdt;
private ImageView micIV;
private MaterialButton translatBtn;
private TextView translatedTV;

String[] fromLanguage = {"from","English","Afrikaans","Arabic","Belorussian","Bulgarian","Bengali","Catalan","Czech"
,"Welsh","Hindi","Urdu"};

String[] toLanguage = {"from","English","Afrikaans","Arabic","Belorussian","Bulgarian","Bengali","Catalan","Czech"
,"Welsh","Hindi","Urdu"};

private static final int REQUEST_PERMISSION_CODE =1;
int languageCode,fromLanguageCode, toLanguageCode =0;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fromSpinner = findViewById(R.id.idFromSpinner);
toSpinner = findViewById(R.id.idToSpinner);
micIV = findViewById(R.id.idIVMic);
sourceEdt = findViewById(R.id.idEdtSource);
translatBtn = findViewById(R.id.idBtnTranslate);
translatedTV = findViewById(R.id.idTVTranslatedTV);

fromSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
fromLanguageCode = getLanguageCode(fromLanguage[position]);
}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {

}
});
ArrayAdapter fromAdapter =new ArrayAdapter(this,R.layout.spinner_item,fromLanguage);
fromAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fromSpinner.setAdapter(fromAdapter);

toSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
toLanguageCode = getLanguageCode(toLanguage[position]);

}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {

}
});
ArrayAdapter toAdapter = new ArrayAdapter(this,R.layout.spinner_item,toLanguage);
toAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
toSpinner.setAdapter(toAdapter);

//this Code is written by ajjuvirus
translatBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
translatedTV.setText("");
if (sourceEdt.getText().toString().isEmpty()) {
Toast.makeText(MainActivity.this, "Please enter your text to translate", Toast.LENGTH_SHORT).show();

} else if (fromLanguageCode == 0) {
Toast.makeText(MainActivity.this, "Please select source language", Toast.LENGTH_SHORT).show();
} else if (toLanguageCode == 0) {
Toast.makeText(MainActivity.this, "Please select language to translation", Toast.LENGTH_SHORT).show();
} else {
translateText(fromLanguageCode, toLanguageCode, sourceEdt.getText().toString());
}
}
});

micIV.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
i.putExtra(RecognizerIntent.EXTRA_PROMPT,"Speak to convert into text");
try{
startActivityForResult(i,REQUEST_PERMISSION_CODE);
}catch (Exception e){
e.printStackTrace();
Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_SHORT).show();
}

}
});



}


@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_PERMISSION_CODE){
if(resultCode == RESULT_OK && data != null){
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
sourceEdt.setText(result.get(0));
}
}

}


//this Code is written by ajjuvirus

public void translateText(int fromlanguageCode, int tolanguageCode, String source)
{
translatedTV.setText("Downloading model..");
FirebaseTranslatorOptions options = new FirebaseTranslatorOptions.Builder()
.setSourceLanguage(fromlanguageCode).setTargetLanguage(tolanguageCode)
.build();
FirebaseTranslator translator = FirebaseNaturalLanguage.getInstance().getTranslator(options);

FirebaseModelDownloadConditions conditions = new FirebaseModelDownloadConditions.Builder().build();

translator.downloadModelIfNeeded(conditions).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
translatedTV.setText("Translating..");
translator.translate(source).addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String s) {
translatedTV.setText(s);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this,"Fail to translate"+e.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this,"Failed to download language model"+e.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}

// String[] fromLanguage = {"from","English","Afrikaans","Arabic","Belorussian","Bulgarian","Bengali","Catalan","Czech"
// ,"Welsh","Hindi","Urdu",};
public int getLanguageCode(String language){
int languageCode = 0;
switch (language) {
case "English":
languageCode = FirebaseTranslateLanguage.EN;
break;
case "Afrikaans":
languageCode = FirebaseTranslateLanguage.AF;
break;
case "Arabic":
languageCode = FirebaseTranslateLanguage.AR;
break;
case "Belorussian":
languageCode = FirebaseTranslateLanguage.BE;
break;
case "Bulgarian":
languageCode = FirebaseTranslateLanguage.BG;
break;
case "Bengali":
languageCode = FirebaseTranslateLanguage.BN;
break;
case "Catalan":
languageCode = FirebaseTranslateLanguage.CA;
break;
case "Czech":
languageCode = FirebaseTranslateLanguage.CS;
break;
case "Welsh":
languageCode = FirebaseTranslateLanguage.CY;
break;
case "Hindi":
languageCode = FirebaseTranslateLanguage.HI;
break;
case "Urdu":
languageCode = FirebaseTranslateLanguage.UR;
break;
default:
languageCode = 0;
}
return languageCode;

}
}


MainActivity.XML;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/black_shade_1"
style="@style/AppTheme.MaterialTheme"
tools:context=".MainActivity">


<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ajju_Translator"
android:textAlignment="center"
android:gravity="center"
android:textSize="20sp"
android:textColor="@color/yellow"
android:textStyle="bold"
android:layout_marginTop="20dp"
android:padding="40dp"
/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginTop="20dp"
>

<Spinner
android:layout_width="1dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/idFromSpinner"
android:layout_margin="3dp"
android:padding="3dp"
/>
<ImageView
android:layout_width="1dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_arrow_right"
app:tint="@color/white"
android:layout_gravity="center"
/>

<Spinner
android:layout_width="1dp"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:id="@+id/idToSpinner"
android:layout_weight="1"
android:gravity="center"
android:padding="3dp"/>




</LinearLayout>

<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:hint="Source Text"
android:padding="5dp"
android:textColorHint="@color/white"
>
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/idEdtSource"
android:ems="10"
android:importantForAutofill="no"
android:inputType="textImeMultiLine"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textSize="14sp"
/>
</com.google.android.material.textfield.TextInputLayout>


<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="OR"
android:textAllCaps="true"
android:textColor="@color/white"
android:textSize="20sp"
android:textAlignment="center"
android:gravity="center"
android:layout_marginTop="5dp"
/>

<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:src="@drawable/ic_mic"
app:tint="@color/yellow"
android:id="@+id/idIVMic"
/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Say Something"
android:textAlignment="center"
android:gravity="center"
android:textColor="@color/white"
android:layout_gravity="center"
android:textSize="15sp"
/>

<com.google.android.material.button.MaterialButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/idBtnTranslate"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:text="Translate"
android:textAllCaps="false"
/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/idTVTranslatedTV"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:text="Translated Text"
android:textAlignment="center"
android:textAllCaps="false"
android:textColor="@color/yellow"
android:textSize="18sp"
android:gravity="center"
/>



</LinearLayout>





More Related topic

AjjuCoderApp Source Code


If you have any feedback or suggestion please comment blow.




Comments

Post a Comment

Popular posts from this blog

Click Ads Earn Money 💰 watch ads and earn $5 dollars per Ad with proof👍

Kotlin coroutines on Android Step by Step Basic to advance