Zaimplementuj translację Google Cloud AI API vs Google Translate dla Laravel

urządzenia elektroniczne, czarno-białe
Spis Treści

Dla tych z Was, którzy posiadają strony internetowe oparte na Laravel, zapewnienie dokładnej i naturalnej treści tłumaczeniowej jest bardzo ważne, aby tłumaczyć swoją stronę internetową i zapewnić dobre doświadczenie użytkownika.

Na szczęście dostępnych jest kilka automatycznych usług tłumaczeniowych, które pomagają programistom pokonać to wyzwanie, w tym Tłumaczenie Google Cloud AI API i Google Translate. Obie usługi oferują możliwości tłumaczenia przy użyciu technologii maszynowej.

W tym artykule omówimy główne różnice między implementacją translacji Google Cloud AI i Google Translate dla Laravel aplikacji i polecimy najlepsze usługi tłumaczeniowe dla Twojej Laravel strony internetowej.

Czym są translacja Google Cloud AI API i Google Translate?

Zanim przejdziemy do dyskusji, omówimy odpowiednie znaczenia translacji Google Cloud AI API i Google Translate.

translacja Google Cloud AI API

Serwer Google Cloud i magazynowanie w chmurze

Tłumaczenie Google Cloud AI API to zaawansowany automatyczny serwis tłumaczeniowy oferowany przez Google Cloud Platform. Usługa ta wykorzystuje najnowsze technologie sztucznej inteligencji (AI) i uczenia maszynowego, aby zapewnić dokładne i naturalne tłumaczenia tekstu, głosu i dokumentów.

Tłumaczenie Google Cloud AI API korzysta z neuronowych modeli tłumaczeniowych opartych na głębokim uczeniu, co pozwala mu lepiej wychwytywać niuanse językowe i kontekst, zapewniając bardziej idiomatyczne tłumaczenia, które są zgodne z rzeczywistym użyciem języka. Dodatkowo, korzystanie z Tłumaczenia Google Cloud AI dla maksymalnie 500 000 znaków jest bezpłatne, natomiast za następne 75 000 znaków zostanie naliczona opłata w wysokości 20 USD za milion znaków. 

Google Translate

Interfejs ustawień tłumaczenia. Opcje ustawień języka.

Tymczasem Google Translate jest długoletnim i szeroko znanym automatycznym serwisem tłumaczenia tekstu. Wykorzystuje bardziej tradycyjne statystyczne podejście do tłumaczenia, które generuje tłumaczenia oparte na wzorcach i prawdopodobieństwach wyuczonych z dużych zbiorów danych treningowych.

Chociaż nie jest tak zaawansowany jak Tłumaczenie Google Cloud AI API pod względem dokładności i obsługi niuansów językowych, Tłumacz Google pozostaje popularnym wyborem ze względu na łatwość użycia i bezpłatną dostępność do użytku niekomercyjnego.

Zaimplementuj tłumaczenie Google Cloud AI API na Laravel

Kilka serwisów tłumaczeniowych, w tym Linguise, korzysta z technologii tłumaczenia AI w chmurze do tłumaczenia stron internetowych.

Usługa tłumaczenia języka korzysta z chmurowej technologii AI API jako jednej ze swoich technologii tłumaczenia. Poniżej znajdują się kroki implementacji na stronie Laravel. Zakładamy tutaj, że masz już gotową stronę projektu Laravel.

Utwórz konto Linguise

Aby korzystać z Linguise, musisz zarejestrować konto najpierw. Możesz to zrobić za darmo lub zapisać się na miesiąc lub rok. Musisz podać tylko informacje takie jak adres e-mail, nazwa użytkownika i hasło.

Dodaj informacje o stronie internetowej Laravel

Następnie dodaj informacje o stronie internetowej, z której będziesz korzystać, wprowadź dane konta Linguise i adres URL strony, wybierz platformę Laravel i dodaj domyślny język oraz język, który chcesz dodać do strony.

 

Animacja ładowania

Następnie pobierz skrypt PHP za pomocą poniższego przycisku i zapisz go na swoim komputerze lokalnym.

Prześlij i skonfiguruj skrypt PHP

Po pobraniu skryptu rozpakuj go i wgraj do folderu głównego, gdzie zainstalowany jest Laravel . Upewnij się, że znajduje się on u podstaw Twojej instalacji Laravel (zwykle tam, gdzie znajdują się pliki CMS). Upewnij się, że folder jest nazwany „linguise” (domyślna nazwa po rozpakowaniu folderu).

Menu nawigacyjne systemu plików komputera

Następnie klucz API Linguise musi być skopiowany do pliku …/linguise/Configuration.php, który przesłałeś na swój serwer. Edytuj plik i wklej swój klucz API pomiędzy cudzysłowami, zastępując tekst REPLACE_BY_YOUR_TOKEN.

Zrzut ekranu konfiguracji kodu

Wstaw skrypt przełącznika języka

Następnie wstaw skrypt przełączania języka, który otrzymałeś z Linguise.

Przełącznik języka skryptu - wdrożenie translacji Google Cloud AI API vs Google Translate dla Laravel

Wstawiono do pliku front.blade.php w katalogu resources/views/layouts/. Oto podgląd wstawionego skryptu.

Okno terminala z wynikiem kodu

Konfiguruj .htaccess

