Saltar al contenido
Codifíca.me | Desarrollo web | Programación
Php

Cómo Traducir usando el API de Yandex

16 abril, 2020
php

El Traductor de Yandex  es un servicio gratuito multilingüe de traducción automática, desarrollado y proporcionado por Yandex, para traducir texto, voz, imágenes o video en tiempo real de un idioma a otro. Ofrece interfaz web, así como interfaces móviles para iOS y Android, y una API, que los desarrolladores pueden utilizar para construir extensiones de navegador, aplicaciones, y otros software. El Traductor de Yandex soporta 94 idiomas en distintos niveles.

Yandex incorporó en septiembre de 2017 su sistema de traducción automática neuronal, un sistema de traducción que mejora las traducciones, algo parecido a Deepl, es un sistema que según la empresa perfeccionará la dinámica del Traductor, ya que analizará la composición de las frases teniendo en cuenta una serie de factores. El sistema va aprendiendo con el tiempo y las consultas de los usuarios, lo que mejora sus traducciones.

Bien, pues después de la presentación vamos a ver un ejemplo de traducición usando el API de yandex y PHP utilizando Curl.

Lo primero que tienes que hacer es registrarte en Yandex. Esta es su url
https:// passport.yandex.com/

Una vez que estés registrado accedes a tu cuenta y te vas a esta url desde la que puedes solicitar una key que te de acceso al API.

Esta sería la url:

API key yandex

Aquí puedes solicitar la key

Ya teniendo acceso al API solo nos hace falta el código para poder traducir

Yo utilizo este para PHP:

$curl = curl_init();
$texto = 'Hola, qué tal'   ;
curl_setopt_array($curl, array(
	CURLOPT_URL => "https://translate.yandex.net/api/v1.5/tr.json/translate",
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_FOLLOWLOCATION => true,
	CURLOPT_ENCODING => "",
	CURLOPT_MAXREDIRS => 10,
	CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	CURLOPT_CUSTOMREQUEST => "POST",
	CURLOPT_POSTFIELDS => "key=trnsl.1.201151316Z.3492765e195c.0884bfe454ffd603ce0dbe78&text=".$texto."&format=html&lang=pt-es",
	CURLOPT_HTTPHEADER => array(
		"content-type: application/x-www-form-urlencoded",
	),
));
 
$response = curl_exec($curl);
$err = curl_error($curl);
 
curl_close($curl);
 
if ($err) {
	echo "cURL Error #:" . $err;
} else {
	echo $response;
}
$json = json_decode($response);
    echo $json->text[0];

Y con esto ya lo tendrías listo para que puedas hacer llamadas al API