Внедрение перевода Google Cloud AI API вместо Google Translate для Laravel

Внедрение перевода Google Cloud AI API вместо Google Translate для Laravel
Оглавление

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

К счастью, доступно несколько служб автоматического перевода, которые помогут разработчикам решить эту проблему, в том числе Google Cloud AI API Translation и Google Translate. Обе службы предлагают возможности перевода с использованием машинных технологий.

В этой статье мы рассмотрим основные различия между внедрением Google Cloud AI Translation и Google Translate для Laravel и порекомендуем лучшие услуги перевода для вашего Laravel .

Что такое перевод Google Cloud AI API и Google Translate?

Прежде чем приступить к обсуждению, мы обсудим соответствующие значения переводов Google Cloud AI API и Google Translate.

Перевод Google Cloud AI API

Перевод Google Cloud AI. Внедрение перевода Google Cloud AI API вместо Google Translate для Laravel

Google Cloud AI API Translation — это усовершенствованная служба автоматического перевода, предоставляемая Google Cloud Platform. Этот сервис использует новейшие технологии искусственного интеллекта (ИИ) и машинного обучения для обеспечения точных и естественных переводов текста, голоса и документов.

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

переводчик Google

Google Translate — реализация перевода Google Cloud AI API вместо Google Translate для Laravel

Между тем, Google Translate — давний и широко известный сервис автоматического перевода текста. Он использует более традиционный подход статистического перевода, который генерирует переводы на основе закономерностей и вероятностей, полученных из больших наборов обучающих данных.

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

Внедрение перевода Google Cloud AI API на Laravel

Несколько сервисов перевода, в том числе Linguise , используют AI Translation для перевода веб-сайтов.

Служба языкового перевода использует облачный AI API в качестве одной из технологий перевода. Ниже приведены шаги реализации на Laravel . Мы предполагаем, что у вас уже есть готовый Laravel .

Создать учетную запись Linguise

Чтобы использовать Linguise , вам необходимо зарегистрировать учетную запись . Вы можете сделать это бесплатно или оформить подписку на месяц или год. Вам нужно предоставить только такую ​​информацию, как адрес электронной почты, имя пользователя и пароль.

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

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

 

Добавить веб-сайт домена — внедрить перевод Google Cloud AI API вместо Google Translate для Laravel

Затем загрузите PHP-скрипт с помощью следующей кнопки и сохраните его на своем локальном компьютере.

Загрузите и настройте PHP-скрипт.

После скачивания скрипта разархивируйте его и загрузите в корневую папку, где установлен Laravel . Убедитесь, что он расположен в корне вашей установки Laravel (обычно там, где находятся файлы CMS). Убедитесь, что папка называется «linguise» (имя по умолчанию, когда папка распакована).

Загрузка в папку Linguise — реализация перевода Google Cloud AI API вместо Google Translate для Laravel

Затем ключ Linguise API необходимо скопировать в файл …/linguise/Configuration.php, который вы загрузили на свой сервер. Отредактируйте файл и вставьте ключ API в кавычки, заменив текст REPLACE_BY_YOUR_TOKEN.

Заменить ключ API — реализовать перевод Google Cloud AI API вместо Google Translate для Laravel

Вставить скрипт переключения языка

Затем вставьте скрипт переключения языка, полученный на Linguise .

Переключатель языков сценариев — реализация перевода Google Cloud AI API вместо Google Translate для Laravel

Вставляется в файл front.blade.php в каталоге resources/views/layouts/. Вот предварительный просмотр вставленного скрипта.

Front Blade.php — реализация перевода Google Cloud AI API вместо Google Translate для Laravel

Настроить .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>
				
			

Сделанный. На этом этапе вы успешно внедрили перевод облачного AI API в Linguise . Теперь вы можете проверить Laravel . Появится переключатель языка по умолчанию, и вы можете настроить переключатель языка для Laravel через панель управления.

Переключатель языка Laravel — реализация перевода Google Cloud AI API вместо Google Translate для Laravel

Внедрить Google Translate на Laravel

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

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

Установите пакет Google Переводчика

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

				
					composer require stichoza/google-translate-php
				
			

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

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

