Implementeer Google Cloud AI API vertaling vs Google Translate voor Laravel

elektronische apparaten, zwart en wit
Inhoudsopgave

Voor degenen onder u die een Laravel-gebaseerde website bezitten, is het leveren van nauwkeurige en natuurlijke vertaalinhoud erg belangrijk om uw website te vertalen en een goede gebruikerservaring te bieden.

Gelukkig zijn er verschillende automatische vertaaldiensten beschikbaar om ontwikkelaars te helpen deze uitdaging aan te gaan, waaronder Google Cloud AI API vertaling en Google Translate. Beide diensten bieden vertaalmogelijkheden met behulp van machinetechnologie.

In dit artikel zullen we de belangrijkste verschillen onderzoeken tussen het implementeren van Google Cloud AI Vertaling en Google Translate voor Laravel applicaties en de beste vertaaldiensten aanbevelen voor uw Laravel website.

Wat zijn Google Cloud AI API vertaling & Google Translate?

Voordat we verder gaan met de discussie, zullen we de respectieve betekenissen bespreken van Google Cloud AI API en Google Translate vertalingen.

Google Cloud AI API vertaling

Google Cloud server en cloud opslag

Google Cloud AI API-vertaling is een geavanceerde automatische vertaaldienst aangeboden door Google Cloud Platform. Deze dienst maakt gebruik van de nieuwste kunstmatige intelligentie (AI) en machine learning-technologieën om nauwkeurige en natuurlijke vertalingen van tekst, spraak en documenten te leveren.

Google Cloud AI API-vertaling maakt gebruik van neurale vertaalmodellen gebaseerd op deep learning, waardoor het taalkundige nuances en context beter kan vastleggen, waardoor meer idiomatische vertalingen worden geboden die overeenkomen met het daadwerkelijke taalgebruik. Bovendien is het gebruik van Google Cloud AI-vertaling voor tot 500.000 tekens kosteloos, terwijl de volgende 75.000 tekens een kost van $20 per miljoen tekens met zich meebrengen. 

Google Vertalen

Vertaalinstellingen interface. Taalinstellingen opties.

Ondertussen is Google Translate een langdurige en algemeen bekende automatische tekstvertaaldienst. Het maakt gebruik van een meer traditionele statistische vertaalbenadering, die vertalingen genereert op basis van patronen en waarschijnlijkheden die zijn geleerd uit grote trainingsdatasets.

Hoewel het niet zo geavanceerd is als Google Cloud AI API-vertaling in termen van nauwkeurigheid en omgaan met taalkundige nuances, blijft Google Translate een populaire keuze vanwege zijn gebruiksgemak en gratis beschikbaarheid voor niet-commercieel gebruik.

Implementeer Google Cloud AI API-vertaling op Laravel

Verschillende vertaaldiensten, waaronder Linguise, gebruiken AI-vertaling cloudtechnologie om websites te vertalen.

De taalvertaaldienst maakt gebruik van cloud AI API als een van zijn vertaaltechnologieën. Hieronder volgen de implementatiestappen op de Laravel website. We gaan hier uit van een reeds klaarstaand Laravel project website.

Maak een Linguise -account aan

Om Linguise te gebruiken, moet u eerst een account registreren. U kunt dit gratis doen of een maand- of jaarabonnement nemen. U hoeft alleen informatie zoals uw e-mailadres, gebruikersnaam en wachtwoord op te geven.

Voeg Laravel website-informatie toe

Voeg daarna informatie toe over de website die u gaat gebruiken, voer uw Linguise accountinformatie en web-URL in, selecteer het Laravel platform en voeg de standaardtaal en de taal die u aan de website wilt toevoegen toe.

 

Laadanimatie

Download vervolgens het PHP-script via de onderstaande knop en sla het op uw lokale computer op.

Upload en configureer het PHP-script

Na het downloaden van het script, unzip het en upload het naar de hoofdmap waar Laravel is geïnstalleerd. Zorg ervoor dat het zich in de root van uw Laravel -installatie bevindt (meestal waar uw CMS-bestanden zijn). Zorg ervoor dat de map de naam “linguise” heeft (de standaardnaam wanneer de map wordt uitgepakt).

Navigatiemenu voor computerbestandssysteem

Vervolgens moet de Linguise API-sleutel worden gekopieerd in het …/linguise/Configuration.php bestand dat u op uw server hebt geüpload. Bewerk het bestand en plak uw API-sleutel tussen de aanhalingstekens, ter vervanging van de tekst REPLACE_BY_YOUR_TOKEN.

Screenshot van codeconfiguratie

Script van taalwisselaar invoegen

Voeg vervolgens het taalwisselscript toe dat u heeft gekregen van het Linguise-dashboard.

