Реализация перевода API Google Cloud AI vs 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, используют технологию перевода ИИ облака для перевода сайтов.

Сервис перевода языков использует облачный 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 vs 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 Translate на Laravel

Теперь мы попробуем реализовать Google Translate в Laravel. Здесь мы предполагаем, что вы успешно создали проект Laravel и просто нужно добавить Google Translate.

Вы также можете найти следующие шаги установки на официальном Laravel сайте.

Установите пакет Google Translator

Чтобы установить пакет Google Translator, откройте командную строку проекта и введите следующую команду. Этот пакет позволит вам использовать рабочие функции google-translator-language.

				
					composer require stichoza/google-translate-php
				
			

Настройка пакета Google Translator

Мы должны настроить «пакет google translator» внутри приложения. Откройте файл app.php в папке /config, найдите раздел «aliases» и добавьте следующую строку кода.

Компьютерный терминал с текстом кода на экране. Дисплей отображает различные строки кода.
				
					/*
|--------------------------------------------------------------------------
| 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/bb84a0050888b13b7aed9f05a593a857.js?ver=ffe2a"></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 - Реализация перевода API Google Cloud AI vs 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, создать учетную запись службы, сгенерировать ключи 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 Translate: Он может быть немного медленнее при реагировании на запросы перевода, особенно для более длинных документов или текстов. Это связано с тем, что он использует более традиционный подход, сочетающий статистические и нейронные методы перевода, которые могут быть не так эффективны, как нейронные модели, используемые в переводе Google Cloud AI API.

Возможности настройки и управления

Искаженный экран компьютера с глючными эффектами. Изображение кажется поврежденным.
  • Перевод Google Cloud AI API: Предлагает больше возможностей для настройки и контроля процесса перевода, таких как установка предпочтений перевода, загрузка пользовательских глоссариев и доступ к интерфейсу перевода с живым редактором для ручного редактирования результатов перевода. Это позволяет пользователям повышать точность перевода в соответствии с их потребностями.
  • Google Translate: Имеет более ограниченные возможности настройки и контроля. Пользователи должны полагаться на автоматические результаты перевода без возможности редактирования или прямой настройки результатов.

Расширенные возможности

Экран компьютера с функциями доступности и чашкой кофе
  • Перевод Google Cloud AI API: Технология перевода Google Cloud AI имеет несколько продвинутых функций, таких как глоссарий, выбор модели и модели AutoML. Кроме того, в контексте облачного перевода AI с 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, лучший облачный сервис перевода AI для сайта на Laravel

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

На данный момент вы уже знаете о факторах, влияющих на выбор сервиса перевода для Laravel; почти все вышеупомянутые факторы присутствуют в сервисе перевода Linguise .

Linguise - это сервис перевода сайтов, использующий технологию облачного перевода AI для создания переводов контента. Этот сервис может быть лучшим решением для перевода сайта на основе Laravel. Почему это так? Потому что Linguise учитывает вышеупомянутые факторы.

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

Из вышесказанного следует, что Linguise может быть облачным решением для перевода с использованием технологии AI для Laravel.

Готовы исследовать новые рынки? Попробуйте наш автоматический сервис перевода бесплатно с нашим 1-месячным безрисковым испытанием. Кредитная карта не требуется!

Заключение

В этой статье мы рассмотрели основные различия между реализацией перевода Google Cloud AI API и Google Translate для веб-приложений Laravel .

Перевод Google Cloud AI API превосходит по точности и необходимости высокоточных переводов. Однако эта услуга требует более сложной конфигурации и стоит дороже, чем Google Translate. С другой стороны, Google Translate предлагает легкость интеграции, но имеет ограничения в точности и вариантах настройки.

Linguise появляется как альтернативная облачная служба перевода на основе ИИ, совместимая с веб-сайтами на Laravel. С уровнем точности, почти сопоставимым с человеческими переводами, возможностями редактора перевода, быстрым временем загрузки и всесторонней поддержкой клиентов, Linguise становится отличным решением для перевода вашего сайта на Laravel.

Если вы хотите попробовать , вы можете зарегистрироваться бесплатно и воспользоваться 30-дневным пробным периодом с ограничением в 600 000 переведенных слов. Посетите .com для получения более подробной информации!

Вас также может заинтересовать чтение

Не упустите возможность!
Подпишитесь на нашу рассылку

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

Invalid email address
Give it a try. One per month, and you can unsubscribe at any time.

Не уходите без обмена вашим email!

Мы не можем гарантировать, что вы выиграете в лотерее, но мы можем обещать интересные информационные новости вокруг перевода и периодические скидки.

Не упустите возможность!
Invalid email address