Реалізуйте переклад за допомогою Google Cloud AI API порівняно з Google Translate для Laravel

електронні пристрої, чорно-білі
Зміст

Для тих із вас, хто володіє веб-сайтами на основі Laravel, надання точного та природного змісту перекладу є дуже важливим для перекладу вашого веб-сайту та надання хорошого користувацького досвіду.

На щастя, доступно кілька автоматичних служб перекладу, які допомагають розробникам подолати це завдання, включаючи переклад Google Cloud AI API та Google Translate. Обидві служби пропонують можливості перекладу з використанням машинної технології.

У цій статті ми розглянемо основні відмінності між реалізацією перекладу Google Cloud AI та Google Translate для додатків Laravel та рекомендуємо найкращі служби перекладу для вашого веб-сайту Laravel.

Що таке переклад Google Cloud AI API та Google Translate?

Перш ніж перейти до обговорення, ми обговоримо відповідні значення перекладів Google Cloud AI API та Google Translate.

Переклад Google Cloud AI API

Сервер Google Cloud та хмарне сховище

Переклад Google Cloud AI API - це розширена автоматична служба перекладу, що надається платформою Google Cloud. Ця служба використовує останні технології штучного інтелекту (ШІ) та машинного навчання для надання точних та природніх перекладів тексту, голосу та документів.

Сервіс перекладу Google Cloud AI API використовує нейронні моделі перекладу на основі глибокого навчання, що дозволяє йому краще відображати нюанси мови та контекст, забезпечуючи більш ідіоматичні переклади, які відповідають фактичному використанню мови. Крім того, використання сервісу перекладу Google Cloud AI для текстів розміром до 500 000 символів є безкоштовним, тоді як за наступні 75 000 символів буде стягнуто плату у розмірі 20 доларів за мільйон символів. 

Google Перекладач

Інтерфейс налаштувань перекладу. Параметри мовних налаштувань.

Тим часом Google Translate є давно відомим і широко використовуваним сервісом автоматичного перекладу тексту. Він використовує більш традиційний статистичний підхід до перекладу, який генерує переклади на основі шаблонів і ймовірностей, отриманих з великих навчальних наборів даних.

Хоча це не так розвинено, як переклад за допомогою Google Cloud AI API щодо точності та обробки мовних нюансів, Google Translate залишається популярним вибором завдяки легкості використання та безкоштовній доступності для некомерційного використання.

Реалізуйте переклад за допомогою Google Cloud AI API на Laravel

Деякі сервіси перекладу, зокрема Linguise, використовують технологію хмарного перекладу AI для перекладу веб-сайтів.

Служба перекладу мов використовує хмарний AI API як одну зі своїх технологій перекладу. Нижче наведено етапи реалізації на веб-сайті Laravel. Тут ми припускаємо, що у вас уже є готовий веб-сайт проекту Laravel.

Створіть обліковий запис Linguise

Щоб використовувати Linguise, ви повинні зареєструвати обліковий запис спочатку. Ви можете зробити це безкоштовно або підписатися на один місяць або рік. Вам потрібно буде надати інформацію, таку як електронна пошта, ім'я користувача та пароль.

Додати інформацію про веб-сайт Laravel

Потім додайте інформацію про веб-сайт, який ви будете використовувати, введіть дані облікового запису Linguise та URL-адресу веб-сайту, виберіть платформу Laravel та додайте мову за замовчуванням і мову, яку ви хочете додати на веб-сайт.

 

Анімація завантаження

Потім завантажте сценарій PHP за допомогою наступної кнопки та збережіть його на локальному комп'ютері.

Завантажте та налаштуйте сценарій PHP

Після завантаження сценарію розархівуйте його та завантажте до кореневого каталогу, де встановлено Laravel . Переконайтеся, що він знаходиться в корені вашої інсталяції Laravel (як правило, де знаходяться ваші файли CMS). Переконайтеся, що каталог має назву “linguise” (назва за замовчуванням при розархівуванні).

Меню навігації файлової системи комп'ютера

Потім ключ API Linguise необхідно скопіювати до файлу …/linguise/Configuration.php, який ви завантажили на свій сервер. Відредагуйте файл та вставте свій ключ API між лапками, замінивши текст REPLACE_BY_YOUR_TOKEN.

Скріншот конфігурації коду

Вставлення сценарію перемикача мови

Далі вставте сценарій перемикача мови, який ви отримали з панелі управління Linguise.

