Implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel
Tabla de contenido

Para aquellos de ustedes que poseen Laravel , proporcionar contenido traducido de forma precisa y natural es muy importante para traducir su sitio web y ofrecer una buena experiencia de usuario.

Afortunadamente, hay varios servicios de traducción automática disponibles para ayudar a los desarrolladores a superar este desafío, incluidos Google Cloud AI API Translation y Google Translate. Ambos servicios ofrecen capacidades de traducción utilizando tecnología automática.

En este artículo, exploraremos las principales diferencias entre implementar Google Cloud AI Translation y Google Translate para Laravel y recomendaremos los mejores servicios de traducción para su Laravel .

¿Qué son la traducción API de Google Cloud AI y Google Translate?

Antes de entrar en la discusión, discutiremos los significados respectivos de la API de Google Cloud AI y las traducciones de Google Translate.

Traducción de la API de IA de Google Cloud

Traducción de Google Cloud AI: implementación de la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Google Cloud AI API Translation es un servicio avanzado de traducción automática proporcionado por Google Cloud Platform. Este servicio aprovecha las últimas tecnologías de inteligencia artificial (IA) y aprendizaje automático para ofrecer traducciones precisas y naturales de texto, voz y documentos.

Google Cloud AI API Translation utiliza modelos de traducción neuronal basados ​​en el aprendizaje profundo, lo que le permite capturar mejor los matices y el contexto del idioma, proporcionando traducciones más idiomáticas que se alinean con el uso real del idioma. Además, el uso de Google Cloud AI Translation para hasta 500.000 caracteres es gratuito, mientras que los siguientes 75.000 caracteres tendrán un coste de 20 dólares por millón de caracteres.  

Traductor de google

Traductor de Google: implemente la traducción API de Google Cloud AI frente a Google Translate para Laravel

Mientras tanto, Google Translate es un servicio de traducción automática de textos de larga data y ampliamente conocido. Utiliza un enfoque de traducción estadística más tradicional, que genera traducciones basadas en patrones y probabilidades aprendidas de grandes conjuntos de datos de entrenamiento.

Aunque no es tan avanzado como Google Cloud AI API Translation en términos de precisión y manejo de matices del idioma, Google Translate sigue siendo una opción popular debido a su facilidad de uso y disponibilidad gratuita para uso no comercial.

Implementar la traducción de la API de Google Cloud AI en Laravel

Varios servicios de traducción, incluido Linguise , utilizan AI Translation para traducir sitios web.

El servicio de traducción de idiomas utiliza la API de IA en la nube como una de sus tecnologías de traducción. Los siguientes son los pasos de implementación en el Laravel . Asumimos aquí que ya tienes un Laravel .

Crear cuenta Linguise

Para utilizar Linguise , primero debe registrar una cuenta . Puedes hacerlo gratis o suscribirte por un mes o un año. Sólo necesitas proporcionar información como tu correo electrónico, nombre de usuario y contraseña.

Agregar información del sitio web Laravel

Después de eso, agregue información sobre el sitio web que utilizará, ingrese la información de su cuenta Linguise y la URL web, seleccione la plataforma Laravel y agregue el idioma predeterminado y el idioma que desea agregar al sitio web.

 

Agregar sitio web de dominio: implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Luego descargue el script PHP a través del siguiente botón y guárdelo en su computadora local.

Cargar y configurar el script PHP

Después de descargar el script, descomprímalo y cárguelo en la carpeta raíz donde está instalado Laravel . Asegúrese de que esté ubicado en la raíz de su instalación Laravel (normalmente donde están sus archivos CMS). Asegúrese de que la carpeta se llame "linguise" (el nombre predeterminado cuando se descomprime la carpeta).

Cargar en la carpeta Linguise : implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Luego, la clave API Linguise debe copiarse en el archivo …/linguise/Configuration.php que cargó en su servidor. Edite el archivo y pegue su clave API entre comillas, reemplazando el texto REPLACE_BY_YOUR_TOKEN.

Reemplazar clave API: implementar la traducción API de Google Cloud AI frente a Google Translate para Laravel

Insertar script del selector de idiomas

A continuación, inserte el script de cambio de idioma que obtuvo del Linguise .

Script Language Switcher: implemente la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Insertado en el archivo front.blade.php en el directorio resources/views/layouts/. Aquí hay una vista previa del guión insertado.

Front Blade.php: implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Configurar .htaccess

Por último, las URL basadas en idiomas deben configurarse en el archivo .htaccess. Si su archivo incluye "RewriteBase /", simplemente copie y pegue el siguiente código después de esa línea.

				
					<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
</IfModule>
				
			

Hecho. En este punto, ha implementado con éxito la traducción API de IA en la nube en el Linguise . Ahora puedes consultar el Laravel . Aparecerá un conmutador de idioma predeterminado y podrá personalizar el conmutador de idioma para Laravel a través del panel.

Cambiador de idiomas Laravel : implemente la traducción API de Google Cloud AI frente a Google Translate para Laravel

Implementar el Traductor de Google en Laravel