Wreszcie, adresy URL oparte na języku muszą być skonfigurowane w pliku .htaccess. Jeśli Twój plik zawiera „RewriteBase /”, po prostu skopiuj i wklej poniższy kod po tej linii.

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

Zrobione. W tym momencie pomyślnie zaimplementowałeś tłumaczenie chmurowe API AI na Linguise. Teraz możesz sprawdzić Laravel. Domyślny przełącznik języka pojawi się, i możesz dostosować przełącznik języka dla Laravel za pomocą pulpitu.

mężczyzna z ciemnym tłem, tajemnicza atmosfera

Zaimplementuj Google Tłumacz na Laravel

Teraz będziemy próbowali zaimplementować Tłumacza Google w Laravel. Tutaj zakładamy, że pomyślnie utworzyłeś projekt Laravel i wystarczy dodać Tłumacza Google.

Możesz również znaleźć poniższe kroki instalacji na oficjalnej Laravel.

Zainstaluj pakiet tłumacza Google

Aby zainstalować pakiet Google Translator, otwórz wiersz polecenia projektu i wprowadź następujące polecenie. Ten pakiet pozwoli ci wykorzystać funkcje google-translator-language.

				
					composer require stichoza/google-translate-php
				
			

Ustawienia pakietu Google Translator

Musimy skonfigurować „pakiet tłumacza google” w aplikacji. Otwórz plik app.php w folderze /config, znajdź sekcję „aliases” i dodaj następujący wiersz kodu.

