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

dispozitive electronice, alb și negru
Cuprins

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, mai multe servicii de traducere automată sunt 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 Google Cloud AI Translation și Google Translate pentru Laravel aplicații și vom recomanda cele mai bune servicii de traducere pentru Laravel site-ul dvs. web.

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

Serverul Google Cloud și stocarea în cloud

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

Traducerea API Google Cloud AI utilizează modele de traducere neuronale bazate pe învățarea profundă, ceea ce îi permite să surprindă nuanțele și contextul limbajului mai bine, oferind traduceri mai idiomatice care se aliniază cu utilizarea reală a limbajului. În plus, utilizarea traducerii Google Cloud AI 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ță 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 instruire.

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

Implementați traducerea Google Cloud AI API pe Laravel

Diverse servicii de traducere, inclusiv Linguise, utilizează tehnologia cloud Traducere AI pentru a traduce site-urile web.

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

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 să vă abonați pentru o lună sau un an. Trebuie să furnizați doar 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 folosi, introduceți informațiile contului Linguise și URL-ul web, 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 următorul buton și salvați-l pe computerul dvs. 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 dvs. Laravel (de obicei, unde sunt fișierele CMS). Asigurați-vă că folderul este denumit „linguise” (numele implicit 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 serverul dvs. 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 Linguise tabloul de bord.

Selector de limbă Script - 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 Laravel site-ul web. Va apărea un selector de limbă implicit ș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-language.

				
					composer require stichoza/google-translate-php
				
			

Setarea pachetului Google Translator

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 „aliases” și adăugați următoarea linie de cod.

Un terminal de calculator 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(),

				
			

Configurarea Controlorului de Limbă

Trebuie să creați un fișier de control al limbii, similar cu următorul

				
					php artisan make:controller LangController
				
			

Va crea fișierul LangController.php în interiorul folderului /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 folderul /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||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/2b8a0247c24b45a33c66fc0185fc554c.js?ver=0275f"></script></body>

</html>

				
			

Setarea Middleware-ului 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 folderului /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-ul de Limbă prin Kernel.php

Deschideți fișierul Kernel.php situat în directorul /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' => [
        
        //...
    ],
];

				
			

Adăugați rută

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

Web.php - Implementați traducerea Google Cloud AI API 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șarea site-ului Laravel de pe site-ul 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, așa arată când site-ul Laravel este tradus în arabă.

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

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

După ce înțelegem 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.
  • Google Cloud AI API Translation: Datorită capacităților sale de învățare profundă, acest serviciu poate captura mai bine contexte și nuanțe lingvistice complexe. Acest lucru permite o traducere mai precisă a expresiilor idiomatice, frazelor figurative și jocurilor de cuvinte care sunt dificil de tradus literal.
  • Google Translate: adesea se luptă să surprindă contextul lingvistic mai fin și nuanțele, 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 de pe un telefon mobil.
  • Traducerea API Google Cloud AI: Î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 reacționa puțin mai lent 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 statistice și neuronale, care s-ar putea să nu fie 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 de glitch. 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ă a avea 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 prin API-ul Google Cloud AI: Tehnologia de traducere Google Cloud AI are mai multe caracteristici avansate, cum ar fi Glosar, selecție de modele și modele AutoML. În plus, în contextul traducerii AI în cloud 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 înLaravelnu 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.
Spațiate barierele lingvistice
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 .

  • Acuratețe 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ța integrării și configurării — 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 de specialitate, rezultatele traducerii editorului sau alte opțiuni de personalizare, Google Cloud AI API Translation oferă mai multe opțiuni decât Google Translate.
  • Viteza și timpul de răspuns – Pentru aplicațiile cu volume mari de traduceri sau care necesită un răspuns rapid, traducerea Google Cloud AI API 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 traducere pentru a alege serviciul cel mai rentabil.
  • Suport și documentație – De asemenea, luați în considerare suportul tehnic și documentația disponibile pentru fiecare serviciu. Google Cloud AI API Translation poate avea o documentație și un suport mai cuprinzător din partea Google.

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

Servicii profesionale de design și dezvoltare de site-uri 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 a site-urilor web care utilizează tehnologie de traducere cloud AI 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ă considerațiile menționate mai sus.

  • Linguise are o calitate perfectă a traducerii. 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 constructori de site-uri web și CMS, 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 YouTube și chat de suport 24/7.

Din punctele de mai sus, Linguise poate fi o soluție de tehnologie 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 încercarea noastră gratuită de 1 lună, fără riscuri. Nu este necesară nicio 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 prin API-ul 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 configurare 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 AI în cloud compatibil cu site-urile Laravel . Cu niveluri de acuratețe aproape 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 Linguise, puteți înregistra un cont gratuit și puteți beneficia de o perioadă de încercare de 30 de zile, cu o limită de 600.000 de cuvinte traduse. Vizitați linguise.com pentru mai multe informații!

De asemenea, s-ar putea să fii interesat să citești

Nu ratați oportunitatea!
Abonează-te la Newsletter-ul 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 fără să ne împărtășești adresa de email!

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

Nu ratați oportunitatea!
Invalid email address