Script Language Switcher - Implementeer Google Cloud AI API-vertaling versus Google Translate voor Laravel

Ingevoegd in het front.blade.php bestand in de resources/views/layouts/ directory. Hier is een voorbeeld van het ingevoegde script.

Terminalvenster met code-uitvoer

Configureer .htaccess

Tenslotte moeten op taal gebaseerde URL's worden geconfigureerd in het .htaccess-bestand. Als uw bestand “RewriteBase /,” bevat, kopieer en plak dan de volgende code na die regel.

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

Klaar. Op dit punt hebt u de cloud AI API-vertaling succesvol geïmplementeerd op de Linguise-service. Nu kunt u de Laravel-website controleren. Er verschijnt een standaardtaalwisselaar en u kunt de taalwisselaar voor Laravel aanpassen via het dashboard.

een man met een donkere achtergrond, mysterieuze sfeer

Implementeer Google Translate op Laravel

Nu gaan we proberen Google Translate te implementeren in Laravel. Hier gaan we ervan uit dat u een Laravel -project hebt gemaakt en alleen Google Translate hoeft toe te voegen.

U kunt de volgende installatiestappen ook vinden op de officiële Laravel-website.

Installeer Google Translator-pakket

Om het Google Translator Package te installeren, opent u de projectprompt en voert u de volgende opdracht in. Dit pakket stelt u in staat om de werkfuncties van de google-translator-taal te gebruiken.

				
					composer require stichoza/google-translate-php
				
			

Instelling van Google Translator Package

We moeten de “google vertaler package” binnen de applicatie instellen. Open het app.php bestand in de /config map, zoek de “aliases” sectie en voeg de volgende regel code toe.

Een computerterminal met coderende tekst op het scherm. Het display toont verschillende regels 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(),

				
			

Taalcontroller instellen

U moet een taalcontrollerbestand maken zoals het volgende

				
					php artisan make:controller LangController
				
			

Het zal het LangController.php bestand maken in de /app/Http/Controllers map.

computerscherm met regels 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();
    }
}


				
			

Maak Blade-sjabloonbestand

Navigeer naar de /resources/views map en maak een bestand met de naam lang.blade.php. Open het bestand en voeg de volgende code toe.

Afbeelding van code op een computerscherm. Programmeertekst.
				
					<!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>

				
			

Instelling van taal-middleware

Open de projectterminal en voer deze opdracht uit,

				
					php artisan make:middleware LanguageManager


				
			

Het zal een bestand LanguageManager.php maken in de /app/Http/Middleware map en dit plakken.

Een zwart-wit gepixelde afbeelding. Geen duidelijke details zichtbaar.
				
					<?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);
    }
}

				
			

Registreer taal-middleware via Kernel.php

Open het Kernel.php bestand in de map /app/Http. Zoek naar de $middlewareGroups array en navigeer naar de web sectie.

Een onscherpe afbeelding van tekst op een zwarte achtergrond. De tekst is onleesbaar.
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

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

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

				
			

Route toevoegen

Open web.php vanuit de map /routes en voeg deze routes hieraan toe.

Web.php - Implementatie van Google Cloud AI API vertaling versus Google Translate voor Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

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


				
			

Website testen

Voer deze opdracht uit in de projectterminal om de ontwikkelserver te starten.

				
					php artisan serve
				
			

Hier is een weergave van de Laravel website van website onlinewebtutorblog.com die is gemaakt, zoals u kunt zien in de volgende weergave is er een Google Translate dropdown.

Een vervormde afbeelding van wat lijkt op een computerscherm.

Dit is hoe het eruit ziet wanneer de Laravel website wordt vertaald in het Arabisch.

Glitchy computerscherm. Weergave van vervormde code en tekst.

Wat is het verschil tussen het implementeren van Google Cloud AI vertaling & Google Translate op Laravel?

Na het begrijpen van elke implementatie van Google Cloud AI en Google Translate vertaling in Laravel, zullen we hun verschillen bespreken.

Installatie en configuratieproces

Een zwart-wit illustratie. Mensen staan dicht bij een groot doel.
  • Google Cloud AI API vertaling: Het installatie- en configuratieproces is complexer omdat u een project moet maken op Google Cloud Platform (GCP), de Cloud Translation API moet inschakelen, een serviceaccount moet maken, API-sleutels moet genereren en de API-client moet configureren in uw Laravel toepassing. Dit omvat verschillende stappen en vereist een geldig GCP-account.
  • Google Translate: Installatie en configuratie zijn veel eenvoudiger. U hoeft alleen een pakket van derden of bibliotheek te installeren via Composer, zoals stichoza/google-translate-php. Daarna kunt u de Google Translate API-sleutel configureren in het Laravel configuratiebestand.

