Implementeer Google Cloud AI API-vertaling in plaats van Google Translate voor Laravel

elektronische apparaten, zwart-wit
Inhoudsopgave

Voor eigenaren van Laravel , is het leveren van accurate en natuurlijke vertalingen van cruciaal belang voor een goede gebruikerservaring .

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

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

Wat zijn de Google Cloud AI API-vertaling en Google Translate?

Voordat we tot de discussie overgaan, zullen we de respectievelijke betekenissen van de Google Cloud AI API en de vertalingen van Google Translate bespreken.

Google Cloud AI API-vertaling

Google Cloud-server en cloudopslag

Google Cloud AI API Translation is een geavanceerde automatische vertaalservice van Google Cloud Platform. Deze service maakt gebruik van de nieuwste technologieën op het gebied van kunstmatige intelligentie (AI) en machine learning om nauwkeurige en natuurlijke vertalingen van tekst, spraak en documenten te leveren.

De Google Cloud AI API Translation maakt gebruik van neurale vertaalmodellen gebaseerd op deep learning. Hierdoor worden taalnuances en context beter vastgelegd, wat resulteert in meer idiomatische vertalingen die aansluiten bij het daadwerkelijke taalgebruik. Bovendien is het gebruik van Google Cloud AI Translation tot 500.000 tekens gratis. Voor elke volgende 75.000 tekens worden kosten van $20 per miljoen tekens in rekening gebracht. 

Google Vertalen

Interface voor vertaalinstellingen. Opties voor taalinstellingen.

Google Translate is ondertussen een alom bekende en al lang bestaande dienst voor automatische tekstvertaling. Het maakt gebruik van een meer traditionele, statistische vertaalmethode, waarbij vertalingen worden gegenereerd op basis van patronen en waarschijnlijkheden die zijn geleerd uit grote trainingsdatasets.

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

Implementeer Google Cloud AI API-vertaling in Laravel

Verschillende vertaaldiensten, waaronder Linguise , gebruiken AI- cloudtechnologie voor het vertalen van websites.

De vertaaldienst maakt gebruik van een cloud AI API als een van de vertaaltechnologieën. Hieronder volgen de implementatiestappen voor de Laravel website. We gaan ervan uit dat u al een kant-en-klare Laravel -website heeft.

Maak Linguise account aan

Om Linguise , moet je een account aanmaken . Dit kan gratis of je kunt een abonnement afsluiten voor één maand of een jaar. Je hoeft alleen je e-mailadres, gebruikersnaam en wachtwoord op te geven.

Voeg Laravel -website-informatie toe

Voeg vervolgens informatie toe over de website die u gaat gebruiken, voer uw Linguise -accountgegevens en web-URL in, selecteer het Laravel platform en voeg de standaardtaal en de gewenste taal voor de website toe.

 

Laadanimatie

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

Upload en configureer het PHP-script

Na het downloaden van het script, pak je het uit en upload je het naar de hoofdmap waar Laravel is geïnstalleerd. Zorg ervoor dat het zich in de root van je Laravel installatie bevindt (meestal waar je CMS-bestanden staan). Zorg ervoor dat de map de naam "linguise" heeft (de standaardnaam na het uitpakken).

Navigatiemenu voor computerbestanden

Kopieer vervolgens de Linguise API-sleutel naar het bestand …/linguise/Configuration.php dat u naar uw server hebt geüpload. Bewerk het bestand en plak uw API-sleutel tussen de aanhalingstekens, waarbij u de tekst REPLACE_BY_YOUR_TOKEN vervangt.

Schermafbeelding van de codeconfiguratie

Voeg het script van de taalschakelaar in

Voeg vervolgens het script voor het wisselen van taal in dat je via het Linguise dashboard hebt verkregen.

Scripttaalwisselaar - Implementeer Google Cloud AI API-vertaling versus Google Translate voor Laravel

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

Terminalvenster met code-uitvoer

Configureer .htaccess

Ten slotte moeten taalspecifieke URL's worden geconfigureerd in het .htaccess-bestand. Als uw bestand "RewriteBase /" bevat, kopieert en plakt u eenvoudig de volgende code achter 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. Je hebt nu succesvol cloud AI API-vertaling geïmplementeerd op de Linguise -service. Je kunt nu de Laravel -website controleren. Er verschijnt een standaard taalschakelaar, die je via Laravel dashboard kunt aanpassen.

een man met een donkere achtergrond, mysterieuze sfeer

Google Translate implementeren in Laravel

Nu gaan we proberen Google Translate in Laravelte implementeren. We gaan ervan uit dat je al een Laravel project hebt aangemaakt en alleen nog Google Translate hoeft toe te voegen.

De installatie-instructies vind je ook op de officiële Laravel website.

Installeer het Google Translate-pakket

Om het Google Translator-pakket te installeren, opent u de projectopdrachtprompt en voert u de volgende opdracht in. Dit pakket stelt u in staat om de functionaliteit van google-translator-language te gebruiken.

				
					composer require stichoza/google-translate-php
				
			