Ahora intentaremos implementar Google Translate en Laravel. Aquí asumimos que ha creado con éxito un proyecto Laravel y solo necesita agregar Google Translate.

También puede encontrar los siguientes pasos de instalación en el oficial Laravel .

Instalar el paquete de traductor de Google

Para instalar el paquete Google Translator, abra el mensaje del proyecto e ingrese el siguiente comando. Este paquete le permitirá utilizar las funciones de trabajo del idioma del traductor de Google.

				
					composer require stichoza/google-translate-php
				
			

Configuración del paquete Google Translator

Debemos configurar el “paquete de traductor de Google” dentro de la aplicación. Abra el archivo app.php en la carpeta /config, busque la sección "alias" y agregue la siguiente línea de código.

App.php: implemente la traducción de la API de Google Cloud AI frente a Google Translate para Laravel
				
					/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/

'aliases' => Facade::defaultAliases()->merge([
    // 'Example' => App\Facades\Example::class,
    'GoogleTranslate' => Stichoza\GoogleTranslate\GoogleTranslate::class,
])->toArray(),

				
			

Configurar el controlador de idioma

Necesita crear un archivo de controlador de idioma como el siguiente

				
					php artisan make:controller LangController
				
			

Creará el archivo LangController.php dentro de la carpeta /app/Http/Controllers.

Controlador de idioma: implementar la traducción API de Google Cloud AI frente a Google Translate para Laravel
				
					<?php

namespace App\Http\Controllers;

use Illuminate\Contracts\View\View;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;

class LangController extends Controller
{
    public function index(): View
    {
        return view('lang');
    }

    public function change(Request $request)
    {
        App::setLocale($request->lang);
        
        session()->put('locale', $request->lang);

        return redirect()->back();
    }
}


				
			

Crear archivo de plantilla Blade

Navegue a la carpeta /resources/views y cree un archivo llamado lang.blade.php. Abra el archivo e inserte el siguiente código en él.