Vertalingsnauwkeurigheid

Groep mensen verzameld rond een computer.
  • Google Cloud AI API Vertaling: Dankzij zijn deep learning-mogelijkheden kan deze service complexe taalcontexten en nuances beter vastleggen. Dit zorgt voor een nauwkeurigere vertaling van idiomatische uitdrukkingen, figuurlijke uitdrukkingen en woordspelingen die moeilijk letterlijk te vertalen zijn.
  • Google Translate: heeft vaak moeite om fijnere taalkundige context en nuances vast te leggen, waardoor de resultaten stijf of minder natuurlijk klinken. Door de statistische aanpak is het vertalen van idiomatische uitdrukkingen of figuurlijke uitdrukkingen vaak minder nauwkeurig.

Reactiesnelheid

Een raket die opstijgt van een laptopcomputer en mobiele telefoon.
  • Google Cloud AI API vertaling: Over het algemeen sneller in het reageren op vertaalverzoeken omdat het geoptimaliseerde neurale machinevertaling modellen gebruikt die worden gehost op de robuuste cloud infrastructuur van Google. Dit zorgt voor snellere responstijden, vooral voor langere teksten of grote hoeveelheden vertalingen.
  • Google Translate: Het kan iets langzamer zijn in het reageren op vertaalverzoeken, vooral voor langere documenten of teksten. Dit komt omdat het een meer traditionele mix van statistische en neurale vertaalmethoden gebruikt, die mogelijk niet zo efficiënt zijn als de neurale modellen die worden gebruikt door Google Cloud AI API vertaling.

Aanpassings- en controlefuncties

Een vervormd computerscherm met glitch effecten. De afbeelding lijkt beschadigd te zijn.
  • Google Cloud AI API-vertaling: Biedt meer opties om het vertaalproces aan te passen en te controleren, zoals het instellen van vertaalvoorkeuren, het uploaden van aangepaste woordenlijsten en toegang tot de live editor vertaling interface om vertaalresultaten handmatig te bewerken. Hierdoor kunnen gebruikers de vertaalprecisie verbeteren volgens hun behoeften.
  • Google Translate: Heeft meer beperkte aanpassings- en controleopties. Gebruikers moeten vertrouwen op automatische vertaalresultaten zonder veel mogelijkheid om de resultaten te bewerken of rechtstreeks aan te passen.

Geavanceerde Functies

Computerscherm met toegankelijkheidsfuncties en koffiekop
  • Vertaling van Google Cloud AI API: De vertaaltechnologie van Google Cloud AI heeft verschillende geavanceerde functies zoals Woordenlijst, Modelselectie en AutoML-modellen. Bovendien heeft het in de context van cloud AI-vertaling met Linguise ook geavanceerde functies zoals vertaaluitzonderingen voor specifieke woorden zoals technische termen, merknamen, enz., op basis van regels, pagina's of URL's.
  • Google Translate: Google Translate geïnstalleerd in Laravel kan geen audio-documenten of andere vertalen. Het kan alleen tekst op de website vertalen in een andere taal zonder de mogelijkheid om de vertaalresultaten te bewerken.
Sla taalbarrières over
Zeg vaarwel tegen taalbarrières en hallo tegen onbeperkte groei! Probeer onze automatische vertaaldienst vandaag nog uit.

Factoren die u moet overwegen bij het kiezen van een vertaaldienst voor uw Laravel website

Hier zijn enkele overwegingen bij het kiezen van de beste vertaaldienst voor uw Laravel website.

  • Hoge vertaalnauwkeurigheid – Een van de belangrijkste factoren is de nauwkeurigheid van de geproduceerde vertaling. Als uw website zeer nauwkeurige vertalingen vereist, vooral voor complexe inhoud en genuanceerde taal, dan kan Google Cloud AI API Translation een betere keuze zijn dan Google Translate.
  • Gemak van integratie en configuratie —Overweeg het installeren en configureren van de vertaaldienst met uw Laravel applicatie. Google Translate is over het algemeen eenvoudiger te integreren omdat het beschikbaar is als een PHP-pakket of -bibliotheek. Ondertussen vereist Google Cloud AI API Translation een complexere configuratie op het Google Cloud Platform.
  • Functies en aanpassingsmogelijkheden – Als u extra functies nodig hebt zoals een woordenlijst of gespecialiseerde terminologievertaling, editorvertaling resultaten, of andere aanpassingsmogelijkheden, Google Cloud AI API Translation biedt meer keuzes dan Google Translate.
  • Snelheid en responstijd –Voor applicaties met grote vertaalvolumes of die snel antwoord nodig hebben, Google Cloud AI API Translation reageert over het algemeen sneller op vertaalverzoeken dan Google Translate.
  • Kosten en budget – Google Translate is gratis beschikbaar voor niet-commercieel gebruik, terwijl Google Cloud AI API Translation een betaald factuurmodel gebruikt op basis van gebruik. Houd rekening met uw budget en geschatte vertaalvolume om de meest kosteneffectieve service te kiezen.
  • Ondersteuning en documentatie – Houd ook rekening met de technische ondersteuning en documentatie die beschikbaar is voor elke service. Google Cloud AI API Translation kan uitgebreidere documentatie en ondersteuning van Google hebben.

Linguise, de beste cloud AI-vertalingsdienst voor Laravel -website

Professioneel ontwerp en ontwikkelingsdiensten voor websites, SEO-optimalisatie

Tot nu toe weet u al welke overwegingen er zijn bij het kiezen van een vertaaldienst voor Laravel; bijna alle bovengenoemde factoren zijn aanwezig in de Linguise -vertaaldienst.

Linguise is een websitevertaaldienst die gebruik maakt van cloud AI-vertaaltechnologie om inhoudsvertalingen te produceren. Deze dienst kan de beste oplossing zijn voor het vertalen van een Laravel-gebaseerde website. Waarom is dat? Omdat Linguise de bovengenoemde overwegingen aanpakt.

  • Linguise heeft perfecte vertaalkwaliteit. Hoewel deze nauwkeurigheid varieert afhankelijk van het taalpaar, Linguise heeft een nauwkeurigheidspercentage van bijna 97%, vergelijkbaar met menselijke vertaling.
  • Linguise is ook geïntegreerd met meer dan 40 CMS- en webbuilders, evenals geïntegreerd met PHP-gebaseerde websites zoals Laravel.
  • Hoewel het automatisch vertaalt, heeft Linguise een live editor die kan worden gebruikt om vertaalresultaten te bewerken. Op deze manier kan de vertaling worden aangepast aan de zakelijke voorkeuren.
  • De laadtijd voor meertalige pagina's is slechts 5% langer dan die van de oorspronkelijke taalpagina's.
  • Onze service is beschikbaar in drie pakketten variërend van $15 tot $45 per maand. Hoewel het een betaalde service is, bieden we ook een gratis proefperiode van 30 dagen met een limiet van 600.000 woorden die vertaald kunnen worden.
  • Ten slotte ondersteunt Linguise alle vormen van klantondersteuning, waaronder handleidingen, documentatie, productnieuws, YouTube-videotutorials en 24/7-ondersteuningschat.

Uit de bovenstaande punten blijkt dat Linguise een cloud AI-vertaaltechnologie-oplossing kan zijn voor Laravel.

Klaar om nieuwe markten te verkennen? Probeer onze automatische vertaaldienst gratis uit met onze 1-maand durende risicovrije proefperiode. Geen creditcard vereist!

Conclusie

In dit artikel hebben we de belangrijkste verschillen onderzocht tussen het implementeren van Google Cloud AI API-vertaling en Google Translate voor Laravel webapplicaties.

Google Cloud AI API-vertaling blinkt uit in nauwkeurigheid en de behoefte aan vertalingen met hoge nauwkeurigheid. Deze service vereist echter een complexere configuratie en is duurder dan Google Translate. Aan de andere kant biedt Google Translate gebruiksgemak bij integratie, maar heeft beperkingen in nauwkeurigheid en aanpassingsmogelijkheden.

Linguise komt naar voren als een alternatieve cloud AI-gebaseerde vertaaldienst die compatibel is met Laravel websites. Met nauwkeurigheidsniveaus die bijna overeenkomen met menselijke vertalingen, vertaalbewerkingsopties, snelle laadtijden en uitgebreide klantenservice wordt Linguise een uitstekende vertaaloplossing voor uw Laravel website.

Als u Linguise wilt proberen, kunt u een gratis account aanmaken en geniet van een proefperiode van 30 dagen met een limiet van 600.000 vertaalde woorden. Bezoek linguise.com voor meer informatie!

U bent misschien ook geïnteresseerd in het lezen

Mis niets!
Abonneer je op onze nieuwsbrief

Ontvang nieuws over automatische vertaling van websites, internationale SEO en meer!

Invalid email address
Probeer het uit. Eén keer per maand, en u kunt u op elk moment uitschrijven.

Vertrek niet zonder je e-mailadres te delen!

We kunnen niet garanderen dat u de loterij wint, maar we kunnen interessante informatie nieuws over vertaling en occasionele kortingen beloven.

Mis niets!
Invalid email address