Сценарій перемикача мови - Реалізація перекладу за допомогою API Google Cloud AI порівняно з Google Translate для Laravel

Вставлено у файл front.blade.php у каталозі resources/views/layouts/. Ось попередній перегляд вставленого сценарію.

Вікно терміналу з виводом коду

Налаштування .htaccess

Нарешті, URL-адреси на основі мови потрібно налаштувати у файлі .htaccess. Якщо ваш файл містить «RewriteBase /», просто скопіюйте та вставте наступний код після цього рядка.

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

Готово. На цей момент ви успішно реалізували переклад API хмарного ШІ на сервісі Linguise. Тепер ви можете перевірити сайт Laravel. З'явиться перемикач мови за замовчуванням, і ви зможете налаштувати перемикач мови для Laravel через панель керування.

чоловік із темним фоном, таємнича атмосфера

Реалізація перекладу Google на Laravel

Тепер ми спробуємо реалізувати Google Translate у Laravel. Тут ми припускаємо, що ви успішно створили проєкт Laravel і просто потрібно додати Google Translate.

Ви також можете знайти наступні кроки встановлення на офіційному Laravel.

Встановіть пакет перекладача Google

Щоб встановити пакет перекладача Google, відкрийте командний рядок проєкту і введіть наступну команду. Цей пакет дозволить вам використовувати робочі функції мови перекладача Google.

				
					composer require stichoza/google-translate-php
				
			

Налаштування пакета перекладача Google

Ми повинні налаштувати «пакет перекладача Google» у додатку. Відкрийте файл app.php у папці /config, знайдіть розділ «псевдоніми» і додайте наступний рядок коду.