LangBlade.php: implemente la traducción de la API de Google Cloud AI frente a Google Translate para Laravel
				
					<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Laravel 10 Create Multi Language Website Tutorial</title> <script type="litespeed/javascript" data-src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script type="application/ld+json" class="gnpub-schema-markup-output">{"@context":"https:\/\/schema.org\/","@type":"NewsArticle","@id":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/#newsarticle","url":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/","image":{"@type":"ImageObject","url":"https:\/\/www.linguise.com\/wp-content\/uploads\/2024\/05\/Implement-Google-Cloud-AI-API-translation-vs-Google-Translate-for-Laravel-150x150.png","width":150,"height":150},"headline":"Implement Google Cloud AI API translation vs Google Translate for Laravel","mainEntityOfPage":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/","datePublished":"2024-05-31T07:32:47+00:00","dateModified":"2024-08-26T19:19:15+00:00","description":"For those of you who own Laravel-based websites, providing accurate and natural translation content is very important to translate your website and offer a good","articleSection":"Guide","articleBody":"For those of you who own Laravel-based websites, providing accurate and natural translation content is very important to translate your website and offer a good user experience.\nFortunately, several automatic translation services are available to help developers overcome this challenge, including Google Cloud AI API Translation and Google Translate. Both services offer translation capabilities using machine technology.\nIn this article, we will explore the main differences between implementing Google Cloud AI Translation and Google Translate for Laravel applications and recommend the best translation services for your Laravel website.&nbsp;\t\t\n\t\t\tWhat are Google Cloud AI API translation &amp; Google Translate?\n\t\t\n\t\tBefore entering into the discussion, we will discuss the respective meanings of Google Cloud AI API and Google Translate translations.\t\t\n\t\t\tGoogle Cloud AI API translation\n\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tGoogle Cloud AI API Translation is an advanced automatic translation service provided by Google Cloud Platform. This service leverages the latest artificial intelligence (AI) and machine learning technologies to deliver accurate and natural translations of text, voice, and documents.Google Cloud AI API Translation uses neural translation models based on deep learning, which allows it to capture language nuances and context better, providing more idiomatic translations that align with actual language usage. Additionally, using Google Cloud AI Translation for up to 500,000 characters is free of charge, while the next 75,000 characters will incur a cost of $20 per million characters.\u00a0\t\t\n\t\t\tGoogle Translate\n\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tMeanwhile, Google Translate is a long-standing and widely known automatic text translation service. It uses a more traditional statistical translation approach, which generates translations based on patterns and probabilities learned from large training datasets.Although it is not as advanced as Google Cloud AI API Translation in terms of accuracy and handling language nuances, Google Translate remains a popular choice due to its ease of use and free availability for non-commercial use.\t\t\n\t\t\tImplement Google Cloud AI API translation on Laravel\n\t\t\n\t\tSeveral translation services, including Linguise, use AI Translation cloud technology to translate websites.The language translation service uses cloud AI API as one of its translation technologies. The following are the implementation steps on the Laravel website. We assume here that you already have a ready Laravel project website.\t\t\n\t\t\tCreate Linguise account\n\t\t\n\t\tTo use Linguise, you must register an account first. You can do this for free or subscribe for one month or a year. You only need to provide information such as your email, username, and password.\t\t\n\t\t\tAdd Laravel website info\n\t\t\n\t\tAfter that, add information about the website you will use, enter your Linguise account info and web URL, select the Laravel platform, and add the default language and the language you want to add to the website.\u00a0\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tThen download the PHP script via the following button and save it on your local computer.\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDOWNLOAD PHP-JS TRANSLATION SCRIPT\n\t\t\t\t\t\n\t\t\tUpload and configure the PHP script\n\t\t\n\t\tAfter downloading the script, unzip it and upload it to the root folder where Laravel is installed. Ensure it is located at the root of your Laravel installation (typically where your CMS files are). Ensure the folder is named \"linguise\" (the default name when the folder is unzipped).\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tThen, the Linguise API key must be copied into the \u2026\/linguise\/Configuration.php file you uploaded to your server. Edit the file and paste your API key between the quotes, replacing the text REPLACE_BY_YOUR_TOKEN.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\tInsert script of language switcher\t\t\n\t\tNext, insert the language switch script that you got from the Linguise dashboard.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tInserted into the front.blade.php file in the resources\/views\/layouts\/ directory. Here is a preview of the inserted script.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\tConfigure .htaccess\n\t\t\n\t\tLastly, language-based URLs need to be configured in the .htaccess file. If your file includes \"RewriteBase \/,\" simply copy and paste the following code after that line.\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n  RewriteEngine On\n  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|\/)(.*)$ linguise\/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]\n\n\t\t\t\t\n\t\t\t\n\t\tDone. At this point, you have successfully implemented cloud AI API Translation on the Linguise service. Now, you can check the Laravel website. A default language switcher will appear, and you can customize the Language switcher for Laravel via the dashboard.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\tImplement Google Translate on Laravel\t\t\n\t\tNow we will try to implement Google Translate in Laravel. Here we assume that you have successfully created a Laravel project and just need to add Google Translate.You can also find the following installation steps on the official Laravel website.\t\t\n\t\t\tInstall Google Translator Package\n\t\t\n\t\tTo install the Google Translator Package, open the project prompt and input the following command. This package will enable you to utilize the working functions of the google-translator-language.\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tcomposer require stichoza\/google-translate-php\n\t\t\t\t\n\t\t\t\n\t\t\tSetting of Google Translator Package\n\t\t\n\t\tWe must set up the \"google translator package\" within the the application. Open the app.php file in the \/config folder, find the \"aliases\" section, and add the following line of code.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\/*\n|--------------------------------------------------------------------------\n| Class Aliases\n|--------------------------------------------------------------------------\n|\n| This array of class aliases will be registered when this application\n| is started. However, feel free to register as many as you wish as\n| the aliases are \"lazy\" loaded so they don't hinder performance.\n|\n*\/\n'aliases' => Facade::defaultAliases()->merge([\n    \/\/ 'Example' => AppFacadesExample::class,\n    'GoogleTranslate' => StichozaGoogleTranslateGoogleTranslate::class,\n])->toArray(),\n\n\t\t\t\t\n\t\t\t\n\t\t\tSetup Language Controller\n\t\t\n\t\tYou need to create a language controller file like the following\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tphp artisan make:controller LangController\n\t\t\t\t\n\t\t\t\n\t\tIt will create LangController.php file inside \/app\/Http\/Controllers folder.","keywords":"","name":"Implement Google Cloud AI API translation vs Google Translate for Laravel","thumbnailUrl":"https:\/\/www.linguise.com\/wp-content\/uploads\/2024\/05\/Implement-Google-Cloud-AI-API-translation-vs-Google-Translate-for-Laravel-150x150.png","wordCount":809,"timeRequired":"PT3M35S","mainEntity":{"@type":"WebPage","@id":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/"},"author":{"@type":"Person","name":"Tristan","url":"https:\/\/www.linguise.com\/author\/tristan\/","sameAs":[],"image":{"@type":"ImageObject","url":"https:\/\/secure.gravatar.com\/avatar\/50d7238660b192d8d54ebf6367be5e97bb41c24dbd190daae062d931efd351ae?s=96&d=mm&r=g","height":96,"width":96}},"editor":{"@type":"Person","name":"Tristan","url":"https:\/\/www.linguise.com\/author\/tristan\/","sameAs":[],"image":{"@type":"ImageObject","url":"https:\/\/secure.gravatar.com\/avatar\/50d7238660b192d8d54ebf6367be5e97bb41c24dbd190daae062d931efd351ae?s=96&d=mm&r=g","height":96,"width":96}}}</script> </head>

<body>
    <div class="container mt-5">
        <div class="row">
            <div class="col-md-12">
                <div class="card w-75 m-auto">
                    <div class="card-header text-center bg-primary text-white">
                        <h4 style="font-size: 17px;">Laravel 10 Create Multi Language Website Tutorial</h4>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-4">
                                <strong>Select Language: </strong>
                            </div>
                            <div class="col-md-4">
                                <select class="form-select changeLang">
                                    <option value="en" {{ session()->get('locale') == 'en' ? 'selected' : '' }}>
                                        English
                                    </option>
                                    <option value="fr" {{ session()->get('locale') == 'fr' ? 'selected' : '' }}>
                                        French
                                    </option>
                                    <option value="ar" {{ session()->get('locale') == 'ar' ? 'selected' : '' }}>
                                        Arabic
                                    </option>
                                    <option value="hi" {{ session()->get('locale') == 'hi' ? 'selected' : '' }}>
                                        Hindi
                                    </option>
                                </select>
                            </div>
                        </div>

                        <div style="margin-top: 20px;">
                            <p>{{ GoogleTranslate::trans('Welcome to Online Web Tutor', app()->getLocale()) }}</p>
                            <p>{{ GoogleTranslate::trans('It is a passionate and innovative Web Development Community dedicated to empowering aspiring web developers with the latest tools and techniques. Our platform offers a comprehensive range of web development courses, including PHP and its frameworks, Node.js, MySQL, Javascript and WordPress.', app()->getLocale()) }}
                            </p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

     <script data-no-optimize="1">!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).LazyLoad=e()}(this,function(){"use strict";function e(){return(e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,a=arguments[e];for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t}).apply(this,arguments)}function i(t){return e({},it,t)}function o(t,e){var n,a="LazyLoad::Initialized",i=new t(e);try{n=new CustomEvent(a,{detail:{instance:i}})}catch(t){(n=document.createEvent("CustomEvent")).initCustomEvent(a,!1,!1,{instance:i})}window.dispatchEvent(n)}function l(t,e){return t.getAttribute(gt+e)}function c(t){return l(t,bt)}function s(t,e){return function(t,e,n){e=gt+e;null!==n?t.setAttribute(e,n):t.removeAttribute(e)}(t,bt,e)}function r(t){return s(t,null),0}function u(t){return null===c(t)}function d(t){return c(t)===vt}function f(t,e,n,a){t&&(void 0===a?void 0===n?t(e):t(e,n):t(e,n,a))}function _(t,e){nt?t.classList.add(e):t.className+=(t.className?" ":"")+e}function v(t,e){nt?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")}function g(t){return t.llTempImage}function b(t,e){!e||(e=e._observer)&&e.unobserve(t)}function p(t,e){t&&(t.loadingCount+=e)}function h(t,e){t&&(t.toLoadCount=e)}function n(t){for(var e,n=[],a=0;e=t.children[a];a+=1)"SOURCE"===e.tagName&&n.push(e);return n}function m(t,e){(t=t.parentNode)&&"PICTURE"===t.tagName&&n(t).forEach(e)}function a(t,e){n(t).forEach(e)}function E(t){return!!t[st]}function I(t){return t[st]}function y(t){return delete t[st]}function A(e,t){var n;E(e)||(n={},t.forEach(function(t){n[t]=e.getAttribute(t)}),e[st]=n)}function k(a,t){var i;E(a)&&(i=I(a),t.forEach(function(t){var e,n;e=a,(t=i[n=t])?e.setAttribute(n,t):e.removeAttribute(n)}))}function L(t,e,n){_(t,e.class_loading),s(t,ut),n&&(p(n,1),f(e.callback_loading,t,n))}function w(t,e,n){n&&t.setAttribute(e,n)}function x(t,e){w(t,ct,l(t,e.data_sizes)),w(t,rt,l(t,e.data_srcset)),w(t,ot,l(t,e.data_src))}function O(t,e,n){var a=l(t,e.data_bg_multi),i=l(t,e.data_bg_multi_hidpi);(a=at&&i?i:a)&&(t.style.backgroundImage=a,n=n,_(t=t,(e=e).class_applied),s(t,ft),n&&(e.unobserve_completed&&b(t,e),f(e.callback_applied,t,n)))}function N(t,e){!e||0<e.loadingCount||0<e.toLoadCount||f(t.callback_finish,e)}function C(t,e,n){t.addEventListener(e,n),t.llEvLisnrs[e]=n}function M(t){return!!t.llEvLisnrs}function z(t){if(M(t)){var e,n,a=t.llEvLisnrs;for(e in a){var i=a[e];n=e,i=i,t.removeEventListener(n,i)}delete t.llEvLisnrs}}function R(t,e,n){var a;delete t.llTempImage,p(n,-1),(a=n)&&--a.toLoadCount,v(t,e.class_loading),e.unobserve_completed&&b(t,n)}function T(o,r,c){var l=g(o)||o;M(l)||function(t,e,n){M(t)||(t.llEvLisnrs={});var a="VIDEO"===t.tagName?"loadeddata":"load";C(t,a,e),C(t,"error",n)}(l,function(t){var e,n,a,i;n=r,a=c,i=d(e=o),R(e,n,a),_(e,n.class_loaded),s(e,dt),f(n.callback_loaded,e,a),i||N(n,a),z(l)},function(t){var e,n,a,i;n=r,a=c,i=d(e=o),R(e,n,a),_(e,n.class_error),s(e,_t),f(n.callback_error,e,a),i||N(n,a),z(l)})}function G(t,e,n){var a,i,o,r,c;t.llTempImage=document.createElement("IMG"),T(t,e,n),E(c=t)||(c[st]={backgroundImage:c.style.backgroundImage}),o=n,r=l(a=t,(i=e).data_bg),c=l(a,i.data_bg_hidpi),(r=at&&c?c:r)&&(a.style.backgroundImage='url("'.concat(r,'")'),g(a).setAttribute(ot,r),L(a,i,o)),O(t,e,n)}function D(t,e,n){var a;T(t,e,n),a=e,e=n,(t=It[(n=t).tagName])&&(t(n,a),L(n,a,e))}function V(t,e,n){var a;a=t,(-1<yt.indexOf(a.tagName)?D:G)(t,e,n)}function F(t,e,n){var a;t.setAttribute("loading","lazy"),T(t,e,n),a=e,(e=It[(n=t).tagName])&&e(n,a),s(t,vt)}function j(t){t.removeAttribute(ot),t.removeAttribute(rt),t.removeAttribute(ct)}function P(t){m(t,function(t){k(t,Et)}),k(t,Et)}function S(t){var e;(e=At[t.tagName])?e(t):E(e=t)&&(t=I(e),e.style.backgroundImage=t.backgroundImage)}function U(t,e){var n;S(t),n=e,u(e=t)||d(e)||(v(e,n.class_entered),v(e,n.class_exited),v(e,n.class_applied),v(e,n.class_loading),v(e,n.class_loaded),v(e,n.class_error)),r(t),y(t)}function $(t,e,n,a){var i;n.cancel_on_exit&&(c(t)!==ut||"IMG"===t.tagName&&(z(t),m(i=t,function(t){j(t)}),j(i),P(t),v(t,n.class_loading),p(a,-1),r(t),f(n.callback_cancel,t,e,a)))}function q(t,e,n,a){var i,o,r=(o=t,0<=pt.indexOf(c(o)));s(t,"entered"),_(t,n.class_entered),v(t,n.class_exited),i=t,o=a,n.unobserve_entered&&b(i,o),f(n.callback_enter,t,e,a),r||V(t,n,a)}function H(t){return t.use_native&&"loading"in HTMLImageElement.prototype}function B(t,i,o){t.forEach(function(t){return(a=t).isIntersecting||0<a.intersectionRatio?q(t.target,t,i,o):(e=t.target,n=t,a=i,t=o,void(u(e)||(_(e,a.class_exited),$(e,n,a,t),f(a.callback_exit,e,n,t))));var e,n,a})}function J(e,n){var t;et&&!H(e)&&(n._observer=new IntersectionObserver(function(t){B(t,e,n)},{root:(t=e).container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}))}function K(t){return Array.prototype.slice.call(t)}function Q(t){return t.container.querySelectorAll(t.elements_selector)}function W(t){return c(t)===_t}function X(t,e){return e=t||Q(e),K(e).filter(u)}function Y(e,t){var n;(n=Q(e),K(n).filter(W)).forEach(function(t){v(t,e.class_error),r(t)}),t.update()}function t(t,e){var n,a,t=i(t);this._settings=t,this.loadingCount=0,J(t,this),n=t,a=this,Z&&window.addEventListener("online",function(){Y(n,a)}),this.update(e)}var Z="undefined"!=typeof window,tt=Z&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),et=Z&&"IntersectionObserver"in window,nt=Z&&"classList"in document.createElement("p"),at=Z&&1<window.devicePixelRatio,it={elements_selector:".lazy",container:tt||Z?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"litespeed-loading",class_loaded:"litespeed-loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},ot="src",rt="srcset",ct="sizes",lt="poster",st="llOriginalAttrs",ut="loading",dt="loaded",ft="applied",_t="error",vt="native",gt="data-",bt="ll-status",pt=[ut,dt,ft,_t],ht=[ot],mt=[ot,lt],Et=[ot,rt,ct],It={IMG:function(t,e){m(t,function(t){A(t,Et),x(t,e)}),A(t,Et),x(t,e)},IFRAME:function(t,e){A(t,ht),w(t,ot,l(t,e.data_src))},VIDEO:function(t,e){a(t,function(t){A(t,ht),w(t,ot,l(t,e.data_src))}),A(t,mt),w(t,lt,l(t,e.data_poster)),w(t,ot,l(t,e.data_src)),t.load()}},yt=["IMG","IFRAME","VIDEO"],At={IMG:P,IFRAME:function(t){k(t,ht)},VIDEO:function(t){a(t,function(t){k(t,ht)}),k(t,mt),t.load()}},kt=["IMG","IFRAME","VIDEO"];return t.prototype={update:function(t){var e,n,a,i=this._settings,o=X(t,i);{if(h(this,o.length),!tt&&et)return H(i)?(e=i,n=this,o.forEach(function(t){-1!==kt.indexOf(t.tagName)&&F(t,e,n)}),void h(n,0)):(t=this._observer,i=o,t.disconnect(),a=t,void i.forEach(function(t){a.observe(t)}));this.loadAll(o)}},destroy:function(){this._observer&&this._observer.disconnect(),Q(this._settings).forEach(function(t){y(t)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var e=this,n=this._settings;X(t,n).forEach(function(t){b(t,e),V(t,n,e)})},restoreAll:function(){var e=this._settings;Q(e).forEach(function(t){U(t,e)})}},t.load=function(t,e){e=i(e);V(t,e)},t.resetStatus=function(t){r(t)},Z&&function(t,e){if(e)if(e.length)for(var n,a=0;n=e[a];a+=1)o(t,n);else o(t,e)}(t,window.lazyLoadOptions),t});!function(e,t){"use strict";function a(){t.body.classList.add("litespeed_lazyloaded")}function n(){console.log("[LiteSpeed] Start Lazy Load Images"),d=new LazyLoad({elements_selector:"[data-lazyloaded]",callback_finish:a}),o=function(){d.update()},e.MutationObserver&&new MutationObserver(o).observe(t.documentElement,{childList:!0,subtree:!0,attributes:!0})}var d,o;e.addEventListener?e.addEventListener("load",n,!1):e.attachEvent("onload",n)}(window,document);</script><script data-no-optimize="1">var litespeed_vary=document.cookie.replace(/(?:(?:^|.*;\s*)_lscache_vary\s*\=\s*([^;]*).*$)|^.*$/,"");litespeed_vary||fetch("/wp-content/plugins/litespeed-cache/guest.vary.php",{method:"POST",cache:"no-cache",redirect:"follow"}).then(e=>e.json()).then(e=>{console.log(e),e.hasOwnProperty("reload")&&"yes"==e.reload&&(sessionStorage.setItem("litespeed_docref",document.referrer),window.location.reload(!0))});</script><script data-optimized="1" type="litespeed/javascript" data-src="https://www.linguise.com/wp-content/litespeed/js/fcc4ee94c0d05276772b7b97132c2178.js?ver=0e199"></script><script>const litespeed_ui_events=["mouseover","click","keydown","wheel","touchmove","touchstart"];var urlCreator=window.URL||window.webkitURL;function litespeed_load_delayed_js_force(){console.log("[LiteSpeed] Start Load JS Delayed"),litespeed_ui_events.forEach(e=>{window.removeEventListener(e,litespeed_load_delayed_js_force,{passive:!0})}),document.querySelectorAll("iframe[data-litespeed-src]").forEach(e=>{e.setAttribute("src",e.getAttribute("data-litespeed-src"))}),"loading"==document.readyState?window.addEventListener("DOMContentLoaded",litespeed_load_delayed_js):litespeed_load_delayed_js()}litespeed_ui_events.forEach(e=>{window.addEventListener(e,litespeed_load_delayed_js_force,{passive:!0})});async function litespeed_load_delayed_js(){let t=[];for(var d in document.querySelectorAll('script[type="litespeed/javascript"]').forEach(e=>{t.push(e)}),t)await new Promise(e=>litespeed_load_one(t[d],e));document.dispatchEvent(new Event("DOMContentLiteSpeedLoaded")),window.dispatchEvent(new Event("DOMContentLiteSpeedLoaded"))}function litespeed_load_one(t,e){console.log("[LiteSpeed] Load ",t);var d=document.createElement("script");d.addEventListener("load",e),d.addEventListener("error",e),t.getAttributeNames().forEach(e=>{"type"!=e&&d.setAttribute("data-src"==e?"src":e,t.getAttribute(e))});let a=!(d.type="text/javascript");!d.src&&t.textContent&&(d.src=litespeed_inline2src(t.textContent),a=!0),t.after(d),t.remove(),a&&e()}function litespeed_inline2src(t){try{var d=urlCreator.createObjectURL(new Blob([t.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm,"$1")],{type:"text/javascript"}))}catch(e){d="data:text/javascript;base64,"+btoa(t.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm,"$1"))}return d}</script></body>

