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

appareils électroniques, noir et blanc
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 et offrir une bonne expérience utilisateur.

Heureusement, plusieurs services de traduction automatique sont disponibles pour aider les développeurs à surmonter cette difficulté, notamment Google Cloud AI API Translation et Google Translate. Ces deux services offrent des fonctionnalités de traduction automatique.

Dans cet article, nous explorerons les principales différences entre la mise en œuvre de Google Cloud AI Translation et de Google Translate pour Laravel et nous vous 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 le vif du sujet, nous allons aborder les significations respectives de l'API Google Cloud AI et des traductions de Google Translate.

Traduction de l'API Google Cloud AI

Serveur et stockage cloud Google Cloud

L'API de traduction IA de Google Cloud 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 offrir des traductions précises et naturelles de textes, de voix et de documents.

L'API Google Cloud AI Translation utilise des modèles de traduction neuronaux basés sur l'apprentissage profond, ce qui lui permet de mieux saisir les nuances et le contexte de la langue et de fournir des traductions plus idiomatiques, fidèles à l'usage réel. De plus, l'utilisation de Google Cloud AI Translation est gratuite jusqu'à 500 000 caractères ; au-delà de 75 000 caractères, le coût est de 20 $ par million de caractères. 

Google Traduction

Interface des paramètres de traduction. Options des paramètres de langue.

Par ailleurs, Google Traduction est un service de traduction automatique de texte établi de longue date et largement répandu. Il utilise une approche de traduction statistique plus traditionnelle, qui génère des traductions à partir de modèles et de probabilités appris grâce à de vastes ensembles de données d'entraînement.

Bien qu'il ne soit pas aussi avancé que l'API de traduction IA de Google Cloud 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 un usage non commercial.

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

Plusieurs services de traduction, dont Linguise , utilisent de traduction IA dans le cloud pour traduire des sites web.

Le service de traduction utilise une API d'IA cloud comme technologie de traduction. Voici les étapes d'implémentation sur un Laravel . Nous supposons que vous disposez déjà d'un Laravel .

Créer un compte Linguise

Pour utiliser Linguise , vous devez créer un compte . L'inscription est gratuite, mais vous pouvez aussi vous abonner pour un mois ou un an. Il vous suffit de fournir votre adresse e-mail, votre nom d'utilisateur et votre mot de passe.

Ajouter des informations sur le site web Laravel

Ensuite, ajoutez les informations concernant le site web que vous utiliserez, saisissez les informations de votre compte Linguise et l'URL du site web, sélectionnez la plateforme Laravel , puis ajoutez la langue par défaut et la langue que vous souhaitez ajouter au site web.

 

Animation de chargement

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

Téléversez et configurez le script PHP

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

menu de navigation du système de fichiers de l'ordinateur

Ensuite, copiez la clé API Linguise 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.

Capture d'écran de la configuration du code

Insérer le script du sélecteur de langue

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

Sélecteur de langage de script - Implémentation de la traduction via 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é.

Fenêtre de terminal avec sortie de code

Configurer le fichier .htaccess

Enfin, les URL basées sur la langue doivent être configurées dans le fichier .htaccess. Si votre fichier contient « 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>
				
			

Terminé. Vous avez maintenant implémenté avec succès la traduction automatique via l'API IA cloud sur le Linguise . Vous pouvez consulter le Laravel . Un sélecteur de langue par défaut s'affiche ; vous pouvez Laravel personnaliser via le tableau de bord.

un homme au passé sombre, à l&#39;atmosphère mystérieuse

Intégrer Google Traduction sur Laravel

Nous allons maintenant tenter d'intégrer Google Traduction à Laravel. Nous partons du principe que vous avez déjà créé un projet Laravel et qu'il vous suffit d'y ajouter Google Traduction.

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

Installer le package Google Translator

Pour installer le package Google Translator, ouvrez l'invite de commandes du projet et saisissez la commande suivante. Ce package vous permettra d'utiliser les fonctionnalités de google-translator-language.

				
					composer require stichoza/google-translate-php
				
			

Configuration du package Google Translator

Nous devons configurer le « package Google Translate » dans l’application. Ouvrez le fichier app.php dans le dossier /config, trouvez la section « aliases » et ajoutez la ligne de code suivante.

Un terminal informatique affichant du code à l&#39;écran. L&#39;écran présente différentes lignes de code.
				
					/*
|--------------------------------------------------------------------------
| 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
				
			

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

écran d&#39;ordinateur affichant des lignes de code
				
					<?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 Blade

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.

Image de code sur un écran d&#39;ordinateur. Texte de programmation.
				
					<!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">window.lazyLoadOptions=Object.assign({},{threshold:300},window.lazyLoadOptions||{});!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 o(t){return e({},at,t)}function l(t,e){return t.getAttribute(gt+e)}function c(t){return l(t,vt)}function s(t,e){return function(t,e,n){e=gt+e;null!==n?t.setAttribute(e,n):t.removeAttribute(e)}(t,vt,e)}function i(t){return s(t,null),0}function r(t){return null===c(t)}function u(t){return c(t)===_t}function d(t,e,n,a){t&&(void 0===a?void 0===n?t(e):t(e,n):t(e,n,a))}function f(t,e){et?t.classList.add(e):t.className+=(t.className?" ":"")+e}function _(t,e){et?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 v(t,e){!e||(e=e._observer)&&e.unobserve(t)}function b(t,e){t&&(t.loadingCount+=e)}function p(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 h(t,e){(t=t.parentNode)&&"PICTURE"===t.tagName&&n(t).forEach(e)}function a(t,e){n(t).forEach(e)}function m(t){return!!t[lt]}function E(t){return t[lt]}function I(t){return delete t[lt]}function y(e,t){var n;m(e)||(n={},t.forEach(function(t){n[t]=e.getAttribute(t)}),e[lt]=n)}function L(a,t){var o;m(a)&&(o=E(a),t.forEach(function(t){var e,n;e=a,(t=o[n=t])?e.setAttribute(n,t):e.removeAttribute(n)}))}function k(t,e,n){f(t,e.class_loading),s(t,st),n&&(b(n,1),d(e.callback_loading,t,n))}function A(t,e,n){n&&t.setAttribute(e,n)}function O(t,e){A(t,rt,l(t,e.data_sizes)),A(t,it,l(t,e.data_srcset)),A(t,ot,l(t,e.data_src))}function w(t,e,n){var a=l(t,e.data_bg_multi),o=l(t,e.data_bg_multi_hidpi);(a=nt&&o?o:a)&&(t.style.backgroundImage=a,n=n,f(t=t,(e=e).class_applied),s(t,dt),n&&(e.unobserve_completed&&v(t,e),d(e.callback_applied,t,n)))}function x(t,e){!e||0<e.loadingCount||0<e.toLoadCount||d(t.callback_finish,e)}function M(t,e,n){t.addEventListener(e,n),t.llEvLisnrs[e]=n}function N(t){return!!t.llEvLisnrs}function z(t){if(N(t)){var e,n,a=t.llEvLisnrs;for(e in a){var o=a[e];n=e,o=o,t.removeEventListener(n,o)}delete t.llEvLisnrs}}function C(t,e,n){var a;delete t.llTempImage,b(n,-1),(a=n)&&--a.toLoadCount,_(t,e.class_loading),e.unobserve_completed&&v(t,n)}function R(i,r,c){var l=g(i)||i;N(l)||function(t,e,n){N(t)||(t.llEvLisnrs={});var a="VIDEO"===t.tagName?"loadeddata":"load";M(t,a,e),M(t,"error",n)}(l,function(t){var e,n,a,o;n=r,a=c,o=u(e=i),C(e,n,a),f(e,n.class_loaded),s(e,ut),d(n.callback_loaded,e,a),o||x(n,a),z(l)},function(t){var e,n,a,o;n=r,a=c,o=u(e=i),C(e,n,a),f(e,n.class_error),s(e,ft),d(n.callback_error,e,a),o||x(n,a),z(l)})}function T(t,e,n){var a,o,i,r,c;t.llTempImage=document.createElement("IMG"),R(t,e,n),m(c=t)||(c[lt]={backgroundImage:c.style.backgroundImage}),i=n,r=l(a=t,(o=e).data_bg),c=l(a,o.data_bg_hidpi),(r=nt&&c?c:r)&&(a.style.backgroundImage='url("'.concat(r,'")'),g(a).setAttribute(ot,r),k(a,o,i)),w(t,e,n)}function G(t,e,n){var a;R(t,e,n),a=e,e=n,(t=Et[(n=t).tagName])&&(t(n,a),k(n,a,e))}function D(t,e,n){var a;a=t,(-1<It.indexOf(a.tagName)?G:T)(t,e,n)}function S(t,e,n){var a;t.setAttribute("loading","lazy"),R(t,e,n),a=e,(e=Et[(n=t).tagName])&&e(n,a),s(t,_t)}function V(t){t.removeAttribute(ot),t.removeAttribute(it),t.removeAttribute(rt)}function j(t){h(t,function(t){L(t,mt)}),L(t,mt)}function F(t){var e;(e=yt[t.tagName])?e(t):m(e=t)&&(t=E(e),e.style.backgroundImage=t.backgroundImage)}function P(t,e){var n;F(t),n=e,r(e=t)||u(e)||(_(e,n.class_entered),_(e,n.class_exited),_(e,n.class_applied),_(e,n.class_loading),_(e,n.class_loaded),_(e,n.class_error)),i(t),I(t)}function U(t,e,n,a){var o;n.cancel_on_exit&&(c(t)!==st||"IMG"===t.tagName&&(z(t),h(o=t,function(t){V(t)}),V(o),j(t),_(t,n.class_loading),b(a,-1),i(t),d(n.callback_cancel,t,e,a)))}function $(t,e,n,a){var o,i,r=(i=t,0<=bt.indexOf(c(i)));s(t,"entered"),f(t,n.class_entered),_(t,n.class_exited),o=t,i=a,n.unobserve_entered&&v(o,i),d(n.callback_enter,t,e,a),r||D(t,n,a)}function q(t){return t.use_native&&"loading"in HTMLImageElement.prototype}function H(t,o,i){t.forEach(function(t){return(a=t).isIntersecting||0<a.intersectionRatio?$(t.target,t,o,i):(e=t.target,n=t,a=o,t=i,void(r(e)||(f(e,a.class_exited),U(e,n,a,t),d(a.callback_exit,e,n,t))));var e,n,a})}function B(e,n){var t;tt&&!q(e)&&(n._observer=new IntersectionObserver(function(t){H(t,e,n)},{root:(t=e).container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}))}function J(t){return Array.prototype.slice.call(t)}function K(t){return t.container.querySelectorAll(t.elements_selector)}function Q(t){return c(t)===ft}function W(t,e){return e=t||K(e),J(e).filter(r)}function X(e,t){var n;(n=K(e),J(n).filter(Q)).forEach(function(t){_(t,e.class_error),i(t)}),t.update()}function t(t,e){var n,a,t=o(t);this._settings=t,this.loadingCount=0,B(t,this),n=t,a=this,Y&&window.addEventListener("online",function(){X(n,a)}),this.update(e)}var Y="undefined"!=typeof window,Z=Y&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),tt=Y&&"IntersectionObserver"in window,et=Y&&"classList"in document.createElement("p"),nt=Y&&1<window.devicePixelRatio,at={elements_selector:".lazy",container:Z||Y?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",it="srcset",rt="sizes",ct="poster",lt="llOriginalAttrs",st="loading",ut="loaded",dt="applied",ft="error",_t="native",gt="data-",vt="ll-status",bt=[st,ut,dt,ft],pt=[ot],ht=[ot,ct],mt=[ot,it,rt],Et={IMG:function(t,e){h(t,function(t){y(t,mt),O(t,e)}),y(t,mt),O(t,e)},IFRAME:function(t,e){y(t,pt),A(t,ot,l(t,e.data_src))},VIDEO:function(t,e){a(t,function(t){y(t,pt),A(t,ot,l(t,e.data_src))}),y(t,ht),A(t,ct,l(t,e.data_poster)),A(t,ot,l(t,e.data_src)),t.load()}},It=["IMG","IFRAME","VIDEO"],yt={IMG:j,IFRAME:function(t){L(t,pt)},VIDEO:function(t){a(t,function(t){L(t,pt)}),L(t,ht),t.load()}},Lt=["IMG","IFRAME","VIDEO"];return t.prototype={update:function(t){var e,n,a,o=this._settings,i=W(t,o);{if(p(this,i.length),!Z&&tt)return q(o)?(e=o,n=this,i.forEach(function(t){-1!==Lt.indexOf(t.tagName)&&S(t,e,n)}),void p(n,0)):(t=this._observer,o=i,t.disconnect(),a=t,void o.forEach(function(t){a.observe(t)}));this.loadAll(i)}},destroy:function(){this._observer&&this._observer.disconnect(),K(this._settings).forEach(function(t){I(t)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var e=this,n=this._settings;W(t,n).forEach(function(t){v(t,e),D(t,n,e)})},restoreAll:function(){var e=this._settings;K(e).forEach(function(t){P(t,e)})}},t.load=function(t,e){e=o(e);D(t,e)},t.resetStatus=function(t){i(t)},t}),function(t,e){"use strict";function n(){e.body.classList.add("litespeed_lazyloaded")}function a(){console.log("[LiteSpeed] Start Lazy Load"),o=new LazyLoad(Object.assign({},t.lazyLoadOptions||{},{elements_selector:"[data-lazyloaded]",callback_finish:n})),i=function(){o.update()},t.MutationObserver&&new MutationObserver(i).observe(e.documentElement,{childList:!0,subtree:!0,attributes:!0})}var o,i;t.addEventListener?t.addEventListener("load",a,!1):t.attachEvent("onload",a)}(window,document);</script><script data-no-optimize="1">window.litespeed_ui_events=window.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><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/9b8efcfc737deb7fa0a6d88c1a4a87b5.js?ver=fd4ac"></script></body>

</html>

				
			

Configuration du middleware de langage

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 y collera ce contenu.

Image pixélisée en noir et blanc. Aucun détail net n&#39;est visible.
				
					<?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);
    }
}

				
			

Intergiciel de langue enregistré 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.

Image floue d&#39;un texte sur fond noir. Le texte est illisible.
				
					/**
 * 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 le fichier web.php situé dans le dossier /routes et ajoutez-y ces routes.

Web.php - Implémentation de la traduction via l&#39;API Google Cloud AI (par opposition à 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 Web de test

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

				
					php artisan serve
				
			

Voici une capture d'écran du Laravel créé à partir du site onlinewebtutorblog.com.

Une image déformée de ce qui semble être un écran d&#39;ordinateur.

Voici donc à quoi ressemble le site web Laravel une fois traduit en arabe.

Écran d&#39;ordinateur défectueux. Affichage de code et de texte déformés.

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

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

Processus d'installation et de configuration

Illustration en noir et blanc. Des personnes se tiennent près d&#39;une grande cible.
  • Traduction de l'API Google Cloud AI : le processus d'installation et de configuration est plus complexe car il nécessite la création d'un projet sur Google Cloud Platform (GCP), l'activation de l'API Cloud Translation, la création d'un compte de service, la génération de clés API et la configuration du client API dans votre Laravel . Ce processus comporte plusieurs étapes et requiert un compte GCP valide.
  • Google Traduction : L’installation et la configuration sont beaucoup plus simples. Il suffit d’installer un package ou une bibliothèque tierce via Composer, comme stichoza/google-translate-php. Ensuite, vous pouvez configurer la clé API Google Traduction dans le Laravel .

Précision de la traduction

Un groupe de personnes rassemblées autour d&#39;un ordinateur.
  • Traduction automatique de l'API Google Cloud AI : grâce à ses capacités d'apprentissage profond, ce service saisit mieux les contextes et les nuances linguistiques complexes. Il permet ainsi une traduction plus précise des expressions idiomatiques, des figures de style et des jeux de mots difficiles à traduire littéralement.
  • Google Traduction a souvent du mal à saisir les nuances et le contexte subtil de la langue, ce qui donne des résultats peu naturels et artificiels. De plus, son approche statistique rend la traduction des expressions idiomatiques et des figures de style souvent moins précise.

Vitesse de réponse

Une fusée qui décolle d&#39;un ordinateur portable et d&#39;un téléphone portable.
  • Traduction via l'API Google Cloud AI : généralement plus rapide pour répondre aux demandes de traduction grâce à l'utilisation de traduction automatique neuronaux , hébergés sur l'infrastructure cloud robuste de Google. Cela permet des temps de réponse plus courts, notamment pour les textes longs ou les volumes importants de traductions.
  • Google Traduction peut être légèrement plus lent à répondre aux demandes de traduction, notamment pour les documents ou textes longs. Cela s'explique par l'utilisation d'une combinaison plus traditionnelle d'approches de traduction statistiques et neuronales, potentiellement moins performantes que les modèles neuronaux utilisés par l'API de traduction IA de Google Cloud.

Capacités de personnalisation et de contrôle

Un écran d&#39;ordinateur déformé avec des effets de glitch. L&#39;image semble corrompue.
  • L'API Google Cloud AI Translation offre davantage d'options pour personnaliser et contrôler le processus de traduction, notamment la définition des préférences de traduction, l'importation de glossaires personnalisés et l'accès à l' de l'éditeur en direct pour modifier manuellement les résultats. Les utilisateurs peuvent ainsi améliorer la précision des traductions selon leurs besoins.
  • Google Traduction offre des options de personnalisation et de contrôle plus limitées. Les utilisateurs doivent se fier aux résultats de la traduction automatique, sans pouvoir les modifier ou les personnaliser directement.

Fonctionnalités avancées

Écran d&#39;ordinateur avec fonctions d&#39;accessibilité et tasse de café
  • Traduction via l'API Google Cloud AI : La technologie de traduction automatique de Google Cloud AI offre plusieurs fonctionnalités avancées, telles qu'un glossaire, la sélection de modèles et des modèles AutoML. De plus, dans le cadre de la traduction automatique dans le cloud avec Linguise , elle propose également des fonctionnalités avancées comme l'exclusion de la traduction de certains mots, tels que les termes techniques, les noms de marque, etc., en fonction des lignes, des pages ou des URL.
  • Google Traduction : L’application Google Traduction installée dans Laravel ne peut pas traduire de documents audio ni d’autres types de fichiers. Elle peut uniquement traduire le texte du site web dans une autre langue, sans possibilité de modifier 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 éléments à prendre en compte pour choisir le meilleur service de traduction pour votre site web Laravel .

  • Haute précision de traduction – La précision de la traduction est un facteur essentiel. Si votre site web exige des traductions très précises, notamment pour les contenus complexes et le langage nuancé, l'API de traduction IA de Google Cloud pourrait être une meilleure option que Google Traduction.
  • Facilité d'intégration et de configuration — Envisagez d'installer et de configurer le service de traduction avec votre Laravel . Google Translate est généralement plus facile à intégrer car il est disponible sous forme de package ou de bibliothèque PHP. En revanche, l'API de traduction IA de Google Cloud nécessite une configuration plus complexe sur la plateforme Google Cloud.
  • Fonctionnalités et options de personnalisation – Si vous avez besoin de fonctionnalités supplémentaires telles qu'un glossaire ou la traduction de terminologie spécialisée, de traduction de l'éditeur ou d'autres options de personnalisation, l'API de traduction IA de Google Cloud offre plus de choix que Google Translate.
  • Rapidité et temps de réponse – Pour les applications avec des volumes de traduction importants ou nécessitant une réponse rapide, l'API Google Cloud AI Translation répond généralement aux demandes de traduction plus rapidement que Google Translate.
  • Coût et budget – Google Traduction est gratuit pour un usage non commercial, tandis que l'API de traduction Google Cloud AI utilise un modèle de facturation payant basé sur l'utilisation. Tenez compte de votre budget et du volume de traductions estimé pour choisir le service le plus avantageux.
  • Assistance et documentation – Pensez également à l'assistance technique et à la documentation disponibles pour chaque service. L'API Google Cloud AI Translation bénéficie probablement d'une documentation et d'une assistance plus complètes de la part de Google.

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

Services professionnels de conception et de développement de sites web, optimisation SEO

Jusqu'à présent, vous connaissez déjà les critères de choix d'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 qui utilise l'intelligence artificielle dans le cloud pour produire des traductions de contenu. Ce service peut s'avérer la solution idéale pour traduire un Laravel . Pourquoi ? Parce que Linguise prend en compte les points mentionnés précédemment.

  • Linguise offre une qualité de traduction irréprochable. Bien que sa précision varie selon les paires de langues, Linguise affiche un taux de précision de près de 97 %, comparable à celui d'une traduction humaine.
  • Linguise est également intégré à plus de 40 CMS et constructeurs de sites web, ainsi qu'à des sites web basés sur PHP comme Laravel .
  • Bien que la traduction soit automatique, Linguise dispose d'un éditeur en direct permettant de modifier les résultats. Ainsi, la traduction peut être adaptée aux besoins de l'entreprise.
  • Le temps de chargement des pages multilingues n'est que 5 % plus long que celui des pages dans la langue d'origine.
  • Notre service est disponible en trois formules, de 15 $ à 45 $ par mois. Bien qu'il soit payant, nous proposons également une période d'essai gratuite de 30 jours, limitée à 600 000 mots traduisibles.
  • Enfin, Linguise prend en charge toutes les formes d'assistance client, y compris les articles de guide, la documentation, les actualités produits, les tutoriels vidéo YouTube et un chat d'assistance disponible 24h/24 et 7j/7.

D’après les points ci-dessus, Linguise peut être une solution technologique de traduction 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 de l'API de traduction d'IA de Google Cloud et de Google Translate pour les applications web Laravel .

L'API de traduction IA de Google Cloud excelle en matière de précision et répond parfaitement aux besoins de traductions de haute qualité. Cependant, ce service exige une configuration plus complexe et est plus onéreux que Google Traduction. Par ailleurs, Google Traduction offre une intégration aisée, mais présente des limitations en termes de précision et d'options de personnalisation.

Linguise se présente comme un service de traduction automatique basé sur l'IA et hébergé dans le cloud, compatible avec les sites web Laravel . Offrant une précision quasi identique à celle des traductions humaines, des options d'édition de traduction, des temps de chargement rapides et un support client complet, Linguise constitue 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. Rendez-vous sur linguise pour plus d'informations !

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

Ne manquez pas!
Abonnez-vous à notre newsletter

Recevez des actualités sur la traduction automatique de sites web, le référencement international et bien plus encore !

Invalid email address
Essayez-le. 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