Instellingen van het Google Translate-pakket

We moeten het "Google Translate-pakket" in de applicatie instellen. Open het bestand app.php in de map /config, zoek de sectie "aliases" en voeg de volgende regel code toe.

Een computerterminal met code op het scherm. Het scherm 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

Je moet een taalcontrollerbestand maken zoals hieronder weergegeven

				
					php artisan make:controller LangController
				
			

Dit zal het bestand LangController.php aanmaken in de map /app/Http/Controllers.

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 een Blade-sjabloonbestand aan

Navigeer naar de map /resources/views en maak een bestand aan 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/a626309679e5b5ba89429c108bcfbcb5.js?ver=654ad"></script></body>

</html>

				
			

Instellen van taalmiddleware

Open de projectterminal en voer dit commando uit:

				
					php artisan make:middleware LanguageManager


				
			

Dit zal een bestand LanguageManager.php aanmaken in de map /app/Http/Middleware. Plak hier de volgende tekst in.

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 taalmiddleware via Kernel.php

Open het bestand Kernel.php in de map /app/Http. Zoek de array $middlewareGroups en ga naar het gedeelte 'web'.

Een wazige 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 het bestand web.php in de map /routes en voeg de volgende routes eraan toe.

Web.php - Implementeer 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');


				
			

Testwebsite

Voer dit commando uit in de projectterminal om de ontwikkelingsserver te starten.

				
					php artisan serve
				
			

Hieronder ziet u een voorbeeld van de Laravel -website van onlinewebtutorblog.com. Zoals u kunt zien, is er een dropdownmenu voor Google Translate.

Een vervormd beeld van wat een computerscherm lijkt te zijn.

Dit is hoe de Laravel website eruitziet wanneer deze naar het Arabisch wordt vertaald.

Storingen in het computerscherm. Vervormde code en tekst worden weergegeven.

Wat is het verschil tussen het implementeren van Google Cloud AI-vertaling en Google Translate in Laravel?

Nadat we de implementaties van Google Cloud AI en Google Translate in Laravelhebben begrepen, bespreken we de verschillen ertussen.

Installatie- en configuratieproces

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

Nauwkeurigheid van de vertaling

Een groep mensen verzameld rond een computer.
  • Google Cloud AI API-vertaling: Dankzij de mogelijkheden van deep learning kan deze service complexe taalcontexten en nuances beter vastleggen. Dit maakt een nauwkeurigere vertaling mogelijk van idiomatische uitdrukkingen, figuurlijke zinnen en woordspelingen die moeilijk letterlijk te vertalen zijn.
  • Google Translate heeft vaak moeite om subtiele taalcontext en nuances vast te leggen, waardoor de vertaling stijf of minder natuurlijk klinkt. Door de statistische aanpak is de vertaling van idiomatische uitdrukkingen of figuurlijke zinnen vaak minder nauwkeurig.

reactiesnelheid

Een raket die opstijgt vanaf een laptop en een mobiele telefoon.
  • De Google Cloud AI API-vertaling: Deze reageert over het algemeen sneller op vertaalverzoeken, omdat er gebruik wordt gemaakt van geoptimaliseerde neurale machinevertalingsmodellen die worden gehost op de robuuste cloudinfrastructuur van Google. Dit zorgt voor snellere reactietijden, met name voor langere teksten of grote hoeveelheden vertalingen.
  • Google Translate: Het kan iets trager reageren op vertaalverzoeken, met name bij langere documenten of teksten. Dit komt doordat 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 de Google Cloud AI API-vertaling.

Aanpassings- en controlemogelijkheden

Een vervormd computerscherm met haperingen. Het beeld lijkt beschadigd te zijn.
  • Google Cloud AI API-vertaling: Biedt meer opties om het vertaalproces aan te passen en te beheren, zoals het instellen van vertaalvoorkeuren, het uploaden van aangepaste woordenlijsten en toegang tot de live vertaalinterface om vertaalresultaten handmatig te bewerken. Dit stelt gebruikers in staat de vertaalnauwkeurigheid naar eigen behoefte te verbeteren.
  • Google Translate: Biedt beperktere aanpassings- en controleopties. Gebruikers zijn volledig afhankelijk van de automatische vertaalresultaten, zonder veel mogelijkheden om de uitkomsten te bewerken of direct aan te passen.

Geavanceerde functies

Computerscherm met toegankelijkheidsfuncties en een koffiekopje
  • Google Cloud AI API-vertaling: De Google Cloud AI-vertalingstechnologie beschikt over diverse geavanceerde functies, zoals een woordenlijst, modelselectie en AutoML-modellen. Daarnaast biedt Linguise het uitsluiten van vertalingen voor specifieke woorden, zoals technische termen, merknamen, enzovoort, op basis van regels, pagina's of URL's.
  • Google Translate: De Laravel geïnstalleerde Google Translate-app kan geen audiobestanden of andere documenten vertalen. Het kan alleen tekst op de website naar een andere taal vertalen, zonder de mogelijkheid om de vertaalresultaten te bewerken.