</html>

				
			

Configuración del middleware de idioma

Abra la terminal del proyecto y ejecute este comando,

				
					php artisan make:middleware LanguageManager


				
			

Creará un archivo LanguageManager.php dentro de la carpeta /app/Http/Middleware y lo pegará.

Administrador de idiomas: implemente la traducción API de Google Cloud AI frente a Google Translate para Laravel
				
					<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\App;

class LanguageManager
{
    /**
     * Handle an incoming request.
     *
     * @param  \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response)  $next
     */
    public function handle(Request $request, Closure $next): Response
    {
        if (session()->has('locale')) {

            App::setLocale(session()->get('locale'));
        }

        return $next($request);
    }
}

				
			

Registre el middleware del idioma a través de Kernel.php

Abra el archivo Kernel.php ubicado en el directorio /app/Http. Busque la matriz $middlewareGroups y navegue hasta la sección web.

Kernel.php: implemente la traducción de la API de Google Cloud AI frente a Google Translate para Laravel
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

        \App\Http\Middleware\LanguageManager::class,
    ],

    'api' => [
        
        //...
    ],
];

				
			

Agregar ruta

Abra web.php desde la carpeta /routes y agregue estas rutas.

Web.php: implemente la traducción de la API de Google Cloud AI frente a Google Translate para Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