Terminal komputerowy z kodowaniem tekstu na ekranie. Wyświetlacz pokazuje różne linie kodu.
				
					/*
|--------------------------------------------------------------------------
| 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(),

				
			

Konfiguracja kontrolera języka

Musisz utworzyć plik kontrolera języka jak poniżej

				
					php artisan make:controller LangController
				
			

Utworzy plik LangController.php wewnątrz folderu /app/Http/Controllers.

Ekran komputera pokazujący linie kodu
				
					<?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();
    }
}


				
			

Utwórz plik szablonu Blade

Przejdź do folderu /resources/views i utwórz plik o nazwie lang.blade.php. Otwórz plik i wstaw do niego następujący kod.

Obraz kodu na ekranie komputera. Tekst programowania.
				
					<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Laravel 10 Create Multi Language Website Tutorial</title> <script type="litespeed/javascript" data-src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script type="application/ld+json" class="gnpub-schema-markup-output">{"@context":"https:\/\/schema.org\/","@type":"NewsArticle","@id":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/#newsarticle","url":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/","image":{"@type":"ImageObject","url":"https:\/\/www.linguise.com\/wp-content\/uploads\/2024\/05\/Implement-Google-Cloud-AI-API-translation-vs-Google-Translate-for-Laravel-150x150.png","width":150,"height":150},"headline":"Implement Google Cloud AI API translation vs Google Translate for Laravel","mainEntityOfPage":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/","datePublished":"2024-05-31T07:32:47+00:00","dateModified":"2024-08-26T19:19:15+00:00","description":"For those of you who own Laravel-based websites, providing accurate and natural translation content is very important to translate your website and offer a good","articleSection":"Guide","articleBody":"For those of you who own Laravel-based websites, providing accurate and natural translation content is very important to translate your website and offer a good user experience.\nFortunately, several automatic translation services are available to help developers overcome this challenge, including Google Cloud AI API Translation and Google Translate. Both services offer translation capabilities using machine technology.\nIn this article, we will explore the main differences between implementing Google Cloud AI Translation and Google Translate for Laravel applications and recommend the best translation services for your Laravel website.&nbsp;\t\t\n\t\t\tWhat are Google Cloud AI API translation &amp; Google Translate?\n\t\t\n\t\tBefore entering into the discussion, we will discuss the respective meanings of Google Cloud AI API and Google Translate translations.\t\t\n\t\t\tGoogle Cloud AI API translation\n\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tGoogle Cloud AI API Translation is an advanced automatic translation service provided by Google Cloud Platform. This service leverages the latest artificial intelligence (AI) and machine learning technologies to deliver accurate and natural translations of text, voice, and documents.Google Cloud AI API Translation uses neural translation models based on deep learning, which allows it to capture language nuances and context better, providing more idiomatic translations that align with actual language usage. Additionally, using Google Cloud AI Translation for up to 500,000 characters is free of charge, while the next 75,000 characters will incur a cost of $20 per million characters.\u00a0\t\t\n\t\t\tGoogle Translate\n\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tMeanwhile, Google Translate is a long-standing and widely known automatic text translation service. It uses a more traditional statistical translation approach, which generates translations based on patterns and probabilities learned from large training datasets.Although it is not as advanced as Google Cloud AI API Translation in terms of accuracy and handling language nuances, Google Translate remains a popular choice due to its ease of use and free availability for non-commercial use.\t\t\n\t\t\tImplement Google Cloud AI API translation on Laravel\n\t\t\n\t\tSeveral translation services, including Linguise, use AI Translation cloud technology to translate websites.The language translation service uses cloud AI API as one of its translation technologies. The following are the implementation steps on the Laravel website. We assume here that you already have a ready Laravel project website.\t\t\n\t\t\tCreate Linguise account\n\t\t\n\t\tTo use Linguise, you must register an account first. You can do this for free or subscribe for one month or a year. You only need to provide information such as your email, username, and password.\t\t\n\t\t\tAdd Laravel website info\n\t\t\n\t\tAfter that, add information about the website you will use, enter your Linguise account info and web URL, select the Laravel platform, and add the default language and the language you want to add to the website.\u00a0\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tThen download the PHP script via the following button and save it on your local computer.\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDOWNLOAD PHP-JS TRANSLATION SCRIPT\n\t\t\t\t\t\n\t\t\tUpload and configure the PHP script\n\t\t\n\t\tAfter downloading the script, unzip it and upload it to the root folder where Laravel is installed. Ensure it is located at the root of your Laravel installation (typically where your CMS files are). Ensure the folder is named \"linguise\" (the default name when the folder is unzipped).\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tThen, the Linguise API key must be copied into the \u2026\/linguise\/Configuration.php file you uploaded to your server. Edit the file and paste your API key between the quotes, replacing the text REPLACE_BY_YOUR_TOKEN.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\tInsert script of language switcher\t\t\n\t\tNext, insert the language switch script that you got from the Linguise dashboard.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tInserted into the front.blade.php file in the resources\/views\/layouts\/ directory. Here is a preview of the inserted script.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\tConfigure .htaccess\n\t\t\n\t\tLastly, language-based URLs need to be configured in the .htaccess file. If your file includes \"RewriteBase \/,\" simply copy and paste the following code after that line.\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n  RewriteEngine On\n  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|\/)(.*)$ linguise\/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]\n\n\t\t\t\t\n\t\t\t\n\t\tDone. At this point, you have successfully implemented cloud AI API Translation on the Linguise service. Now, you can check the Laravel website. A default language switcher will appear, and you can customize the Language switcher for Laravel via the dashboard.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\tImplement Google Translate on Laravel\t\t\n\t\tNow we will try to implement Google Translate in Laravel. Here we assume that you have successfully created a Laravel project and just need to add Google Translate.You can also find the following installation steps on the official Laravel website.\t\t\n\t\t\tInstall Google Translator Package\n\t\t\n\t\tTo install the Google Translator Package, open the project prompt and input the following command. This package will enable you to utilize the working functions of the google-translator-language.\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tcomposer require stichoza\/google-translate-php\n\t\t\t\t\n\t\t\t\n\t\t\tSetting of Google Translator Package\n\t\t\n\t\tWe must set up the \"google translator package\" within the the application. Open the app.php file in the \/config folder, find the \"aliases\" section, and add the following line of code.\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\/*\n|--------------------------------------------------------------------------\n| Class Aliases\n|--------------------------------------------------------------------------\n|\n| This array of class aliases will be registered when this application\n| is started. However, feel free to register as many as you wish as\n| the aliases are \"lazy\" loaded so they don't hinder performance.\n|\n*\/\n'aliases' => Facade::defaultAliases()->merge([\n    \/\/ 'Example' => AppFacadesExample::class,\n    'GoogleTranslate' => StichozaGoogleTranslateGoogleTranslate::class,\n])->toArray(),\n\n\t\t\t\t\n\t\t\t\n\t\t\tSetup Language Controller\n\t\t\n\t\tYou need to create a language controller file like the following\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tphp artisan make:controller LangController\n\t\t\t\t\n\t\t\t\n\t\tIt will create LangController.php file inside \/app\/Http\/Controllers folder.","keywords":"","name":"Implement Google Cloud AI API translation vs Google Translate for Laravel","thumbnailUrl":"https:\/\/www.linguise.com\/wp-content\/uploads\/2024\/05\/Implement-Google-Cloud-AI-API-translation-vs-Google-Translate-for-Laravel-150x150.png","wordCount":809,"timeRequired":"PT3M35S","mainEntity":{"@type":"WebPage","@id":"https:\/\/www.linguise.com\/blog\/guide\/implement-google-cloud-ai-api-translation-vs-google-translate-for-laravel\/"},"author":{"@type":"Person","name":"Tristan","url":"https:\/\/www.linguise.com\/author\/tristan\/","sameAs":[],"image":{"@type":"ImageObject","url":"https:\/\/secure.gravatar.com\/avatar\/50d7238660b192d8d54ebf6367be5e97bb41c24dbd190daae062d931efd351ae?s=96&d=mm&r=g","height":96,"width":96}},"editor":{"@type":"Person","name":"Tristan","url":"https:\/\/www.linguise.com\/author\/tristan\/","sameAs":[],"image":{"@type":"ImageObject","url":"https:\/\/secure.gravatar.com\/avatar\/50d7238660b192d8d54ebf6367be5e97bb41c24dbd190daae062d931efd351ae?s=96&d=mm&r=g","height":96,"width":96}}}</script> </head>

<body>
    <div class="container mt-5">
        <div class="row">
            <div class="col-md-12">
                <div class="card w-75 m-auto">
                    <div class="card-header text-center bg-primary text-white">
                        <h4 style="font-size: 17px;">Laravel 10 Create Multi Language Website Tutorial</h4>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-4">
                                <strong>Select Language: </strong>
                            </div>
                            <div class="col-md-4">
                                <select class="form-select changeLang">
                                    <option value="en" {{ session()->get('locale') == 'en' ? 'selected' : '' }}>
                                        English
                                    </option>
                                    <option value="fr" {{ session()->get('locale') == 'fr' ? 'selected' : '' }}>
                                        French
                                    </option>
                                    <option value="ar" {{ session()->get('locale') == 'ar' ? 'selected' : '' }}>
                                        Arabic
                                    </option>
                                    <option value="hi" {{ session()->get('locale') == 'hi' ? 'selected' : '' }}>
                                        Hindi
                                    </option>
                                </select>
                            </div>
                        </div>

                        <div style="margin-top: 20px;">
                            <p>{{ GoogleTranslate::trans('Welcome to Online Web Tutor', app()->getLocale()) }}</p>
                            <p>{{ GoogleTranslate::trans('It is a passionate and innovative Web Development Community dedicated to empowering aspiring web developers with the latest tools and techniques. Our platform offers a comprehensive range of web development courses, including PHP and its frameworks, Node.js, MySQL, Javascript and WordPress.', app()->getLocale()) }}
                            </p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

     <script data-no-optimize="1">window.lazyLoadOptions=Object.assign({},{threshold:300},window.lazyLoadOptions||{});!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).LazyLoad=e()}(this,function(){"use strict";function e(){return(e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,a=arguments[e];for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t}).apply(this,arguments)}function o(t){return e({},at,t)}function l(t,e){return t.getAttribute(gt+e)}function c(t){return l(t,vt)}function s(t,e){return function(t,e,n){e=gt+e;null!==n?t.setAttribute(e,n):t.removeAttribute(e)}(t,vt,e)}function i(t){return s(t,null),0}function r(t){return null===c(t)}function u(t){return c(t)===_t}function d(t,e,n,a){t&&(void 0===a?void 0===n?t(e):t(e,n):t(e,n,a))}function f(t,e){et?t.classList.add(e):t.className+=(t.className?" ":"")+e}function _(t,e){et?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")}function g(t){return t.llTempImage}function v(t,e){!e||(e=e._observer)&&e.unobserve(t)}function b(t,e){t&&(t.loadingCount+=e)}function p(t,e){t&&(t.toLoadCount=e)}function n(t){for(var e,n=[],a=0;e=t.children[a];a+=1)"SOURCE"===e.tagName&&n.push(e);return n}function h(t,e){(t=t.parentNode)&&"PICTURE"===t.tagName&&n(t).forEach(e)}function a(t,e){n(t).forEach(e)}function m(t){return!!t[lt]}function E(t){return t[lt]}function I(t){return delete t[lt]}function y(e,t){var n;m(e)||(n={},t.forEach(function(t){n[t]=e.getAttribute(t)}),e[lt]=n)}function L(a,t){var o;m(a)&&(o=E(a),t.forEach(function(t){var e,n;e=a,(t=o[n=t])?e.setAttribute(n,t):e.removeAttribute(n)}))}function k(t,e,n){f(t,e.class_loading),s(t,st),n&&(b(n,1),d(e.callback_loading,t,n))}function A(t,e,n){n&&t.setAttribute(e,n)}function O(t,e){A(t,rt,l(t,e.data_sizes)),A(t,it,l(t,e.data_srcset)),A(t,ot,l(t,e.data_src))}function w(t,e,n){var a=l(t,e.data_bg_multi),o=l(t,e.data_bg_multi_hidpi);(a=nt&&o?o:a)&&(t.style.backgroundImage=a,n=n,f(t=t,(e=e).class_applied),s(t,dt),n&&(e.unobserve_completed&&v(t,e),d(e.callback_applied,t,n)))}function x(t,e){!e||0<e.loadingCount||0<e.toLoadCount||d(t.callback_finish,e)}function M(t,e,n){t.addEventListener(e,n),t.llEvLisnrs[e]=n}function N(t){return!!t.llEvLisnrs}function z(t){if(N(t)){var e,n,a=t.llEvLisnrs;for(e in a){var o=a[e];n=e,o=o,t.removeEventListener(n,o)}delete t.llEvLisnrs}}function C(t,e,n){var a;delete t.llTempImage,b(n,-1),(a=n)&&--a.toLoadCount,_(t,e.class_loading),e.unobserve_completed&&v(t,n)}function R(i,r,c){var l=g(i)||i;N(l)||function(t,e,n){N(t)||(t.llEvLisnrs={});var a="VIDEO"===t.tagName?"loadeddata":"load";M(t,a,e),M(t,"error",n)}(l,function(t){var e,n,a,o;n=r,a=c,o=u(e=i),C(e,n,a),f(e,n.class_loaded),s(e,ut),d(n.callback_loaded,e,a),o||x(n,a),z(l)},function(t){var e,n,a,o;n=r,a=c,o=u(e=i),C(e,n,a),f(e,n.class_error),s(e,ft),d(n.callback_error,e,a),o||x(n,a),z(l)})}function T(t,e,n){var a,o,i,r,c;t.llTempImage=document.createElement("IMG"),R(t,e,n),m(c=t)||(c[lt]={backgroundImage:c.style.backgroundImage}),i=n,r=l(a=t,(o=e).data_bg),c=l(a,o.data_bg_hidpi),(r=nt&&c?c:r)&&(a.style.backgroundImage='url("'.concat(r,'")'),g(a).setAttribute(ot,r),k(a,o,i)),w(t,e,n)}function G(t,e,n){var a;R(t,e,n),a=e,e=n,(t=Et[(n=t).tagName])&&(t(n,a),k(n,a,e))}function D(t,e,n){var a;a=t,(-1<It.indexOf(a.tagName)?G:T)(t,e,n)}function S(t,e,n){var a;t.setAttribute("loading","lazy"),R(t,e,n),a=e,(e=Et[(n=t).tagName])&&e(n,a),s(t,_t)}function V(t){t.removeAttribute(ot),t.removeAttribute(it),t.removeAttribute(rt)}function j(t){h(t,function(t){L(t,mt)}),L(t,mt)}function F(t){var e;(e=yt[t.tagName])?e(t):m(e=t)&&(t=E(e),e.style.backgroundImage=t.backgroundImage)}function P(t,e){var n;F(t),n=e,r(e=t)||u(e)||(_(e,n.class_entered),_(e,n.class_exited),_(e,n.class_applied),_(e,n.class_loading),_(e,n.class_loaded),_(e,n.class_error)),i(t),I(t)}function U(t,e,n,a){var o;n.cancel_on_exit&&(c(t)!==st||"IMG"===t.tagName&&(z(t),h(o=t,function(t){V(t)}),V(o),j(t),_(t,n.class_loading),b(a,-1),i(t),d(n.callback_cancel,t,e,a)))}function $(t,e,n,a){var o,i,r=(i=t,0<=bt.indexOf(c(i)));s(t,"entered"),f(t,n.class_entered),_(t,n.class_exited),o=t,i=a,n.unobserve_entered&&v(o,i),d(n.callback_enter,t,e,a),r||D(t,n,a)}function q(t){return t.use_native&&"loading"in HTMLImageElement.prototype}function H(t,o,i){t.forEach(function(t){return(a=t).isIntersecting||0<a.intersectionRatio?$(t.target,t,o,i):(e=t.target,n=t,a=o,t=i,void(r(e)||(f(e,a.class_exited),U(e,n,a,t),d(a.callback_exit,e,n,t))));var e,n,a})}function B(e,n){var t;tt&&!q(e)&&(n._observer=new IntersectionObserver(function(t){H(t,e,n)},{root:(t=e).container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}))}function J(t){return Array.prototype.slice.call(t)}function K(t){return t.container.querySelectorAll(t.elements_selector)}function Q(t){return c(t)===ft}function W(t,e){return e=t||K(e),J(e).filter(r)}function X(e,t){var n;(n=K(e),J(n).filter(Q)).forEach(function(t){_(t,e.class_error),i(t)}),t.update()}function t(t,e){var n,a,t=o(t);this._settings=t,this.loadingCount=0,B(t,this),n=t,a=this,Y&&window.addEventListener("online",function(){X(n,a)}),this.update(e)}var Y="undefined"!=typeof window,Z=Y&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),tt=Y&&"IntersectionObserver"in window,et=Y&&"classList"in document.createElement("p"),nt=Y&&1<window.devicePixelRatio,at={elements_selector:".lazy",container:Z||Y?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"litespeed-loading",class_loaded:"litespeed-loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},ot="src",it="srcset",rt="sizes",ct="poster",lt="llOriginalAttrs",st="loading",ut="loaded",dt="applied",ft="error",_t="native",gt="data-",vt="ll-status",bt=[st,ut,dt,ft],pt=[ot],ht=[ot,ct],mt=[ot,it,rt],Et={IMG:function(t,e){h(t,function(t){y(t,mt),O(t,e)}),y(t,mt),O(t,e)},IFRAME:function(t,e){y(t,pt),A(t,ot,l(t,e.data_src))},VIDEO:function(t,e){a(t,function(t){y(t,pt),A(t,ot,l(t,e.data_src))}),y(t,ht),A(t,ct,l(t,e.data_poster)),A(t,ot,l(t,e.data_src)),t.load()}},It=["IMG","IFRAME","VIDEO"],yt={IMG:j,IFRAME:function(t){L(t,pt)},VIDEO:function(t){a(t,function(t){L(t,pt)}),L(t,ht),t.load()}},Lt=["IMG","IFRAME","VIDEO"];return t.prototype={update:function(t){var e,n,a,o=this._settings,i=W(t,o);{if(p(this,i.length),!Z&&tt)return q(o)?(e=o,n=this,i.forEach(function(t){-1!==Lt.indexOf(t.tagName)&&S(t,e,n)}),void p(n,0)):(t=this._observer,o=i,t.disconnect(),a=t,void o.forEach(function(t){a.observe(t)}));this.loadAll(i)}},destroy:function(){this._observer&&this._observer.disconnect(),K(this._settings).forEach(function(t){I(t)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var e=this,n=this._settings;W(t,n).forEach(function(t){v(t,e),D(t,n,e)})},restoreAll:function(){var e=this._settings;K(e).forEach(function(t){P(t,e)})}},t.load=function(t,e){e=o(e);D(t,e)},t.resetStatus=function(t){i(t)},t}),function(t,e){"use strict";function n(){e.body.classList.add("litespeed_lazyloaded")}function a(){console.log("[LiteSpeed] Start Lazy Load"),o=new LazyLoad(Object.assign({},t.lazyLoadOptions||{},{elements_selector:"[data-lazyloaded]",callback_finish:n})),i=function(){o.update()},t.MutationObserver&&new MutationObserver(i).observe(e.documentElement,{childList:!0,subtree:!0,attributes:!0})}var o,i;t.addEventListener?t.addEventListener("load",a,!1):t.attachEvent("onload",a)}(window,document);</script><script data-no-optimize="1">window.litespeed_ui_events=window.litespeed_ui_events||["mouseover","click","keydown","wheel","touchmove","touchstart"];var urlCreator=window.URL||window.webkitURL;function litespeed_load_delayed_js_force(){console.log("[LiteSpeed] Start Load JS Delayed"),litespeed_ui_events.forEach(e=>{window.removeEventListener(e,litespeed_load_delayed_js_force,{passive:!0})}),document.querySelectorAll("iframe[data-litespeed-src]").forEach(e=>{e.setAttribute("src",e.getAttribute("data-litespeed-src"))}),"loading"==document.readyState?window.addEventListener("DOMContentLoaded",litespeed_load_delayed_js):litespeed_load_delayed_js()}litespeed_ui_events.forEach(e=>{window.addEventListener(e,litespeed_load_delayed_js_force,{passive:!0})});async function litespeed_load_delayed_js(){let t=[];for(var d in document.querySelectorAll('script[type="litespeed/javascript"]').forEach(e=>{t.push(e)}),t)await new Promise(e=>litespeed_load_one(t[d],e));document.dispatchEvent(new Event("DOMContentLiteSpeedLoaded")),window.dispatchEvent(new Event("DOMContentLiteSpeedLoaded"))}function litespeed_load_one(t,e){console.log("[LiteSpeed] Load ",t);var d=document.createElement("script");d.addEventListener("load",e),d.addEventListener("error",e),t.getAttributeNames().forEach(e=>{"type"!=e&&d.setAttribute("data-src"==e?"src":e,t.getAttribute(e))});let a=!(d.type="text/javascript");!d.src&&t.textContent&&(d.src=litespeed_inline2src(t.textContent),a=!0),t.after(d),t.remove(),a&&e()}function litespeed_inline2src(t){try{var d=urlCreator.createObjectURL(new Blob([t.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm,"$1")],{type:"text/javascript"}))}catch(e){d="data:text/javascript;base64,"+btoa(t.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm,"$1"))}return d}</script><script data-no-optimize="1">var litespeed_vary=document.cookie.replace(/(?:(?:^|.*;\s*)_lscache_vary\s*\=\s*([^;]*).*$)|^.*$/,"");litespeed_vary||(sessionStorage.getItem("litespeed_reloaded")?console.log("LiteSpeed: skipping guest vary reload (already reloaded this session)"):fetch("/wp-content/plugins/litespeed-cache/guest.vary.php",{method:"POST",cache:"no-cache",redirect:"follow"}).then(e=>e.json()).then(e=>{console.log(e),e.hasOwnProperty("reload")&&"yes"==e.reload&&(sessionStorage.setItem("litespeed_docref",document.referrer),sessionStorage.setItem("litespeed_reloaded","1"),window.location.reload(!0))}));</script><script data-optimized="1" type="litespeed/javascript" data-src="https://www.linguise.com/wp-content/litespeed/js/7af15cc97e5765237ef1d42f32934472.js?ver=e7c8e"></script></body>

</html>

				
			

Ustawienia oprogramowania pośredniczącego języka

Otwórz terminal projektu i uruchom to polecenie,

				
					php artisan make:middleware LanguageManager


				
			

Utworzy plik LanguageManager.php wewnątrz folderu /app/Http/Middleware i wklej to.

Czarno-biały pikselowany obraz. Brak widocznych szczegółów.
				
					<?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);
    }
}

				
			

Zarejestruj oprogramowanie pośredniczące języka za pomocą Kernel.php

Otwórz plik Kernel.php znajdujący się w katalogu /app/Http. Poszukaj tablicy $middlewareGroups i przejdź do sekcji web.

Rozmyte zdjęcie tekstu na czarnym tle. Tekst jest nieczytelny.
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

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

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

				
			

Dodaj trasę

Otwórz web.php z folderu /routes i dodaj te trasy do niego.

Web.php - Wdróż tłumaczenie Google Cloud AI API vs Google Translate dla Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

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


				
			

Testowanie strony internetowej

Wykonaj to polecenie w terminalu projektu, aby uruchomić serwer deweloperski.

				
					php artisan serve
				
			

Oto wyświetlenie Laravel z witryny onlinewebtutorblog.com, która została utworzona, jak widać na poniższym wyświetlaczu, znajduje się lista rozwijana Google Translate.

Zniekształcony obraz tego, co wydaje się być ekranem komputera.

Wtedy tak to wygląda, gdy strona Laravel jest przetłumaczona na język arabski.

Awaryjny ekran komputera. Wyświetlanie zniekształconego kodu i tekstu.

Jaka jest różnica między implementacją tłumaczenia Google Cloud AI a Google Translate na Laravel?

Po zrozumieniu każdej implementacji tłumaczenia Google Cloud AI i Google Translate w Laravel, omówimy ich różnice.

Proces instalacji i konfiguracji

Ilustracja w czerni i bieli. Ludzie stojący obok dużego celu.
  • Tłumaczenie Google Cloud AI API: Proces instalacji i konfiguracji jest bardziej skomplikowany, ponieważ musisz utworzyć projekt na platformie Google Cloud Platform (GCP), włączyć interfejs Cloud Translation API, utworzyć konto usługi, wygenerować klucze API i skonfigurować klienta API w swojej Laravel aplikacji. Obejmuje to kilka kroków i wymaga ważnego konta GCP.
  • Tłumaczenie Google: Instalacja i konfiguracja są znacznie prostsze. Wystarczy zainstalować pakiet lub bibliotekę trzeciej strony za pomocą Composer, np. stichoza/google-translate-php. Następnie możesz skonfigurować klucz API Tłumaczenia Google w Laravelpliku konfiguracyjnym.

Dokładność tłumaczenia

Grupa osób zgromadzonych wokół komputera.
  • Tłumaczenie Google Cloud AI API: Dzięki swoim możliwościom głębokiego uczenia się, ta usługa może lepiej uchwycić złożone konteksty językowe i niuanse. Umożliwia to bardziej dokładne tłumaczenie idiomatycznych wyrażeń, przenośnych zwrotów i gierek słownych, które są trudne do przetłumaczenia dosłownie.
  • Tłumaczenie Google: często ma trudności z uchwyceniem subtelniejszego kontekstu językowego i niuansów, co sprawia, że wyniki brzmią sztywno lub mniej naturalnie. Ze względu na statystyczne podejście, tłumaczenie idiomatycznych wyrażeń lub figuratywnie użytych zwrotów jest często mniej dokładne.

Prędkość odpowiedzi

Statek kosmiczny startujący z laptopa i telefonu komórkowego.
  • Tłumaczenie Google Cloud AI API: Generalnie szybsze w odpowiadaniu na żądania tłumaczenia, ponieważ korzysta z zoptymalizowanych modeli tłumaczenia maszynowego hostowanych na solidnej infrastrukturze chmurowej Google. Zapewnia to krótsze czasy odpowiedzi, szczególnie w przypadku dłuższych tekstów lub dużych wolumenów tłumaczeń.
  • Tłumacz Google: Może być nieco wolniejszy w odpowiadaniu na żądania tłumaczenia, szczególnie w przypadku dłuższych dokumentów lub tekstów. Dzieje się tak, ponieważ używa bardziej tradycyjnego połączenia statystycznych i neuronalnych podejść do tłumaczenia, które mogą nie być tak skuteczne jak modele neuronowe używane przez Tłumaczenie Google Cloud AI API.

Możliwości dostosowania i kontroli

Zniekształcony ekran komputera z efektami usterki. Obraz wydaje się być uszkodzony.
  • Tłumaczenie Google Cloud AI API: Oferuje więcej opcji dostosowania i kontroli procesu tłumaczenia, takich jak ustawianie preferencji tłumaczenia, przesyłanie niestandardowych słowników oraz dostęp do tłumaczenia edytora na żywo interfejsu do ręcznej edycji wyników tłumaczenia. Umożliwia to użytkownikom poprawę dokładności tłumaczenia zgodnie z ich potrzebami.
  • Tłumacz Google: Ma bardziej ograniczone opcje dostosowania i kontroli. Użytkownicy muszą polegać na automatycznych wynikach tłumaczenia bez możliwości edycji lub bezpośredniego dostosowania wyników.

Zaawansowane funkcje

Ekran komputera z funkcjami dostępności i filiżanką kawy
  • Tłumaczenie Google Cloud AI API: Technologia tłumaczenia Google Cloud AI ma kilka zaawansowanych funkcji, takich jak Glosariusz, wybór modelu i modele AutoML. Dodatkowo, w kontekście tłumaczenia chmury AI z Linguise, posiada również zaawansowane funkcje, takie jak wykluczenia tłumaczeń dla określonych słów, takich jak terminy techniczne, nazwy marek itp., w oparciu o linie, strony lub adresy URL.
  • Tłumaczenie Google:Tłumaczenie Google zainstalowane w Laravel nie może tłumaczyć dokumentów audio ani innych. Może jedynie tłumaczyć tekst na stronie internetowej na inny język bez możliwości edycji wyników tłumaczenia.
Przełam bariery językowe
Żegnaj z barierami językowymi i witaj nieograniczony wzrost! Wypróbuj nasz automatyczny serwis tłumaczeń już dziś.

Czynniki, które należy wziąć pod uwagę przy wyborze usługi tłumaczeniowej dla Twojej strony Laravel

Oto kilka kwestii do rozważenia przy wyborze najlepszej usługi tłumaczeniowej dla Twojej strony internetowej Laravel .

  • Wysoka dokładność tłumaczenia – Jednym z najważniejszych czynników jest dokładność wykonanego tłumaczenia. Jeśli Twoja strona wymaga bardzo dokładnych tłumaczeń, zwłaszcza dla złożonych treści i subtelnego języka, wówczas Tłumaczenie Google Cloud AI API może być lepszym wyborem niż Tłumaczenie Google.
  • Łatwość integracji i konfiguracji — Rozważ instalację i konfigurację usługi tłumaczeniowej w swojej Laravel aplikacji. Tłumacz Google jest zazwyczaj łatwiejszy w integracji, ponieważ jest dostępny jako pakiet lub biblioteka PHP. Tymczasem Tłumaczenie Google Cloud AI API wymaga bardziej złożonej konfiguracji na platformie Google Cloud.
  • Funkcje i opcje dostosowywania – Jeśli potrzebujesz dodatkowych funkcji, takich jak glossary lub tłumaczenie terminologii specjalistycznej, tłumaczenie edytora wyniki lub inne opcje dostosowywania, Tłumaczenie Google Cloud AI API oferuje więcej opcji niż Tłumacz Google.
  • Szybkość i czas odpowiedzi – W przypadku aplikacji z dużymi wolumenami tłumaczeń lub wymagających szybkiej odpowiedzi, Tłumaczenie Google Cloud AI API zazwyczaj reaguje na żądania tłumaczenia szybciej niż Tłumacz Google.
  • Koszt i budżet – Tłumaczenie Google jest dostępne bezpłatnie do użytku niekomercyjnego, podczas gdy Tłumaczenie Google Cloud AI API korzysta z płatnego modelu rozliczeniowego opartego na zużyciu. Rozważ swój budżet i szacowaną wielkość tłumaczenia, aby wybrać najbardziej opłacalną usługę.
  • Wsparcie i dokumentacja – Rozważ także wsparcie techniczne i dostępną dokumentację dla każdej usługi. Tłumaczenie Google Cloud AI API może mieć bardziej kompleksową dokumentację i wsparcie od Google.

Linguise, najlepsze chmurowe usługi tłumaczeniowe AI dla witryny Laravel

Profesjonalne usługi projektowania i rozwoju stron internetowych, optymalizacja SEO

Do tego momentu znasz już względy przy wyborze usługi tłumaczeniowej dla Laravel; prawie wszystkie powyższe czynniki są obecne w usłudze tłumaczeniowej Linguise .

Linguise to usługa tłumaczenia stron internetowych wykorzystująca technologię tłumaczenia AI w chmurze do tworzenia tłumaczeń treści. Usługa ta może być najlepszym rozwiązaniem do tłumaczenia stron internetowych opartych na Laravel. Dlaczego tak jest? Ponieważ Linguise uwzględnia powyższe rozważania.

  • Linguise ma idealną jakość tłumaczenia. Chociaż ta dokładność różni się w zależności od pary językowej, Linguise szczyci się wskaźnikiem dokładności wynoszącym prawie 97%, podobnie jak tłumaczenie ludzkie.
  • Linguise jest również zintegrowany z ponad 40 systemami CMS i narzędziami do budowania stron internetowych, a także zintegrowany z witrynami opartymi na PHP, takimi jak Laravel
  • Chociaż tłumaczy automatycznie, Linguise ma edytor na żywo, który można wykorzystać do edycji wyników tłumaczenia. W ten sposób tłumaczenie można dostosować do preferencji biznesowych.
  • Czas ładowania stron wielojęzycznych jest tylko o 5% dłuższy niż stron w języku oryginalnym.
  • Nasza usługa jest dostępna w trzech pakietach w cenie od 15 do 45 dolarów miesięcznie. Chociaż jest to usługa płatna, oferujemy również 30-dniowy okres próbny z limitem 600 000 słów, które można przetłumaczyć.
  • Wreszcie, Linguise obsługuje wszystkie formy pomocy dla klientów, w tym artykuły przewodników, dokumentację, wiadomości produktowe, samouczki wideo na YouTube i czat pomocy 24/7.

Z powyższych punktów wynika, że Linguise może być rozwiązaniem technologicznym tłumaczenia AI w chmurze dla Laravel.

Gotowi na podbój nowych rynków? Wypróbuj nasze automatyczne usługi tłumaczeniowe za darmo z naszą bezpłatną próbą 1-miesięczną. Nie wymagamy podania numeru karty kredytowej!

Wnioski

W tym artykule zbadaliśmy główne różnice między implementacją Tłumaczenia API Google Cloud AI a Tłumaczem Google dla aplikacji internetowych Laravel .

Tłumaczenie Google Cloud AI API wyróżnia się dokładnością i potrzebą tłumaczeń o wysokiej dokładności. Jednak ta usługa wymaga bardziej złożonej konfiguracji i jest droższa niż Tłumacz Google. Z drugiej strony Tłumacz Google oferuje łatwość integracji, ale ma ograniczenia w zakresie dokładności i opcji dostosowywania.

Linguise pojawia się jako alternatywna usługa tłumaczeniowa oparta na chmurze AI, kompatybilna z witrynami Laravel . Dzięki poziomowi dokładności niemal równym tłumaczeniom ludzkim, opcjom edytora tłumaczeń, szybkim czasom ładowania i kompleksowej obsłudze klienta, Linguise staje się doskonałym rozwiązaniem tłumaczeniowym dla Twojej witryny Laravel .

Jeśli chcesz wypróbować Linguise, możesz zarejestrować się na bezpłatne konto i korzystać z 30-dniowego okresu próbnego z limitem 600 000 przetłumaczonych słów. Odwiedź linguise.com, aby uzyskać więcej informacji!

Możesz być również zainteresowany przeczytaniem

Nie przegap okazji!
Zapisz się do naszego newslettera

Otrzymuj wiadomości o automatycznym tłumaczeniu witryny, międzynarodowym SEO i nie tylko!

Invalid email address
Wypróbuj. Raz na miesiąc, a możesz zrezygnować w dowolnym momencie.

Nie odchodź bez podania swojego adresu e-mail!

Nie możemy zagwarantować, że wygrasz w loterii, ale możemy obiecać kilka interesujących wiadomości informacyjnych dotyczących tłumaczenia i okazjonalnych zniżek.

Nie przegap okazji!
Invalid email address