Doorbreek taalbarrières
Zeg vaarwel tegen taalbarrières en hallo tegen grenzeloze groei! Probeer vandaag nog onze automatische vertaalservice.

Factoren waarmee u rekening moet houden bij het kiezen van een vertaaldienst voor uw Laravel website

Hieronder volgen enkele aandachtspunten 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, met name voor complexe inhoud en genuanceerd taalgebruik, dan is Google Cloud AI API Translation wellicht een betere keuze dan Google Translate.
  • Integratie- en configuratiegemak — Overweeg de installatie en configuratie van de vertaalservice in uw Laravel applicatie. Google Translate is over het algemeen eenvoudiger te integreren omdat het beschikbaar is als een PHP-pakket of -bibliotheek. Google Cloud AI API Translation vereist daarentegen een complexere configuratie op het Google Cloud Platform.
  • Functies en aanpassingsmogelijkheden – Als u extra functies nodig hebt, zoals een woordenlijst of vertaling van specialistische terminologie, van de editor of andere aanpassingsmogelijkheden, biedt Google Cloud AI API Translation meer opties dan Google Translate.
  • Snelheid en reactietijd – Voor toepassingen met grote vertaalvolumes of die een snelle reactie vereisen, reageert Google Cloud AI API Translation 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 factureringsmodel hanteert op basis van gebruik. Houd rekening met uw budget en het geschatte vertaalvolume om de meest kosteneffectieve dienst 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 heeft mogelijk uitgebreidere documentatie en ondersteuning van Google.

Linguise, de beste cloudgebaseerde AI-vertaalservice voor Laravel websites

Professionele websiteontwerp- en -ontwikkelingsdiensten, SEO-optimalisatie

Tot nu toe weet u al waar u op moet letten bij het kiezen van een vertaaldienst voor Laravel; vrijwel alle bovengenoemde factoren zijn terug te vinden in de vertaaldienst Linguise .

Linguise is een websitevertalingsservice die gebruikmaakt van cloudgebaseerde AI-vertaaltechnologie om content te vertalen. Deze service kan de beste oplossing zijn voor het vertalen van een Laravel -website. Waarom? Omdat Linguise rekening houdt met de hierboven genoemde aandachtspunten.

  • Linguise biedt een perfecte vertaalkwaliteit. Hoewel de nauwkeurigheid varieert afhankelijk van het talenpaar, Linguise een nauwkeurigheidspercentage van bijna 97%, vergelijkbaar met menselijke vertalingen.
  • Linguise is ook geïntegreerd met meer dan 40 CMS- en websitebouwers, en met PHP-gebaseerde websites zoals Laravel .
  • Hoewel Linguise automatisch vertaalt, beschikt het over een live editor waarmee de vertaalresultaten kunnen worden bewerkt. 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 pagina's in de oorspronkelijke taal.
  • 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 aan met een limiet van 600.000 te vertalen woorden.
  • Tot slot biedt Linguise alle vormen van klantondersteuning, waaronder handleidingen, documentatie, productnieuws, YouTube-videotutorials en 24/7 chatondersteuning.

Op basis van bovenstaande punten kan Linguise een cloudgebaseerde AI-vertalingstechnologieoplossing voor Laravelzijn.

Klaar om nieuwe markten te verkennen? Probeer onze automatische vertaalservice gratis met onze risicovrije proefperiode van 1 maand. Geen creditcard nodig!

Gevolgtrekking

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

De Google Cloud AI API Translation blinkt uit in nauwkeurigheid en voldoet aan de behoefte aan zeer precieze vertalingen. Deze service vereist echter een complexere configuratie en is duurder dan Google Translate. Google Translate biedt daarentegen een eenvoudige integratie, maar kent beperkingen op het gebied van nauwkeurigheid en aanpassingsmogelijkheden.

Linguise is een alternatieve, cloudgebaseerde AI-vertalingsservice die compatibel is met Laravel websites. Met een nauwkeurigheid die bijna gelijk is aan menselijke vertalingen, diverse vertaalopties, snelle laadtijden en uitgebreide klantenservice, is Linguise een uitstekende vertaaloplossing voor uw Laravel website.

Linguise uitproberen ? Meld je dan aan voor een gratis account en profiteer van een proefperiode van 30 dagen met een limiet van 600.000 vertaalde woorden. Ga naar linguise voor meer informatie!

Misschien ben je ook geïnteresseerd in lezen

Mis het niet!
Abonneer op onze nieuwsbrief

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

Invalid email address
Probeer het eens. Eén keer per maand en je kunt je op elk moment uitschrijven.

Ga niet weg zonder je e-mailadres te delen!

We kunnen niet garanderen dat u de loterij wint, maar we kunnen wel interessant informatief nieuws over vertalingen en incidentele kortingen beloven.

Mis het niet!
Invalid email address

20% korting

KERSTFEEST UITVERKOOP