Implémenter la traduction de l'API Google Cloud AI vs Google Translate pour Laravel

appareils électroniques, noir et blanc
Table des matières

Pour ceux d'entre vous qui possèdent des sites Web basés sur 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 à relever ce défi, notamment la traduction de l'API Google Cloud AI et Google Translate. Les deux services offrent des capacités de traduction utilisant la technologie machine.

Dans cet article, nous allons explorer les principales différences entre la mise en œuvre de la traduction Google Cloud AI et Google Translate pour les applications Laravel et recommander les meilleurs services de traduction pour votre site Web Laravel.

Qu'est-ce que la traduction API Google Cloud AI et Google Translate ?

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

Traduction API Google Cloud AI

Serveur Google Cloud et stockage cloud

La traduction de l'API Google Cloud AI est un service de traduction automatique avancé fourni par Google Cloud Platform. Ce service tire parti des 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.

La traduction de l'API Google Cloud AI utilise des modèles de traduction neuronaux basés sur l'apprentissage profond, ce qui lui permet de capturer les nuances et le contexte de la langue de manière plus efficace, en fournissant des traductions plus idiomatiques qui correspondent à l'usage réel de la langue. De plus, l'utilisation de la traduction de l'API Google Cloud AI jusqu'à 500 000 caractères est gratuite, tandis que les 75 000 caractères suivants coûteront 20 $ par million de caractères. 

Traduction Google

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

Pendant ce temps, Google Translate est un service de traduction de texte automatique 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 appris à partir de grands ensembles de données d'entraînement.

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 Google Cloud AI API sur Laravel

Plusieurs services de traduction, y compris Linguise, utilisent la technologie cloud de traduction par IA pour traduire les sites Web.

Le service de traduction de langue utilise l'API d'IA en cloud comme l'une de ses technologies de traduction. Voici les étapes de mise en œuvre sur le Laravel site web. Nous supposons ici que vous avez déjà un site web de projet Laravel prêt.

Créer un compte Linguise

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

Ajouter les informations du site web Laravel

Après cela, ajoutez des informations sur le site web que vous utiliserez, entrez vos informations de compte Linguise et l'URL du site web, sélectionnez la plateforme Laravel , et 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 suivant et enregistrez-le sur votre ordinateur local.

Télécharger et configurer 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 est situé à la racine de votre installation Laravel (généralement où se trouvent vos fichiers CMS). Assurez-vous que le dossier est nommé «linguise» (nom par défaut lorsque le dossier est décompressé).

Menu de navigation du système de fichiers informatique

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.

Capture d'écran de la configuration du code

Insérer le script du commutateur de langue

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

Script de commutateur de langue - Implémenter la traduction de l'API Google Cloud AI vs Google Translate pour Laravel

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

Fenêtre de terminal avec sortie de code

Configurer .htaccess

Enfin, les URL basées sur la langue doivent être configurées dans le fichier .htaccess. Si votre fichier comprend «RewriteBase /,» copiez-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é. À ce stade, vous avez mis en œuvre avec succès la traduction de l'API cloud AI sur le Linguise service. Maintenant, vous pouvez vérifier le Laravel site Web. Un sélecteur de langue par défaut apparaîtra, et vous pouvez personnaliser le sélecteur de langue pour Laravel via le tableau de bord.

un homme avec un fond sombre, atmosphère mystérieuse

Implémenter Google Translate sur Laravel

Maintenant, nous allons essayer de mettre en œuvre Google Translate dans Laravel. Ici, nous supposons que vous avez créé avec succès un projet Laravel et que vous avez juste besoin d'ajouter Google Translate.

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

Installer le package de traduction Google

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

				
					composer require stichoza/google-translate-php
				
			

Paramètre du package de traduction Google

Nous devons configurer le « package de traducteur Google » 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 avec du texte de codage à l'écran. L'affichage montre diverses 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(),

				
			

Configuration du contrôleur de langue

Vous devez créer un fichier de contrôleur de langue comme suit

				
					php artisan make:controller LangController
				
			

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

écran d'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'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/b70e6434354129afc7011847424509bb.js?ver=7361b"></script></body>

</html>

				
			

Paramétrage du middleware de langue

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

Une image pixelisée en noir et blanc. Aucun détail clair 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);
    }
}

				
			

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

Une image floue de texte sur un 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 une route

Ouvrez web.php à partir du dossier /routes et ajoutez ces routes à l'intérieur.

Web.php - Implémentation de la traduction de l'API Google Cloud AI vs 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');


				
			

Tester le site web

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

				
					php artisan serve
				
			

Voici un affichage du site web Laravel du site web onlinewebtutorblog.com qui a été créé, comme vous pouvez le voir dans l'affichage suivant, il y a un menu déroulant Google Translate.

Une image déformée de ce qui semble être un écran d'ordinateur.

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

Écran d'ordinateur défectueux. Affichage de code et de texte déformés.

Quelle est la différence entre la mise en œuvre de Google Cloud AI translation et Google Translate sur Laravel?

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

Processus d'installation et de configuration

Une illustration en noir et blanc. Des personnes debout près d'une grande cible.
  • 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 de traduction Cloud, créer un compte de service, générer des clés API et configurer le client API dans votre application Laravel. Cela implique plusieurs étapes et nécessite un compte GCP valide.
  • Google Traduction : Laravel

Précision de la traduction

Groupe de personnes rassemblées autour d'un ordinateur.
  • Traduction de l'API Google Cloud AI : Grâce à ses capacités d'apprentissage profond, ce service peut mieux capturer les contextes linguistiques complexes et les nuances. Cela permet une traduction plus précise des expressions idiomatiques, des phrases figuratives et des jeux de mots difficiles à traduire littéralement.
  • Google Traduction : a souvent des difficultés à capturer le contexte et les nuances linguistiques plus fins, ce qui rend les résultats sonnant 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

Un vaisseau spatial décollant d'un ordinateur portable et d'un téléphone mobile.
  • Traduction de l'API Google Cloud AI : Généralement plus rapide pour répondre aux demandes de traduction car elle utilise des modèles de traduction automatique neuronale optimisés hébergés sur l'infrastructure cloud robuste de Google. Cela permet des temps de réponse plus rapides, en particulier pour les textes plus longs ou les grands volumes de traductions.
  • Google Translate : Il peut être légèrement plus lent pour répondre aux demandes de traduction, en particulier pour les documents ou les textes plus longs. C'est parce qu'il utilise un mélange plus traditionnel d'approches de traduction statistiques et neuronales, 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

Un écran d'ordinateur déformé avec des effets de glitch. L'image semble être corrompue.
  • Traduction de l'API Google Cloud AI : Offre plus 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'interface de traduction de l'éditeur en direct pour éditer manuellement les résultats de traduction. Cela permet aux utilisateurs d'améliorer la précision de la traduction en fonction de leurs besoins.
  • Google Traduire : Disposant d'options de personnalisation et de contrôle plus limitées. Les utilisateurs doivent s'appuyer sur des résultats de traduction automatique sans avoir la possibilité de modifier ou de personnaliser directement les résultats.

Fonctionnalités avancées

Écran d'ordinateur avec des fonctionnalités d'accessibilité et une tasse de café
  • Traduction de l'API Google Cloud AI : La technologie de traduction de Google Cloud AI présente 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 cloud AI avec Linguise, il dispose également de fonctionnalités avancées telles que les exclusions de traduction pour des mots spécifiques tels que les termes techniques, les noms de marque, etc., en fonction des lignes, des pages ou des URL.
  • Google Traduction : Google Traduction installé dans Laravel ne peut pas traduire des documents audio ou autres. Il ne peut que traduire le texte sur le site web en 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 à une 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 la précision de la traduction produite. Si votre site web nécessite des traductions très précises, en particulier pour un contenu complexe et un langage nuancé, alors la traduction par API Google Cloud AI pourrait être un meilleur choix que Google Traduction.
  • 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. Entre-temps, Google Cloud AI API Translation 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 une traduction de terminologie spécialisée, traduction de l'éditeur résultats, 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 plus rapidement aux demandes de traduction 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. Considérez votre budget et le volume de traduction estimé pour choisir le service le plus rentable.
  • Support et documentation – Considérez également le support technique et la documentation disponibles pour chaque service. Google Cloud AI API Translation peut disposer d'une documentation et d'un support plus complets de Google.

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

Conception et développement de sites web professionnels, optimisation SEO

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 site web utilisant la technologie de traduction par intelligence artificielle en cloud pour produire des traductions de contenu. Ce service peut être la meilleure solution pour traduire un site web basé sur Laravel. Pourquoi est-ce ainsi ? 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 à une traduction humaine.
  • Linguise est également intégré à plus de 40 CMS et constructeurs de sites Web, ainsi qu'intégré aux sites Web basés sur PHP comme Laravel.
  • Bien qu'il traduise automatiquement, Linguise dispose d'un éditeur en ligne qui peut être utilisé pour éditer les résultats de traduction. De cette façon, la traduction peut être ajustée aux préférences de l'entreprise.
  • Le temps de chargement des pages multilingues n'est que de 5 % supérieur à 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 gratuit de 30 jours avec une limite de 600 000 mots qui peuvent être traduits.
  • Enfin, Linguise prend en charge toutes les formes d'assistance client, y compris les articles de guide, la documentation, les actualités produit, les tutoriels vidéo YouTube et le chat de support 24h/24 et 7j/7.

D'après les points ci-dessus, Linguise peut être une solution de technologie de traduction par intelligence artificielle en cloud pour Laravel.

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

Conclusion

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

La traduction de l'API Google Cloud AI excelle en précision et répond au besoin de traductions de haute précision. Cependant, ce service nécessite une configuration plus complexe et est plus coûteux que Google Translate. D'autre part, 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 alternatif basé sur l'IA cloud compatible avec les sites Web Laravel . Avec des niveaux de précision proches des 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.com pour plus d'informations !

Vous pourriez également être intéressé par la lecture de

Ne manquez pas !
Abonnez-vous à notre newsletter

Recevez des nouvelles sur la traduction automatique de sites Web, le SEO international, et plus encore !

Invalid email address
Essayez-le. Une fois par mois, et vous pouvez vous désinscrire à tout moment.

Ne partez pas sans partager votre e-mail !

Nous ne pouvons pas garantir que vous gagnerez à la loterie, mais nous pouvons promettre des actualités informatives intéressantes autour de la traduction et des remises occasionnelles.

Ne manquez pas !
Invalid email address