¿Cómo crear un traductor de oraciones usando HTML, CSS y JavaScript?

En este artículo, vamos a crear una aplicación de traducción de oraciones con la ayuda de API usando JavaScript.

Configuración básica: abra VS Code y abra una carpeta desde su disco donde desee crear este proyecto y asigne el nombre Translate-Sentence (folderName). Después de abrir, cree los siguientes archivos: 

  • índice.html
  • traducir.js
  • estilo.css

Estructura del proyecto: Debería verse así:

Ptoject Structure

Archivo HTML: esta es la página de índice principal que está conectada al archivo style.css para diseñar y translate.js para las operaciones lógicas en el sitio web.

El archivo HTML contiene básicamente tres partes:

  • Encabezamiento
  • Contenedor Principal:  Contiene dos partes:
    • Área de texto de entrada
    • Área de texto de salida
  • Pie de página

índice.html

HTML

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
 
<body>
 
    <nav class="header">Translate It</nav>
    <div class="main">
        <div class="translation-box">
            <textarea id="input-text"
                      placeholder="Enter the sentence">
              </textarea>
        </div>
 
        <button id="btn-translate">Translate</button>
        <div id="translated-box">
            <textarea id="output-text"
                placeholder="Here you will se translated text">
              </textarea>
        </div>
    </div>
    <footer class="footer">About Us</footer>
    <script src="translate.js"></script>
</body>
 
</html>

Archivo JavaScript: este archivo JavaScript toma la identificación del botón e ingresa texto y envía texto a una variable.

https://api.funtranslations.com/translate/minion.json

Nota: la API se puede utilizar para 5 llamadas por hora. Al usar la API anterior, la oración se traducirá al idioma de los minions.

El enfoque principal de la lógica en javascript es:

  1. Al hacer clic en el botón , se llamará a la función clickHandler .
  2. La función clickHandler toma la entrada del área de texto de entrada y actualiza la apiUrl.
  3. A continuación, se llama al método fetch, que convierte el texto de entrada en lenguaje de minions y se refleja en la salida TextArea.

Método Fetch: Fetch toma la Url como argumento y luego devuelve una promesa que resuelve el objeto de respuesta y luego de ese objeto de respuesta, el texto de salida toma el contenido traducido.

traducir.js

JavaScript

var inputText = document.querySelector('#input-text');
var outputText = document.querySelector('#output-text');
var buttonTranslate = document.querySelector('#btn-translate');
var apiUrl = "https://api.funtranslations.com/translate/minion.json";
 
function errorHandle(error) {   
    // In case error occurs the errorHandle
    // function will be called
    alert('Error occurred')
    console.log("error occurred", error);
}
 
function clickHandler() {       
    // When someone clicks on translate
    // button clickHandler will be called
    var text = inputText.value;
    var updatedUrl = apiUrl + "?text=" + text;
    fetch(updatedUrl).then(response =>
    response.json()).then(json =>
    outputText.innerText =
        (json.contents.translated)).catch(errorHandle);
}
 
 
 
buttonTranslate.addEventListener("click", clickHandler);   
// Adding the event listener click

Archivo CSS: este archivo es responsable del estilo de la página HTML.

estilo.css

CSS

textarea {
        display: block;
        margin: 1rem;
        width: 70vw;
        height: 20vh;
        padding: 1rem;
        box-sizing: border-box;
        justify-content: center;
    }
     
    * {
        box-sizing: border-box;
    }
     
    .header {
        font-size: 50px;
        text-align: center;
        background-color: #f77e38;
        padding: 1rem;
    }
     
    #btn-translate {
        background-color: #f77e38;
        border-radius: 12px;
        height: 5vh;
        width: 20vw;
        font-size: larger;
        margin-left: 25vw;
        cursor: pointer;
    }
     
    .main {
        box-sizing: border-box;
        margin-left: 15vw;
    }
     
    .footer {
        font-size: 40px;
        align-items: center;
        margin-top: 8rem;
        height: 7rem;
        background-color: #f77e38;
        text-align: center;
    }

Salida: Instale la extensión del servidor en vivo en VS Code. Haga clic en Live Server y nuestra aplicación ya está lista.

Publicación traducida automáticamente

Artículo escrito por user_u3so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *