Implementați traducerea API Google Cloud AI vs Google Translate pentru Laravel

dispozitive electronice, alb și negru
Tabel de Conținut

Pentru cei dintre voi care dețin site-uri web bazate pe Laravel, furnizarea de conținut de traducere precis și natural este foarte importantă pentru a traduce site-ul dvs. și pentru a oferi o experiență bună utilizatorilor.

Din fericire, există mai multe servicii de traducere automate disponibile pentru a ajuta dezvoltatorii să depășească această provocare, inclusiv Traducerea API Google Cloud AI și Google Translate. Ambele servicii oferă capabilități de traducere utilizând tehnologie de mașină.

În acest articol, vom explora principalele diferențe între implementarea Traducerii Google Cloud AI și Google Translate pentru aplicații Laravel și vom recomanda cele mai bune servicii de traducere pentru site-ul dvs. Laravel.

Ce sunt traducerea API Google Cloud AI și Google Translate?

Înainte de a intra în discuție, vom discuta semnificațiile respective ale traducerilor Google Cloud AI API și Google Translate.

Traducere Google Cloud AI API

Server Google Cloud și stocare în cloud

Traducerea Google Cloud AI API este un serviciu avansat de traducere automată furnizat de Google Cloud Platform. Acest serviciu folosește cele mai recente tehnologii de inteligență artificială (AI) și învățare automată pentru a furniza traduceri precise și naturale ale textului, vocii și documentelor.

Traducerea Google Cloud AI API folosește modele de traducere neuronală bazate pe învățarea profundă, ceea ce îi permite să surprindă mai bine nuanțele și contextul limbajului, oferind traduceri mai idiomatice care se aliniază cu utilizarea reală a limbii. În plus, utilizarea Google Cloud AI Translation pentru până la 500.000 de caractere este gratuită, în timp ce următoarele 75.000 de caractere vor costa 20 de dolari per milion de caractere. 

Google Translate

Interfața de setări de traducere. Opțiuni de setări de limbă.

Între timp, Google Translate este un serviciu de traducere automată a textului îndelungat și cunoscut pe scară largă. Acesta utilizează o abordare de traducere statistică mai tradițională, care generează traduceri bazate pe modele și probabilități învățate din seturi mari de date de antrenament.

Deși nu este la fel de avansat ca Google Cloud AI API Translation în ceea ce privește acuratețea și gestionarea nuanțelor de limbă, Google Translate rămâne o alegere populară datorită ușurinței de utilizare și disponibilității gratuite pentru utilizare necomercială.

Implementați traducerea Google Cloud AI API pe Laravel

Mai multe servicii de traducere, inclusiv Linguise, utilizează tehnologie cloud de traducere AI pentru a traduce site-urile web.

Serviciul de traducere a limbilor folosește API-ul cloud AI ca una dintre tehnologiile sale de traducere. Următorii sunt pașii de implementare pe Laravel site-ul web. Presupunem aici că aveți deja un site web de proiect Laravel gata.

Creați un cont Linguise

Pentru a utiliza Linguise, trebuie să înregistrați un cont mai întâi. Puteți face acest lucru gratuit sau puteți să subscriți pentru o lună sau un an. Trebuie doar să furnizați informații cum ar fi adresa de email, numele de utilizator și parola.

Adăugați informații despre site-ul Laravel

După aceea, adăugați informații despre site-ul pe care îl veți utiliza, introduceți informațiile contului Linguise și URL-ul site-ului, selectați platforma Laravel și adăugați limba implicită și limba pe care doriți să o adăugați pe site.

 

Animație de încărcare

Apoi descărcați scriptul PHP prin butonul următor și salvați-l pe computerul local.

Încărcați și configurați scriptul PHP

După descărcarea scriptului, dezarhivați-l și încărcați-l în folderul rădăcină unde este instalat Laravel . Asigurați-vă că este localizat la rădăcina instalării Laravel (de obicei, unde se află fișierele CMS). Asigurați-vă că folderul este denumit „linguise” (numele implicit atunci când folderul este dezarhivat).

Meniu de navigare în sistemul de fișiere al computerului

Apoi, cheia API Linguise trebuie să fie copiată în fișierul …/linguise/Configuration.php pe care l-ați încărcat pe server. Editați fișierul și lipiți cheia API între ghilimele, înlocuind textul REPLACE_BY_YOUR_TOKEN.

Captură de ecran a configurației codului

Inserați scriptul de comutare a limbii

Apoi, inserați scriptul de comutare a limbii pe care l-ați primit de la tabloul de bord Linguise

Script de comutare a limbii - Implementați traducerea API Google Cloud AI vs Google Translate pentru Laravel

Inserat în fișierul front.blade.php din directorul resources/views/layouts/. Aici este o previzualizare a scriptului inserat.

Fereastră de terminal cu ieșire de cod

Configurați .htaccess

În cele din urmă, URL-urile bazate pe limbă trebuie să fie configurate în fișierul .htaccess. Dacă fișierul dvs. include „RewriteBase /”, pur și simplu copiați și lipiți următorul cod după acea linie.

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

Gata. În acest moment, ați implementat cu succes Traducerea API cloud AI pe serviciul Linguise. Acum, puteți verifica site-ul web Laravel. Un selector de limbă implicit va apărea și puteți personaliza selectorul de limbă pentru Laravel prin intermediul tabloului de bord.

un bărbat cu un fundal întunecat, atmosferă misterioasă

Implementați Google Translate pe Laravel

Acum vom încerca să implementăm Google Translate în Laravel. Aici presupunem că ați creat cu succes un proiect Laravel și trebuie doar să adăugați Google Translate.

Puteți găsi, de asemenea, următorii pași de instalare pe site-ul oficial Laravel.

Instalați pachetul de traducere Google

Pentru a instala pachetul de traducere Google, deschideți promptul de proiect și introduceți următoarea comandă. Acest pachet vă va permite să utilizați funcțiile de lucru ale limbii google-translator.

				
					composer require stichoza/google-translate-php
				
			

Setarea pachetului de traducere Google

Trebuie să configuram „pachetul de traducere google” în cadrul aplicației. Deschideți fișierul app.php din folderul /config, găsiți secțiunea „aliasuri” și adăugați următoarea linie de cod.

Un terminal de computer cu text de codare pe ecran. Afișajul arată diverse linii de cod.
				
					/*
|--------------------------------------------------------------------------
| 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(),

				
			

Configurare Controler de Limbă

Trebuie să creați un fișier de controler de limbă ca următorul

				
					php artisan make:controller LangController
				
			

Va crea fișierul LangController.php în interiorul dosarului /app/Http/Controllers.

ecran de computer care arată linii de cod
				
					<?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();
    }
}


				
			

Creați Fișier Șablon Blade

Navigați la dosarul /resources/views și creați un fișier numit lang.blade.php. Deschideți fișierul și inserați următorul cod în el.

Imagine cu cod pe un ecran de computer. Text de programare.
				
					<!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||(sessionStorage.getItem("litespeed_reloaded")?console.log("LiteSpeed: skipping guest vary reload (already reloaded this session)"):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),sessionStorage.setItem("litespeed_reloaded","1"),window.location.reload(!0))}));</script><script data-optimized="1" type="litespeed/javascript" data-src="https://www.linguise.com/wp-content/litespeed/js/78b92ce637228a37645eabd40b2b35f9.js?ver=e7c8e"></script></body>

</html>

				
			

Setări pentru Middleware de Limbă

Deschideți terminalul proiectului și rulați această comandă,

				
					php artisan make:middleware LanguageManager


				
			

Va crea un fișier LanguageManager.php în interiorul dosarului /app/Http/Middleware și lipiți acest lucru.

O imagine pixelată alb-negru. Nu sunt vizibile detalii clare.
				
					<?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);
    }
}

				
			

Înregistrați Middleware de Limbă prin Kernel.php

Deschideți fișierul Kernel.php situat în dosarul /app/Http. Căutați matricea $middlewareGroups și navigați la secțiunea web.

O imagine neclară a textului pe un fundal negru. Textul este ilizibil.
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

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

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

				
			

Adaugă rută

Deschideți web.php din folderul /routes și adăugați aceste rute în el.

Web.php - Implementați traducerea API Google Cloud AI vs Google Translate pentru Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

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


				
			

Testarea site-ului web

Executați această comandă în terminalul proiectului pentru a lansa serverul de dezvoltare.

				
					php artisan serve
				
			

Aici este afișată Laravel site-ul web de la onlinewebtutorblog.com care a fost creat, după cum puteți vedea în următoarea afișare există o listă derulantă Google Translate.

O imagine distorsionată a ceea ce pare a fi un ecran de computer.

Apoi aceasta este ceea ce arată atunci când site-ul web Laravel este tradus în arabă.

Ecran de computer cu defecțiuni. Afișează cod și text distorsionat.

Care este diferența dintre implementarea traducerii Google Cloud AI și Google Translate pe Laravel?

După ce vom înțelege fiecare implementare a traducerii Google Cloud AI și Google Translate în Laravel, vom discuta diferențele dintre ele.

Proces de instalare și configurare

O ilustrație alb-negru. Oameni care stau lângă o țintă mare.
  • Traducere API Google Cloud AI: Procesul de instalare și configurare este mai complex, deoarece trebuie să creați un proiect pe Google Cloud Platform (GCP), să activați API-ul de traducere în cloud, să creați un cont de serviciu, să generați chei API și să configurați clientul API în aplicația dvs. Laravel. Acest lucru implică mai mulți pași și necesită un cont GCP valid.
  • Google Translate: Instalarea și configurarea sunt mult mai simple. Trebuie doar să instalați un pachet sau o bibliotecă terță parte prin Composer, cum ar fi stichoza/google-translate-php. După aceea, puteți configura cheia API Google Translate în fișierul de configurare Laravel

Precizia traducerii

Grup de oameni adunați în jurul unui computer.
  • Traducere Google Cloud AI API:
  • Google Translate: de multe ori se luptă să surprindă contextul și nuanțele lingvistice mai fine, făcând rezultatele să sune rigid sau mai puțin natural. Datorită abordării statistice, traducerea expresiilor idiomatice sau a frazelor figurative este adesea mai puțin precisă.

Viteza de Răspuns

O navă rachetă decolează de pe un computer laptop și un telefon mobil.
  • Traducere Google Cloud AI API: În general, mai rapid în răspunsul la solicitările de traducere, deoarece utilizează modele de traducere automată neuronală optimizate găzduite pe infrastructura cloud robustă a Google. Acest lucru oferă timpi de răspuns mai rapizi, în special pentru texte mai lungi sau volume mari de traduceri.
  • Google Translate: Poate fi puțin mai lent în răspunsul la solicitările de traducere, în special pentru documente sau texte mai lungi. Acest lucru se datorează faptului că utilizează o combinație mai tradițională de abordări de traducere statistică și neuronală, care nu sunt la fel de eficiente ca modelele neuronale utilizate de traducerea Google Cloud AI API.

Capabilități de personalizare și control

Un ecran de computer distorsionat cu efecte glitchy. Imaginea pare a fi coruptă.
  • Traducere Google Cloud AI API: Oferă mai multe opțiuni pentru a personaliza și controla procesul de traducere, cum ar fi setarea preferințelor de traducere, încărcarea glosarelor personalizate și accesarea interfeței de traducere live editor pentru a edita manual rezultatele traducerii. Acest lucru permite utilizatorilor să îmbunătățească acuratețea traducerii în funcție de nevoile lor.
  • Google Translate: Are opțiuni mai limitate de personalizare și control. Utilizatorii trebuie să se bazeze pe rezultatele traducerii automate fără prea multă capacitate de a edita sau personaliza direct rezultatele.

Caracteristici Avansate

Ecran de computer cu caracteristici de accesibilitate și ceașcă de cafea
  • Traducere Google Cloud AI API: Tehnologia de traducere Google Cloud AI are mai multe caracteristici avansate, cum ar fi Glosar, selecție de model și modele AutoML. În plus, în contextul traducerii cloud AI cu Linguise, are și caracteristici avansate, cum ar fi excluderi de traducere pentru cuvinte specifice, cum ar fi termeni tehnici, nume de brand, etc., pe baza liniilor, paginilor sau URL-urilor.
  • Google Translate: Google Translate instalat în Laravel nu poate traduce documente audio sau altele. Poate traduce doar textul de pe site într-o altă limbă, fără posibilitatea de a edita rezultatele traducerii.
Sparge Barierele Limbajului
Spuneți adio barierelor lingvistice și salutati creșterea nelimitată! Încercați serviciul nostru de traducere automată astăzi.

Factori pe care ar trebui să-i luați în considerare atunci când alegeți un serviciu de traducere pentru site-ul dvs. Laravel

Iată câteva considerații pentru alegerea celui mai bun serviciu de traducere pentru site-ul dvs. Laravel .

  • Precizie ridicată a traducerii – Una dintre cele mai importante factori este acuratețea traducerii produse. Dacă site-ul dvs. necesită traduceri extrem de precise, în special pentru conținut complex și limbaj nuanțat, atunci Google Cloud AI API Translation ar putea fi o alegere mai bună decât Google Translate.
  • Ușurință de integrare și configurare — Luați în considerare instalarea și configurarea serviciului de traducere cu aplicația dvs. Laravel. Google Translate este în general mai ușor de integrat deoarece este disponibil ca pachet sau bibliotecă PHP. Între timp, Google Cloud AI API Translation necesită o configurare mai complexă pe platforma Google Cloud.
  • Caracteristici și opțiuni de personalizare – Dacă aveți nevoie de caracteristici suplimentare, cum ar fi un glosar sau traducerea terminologiei specializate, rezultatele traducerii editorului, sau alte opțiuni de personalizare, Google Cloud AI API Translation oferă mai multe opțiuni decât Google Translate.
  • Viteză și timp de răspuns – Pentru aplicațiile cu volume mari de traduceri sau care necesită un răspuns rapid, Google Cloud AI API Translation răspunde, în general, mai rapid la solicitările de traducere decât Google Translate.
  • Cost și buget – Google Translate este disponibil gratuit pentru utilizare necomercială, în timp ce Google Cloud AI API Translation utilizează un model de facturare plătit, bazat pe utilizare. Luați în considerare bugetul și volumul estimat de traduceri pentru a alege serviciul cel mai rentabil.
  • Suport și documentație – De asemenea, luați în considerare suportul tehnic și documentația disponibilă pentru fiecare serviciu. Traducerea API Google Cloud AI poate avea o documentație și un suport mai cuprinzător de la Google.

Linguise, cel mai bun serviciu de traducere AI în cloud pentru site-ul web Laravel

Servicii profesionale de design și dezvoltare web, optimizare SEO

Până în acest punct, cunoașteți deja considerentele pentru alegerea unui serviciu de traducere pentru Laravel; aproape toți factorii menționați mai sus sunt prezenți în serviciul de traducere Linguise .

Linguise este un serviciu de traducere pentru site-uri web care utilizează tehnologia de traducere AI în cloud pentru a produce traduceri de conținut. Acest serviciu poate fi cea mai bună soluție pentru traducerea unui site web bazat pe Laravel Linguise abordează considerentele menționate mai sus.

  • Linguise are o calitate de traducere perfectă. Deși această acuratețe variază în funcție de perechea de limbi, Linguise se mândrește cu o rată de acuratețe de aproape 97%, similară cu traducerea umană.
  • Linguise este, de asemenea, integrat cu mai mult de 40 de CMS și constructori de site-uri web, precum și integrat cu site-uri web bazate pe PHP, cum ar fi Laravel.
  • Deși traduce automat, Linguise are un editor live care poate fi utilizat pentru a edita rezultatele traducerii. În acest fel, traducerea poate fi ajustată la preferințele afacerii.
  • Timpul de încărcare pentru paginile multilingve este cu doar 5% mai lung decât cel al paginilor în limba originală.
  • Serviciul nostru este disponibil în trei pachete, variind de la 15 la 45 de dolari pe lună. Deși este plătit, oferim și o perioadă de încercare gratuită de 30 de zile, cu o limită de 600.000 de cuvinte care pot fi traduse.
  • În cele din urmă, Linguise acceptă toate formele de asistență pentru clienți, inclusiv articole de ghidare, documentație, știri despre produse, tutoriale video pe YouTube și suport de chat 24/7.

Din punctele de mai sus, Linguise poate fi o soluție tehnologică de traducere AI în cloud pentru Laravel.

Sunteți gata să explorați noi piețe? Încercați serviciul nostru de traducere automată gratuit cu un trial de 1 lună fără riscuri. Nu este necesară o cartelă de credit!

Concluzie

În acest articol, am explorat principalele diferențe între implementarea traducerii Google Cloud AI API și Google Translate pentru aplicațiile web Laravel .

Traducerea API Google Cloud AI excelează în ceea ce privește acuratețea și necesitatea unor traduceri cu acuratețe ridicată. Cu toate acestea, acest serviciu necesită o configurație mai complexă și este mai scump decât Google Translate. Pe de altă parte, Google Translate oferă ușurință de integrare, dar are limitări în ceea ce privește acuratețea și opțiunile de personalizare.

Linguise apare ca o alternativă de serviciu de traducere bazat pe cloud AI compatibil cu site-urile Laravel. Cu niveluri de acuratețe care se apropie de traducerile umane, opțiuni de editor de traducere, timpi de încărcare rapidă și suport cuprinzător pentru clienți, Linguise devine o soluție excelentă de traducere pentru site-ul dvs. Laravel.

Dacă doriți să încercați , puteți înregistra un cont gratuit și bucurați-vă de o perioadă de încercare de 30 de zile cu o limită de 600.000 de cuvinte traduse. Vizitați .com pentru mai multe informații!

S-ar putea să fiți interesați și de lectură

Nu ratați oportunitatea!
Abonați-vă la Newsletterul nostru

Primiți știri despre traducerea automată a site-urilor web, SEO internațional și multe altele!

Invalid email address
Încercați. O dată pe lună și puteți renunța oricând.

Nu plecați fără să vă împărtășiți adresa de email!

Nu vă putem garanta că veți câștiga la loterie, dar vă putem promite unele știri informaționale interesante despre traducere și reduceri ocazionale.

Nu ratați oportunitatea!
Invalid email address