App.php — реализация перевода Google Cloud AI API вместо Google Translate для Laravel
				
					/*
|--------------------------------------------------------------------------
| 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.

Языковой контроллер — реализация перевода Google Cloud AI API вместо Google Translate для Laravel
				
					<?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();
    }
}


				
			

Создать файл шаблона лезвия

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

LangBlade.php — реализация перевода Google Cloud AI API вместо Google Translate для Laravel
				
					<!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">!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 i(t){return e({},it,t)}function o(t,e){var n,a="LazyLoad::Initialized",i=new t(e);try{n=new CustomEvent(a,{detail:{instance:i}})}catch(t){(n=document.createEvent("CustomEvent")).initCustomEvent(a,!1,!1,{instance:i})}window.dispatchEvent(n)}function l(t,e){return t.getAttribute(gt+e)}function c(t){return l(t,bt)}function s(t,e){return function(t,e,n){e=gt+e;null!==n?t.setAttribute(e,n):t.removeAttribute(e)}(t,bt,e)}function r(t){return s(t,null),0}function u(t){return null===c(t)}function d(t){return c(t)===vt}function f(t,e,n,a){t&&(void 0===a?void 0===n?t(e):t(e,n):t(e,n,a))}function _(t,e){nt?t.classList.add(e):t.className+=(t.className?" ":"")+e}function v(t,e){nt?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 b(t,e){!e||(e=e._observer)&&e.unobserve(t)}function p(t,e){t&&(t.loadingCount+=e)}function h(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 m(t,e){(t=t.parentNode)&&"PICTURE"===t.tagName&&n(t).forEach(e)}function a(t,e){n(t).forEach(e)}function E(t){return!!t[st]}function I(t){return t[st]}function y(t){return delete t[st]}function A(e,t){var n;E(e)||(n={},t.forEach(function(t){n[t]=e.getAttribute(t)}),e[st]=n)}function k(a,t){var i;E(a)&&(i=I(a),t.forEach(function(t){var e,n;e=a,(t=i[n=t])?e.setAttribute(n,t):e.removeAttribute(n)}))}function L(t,e,n){_(t,e.class_loading),s(t,ut),n&&(p(n,1),f(e.callback_loading,t,n))}function w(t,e,n){n&&t.setAttribute(e,n)}function x(t,e){w(t,ct,l(t,e.data_sizes)),w(t,rt,l(t,e.data_srcset)),w(t,ot,l(t,e.data_src))}function O(t,e,n){var a=l(t,e.data_bg_multi),i=l(t,e.data_bg_multi_hidpi);(a=at&&i?i:a)&&(t.style.backgroundImage=a,n=n,_(t=t,(e=e).class_applied),s(t,ft),n&&(e.unobserve_completed&&b(t,e),f(e.callback_applied,t,n)))}function N(t,e){!e||0<e.loadingCount||0<e.toLoadCount||f(t.callback_finish,e)}function C(t,e,n){t.addEventListener(e,n),t.llEvLisnrs[e]=n}function M(t){return!!t.llEvLisnrs}function z(t){if(M(t)){var e,n,a=t.llEvLisnrs;for(e in a){var i=a[e];n=e,i=i,t.removeEventListener(n,i)}delete t.llEvLisnrs}}function R(t,e,n){var a;delete t.llTempImage,p(n,-1),(a=n)&&--a.toLoadCount,v(t,e.class_loading),e.unobserve_completed&&b(t,n)}function T(o,r,c){var l=g(o)||o;M(l)||function(t,e,n){M(t)||(t.llEvLisnrs={});var a="VIDEO"===t.tagName?"loadeddata":"load";C(t,a,e),C(t,"error",n)}(l,function(t){var e,n,a,i;n=r,a=c,i=d(e=o),R(e,n,a),_(e,n.class_loaded),s(e,dt),f(n.callback_loaded,e,a),i||N(n,a),z(l)},function(t){var e,n,a,i;n=r,a=c,i=d(e=o),R(e,n,a),_(e,n.class_error),s(e,_t),f(n.callback_error,e,a),i||N(n,a),z(l)})}function G(t,e,n){var a,i,o,r,c;t.llTempImage=document.createElement("IMG"),T(t,e,n),E(c=t)||(c[st]={backgroundImage:c.style.backgroundImage}),o=n,r=l(a=t,(i=e).data_bg),c=l(a,i.data_bg_hidpi),(r=at&&c?c:r)&&(a.style.backgroundImage='url("'.concat(r,'")'),g(a).setAttribute(ot,r),L(a,i,o)),O(t,e,n)}function D(t,e,n){var a;T(t,e,n),a=e,e=n,(t=It[(n=t).tagName])&&(t(n,a),L(n,a,e))}function V(t,e,n){var a;a=t,(-1<yt.indexOf(a.tagName)?D:G)(t,e,n)}function F(t,e,n){var a;t.setAttribute("loading","lazy"),T(t,e,n),a=e,(e=It[(n=t).tagName])&&e(n,a),s(t,vt)}function j(t){t.removeAttribute(ot),t.removeAttribute(rt),t.removeAttribute(ct)}function P(t){m(t,function(t){k(t,Et)}),k(t,Et)}function S(t){var e;(e=At[t.tagName])?e(t):E(e=t)&&(t=I(e),e.style.backgroundImage=t.backgroundImage)}function U(t,e){var n;S(t),n=e,u(e=t)||d(e)||(v(e,n.class_entered),v(e,n.class_exited),v(e,n.class_applied),v(e,n.class_loading),v(e,n.class_loaded),v(e,n.class_error)),r(t),y(t)}function $(t,e,n,a){var i;n.cancel_on_exit&&(c(t)!==ut||"IMG"===t.tagName&&(z(t),m(i=t,function(t){j(t)}),j(i),P(t),v(t,n.class_loading),p(a,-1),r(t),f(n.callback_cancel,t,e,a)))}function q(t,e,n,a){var i,o,r=(o=t,0<=pt.indexOf(c(o)));s(t,"entered"),_(t,n.class_entered),v(t,n.class_exited),i=t,o=a,n.unobserve_entered&&b(i,o),f(n.callback_enter,t,e,a),r||V(t,n,a)}function H(t){return t.use_native&&"loading"in HTMLImageElement.prototype}function B(t,i,o){t.forEach(function(t){return(a=t).isIntersecting||0<a.intersectionRatio?q(t.target,t,i,o):(e=t.target,n=t,a=i,t=o,void(u(e)||(_(e,a.class_exited),$(e,n,a,t),f(a.callback_exit,e,n,t))));var e,n,a})}function J(e,n){var t;et&&!H(e)&&(n._observer=new IntersectionObserver(function(t){B(t,e,n)},{root:(t=e).container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}))}function K(t){return Array.prototype.slice.call(t)}function Q(t){return t.container.querySelectorAll(t.elements_selector)}function W(t){return c(t)===_t}function X(t,e){return e=t||Q(e),K(e).filter(u)}function Y(e,t){var n;(n=Q(e),K(n).filter(W)).forEach(function(t){v(t,e.class_error),r(t)}),t.update()}function t(t,e){var n,a,t=i(t);this._settings=t,this.loadingCount=0,J(t,this),n=t,a=this,Z&&window.addEventListener("online",function(){Y(n,a)}),this.update(e)}var Z="undefined"!=typeof window,tt=Z&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),et=Z&&"IntersectionObserver"in window,nt=Z&&"classList"in document.createElement("p"),at=Z&&1<window.devicePixelRatio,it={elements_selector:".lazy",container:tt||Z?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",rt="srcset",ct="sizes",lt="poster",st="llOriginalAttrs",ut="loading",dt="loaded",ft="applied",_t="error",vt="native",gt="data-",bt="ll-status",pt=[ut,dt,ft,_t],ht=[ot],mt=[ot,lt],Et=[ot,rt,ct],It={IMG:function(t,e){m(t,function(t){A(t,Et),x(t,e)}),A(t,Et),x(t,e)},IFRAME:function(t,e){A(t,ht),w(t,ot,l(t,e.data_src))},VIDEO:function(t,e){a(t,function(t){A(t,ht),w(t,ot,l(t,e.data_src))}),A(t,mt),w(t,lt,l(t,e.data_poster)),w(t,ot,l(t,e.data_src)),t.load()}},yt=["IMG","IFRAME","VIDEO"],At={IMG:P,IFRAME:function(t){k(t,ht)},VIDEO:function(t){a(t,function(t){k(t,ht)}),k(t,mt),t.load()}},kt=["IMG","IFRAME","VIDEO"];return t.prototype={update:function(t){var e,n,a,i=this._settings,o=X(t,i);{if(h(this,o.length),!tt&&et)return H(i)?(e=i,n=this,o.forEach(function(t){-1!==kt.indexOf(t.tagName)&&F(t,e,n)}),void h(n,0)):(t=this._observer,i=o,t.disconnect(),a=t,void i.forEach(function(t){a.observe(t)}));this.loadAll(o)}},destroy:function(){this._observer&&this._observer.disconnect(),Q(this._settings).forEach(function(t){y(t)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var e=this,n=this._settings;X(t,n).forEach(function(t){b(t,e),V(t,n,e)})},restoreAll:function(){var e=this._settings;Q(e).forEach(function(t){U(t,e)})}},t.load=function(t,e){e=i(e);V(t,e)},t.resetStatus=function(t){r(t)},Z&&function(t,e){if(e)if(e.length)for(var n,a=0;n=e[a];a+=1)o(t,n);else o(t,e)}(t,window.lazyLoadOptions),t});!function(e,t){"use strict";function a(){t.body.classList.add("litespeed_lazyloaded")}function n(){console.log("[LiteSpeed] Start Lazy Load Images"),d=new LazyLoad({elements_selector:"[data-lazyloaded]",callback_finish:a}),o=function(){d.update()},e.MutationObserver&&new MutationObserver(o).observe(t.documentElement,{childList:!0,subtree:!0,attributes:!0})}var d,o;e.addEventListener?e.addEventListener("load",n,!1):e.attachEvent("onload",n)}(window,document);</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/fcc4ee94c0d05276772b7b97132c2178.js?ver=0e199"></script><script>const 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></body>

</html>

				
			

Настройка языкового промежуточного программного обеспечения

Откройте терминал проекта и запустите эту команду:

				
					php artisan make:middleware LanguageManager


				
			

Он создаст файл LanguageManager.php внутри папки /app/Http/Middleware и вставит его.

Language Manager — реализация перевода Google Cloud AI API вместо Google Translate для Laravel
				
					<?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 и перейдите в веб-раздел.

Kernel.php — реализация перевода Google Cloud AI API вместо Google Translate для Laravel
				
					/**
 * 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 API вместо Google Translate для Laravel

Вот как выглядит сайт Laravel , переведенный на арабский язык.

В чем разница между реализацией перевода Google Cloud AI и Google Translate на Laravel?

Разобравшись с каждой реализацией Google Cloud AI и перевода Google Translate в Laravel, мы обсудим их различия.

Процесс установки и настройки

Установка и настройка. Внедрение перевода Google Cloud AI API вместо Google Translate для Laravel
  • Перевод Google Cloud AI API. Процесс установки и настройки более сложен, поскольку вам необходимо создать проект на Google Cloud Platform (GCP), включить Cloud Translation API, создать учетную запись службы, сгенерировать ключи API и настроить клиент API в своем Laravel . Это включает в себя несколько шагов и требует наличия действительной учетной записи GCP.
  • Google Translate: Установка и настройка намного проще. Вам нужно только установить сторонний пакет или библиотеку через Composer, например stichoza/google-translate-php. После этого вы можете настроить ключ API Google Translate в Laravel .

Точность перевода

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

Скорость отклика

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

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

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

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

Расширенные функции: реализация перевода Google Cloud AI API вместо Google Translate для Laravel
  • Перевод 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 Platform.
  • Функции и параметры настройки. Если вам нужны дополнительные функции, такие как перевод глоссария или специализированной терминологии, перевода редактора или другие параметры настройки, 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

Внедрение перевода Google Cloud AI API вместо Google Translate для Laravel

К этому моменту вы уже знаете соображения по выбору службы перевода для Laravel; Практически все вышеперечисленные факторы присутствуют в сервисе переводов Linguise .

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

  • Linguise имеет идеальное качество перевода. Хотя эта точность варьируется в зависимости от языковой пары, Linguise может похвастаться точностью почти 97%, аналогично человеческому переводу.
  • Linguise также интегрирован с более чем 40 CMS и веб-конструкторами, а также с веб-сайтами на основе PHP, такими как Laravel .
  • Несмотря на то, что Linguise переводит автоматически, у 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 для получения дополнительной информации!

Вам также может быть интересно прочитать

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

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

Invalid email address
Попробуйте. Один в месяц, и вы можете отказаться от подписки в любое время.

Не уходите, не поделившись своей электронной почтой!

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

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