Route::get('lang/home', [LangController::class, 'index']);
Route::get('lang/change', [LangController::class, 'change'])->name('changeLang');


				
			

Sitio web de prueba

Ejecute este comando en la terminal del proyecto para iniciar el servidor de desarrollo.

				
					php artisan serve
				
			

Aquí hay una visualización del Laravel del sitio web onlinewebtutorblog.com que se ha creado, como puede ver en la siguiente visualización, hay un menú desplegable de Google Translate.

Google Translate en el sitio web Laravel : implemente la traducción API de Google Cloud AI frente a Google Translate para Laravel

Entonces así es como se ve el sitio web Laravel cuando se traduce al árabe.

¿Cuál es la diferencia entre implementar la traducción AI de Google Cloud y Google Translate en Laravel?

Después de comprender cada implementación de Google Cloud AI y la traducción de Google Translate en Laravel, discutiremos sus diferencias.

Proceso de instalación y configuración

Instalación y configuración: implementar la traducción API de Google Cloud AI frente a Google Translate para Laravel
  • Traducción de la API de Google Cloud AI: el proceso de instalación y configuración es más complejo porque debe crear un proyecto en Google Cloud Platform (GCP), habilitar la API de Cloud Translation, crear una cuenta de servicio, generar claves API y configurar el cliente API en su Laravel . Esto implica varios pasos y requiere una cuenta de GCP válida.
  • Traductor de Google: La instalación y configuración es mucho más sencilla. Solo necesita instalar un paquete o biblioteca de terceros a través de Composer, como stichoza/google-translate-php. Después de eso, puede configurar la clave API de Google Translate en el Laravel .

Precisión de traducción

Precisión de traducción: implemente la traducción API de Google Cloud AI frente a Google Translate para Laravel
  • Traducción de la API de Google Cloud AI: gracias a sus capacidades de aprendizaje profundo, este servicio puede capturar mejor contextos y matices lingüísticos complejos. Esto permite una traducción más precisa de expresiones idiomáticas, frases figuradas y juegos de palabras que son difíciles de traducir literalmente.
  • Traductor de Google: a menudo tiene dificultades para capturar el contexto y los matices del lenguaje más fino, lo que hace que los resultados suenen rígidos o menos naturales. Debido al enfoque estadístico, la traducción de expresiones idiomáticas o frases figuradas suele ser menos precisa.

Velocidad de respuesta

Velocidad de respuesta: implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel
  • Traducción de la API de Google Cloud AI: generalmente más rápida a la hora de responder a las solicitudes de traducción, ya que utiliza de traducción automática neuronal alojados en la sólida infraestructura de nube de Google. Esto proporciona tiempos de respuesta más rápidos, especialmente para textos más largos o grandes volúmenes de traducciones.
  • Traductor de Google: puede ser un poco más lento a la hora de responder a las solicitudes de traducción, especialmente para documentos o textos más largos. Esto se debe a que utiliza una combinación más tradicional de enfoques de traducción estadística y neuronal, que pueden no ser tan eficientes como los modelos neuronales utilizados por la traducción API de Google Cloud AI.

Capacidades de personalización y control

Personalización y control: implementar la traducción API de Google Cloud AI frente a Google Translate para Laravel
  • Traducción de la API de Google Cloud AI: ofrece más opciones para personalizar y controlar el proceso de traducción, como configurar preferencias de traducción, cargar glosarios personalizados y acceder a la de traducción del editor en vivo para editar los resultados de la traducción manualmente. Esto permite a los usuarios mejorar la precisión de la traducción según sus necesidades.
  • Traductor de Google: Tiene opciones de personalización y control más limitadas. Los usuarios deben confiar en los resultados de la traducción automática sin mucha capacidad para editar o personalizar directamente los resultados.

Características avanzadas

Funciones avanzadas: implemente la traducción API de Google Cloud AI frente a Google Translate para Laravel
  • Traducción de la API de Google Cloud AI: la tecnología de traducción de Google Cloud AI tiene varias funciones avanzadas, como glosario, selección de modelos y modelos de AutoML. Además, en el contexto de la traducción de IA en la nube con Linguise , también tiene funciones avanzadas como exclusiones de traducción para palabras específicas, como términos técnicos, nombres de marcas, etc., basadas en líneas, páginas o URL.
  • Traductor de Google: Google Translate instalado en Laravel no puede traducir documentos de audio ni otros. Solo puede traducir texto en el sitio web a otro idioma sin la capacidad de editar los resultados de la traducción.
Rompe las barreras del idioma
¡Diga adiós a las barreras del idioma y hola al crecimiento ilimitado! Pruebe nuestro servicio de traducción automática hoy.

Factores que debes considerar al elegir un servicio de traducción para tu sitio web Laravel

Aquí hay algunas consideraciones al elegir el mejor servicio de traducción para su sitio web Laravel .

  • Alta precisión de traducción: uno de los factores más importantes es la precisión de la traducción producida. Si su sitio web requiere traducciones muy precisas, especialmente para contenido complejo y lenguaje matizado, entonces Google Cloud AI API Translation podría ser una mejor opción que Google Translate.
  • Facilidad de integración y configuración: considere instalar y configurar el servicio de traducción con su aplicación Laravel Google Translate es generalmente más fácil de integrar porque está disponible como paquete o biblioteca PHP. Mientras tanto, Google Cloud AI API Translation requiere una configuración más compleja en Google Cloud Platform.
  • Funciones y opciones de personalización: si necesita funciones adicionales, como un glosario o traducción de terminología especializada, de traducción del editor u otras opciones de personalización, Google Cloud AI API Translation ofrece más opciones que Google Translate.
  • Velocidad y tiempo de respuesta: para aplicaciones con grandes volúmenes de traducción o que necesitan una respuesta rápida, Google Cloud AI API Translation generalmente responde a las solicitudes de traducción más rápido que Google Translate.
  • Costo y presupuesto: Google Translate está disponible de forma gratuita para uso no comercial, mientras que Google Cloud AI API Translation utiliza un modelo de facturación pago basado en el uso. Considere su presupuesto y el volumen de traducción estimado para elegir el servicio más rentable.
  • Soporte y documentación: considere también el soporte técnico y la documentación disponibles para cada servicio. Google Cloud AI API Translation puede tener documentación y soporte más completos de Google.

Linguise, el mejor servicio de traducción de IA en la nube para el sitio web Laravel

Implementar la traducción de la API de Google Cloud AI frente a Google Translate para Laravel

Hasta este punto ya conoces las consideraciones para elegir un servicio de traducción para Laravel; Casi todos los factores mencionados anteriormente están presentes en el servicio de traducción Linguise .

Linguise es un servicio de traducción de sitios web que utiliza tecnología de traducción de inteligencia artificial en la nube para producir traducciones de contenido. Este servicio puede ser la mejor solución para traducir un Laravel . ¿Porqué es eso? Porque Linguise aborda las consideraciones mencionadas anteriormente.

  • Linguise tiene una calidad de traducción perfecta. Aunque esta precisión varía según el par de idiomas, Linguise cuenta con una tasa de precisión de casi el 97%, similar a la traducción humana.
  • Linguise también está integrado con más de 40 CMS y creadores web, así como con sitios web basados ​​en PHP como Laravel .
  • Aunque traduce automáticamente, Linguise tiene un editor en vivo que puede usarse para editar los resultados de la traducción. De esta manera, la traducción se puede ajustar a las preferencias comerciales.
  • El tiempo de carga de las páginas multilingües es sólo un 5% más largo que el de las páginas en el idioma original.
  • Nuestro servicio está disponible en tres paquetes que van desde $15 a $45 por mes. Aunque es de pago, también ofrecemos un periodo de prueba gratuito de 30 días con un límite de 600.000 palabras traducibles.
  • Finalmente, Linguise admite todas las formas de asistencia al cliente, incluidos artículos de guía, documentación, noticias de productos, tutoriales en vídeo de YouTube y chat de soporte 24 horas al día, 7 días a la semana.

Según los puntos anteriores, Linguise puede ser una solución de tecnología de traducción de IA en la nube para Laravel.

¿Listo para explorar nuevos mercados? Pruebe nuestro servicio de traducción automática gratis con nuestra prueba de 1 mes sin riesgos. ¡No se necesita tarjeta de crédito!

Conclusión

En este artículo, hemos explorado las principales diferencias entre la implementación de Google Cloud AI API Translation y Google Translate para aplicaciones web Laravel .

Google Cloud AI API Translation destaca por su precisión y la necesidad de traducciones de alta precisión. Sin embargo, este servicio requiere una configuración más compleja y es más caro que Google Translate. Por otro lado, Google Translate ofrece facilidad de integración pero tiene limitaciones en cuanto a precisión y opciones de personalización.

Linguise surge como un servicio alternativo de traducción en la nube basado en IA compatible con los sitios web Laravel . Con niveles de precisión que casi coinciden con las traducciones humanas, opciones de editor de traducción, tiempos de carga rápidos y atención al cliente integral, Linguise se convierte en una excelente solución de traducción para su sitio web Laravel .

Si quieres probar Linguise , puedes registrarte para obtener una cuenta gratuita y disfrutar de un período de prueba de 30 días con un límite de 600.000 palabras traducidas. ¡Visite linguise para obtener más información!

También te puede interesar leer

¡No te lo pierdas!
Suscríbete a nuestro boletín

¡Recibe noticias sobre traducción automática de sitios web, SEO internacional y más!

Invalid email address
Darle una oportunidad. Uno por mes y puedes darte de baja en cualquier momento.

¡No te vayas sin compartir tu correo electrónico!

No podemos garantizar que gane la lotería, pero podemos prometerle algunas noticias informativas interesantes sobre la traducción y descuentos ocasionales.

¡No te lo pierdas!
Invalid email address