Комп'ютерний термінал із текстом кодування на екрані. Дисплей відображає різні рядки коду.
				
					/*
|--------------------------------------------------------------------------
| 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(),

				
			

Налаштування контролера мови

Вам потрібно створити файл контролера мови, як показано нижче

				
					php artisan make:controller LangController
				
			

Буде створено файл LangController.php всередині папки /app/Http/Controllers.

екран комп'ютера, що показує рядки коду
				
					<?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();
    }
}


				
			

Створення файлу шаблону Blade

Перейдіть до папки /resources/views і створіть файл із назвою lang.blade.php. Відкрийте файл і вставте наступний код у нього.

Зображення коду на екрані комп'ютера. Текст програмування.
				
					<!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/a34a9f5be866041efb810d48a1cc5b6e.js?ver=6943a"></script></body>

</html>

				
			

Налаштування мовного проміжного програмного забезпечення

Відкрийте термінал проекту і виконайте цю команду,

				
					php artisan make:middleware LanguageManager


				
			

Буде створено файл LanguageManager.php всередині папки /app/Http/Middleware і вставлено цей код.

Чорно-біле пікселізований зображення. Немає чітких деталей.
				
					<?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);
    }
}

				
			

Реєстрація мовного проміжного програмного забезпечення через Kernel.php

Відкрийте файл Kernel.php, розташований у каталозі /app/Http. Знайдіть масив $middlewareGroups і перейдіть до розділу web.

Розмите зображення тексту на чорному тлі. Текст нерозбірливий.
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

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

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

				
			

Додати маршрут

Відкрийте web.php із папки /routes і додайте ці маршрути до нього.

Web.php - Реалізуйте переклад за допомогою Google Cloud AI API порівняно з Google Translate для Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

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


				
			

Тестування веб-сайту

Виконайте цю команду в терміналі проекту, щоб запустити сервер розробки.

				
					php artisan serve
				
			

Ось відображення Laravel з веб-сайту onlinewebtutorblog.com, який було створено, як ви можете побачити на наступному відображенні, є спадне меню Google Translate.

Створене зображення того, що виглядає як екран комп'ютера.

Тоді це виглядає так, коли веб-сайт Laravel перекладено арабською.

Неисправний екран комп'ютера. Відображення викривленого коду та тексту.

Яка різниця між впровадженням перекладу Google Cloud AI та Google Translate на Laravel?

Після розуміння кожного впровадження Google Cloud AI та перекладу Google Translate у Laravel, ми обговоримо їх відмінності.

Процес встановлення та налаштування

Чорно-біла ілюстрація. Люди стоять біля великої цілі.
  • Переклад Google Cloud AI API: Процес встановлення та налаштування є більш складним, оскільки потрібно створити проект на платформі Google Cloud (GCP), активувати API перекладу Cloud Translation, створити обліковий запис сервісу, згенерувати ключі API та налаштувати клієнт API у вашій програмі Laravel. Це включає кілька етапів і вимагає дійсного облікового запису GCP.
  • Google Translate: Встановлення та конфігурація набагато простіші. Вам потрібно лише встановити сторонній пакет або бібліотеку через Composer, наприклад stichoza/google-translate-php. Після цього ви можете налаштувати ключ API Google Translate у файлі конфігурації Laravel

Точність перекладу

Група людей, зібраних навколо комп'ютера.
  • Переклад Google Cloud AI API: Завдяки можливостям глибокого навчання цей сервіс може краще розпізнавати складні мовні контексти та нюанси. Це дозволяє здійснювати більш точний переклад ідіоматичних виразів, образних фраз та словосполучень, які важко перекласти буквально.
  • Google Translate: часто має труднощі з розпізнаванням більш тонкого мовного контексту та нюансів, що робить результати менш природними або жорсткими. Через статистичний підхід переклад ідіоматичних виразів або образних фраз часто менш точний.

Швидкість відповіді

Космічний корабель, що злітає з ноутбука та мобільного телефону.
  • Переклад за допомогою Google Cloud AI API: Загалом швидше реагує на запити щодо перекладу, оскільки використовує оптимізовані моделі нейронного машинного перекладу , розміщені на потужній хмарній інфраструктурі Google. Це забезпечує швидшу відповідь, особливо для довших текстів або великих обсягів перекладів.
  • Google Перекладач: Може реагувати трохи повільніше на запити щодо перекладу, особливо для довших документів чи текстів. Це пов'язано з тим, що він використовує більш традиційний підхід до перекладу із застосуванням статистичних і нейронних методів, які можуть бути не такими ефективними, як нейронні моделі, що використовуються в Google Cloud AI API для перекладу.

Можливості налаштування та керування

Спотворений екран комп'ютера зі збоями. Зображення виглядає пошкодженим.
  • Переклад за допомогою Google Cloud AI API: Пропонує більше можливостей для налаштування та керування процесом перекладу, наприклад, встановлення налаштувань перекладу, завантаження користувацьких глосаріїв та доступ до інтерфейсу редагування перекладу в режимі реального часу для ручного редагування результатів перекладу. Це дозволяє користувачам покращувати точність перекладу відповідно до їхніх потреб.
  • Google Перекладач: Має більш обмежені можливості налаштування та керування. Користувачі повинні покладатися на автоматичні результати перекладу без можливості редагувати або безпосередньо налаштовувати результати.

Додаткові функції

Екран комп'ютера з функціями доступності та чашка кави
  • Переклад за допомогою API Google Cloud AI: Технологія перекладу Google Cloud AI має кілька передових функцій, таких як глосарій, вибір моделі та моделі AutoML. Крім того, у контексті перекладу хмарного ШІ за допомогою Linguise він також має передові функції, такі як виключення перекладу для певних слів, таких як технічні терміни, назви брендів тощо, на основі рядків, сторінок або URL-адрес.
  • Google Translate: Google Translate, встановлений у Laravel, не може перекладати аудіодокументи чи інші. Він може лише перекладати текст на веб-сайті іншою мовою без можливості редагувати результати перекладу.
Подолайте мовні бар'єри
Попрощайтеся з мовними бар'єрами та привітайте безмежне зростання! Спробуйте наш автоматичний сервіс перекладу сьогодні.

Фактори, які слід враховувати при виборі служби перекладу для вашого веб-сайту Laravel

Ось деякі міркування щодо вибору найкращої служби перекладу для вашого веб-сайту Laravel .

  • Висока точність перекладу – Одним із найважливіших факторів є точність створеного перекладу. Якщо ваш веб-сайт потребує високоточних перекладів, особливо для складного вмісту та нюансованої мови, тоді переклад Google Cloud AI API може бути кращим вибором, ніж Google Translate.
  • Легкість інтеграції та конфігурації — Розгляньте можливість встановлення та налаштування сервісу перекладу за допомогою вашої Laravel програми. Google Translate зазвичай легше інтегрувати, оскільки він доступний як пакет або бібліотека PHP. Тим часом, переклад Google Cloud AI API вимагає більш складної конфігурації на платформі Google Cloud.
  • Функції та варіанти налаштування – Якщо вам потрібні додаткові функції, такі як глосарій або переклад спеціалізованої термінології, редактор перекладу результати або інші варіанти налаштування, Google Cloud AI API Translation пропонує більше варіантів, ніж Google Translate.
  • Швидкість і час відповіді – Для застосунків з великими обсягами перекладу або тих, що потребують швидкої відповіді, Google Cloud AI API Translation зазвичай відповідає на запити перекладу швидше, ніж Google Translate.
  • Вартість і бюджет – Google Translate доступний безкоштовно для некомерційного використання, тоді як Google Cloud AI API Translation використовує платіжну модель на основі використання. Враховуйте свій бюджет та очікуваний обсяг перекладу, щоб вибрати найбільш економічно ефективну службу.
  • Підтримка та документація – Також враховуйте технічну підтримку та документацію, доступну для кожної служби. Переклад Google Cloud AI API може мати більш повну документацію та підтримку від Google.

Linguise, найкращий сервіс хмарного перекладу ШІ для веб-сайтів на основі Laravel

Професійні послуги дизайну та розробки веб-сайтів, оптимізація для пошукових систем

На цей момент ви вже знаєте про міркування щодо вибору сервісу перекладу для Laravel; майже всі вищезгадані фактори присутні в сервісі перекладу Linguise .

Linguise - це сервіс перекладу веб-сайтів, який використовує технологію хмарного перекладу ШІ для створення перекладів контенту. Цей сервіс може бути найкращим рішенням для перекладу веб-сайту на основі Laravel. Чому це так? Тому що Linguise вирішує вищезгадані міркування.

  • Linguise має ідеальну якість перекладу. Хоча ця точність варіюється залежно від мовної пари, Linguise може похвалитися точністю майже 97%, що відповідає людському перекладу.
  • Linguise також інтегровано з більш ніж 40 CMS та будівельниками веб-сайтів, а також інтегровано з веб-сайтами на основі PHP, такими як Laravel.
  • Хоча він перекладає автоматично, Linguise має живий редактор, який можна використовувати для редагування результатів перекладу. Таким чином, переклад можна налаштувати відповідно до бізнес-переваг.
  • Час завантаження багатомовних сторінок лише на 5% довший, ніж у сторінок оригінальної мови.
  • Наша послуга доступна в трьох пакетах вартістю від 15 до 45 доларів на місяць. Хоча це платна послуга, ми також пропонуємо безкоштовний пробний період на 30 днів з обмеженням у 600 000 слів, які можна перекласти.
  • Нарешті, Linguise підтримує всі форми обслуговування клієнтів, включаючи керівництва, документацію, новини продуктів, відео-уроки на YouTube та цілодобову підтримку чату.

З наведених вище пунктів, Linguise може бути хмарним рішенням для перекладу зі штучним інтелектом для Laravel.

Готові дослідити нові ринки? Спробуйте наш автоматичний сервіс перекладу безкоштовно з нашим 1-місячним безризиковим пробним періодом. Номер кредитної картки не потрібен!

Висновок

У цій статті ми дослідили основні відмінності між впровадженням перекладу Google Cloud AI API та Google Translate для веб-застосунків Laravel .

Переклад за допомогою Google Cloud AI API відзначається високою точністю та необхідністю у перекладах з високою точністю. Однак ця послуга потребує більш складної конфігурації та є дорожчою, ніж Google Translate. З іншого боку, Google Translate пропонує легкість інтеграції, але має обмеження у точності та можливостях налаштування.

Linguise постає як альтернативна хмарна послуга перекладу на основі ШІ, сумісна із веб-сайтами Laravel . Завдяки рівням точності, що майже відповідають людським перекладам, можливостям редактора перекладу, швидкому завантаженню та всебічній підтримці клієнтів, Linguise стає відмінним рішенням для перекладу вашого веб-сайту Laravel .

Якщо ви хочете спробувати Linguise, ви можете зареєструвати безкоштовний обліковий запис та скористатися 30-денним пробним періодом із обмеженням у 600 000 перекладених слів. Відвідайте linguise.com для отримання додаткової інформації!

Вас також може зацікавити читання

Не пропустіть!
Підпишіться на нашу розсилку

Отримуйте новини про автоматичний переклад веб-сайтів, міжнародне SEO та багато іншого!

Invalid email address
Спробуйте. Один раз на місяць, і ви можете відмовитися від підписки в будь-який момент.

Не йдіть без того, щоб поділитися своєю електронною поштою!

Ми не можемо гарантувати, що ви виграєте в лотерею, але ми можемо пообіцяти вам цікаві інформаційні новини про переклад та періодичні знижки.

Не пропустіть!
Invalid email address