Hemos visto muchas aplicaciones que brindan diferentes soportes de idioma dentro de su aplicación y también hemos visto muchas aplicaciones ML en las que veremos que podemos detectar el idioma del texto ingresado por el usuario. En este artículo, crearemos una aplicación en la que detectaremos el idioma del texto ingresado en nuestra aplicación de Android. Entonces, para detectar el idioma de este texto. Usaremos el kit Firebase ML que detectará el idioma del texto y mostrará el código de idioma apropiado.
¿Qué vamos a construir en este artículo?
Construiremos una aplicación simple en la que mostraremos un campo EditText y dentro de eso, debemos agregar el texto en cualquier idioma y un botón para detectar el idioma de ese texto. Después de agregar el texto, haremos clic en el botón Detectar idioma. Se detecta el idioma de nuestro texto y podremos ver el código de nuestro idioma. qué
Implementación paso a paso
Paso 1: crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: conecta tu aplicación a Firebase
Después de crear un nuevo proyecto en Android Studio, conecte su aplicación a Firebase. Para conectar su aplicación a firebase. Navegue a Herramientas en la barra superior. Después de eso, haga clic en Firebase. Se abrirá una nueva ventana en el lado derecho. Dentro de esa ventana, haga clic en Firebase ML y luego haga clic en Usar el kit Firebase ML en Android. Puede ver la opción debajo de la captura de pantalla.
Después de hacer clic en esta opción, verá la siguiente pantalla. En esta pantalla, haga clic en la opción Conectar a Firebase para conectar su aplicación a Firebase. Verá la siguiente pantalla.
Haga clic en la opción Conectar para conectar su aplicación a Firebase y agregue la siguiente dependencia a su archivo build.gradle.
Paso 3: Agregar dependencia para la detección de idioma al archivo build.gradle
Vaya a la aplicación > Gradle Scripts > archivo build.gradle y agréguele el siguiente código. Se agregan comentarios en el código para conocer con más detalle.
// dependencia para firebase core.
implementación’com.google.firebase:firebase-core:15.0.2′
// debajo de dos dependencias se utilizan para la detección de idioma
implementación ‘com.google.firebase:firebase-ml-natural-language:22.0.0’
implementación ‘com.google.firebase:firebase-ml-natural-language-language-id-model:20.0.7’
Paso 4: agregar permisos de Internet para acceder a Internet en su aplicación de Android
Vaya a la aplicación > archivo AndroidManifest.xml y agréguele el siguiente código. Se agregan comentarios en el código para conocer con más detalle.
XML
<!--permission for internet--> <uses-permission android:name="android.permission.INTERNET"/>
Paso 5: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!--edit text to enter your input--> <EditText android:id="@+id/idEdtLanguage" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" android:hint="Enter your name" android:padding="4dp" android:textColor="@color/black" android:textSize="20sp" /> <!--button to detect language of the input text--> <Button android:id="@+id/idBtnDetectLanguage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/idTVDetectedLanguageCode" android:layout_centerInParent="true" android:text="Detect language" /> <!--text view to display the code of entered text--> <TextView android:id="@+id/idTVDetectedLanguageCode" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/idEdtLanguage" android:layout_centerHorizontal="true" android:layout_margin="20dp" android:gravity="center_horizontal" android:text="Language code" android:textAlignment="center" android:textSize="20sp" /> </RelativeLayout>
Paso 6: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; 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.naturallanguage.FirebaseNaturalLanguage; import com.google.firebase.ml.naturallanguage.languageid.FirebaseLanguageIdentification; public class MainActivity extends AppCompatActivity { // creating variables for our image view, // text view and two buttons. private EditText edtLanguage; private TextView languageCodeTV; private Button detectLanguageBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // on below line we are initializing our variables. edtLanguage = findViewById(R.id.idEdtLanguage); languageCodeTV = findViewById(R.id.idTVDetectedLanguageCode); detectLanguageBtn = findViewById(R.id.idBtnDetectLanguage); // adding on click listener for button detectLanguageBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // getting string from our edit text. String edt_string = edtLanguage.getText().toString(); // calling method to detect language. detectLanguage(edt_string); } }); } private void detectLanguage(String string) { // initializing our firebase language detection. FirebaseLanguageIdentification languageIdentifier = FirebaseNaturalLanguage.getInstance().getLanguageIdentification(); // adding method to detect language using identify language method. languageIdentifier.identifyLanguage(string).addOnSuccessListener(new OnSuccessListener<String>() { @Override public void onSuccess(String s) { // below line we are setting our // language code to our text view. languageCodeTV.setText(s); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { // handling error method and displaying a toast message. Toast.makeText(MainActivity.this, "Fail to detect language : \n" + e, Toast.LENGTH_SHORT).show(); } }); } }
Ahora ejecute su aplicación y vea el resultado de la aplicación:
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA