Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel
Table des matières

Pour ceux d'entre vous qui possèdent Laravel , fournir un contenu de traduction précis et naturel est très important pour traduire votre site Web et offrir une bonne expérience utilisateur.

Heureusement, plusieurs services de traduction automatique sont disponibles pour aider les développeurs à surmonter ce défi, notamment Google Cloud AI API Translation et Google Translate. Les deux services offrent des capacités de traduction utilisant la technologie des machines.

Dans cet article, nous explorerons les principales différences entre la mise en œuvre Google Cloud AI Translation et Google Translate pour Laravel et recommanderons les meilleurs services de traduction pour votre Laravel .

Que sont la traduction de l'API Google Cloud AI et Google Translate ?

Avant d'entrer dans la discussion, nous discuterons des significations respectives de l'API Google Cloud AI et des traductions de Google Translate.

Traduction de l'API Google Cloud AI

Traduction Google Cloud AI - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Google Cloud AI API Translation est un service de traduction automatique fourni par Google Cloud Platform. Ce service exploite les dernières technologies d'intelligence artificielle (IA) et d'apprentissage automatique pour fournir des traductions précises et naturelles de texte, de voix et de documents.

Google Cloud AI API Translation utilise des modèles de traduction neuronale basés sur l'apprentissage profond, ce qui lui permet de mieux capturer les nuances linguistiques et le contexte, fournissant ainsi des traductions plus idiomatiques qui correspondent à l'utilisation réelle de la langue. De plus, l'utilisation de Google Cloud AI Translation jusqu'à 500 000 caractères est gratuite, tandis que les 75 000 caractères suivants entraîneront un coût de 20 $ par million de caractères.  

Google Traduction

Google Translate - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Pendant ce temps, Google Translate est un service de traduction automatique de texte de longue date et largement connu. Il utilise une approche de traduction statistique plus traditionnelle, qui génère des traductions basées sur des modèles et des probabilités tirés de grands ensembles de données de formation.

Bien qu'il ne soit pas aussi avancé que Google Cloud AI API Translation en termes de précision et de gestion des nuances linguistiques, Google Translate reste un choix populaire en raison de sa facilité d'utilisation et de sa disponibilité gratuite pour une utilisation non commerciale.

Implémenter la traduction de l'API Google Cloud AI sur Laravel

Plusieurs services de traduction, dont Linguise , utilisent la technologie cloud AI Translation

Le service de traduction linguistique utilise l'API cloud AI comme l'une de ses technologies de traduction. Voici les étapes de mise en œuvre sur le Laravel . Nous supposons ici que vous disposez déjà d’un Laravel .

Créer un compte Linguise

Pour utiliser Linguise , vous devez créer un compte . Vous pouvez le faire gratuitement ou vous abonner pour un mois ou un an. Il vous suffit de fournir des informations telles que votre e-mail, votre nom d'utilisateur et votre mot de passe.

Ajouter des informations sur le site Laravel

Après cela, ajoutez des informations sur le site web que vous utiliserez, entrez les informations de votre compte Linguise et l'URL Web, sélectionnez la plate-forme Laravel et ajoutez la langue par défaut et la langue que vous souhaitez ajouter au site web.

 

Ajouter un site web de domaine - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Téléchargez ensuite le script PHP via le bouton suivant et enregistrez-le sur votre ordinateur local.

Téléchargez et configurez le script PHP

Après avoir téléchargé le script, décompressez-le et téléchargez-le dans le dossier racine où Laravel est installé. Assurez-vous qu'il se trouve à la racine de votre installation Laravel (généralement là où se trouvent vos fichiers CMS). Assurez-vous que le dossier est nommé «linguise» (le nom par défaut lorsque le dossier est décompressé).

Télécharger sur le dossier Linguise - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Ensuite, la clé API Linguise doit être copiée dans le fichier …/linguise/Configuration.php que vous avez téléchargé sur votre serveur. Modifiez le fichier et collez votre clé API entre les guillemets, en remplaçant le texte REPLACE_BY_YOUR_TOKEN.

Remplacer la clé API - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Insérer le script du sélecteur de langue

Ensuite, insérez le script de changement de langue que vous avez obtenu à partir du Linguise .

Script Language Switcher - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Inséré dans le fichier front.blade.php du répertoire resources/views/layouts/. Voici un aperçu du script inséré.

Front Blade.php - Implémenter la traduction de l'API Google Cloud AI par rapport à Google Translate pour Laravel

Configurer .htaccess

Enfin, les URL basées sur la langue doivent être configurées dans le fichier .htaccess. Si votre fichier inclut « RewriteBase / », copiez et collez simplement le code suivant après cette ligne.

				
					<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>
				
			

Fait. À ce stade, vous avez implémenté avec succès la traduction de l'API IA cloud sur le service Linguise Maintenant, vous pouvez consulter le Laravel . Un sélecteur de langue par défaut apparaîtra et vous pourrez personnaliser le sélecteur de langue pour Laravel via le tableau de bord.

Sélecteur de langue Laravel - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel

Implémenter Google Translate sur Laravel

Nous allons maintenant essayer d'implémenter Google Translate dans Laravel. Ici, nous supposons que vous avez créé avec succès un projet Laravel et qu'il vous suffit d'ajouter Google Translate.

Vous pouvez également trouver les étapes d'installation suivantes sur le officiel Laravel .

Installer le package de traduction Google

Pour installer le package Google Translator, ouvrez l'invite du projet et saisissez la commande suivante. Ce package vous permettra d'utiliser les fonctions de travail du langage google-translator.

				
					composer require stichoza/google-translate-php
				
			

Paramétrage du package Google Translator

Nous devons mettre en place le « package traducteur google » au sein de l’application. Ouvrez le fichier app.php dans le dossier /config, recherchez la section « alias » et ajoutez la ligne de code suivante.

App.php - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour 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(),

				
			

Configurer le contrôleur de langue

Vous devez créer un fichier de contrôleur de langue comme celui-ci

				
					php artisan make:controller LangController
				
			

Il créera le fichier LangController.php dans le dossier /app/Http/Controllers.

Contrôleur de langage – Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour 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();
    }
}


				
			

Créer un fichier de modèle de lame

Accédez au dossier /resources/views et créez un fichier nommé lang.blade.php. Ouvrez le fichier et insérez-y le code suivant.

LangBlade.php - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour 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/c4cc318f70919c6dc44922aae60501ec.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>

				
			

Paramétrage du middleware linguistique

Ouvrez le terminal du projet et exécutez cette commande,

				
					php artisan make:middleware LanguageManager


				
			

Il créera un fichier LanguageManager.php dans le dossier /app/Http/Middleware et le collera.

Language Manager - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour 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);
    }
}

				
			

Enregistrez le middleware de langue via Kernel.php

Ouvrez le fichier Kernel.php situé dans le répertoire /app/Http. Recherchez le tableau $middlewareGroups et accédez à la section Web.

Kernel.php - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

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

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

				
			

Ajouter un itinéraire

Ouvrez web.php à partir du dossier /routes et ajoutez-y ces routes.

Web.php - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

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


				
			

Site de test

Exécutez cette commande dans le terminal du projet pour lancer le serveur de développement.

				
					php artisan serve
				
			

Voici un affichage du Laravel à partir du site Web onlinewebtutorblog.com qui a été créé, comme vous pouvez le voir dans l'affichage suivant, il y a une liste déroulante Google Translate.

Google Translate sur le site web Laravel - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel

Voici à quoi cela ressemble lorsque le site web Laravel est traduit en arabe.

Quelle est la différence entre implémenter la traduction Google Cloud AI et Google Translate sur Laravel?

Après avoir compris chaque implémentation de la traduction Google Cloud AI et Google Translate dans Laravel, nous discuterons de leurs différences.

Processus d'installation et de configuration

Installation et configuration - Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
  • Traduction de l'API Google Cloud AI : le processus d'installation et de configuration est plus complexe car vous devez créer un projet sur Google Cloud Platform (GCP), activer l'API Cloud Translation, créer un compte de service, générer des clés API et configurer le client API dans votre Laravel . Cela implique plusieurs étapes et nécessite un compte GCP valide.
  • Google Translate : L'installation et la configuration sont beaucoup plus simples. Il vous suffit d'installer un package ou une bibliothèque tiers via Composer, tel que stichoza/google-translate-php. Après cela, vous pouvez configurer la clé API Google Translate dans le Laravel .

Précision de la traduction

Précision de la traduction – Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
  • Traduction de l'API Google Cloud AI : grâce à ses capacités d'apprentissage en profondeur, ce service peut mieux capturer les contextes et les nuances linguistiques complexes. Cela permet une traduction plus précise des expressions idiomatiques, des phrases figuratives et des jeux de mots difficiles à traduire littéralement.
  • Google Translate : a souvent du mal à capturer le contexte linguistique et les nuances plus fines, ce qui rend les résultats plus rigides ou moins naturels. En raison de l’approche statistique, la traduction d’expressions idiomatiques ou de phrases figuratives est souvent moins précise.

Vitesse de réponse

Vitesse de réponse – Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
  • Traduction de l'API Google Cloud AI : réponse généralement plus rapide aux demandes de traduction car elle utilise de traduction automatique neuronale hébergés sur la robuste infrastructure cloud de Google. Cela permet des temps de réponse plus rapides, en particulier pour les textes plus longs ou les gros volumes de traductions.
  • Google Translate : la réponse aux demandes de traduction peut être légèrement plus lente, en particulier pour les documents ou textes plus longs. En effet, il utilise un mélange plus traditionnel d'approches statistiques et de traduction neuronale, qui peuvent ne pas être aussi efficaces que les modèles neuronaux utilisés par la traduction de l'API Google Cloud AI.

Capacités de personnalisation et de contrôle

Personnalisation et contrôle – Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
  • Traduction de l'API Google Cloud AI : offre davantage d'options pour personnaliser et contrôler le processus de traduction, telles que la définition des préférences de traduction, le téléchargement de glossaires personnalisés et l'accès à l' de traduction de l'éditeur en direct pour modifier manuellement les résultats de la traduction. Cela permet aux utilisateurs d'améliorer la précision de la traduction en fonction de leurs besoins.
  • Google Translate : propose des options de personnalisation et de contrôle plus limitées. Les utilisateurs doivent s'appuyer sur les résultats de traduction automatique sans grande possibilité de modifier ou de personnaliser directement les résultats.

Fonctionnalités avancées

Fonctionnalités avancées – Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel
  • Traduction de l'API Google Cloud AI : la technologie de traduction Google Cloud AI possède plusieurs fonctionnalités avancées telles que le glossaire, la sélection de modèles et les modèles AutoML. De plus, dans le contexte de la traduction de l'IA cloud avec Linguise , il dispose également de fonctionnalités avancées telles que des exclusions de traduction pour des mots spécifiques tels que des termes techniques, des noms de marque, etc., en fonction de lignes, de pages ou d'URL.
  • Google Translate : Google Translate installé dans Laravel ne peut pas traduire de documents audio ou autres. Il ne peut traduire que le texte du site Web dans une autre langue, sans possibilité de modifier les résultats de la traduction.
Briser les barrières linguistiques
Dites adieu aux barrières linguistiques et bonjour à la croissance sans limite ! Essayez notre service de traduction automatique dès aujourd'hui.

Facteurs à prendre en compte lors du choix d'un service de traduction pour votre site web Laravel

Voici quelques considérations pour choisir le meilleur service de traduction pour votre site web Laravel .

  • Haute précision de traduction – L’un des facteurs les plus importants est l’exactitude de la traduction produite. Si votre site Web nécessite des traductions très précises, en particulier pour le contenu complexe et le langage nuancé, Google Cloud AI API Translation pourrait être un meilleur choix que Google Translate.
  • Facilité d'intégration et de configuration — Pensez à installer et à configurer le service de traduction avec votre application Laravel Google Translate est généralement plus facile à intégrer car il est disponible sous forme de package ou de bibliothèque PHP. Pendant ce temps, Google Cloud AI API Translation nécessite une configuration plus complexe sur Google Cloud Platform.
  • Fonctionnalités et options de personnalisation – Si vous avez besoin de fonctionnalités supplémentaires telles qu'une traduction de glossaire ou de terminologie spécialisée, de traduction d'un éditeur ou d'autres options de personnalisation, Google Cloud AI API Translation offre plus de choix que Google Translate.
  • Vitesse et temps de réponse – Pour les applications avec de gros volumes de traduction ou nécessitant une réponse rapide, Google Cloud AI API Translation répond généralement aux demandes de traduction plus rapidement que Google Translate.
  • Coût et budget – Google Translate est disponible gratuitement pour une utilisation non commerciale, tandis que Google Cloud AI API Translation utilise un modèle de facturation payant basé sur l'utilisation. Tenez compte de votre budget et du volume de traduction estimé pour choisir le service le plus rentable.
  • Support et documentation – Tenez également compte du support technique et de la documentation disponibles pour chaque service. Google Cloud AI API Translation peut bénéficier d'une documentation et d'une assistance plus complètes de la part de Google.

Linguise, le meilleur service de traduction cloud IA pour le site web Laravel

Implémenter la traduction de l&#39;API Google Cloud AI par rapport à Google Translate pour Laravel

Jusqu'à présent, vous connaissez déjà les considérations pour choisir un service de traduction pour Laravel; presque tous les facteurs mentionnés ci-dessus sont présents dans le service de traduction Linguise .

Linguise est un service de traduction de sites Web utilisant la technologie de traduction cloud AI pour produire des traductions de contenu. Ce service peut être la meilleure solution pour traduire un Laravel . Pourquoi donc? Parce que Linguise répond aux considérations mentionnées ci-dessus.

  • Linguise a une qualité de traduction parfaite. Bien que cette précision varie en fonction de la paire de langues, Linguise affiche un taux de précision de près de 97 %, similaire à la traduction humaine.
  • Linguise est également intégré à plus de 40 CMS et créateurs de sites Web, ainsi qu'à des sites Web basés sur PHP comme Laravel .
  • Bien qu'il traduise automatiquement, Linguise dispose d'un éditeur en direct qui peut être utilisé pour modifier les résultats de la traduction. De cette façon, la traduction peut être adaptée aux préférences commerciales.
  • Le temps de chargement des pages multilingues n’est que 5 % plus long que celui des pages en langue originale.
  • Notre service est disponible en trois forfaits allant de 15$ à 45$ par mois. Bien qu'il soit payant, nous proposons également une période d'essai gratuite de 30 jours avec une limite de 600 000 mots pouvant être traduits.
  • Enfin, Linguise prend en charge toutes les formes d'assistance client, y compris les articles de guide, la documentation, les actualités sur les produits, les didacticiels vidéo YouTube et le chat d'assistance 24h/24 et 7j/7.

D'après les points ci-dessus, Linguise peut être une solution technologique de traduction d'IA cloud pour Laravel.

Prêt à explorer de nouveaux marchés ? Essayez gratuitement notre service de traduction automatique avec notre essai sans risque d'un mois. Aucune carte de crédit nécessaire!

Conclusion

Dans cet article, nous avons exploré les principales différences entre la mise en œuvre des applications Web Google Cloud AI API Translation et Google Translate pour Laravel .

Google Cloud AI API Translation excelle en termes de précision et de nécessité de traductions de haute précision. Cependant, ce service nécessite une configuration plus complexe et coûte plus cher que Google Translate. D'un autre côté, Google Translate offre une facilité d'intégration mais présente des limites en termes de précision et d'options de personnalisation.

Linguise apparaît comme un service de traduction cloud alternatif basé sur l'IA et compatible avec les sites Web Laravel . Avec des niveaux de précision presque équivalents aux traductions humaines, des options d'éditeur de traduction, des temps de chargement rapides et un support client complet, Linguise devient une excellente solution de traduction pour votre site web Laravel .

Si vous souhaitez essayer Linguise , vous pouvez créer un compte gratuit et profiter d'une période d'essai de 30 jours avec une limite de 600 000 mots traduits. Visitez linguise pour plus d’informations !

Vous pouvez également être intéressé à lire

Ne manquez pas!
Abonnez-vous à notre newsletter

Recevez des nouvelles sur la traduction automatique de sites Web, le référencement international et plus encore !

Invalid email address
Essaie. Un par mois et vous pouvez vous désabonner à tout moment.

Ne partez pas sans partager votre email !

Nous ne pouvons pas garantir que vous gagnerez à la loterie, mais nous pouvons vous promettre des informations intéressantes sur la traduction et des remises occasionnelles.

Ne manquez pas!
Invalid email address