Implementasi terjemahan Google Cloud AI API vs Google Translate untuk Laravel

perangkat elektronik, hitam dan putih
Tabel Isi

Bagi Anda yang memiliki situs web berbasis Laravel, menyediakan konten terjemahan yang akurat dan alami sangat penting untuk menerjemahkan situs web Anda dan menawarkan pengalaman pengguna yang baik.

Untungnya, beberapa layanan terjemahan otomatis tersedia untuk membantu pengembang mengatasi tantangan ini, termasuk Google Cloud AI API Translation dan Google Translate. Kedua layanan ini menawarkan kemampuan terjemahan menggunakan teknologi mesin.

Pada artikel ini, kami akan membahas perbedaan utama antara implementasi Google Cloud AI Translation dan Google Translate untuk Laravel aplikasi dan merekomendasikan layanan terjemahan terbaik untuk Laravel situs web Anda.

Apa itu terjemahan Google Cloud AI API & Google Translate?

Sebelum memasuki diskusi, kami akan membahas makna masing-masing Google Cloud AI API dan terjemahan Google Translate.

Terjemahan Google Cloud AI API

Server Google Cloud dan penyimpanan awan

Terjemahan Google Cloud AI API adalah layanan terjemahan otomatis canggih yang disediakan oleh Google Cloud Platform. Layanan ini memanfaatkan teknologi kecerdasan buatan (AI) dan pembelajaran mesin terbaru untuk memberikan terjemahan yang akurat dan alami dari teks, suara, dan dokumen.

Terjemahan Google Cloud AI API menggunakan model terjemahan neural berdasarkan pembelajaran mendalam, yang memungkinkannya menangkap nuansa bahasa dan konteks dengan lebih baik, memberikan terjemahan yang lebih idiomatis yang sesuai dengan penggunaan bahasa yang sebenarnya. Selain itu, menggunakan Terjemahan Google Cloud AI hingga 500.000 karakter gratis, sedangkan 75.000 karakter berikutnya akan dikenakan biaya $20 per juta karakter. 

Terjemahan Google

Antarmuka pengaturan terjemahan. Opsi pengaturan bahasa.

Sementara itu, Google Translate adalah layanan terjemahan teks otomatis yang sudah lama berdiri dan dikenal luas. Ini menggunakan pendekatan terjemahan statistik yang lebih tradisional, yang menghasilkan terjemahan berdasarkan pola dan probabilitas yang dipelajari dari dataset pelatihan yang besar.

Meskipun tidak secanggih Google Cloud AI API Translation dalam hal akurasi dan penanganan nuansa bahasa, Google Translate tetap menjadi pilihan populer karena kemudahan penggunaan dan ketersediaan gratis untuk penggunaan non-komersial.

Terapkan terjemahan Google Cloud AI API pada Laravel

Beberapa layanan terjemahan, termasuk Linguise, menggunakan Terjemahan AI teknologi awan untuk menerjemahkan situs web.

Layanan terjemahan bahasa menggunakan API AI awan sebagai salah satu teknologi terjemahannya. Berikut ini adalah langkah-langkah implementasi di Laravel situs web. Kami asumsikan di sini bahwa Anda sudah memiliki situs web proyek Laravel yang siap.

Buat akun Linguise

Untuk menggunakan Linguise, Anda harus mendaftar akun terlebih dahulu. Anda dapat melakukannya secara gratis atau berlangganan selama satu bulan atau satu tahun. Anda hanya perlu memberikan informasi seperti email, nama pengguna, dan kata sandi Anda.

Tambahkan info situs web Laravel

Setelah itu, tambahkan informasi tentang situs web yang akan Anda gunakan, masukkan info akun Linguise dan URL web, pilih platform Laravel , dan tambahkan bahasa default dan bahasa yang ingin Anda tambahkan ke situs web.

 

Animasi pemuatan

Kemudian unduh skrip PHP melalui tombol berikut dan simpan di komputer lokal Anda.

Unggah dan konfigurasikan skrip PHP

Setelah mengunduh skrip, unzip dan unggah ke folder root tempat Laravel diinstal. Pastikan terletak di root instalasi Laravel Anda (biasanya tempat file CMS Anda berada). Pastikan folder bernama “linguise” (nama default saat folder di-unzip).

Menu navigasi sistem file komputer

Kemudian, kunci API Linguise harus disalin ke dalam file …/linguise/Configuration.php yang Anda unggah ke server Anda. Edit file dan tempelkan kunci API Anda di antara tanda kutip, menggantikan teks REPLACE_BY_YOUR_TOKEN.

Tangkapan layar konfigurasi kode

Masukkan skrip pengalih bahasa

Selanjutnya, masukkan skrip pengalih bahasa yang Anda dapatkan dari Linguise dasbor.

Pengalih Bahasa Skrip - Implementasikan terjemahan Google Cloud AI API vs Google Terjemahan untuk Laravel

Dimasukkan ke dalam file front.blade.php di direktori resources/views/layouts/. Berikut adalah pratinjau skrip yang disisipkan.

Jendela Terminal dengan output kode

Konfigurasi .htaccess

Terakhir, URL berbasis bahasa perlu dikonfigurasi di file .htaccess. Jika file Anda menyertakan “RewriteBase /,” cukup salin dan tempel kode berikut setelah baris itu.

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

Selesai. Pada titik ini, Anda telah berhasil mengimplementasikan cloud AI API Translation pada layanan Linguise. Sekarang, Anda dapat memeriksa situs web Laravel. Sakelar bahasa default akan muncul, dan Anda dapat menyesuaikan Sakelar Bahasa untuk Laravel melalui dasbor.

seorang pria dengan latar belakang gelap, suasana misterius

Terapkan Google Translate pada Laravel

Sekarang kita akan mencoba menerapkan Google Translate di Laravel. Di sini kita asumsikan bahwa Anda telah berhasil membuat proyek Laravel dan hanya perlu menambahkan Google Translate.

Anda juga dapat menemukan langkah-langkah instalasi berikut di situs web Laravel resmi.

Instal Paket Penerjemah Google

Untuk memasang Google Translator Package, buka prompt proyek dan masukkan perintah berikut. Paket ini akan memungkinkan Anda untuk menggunakan fungsi kerja google-translator-language.

				
					composer require stichoza/google-translate-php
				
			

Pengaturan Paket Google Translator

Kita harus mengatur “paket penerjemah google” dalam aplikasi. Buka file app.php di folder /config, temukan bagian “aliases”, dan tambahkan baris kode berikut.

Terminal komputer dengan teks kode di layar. Layar menampilkan berbagai baris kode.
				
					/*
|--------------------------------------------------------------------------
| 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(),

				
			

Pengaturan Pengontrol Bahasa

Anda perlu membuat file pengontrol bahasa seperti berikut

				
					php artisan make:controller LangController
				
			

Ini akan membuat file LangController.php di dalam folder /app/Http/Controllers.

layar komputer menampilkan baris kode
				
					<?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();
    }
}


				
			

Buat File Template Blade

Navigasi ke folder /resources/views dan buat file bernama lang.blade.php. Buka file dan masukkan kode berikut ke dalamnya.

Gambar kode di layar komputer. Teks pemrograman.
				
					<!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/763cd9ec3e12f499b514af874099ce22.js?ver=570de"></script></body>

</html>

				
			

Pengaturan Middleware Bahasa

Buka terminal proyek dan jalankan perintah ini,

				
					php artisan make:middleware LanguageManager


				
			

Ini akan membuat file LanguageManager.php di dalam folder /app/Http/Middleware dan tempel ini.

Gambar berpiksel hitam dan putih. Tidak ada detail yang jelas terlihat.
				
					<?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);
    }
}

				
			

Daftar Middleware Bahasa melalui Kernel.php

Buka file Kernel.php yang terletak di direktori /app/Http. Cari array $middlewareGroups dan navigasikan ke bagian web.

Gambar kabur teks pada latar belakang hitam. Teksnya tidak dapat dibaca.
				
					/**
 * The application's route middleware groups.
 *
 * @var array<string, array<int, class-string|string>>
 */
protected $middlewareGroups = [
    'web' => [
        
        //...

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

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

				
			

Tambahkan rute

Buka web.php dari folder /routes dan tambahkan rute-rute ini ke dalamnya.

Web.php - Implementasikan terjemahan Google Cloud AI API vs Google Translate untuk Laravel
				
					//...
use App\Http\Controllers\LangController;

//...

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


				
			

Menguji situs web

Jalankan perintah ini di terminal proyek untuk meluncurkan server pengembangan.

				
					php artisan serve
				
			

Berikut adalah tampilan situs web Laravel dari situs web onlinewebtutorblog.com yang telah dibuat, seperti yang Anda lihat pada tampilan berikut ada dropdown Google Translate.

Gambar terdistorsi dari apa yang tampaknya menjadi layar komputer.

Maka inilah tampilan situs web Laravel ketika diterjemahkan ke dalam bahasa Arab.

Layar komputer glitchy. Menampilkan kode dan teks terdistorsi.

Apa perbedaan antara implementasi terjemahan Google Cloud AI & Google Translate pada Laravel?

Setelah memahami setiap implementasi Google Cloud AI dan terjemahan Google Translate di Laravel, kita akan membahas perbedaannya.

Proses Instalasi dan Konfigurasi

Ilustrasi hitam putih. Orang-orang berdiri di dekat target besar.
  • Terjemahan Google Cloud AI API: Proses instalasi dan konfigurasi lebih kompleks karena Anda harus membuat proyek di Google Cloud Platform (GCP), mengaktifkan Cloud Translation API, membuat akun layanan, menghasilkan kunci API, dan mengkonfigurasi klien API di aplikasi Laravel Anda. Ini melibatkan beberapa langkah dan memerlukan akun GCP yang valid.
  • Google Translate: Instalasi dan konfigurasi jauh lebih sederhana. Anda hanya perlu menginstal paket atau pustaka pihak ketiga melalui Composer, seperti stichoza/google-translate-php. Setelah itu, Anda dapat mengkonfigurasi kunci API Google Translate di file konfigurasi Laravel.

Akurasi Terjemahan

Sekelompok orang berkumpul di sekitar komputer.
  • Google Cloud AI API Translation: Berkat kemampuan deep learning-nya, layanan ini dapat lebih baik menangkap konteks bahasa yang kompleks dan nuansa. Hal ini memungkinkan terjemahan yang lebih akurat dari ekspresi idiomatik, frase figuratif, dan permainan kata yang sulit diterjemahkan secara harfiah.
  • Google Terjemahan:

Kecepatan Respons

Sebuah kapal roket lepas landas dari komputer laptop dan ponsel.
  • Terjemahan Google Cloud AI API: Umumnya lebih cepat dalam menanggapi permintaan terjemahan karena menggunakan model terjemahan mesin neural yang dioptimalkan dan dihosting pada infrastruktur cloud tangguh Google. Ini memberikan waktu respons yang lebih cepat, terutama untuk teks yang lebih panjang atau volume terjemahan yang besar.
  • Google Translate: Dapat sedikit lebih lambat dalam menanggapi permintaan terjemahan, terutama untuk dokumen atau teks yang lebih panjang. Ini karena menggunakan campuran tradisional dari pendekatan terjemahan statistik dan neural, yang mungkin tidak seefisien model neural yang digunakan oleh terjemahan Google Cloud AI API.

Kemampuan Kustomisasi dan Kontrol

Layar komputer yang terdistorsi dengan efek glitchy. Gambar tampaknya rusak.
  • Terjemahan Google Cloud AI API: Menawarkan lebih banyak opsi untuk menyesuaikan dan mengontrol proses terjemahan, seperti mengatur preferensi terjemahan, mengunggah glosarium kustom, dan mengakses terjemahan editor langsung antarmuka untuk mengedit hasil terjemahan secara manual. Ini memungkinkan pengguna untuk meningkatkan akurasi terjemahan sesuai dengan kebutuhan mereka.
  • Google Translate: Memiliki opsi penyesuaian dan kontrol yang lebih terbatas. Pengguna harus mengandalkan hasil terjemahan otomatis tanpa banyak kemampuan untuk mengedit atau menyesuaikan hasil secara langsung.

Fitur Lanjutan

Layar komputer dengan fitur aksesibilitas dan cangkir kopi
  • Terjemahan Google Cloud AI API: Teknologi terjemahan Google Cloud AI memiliki beberapa fitur canggih seperti Glosarium, pemilihan Model, dan model AutoML. Selain itu, dalam konteks terjemahan cloud AI dengan Linguise, ia juga memiliki fitur canggih seperti pengecualian terjemahan untuk kata-kata tertentu seperti istilah teknis, nama merek, dll., berdasarkan baris, halaman, atau URL.
  • Google Terjemahan: Google Terjemahan yang terinstal di Laravel tidak dapat menerjemahkan dokumen audio atau lainnya. Ini hanya dapat menerjemahkan teks pada situs web ke dalam bahasa lain tanpa kemampuan untuk mengedit hasil terjemahan.
Hancurkan Penghalang Bahasa
Ucapkan selamat tinggal pada hambatan bahasa dan sambut pertumbuhan tanpa batas! Coba layanan terjemahan otomatis kami hari ini.

Faktor yang harus Anda pertimbangkan saat memilih layanan terjemahan untuk situs web Laravel Anda

Berikut adalah beberapa pertimbangan dalam memilih layanan terjemahan terbaik untuk situs web Laravel Anda.

  • Akurasi Terjemahan Tinggi – Salah satu faktor yang paling penting adalah akurasi terjemahan yang dihasilkan. Jika situs web Anda membutuhkan terjemahan yang sangat akurat, terutama untuk konten yang kompleks dan bahasa yang bernuansa, maka Google Cloud AI API Translation mungkin merupakan pilihan yang lebih baik daripada Google Translate.
  • Kemudahan Integrasi dan Konfigurasi — Pertimbangkan untuk menginstal dan mengkonfigurasi layanan terjemahan dengan aplikasi Laravel Anda. Google Translate umumnya lebih mudah diintegrasikan karena tersedia sebagai paket atau pustaka PHP. Sementara itu, Google Cloud AI API Translation memerlukan konfigurasi yang lebih kompleks pada Google Cloud Platform.
  • Fitur dan Opsi Kustomisasi – Jika Anda membutuhkan fitur tambahan seperti glosarium atau terjemahan terminologi khusus, hasil terjemahan editor, atau opsi kustomisasi lainnya, Google Cloud AI API Translation menawarkan lebih banyak pilihan daripada Google Translate.
  • Kecepatan dan Waktu Respons – Untuk aplikasi dengan volume terjemahan besar atau membutuhkan respons cepat, Google Cloud AI API Translation umumnya merespons permintaan terjemahan lebih cepat daripada Google Translate.
  • Biaya dan Anggaran –
  • Dukungan dan Dokumentasi – Selain itu, pertimbangkan dukungan teknis dan dokumentasi yang tersedia untuk setiap layanan. Terjemahan Google Cloud AI API mungkin memiliki dokumentasi dan dukungan yang lebih komprehensif dari Google.

Linguise, layanan terjemahan AI cloud terbaik untuk situs web Laravel

Layanan desain dan pengembangan situs web profesional, optimasi SEO

Sampai saat ini, Anda sudah mengetahui pertimbangan untuk memilih layanan terjemahan untuk Laravel; hampir semua faktor yang disebutkan di atas ada dalam layanan terjemahan Linguise .

Linguise adalah layanan terjemahan situs web yang menggunakan teknologi terjemahan AI cloud untuk menghasilkan terjemahan konten. Layanan ini dapat menjadi solusi terbaik untuk menerjemahkan situs web berbasis Laravel. Mengapa demikian? Karena Linguise menjawab pertimbangan yang disebutkan di atas.

  • Linguise memiliki kualitas terjemahan yang sempurna. Meskipun akurasi ini bervariasi tergantung pada pasangan bahasa, Linguise
  • Linguise juga terintegrasi dengan lebih dari 40 CMS dan pembangun web, serta terintegrasi dengan situs web berbasis PHP seperti Laravel
  • Meskipun menerjemahkan secara otomatis, Linguise memiliki editor langsung yang dapat digunakan untuk mengedit hasil terjemahan. Dengan cara ini, terjemahan dapat disesuaikan dengan preferensi bisnis.
  • Waktu muat untuk halaman multibahasa hanya 5% lebih lama daripada halaman bahasa asli.
  • Layanan kami tersedia dalam tiga paket mulai dari $15 hingga $45 per bulan. Meskipun berbayar, kami juga menawarkan masa percobaan gratis selama 30 hari dengan batas 600.000 kata yang dapat diterjemahkan.
  • Akhirnya, Linguise mendukung semua bentuk bantuan pelanggan, termasuk artikel panduan, dokumentasi, berita produk, tutorial video YouTube, dan obrolan dukungan 24/7.

Dari poin di atas, Linguise dapat menjadi solusi teknologi terjemahan AI cloud untuk Laravel.

Siap menjelajahi pasar baru? Coba layanan terjemahan otomatis kami secara gratis dengan uji coba bebas risiko selama 1 bulan kami. Tidak perlu kartu kredit!

Kesimpulan

Dalam artikel ini, kami telah mengeksplorasi perbedaan utama antara implementasi Google Cloud AI API Translation dan Google Translate untuk aplikasi web Laravel .

Terjemahan Google Cloud AI API unggul dalam akurasi dan kebutuhan akan terjemahan dengan akurasi tinggi. Namun, layanan ini memerlukan konfigurasi yang lebih kompleks dan lebih mahal daripada Google Translate. Di sisi lain, Google Translate menawarkan kemudahan integrasi tetapi memiliki keterbatasan dalam akurasi dan opsi penyesuaian.

Linguise muncul sebagai alternatif layanan terjemahan berbasis AI cloud yang kompatibel dengan situs web Laravel . Dengan tingkat akurasi yang hampir sesuai dengan terjemahan manusia, opsi editor terjemahan, waktu pemuatan yang cepat, dan dukungan pelanggan yang komprehensif, Linguise menjadi solusi terjemahan yang sangat baik untuk situs web Laravel Anda.

Jika Anda ingin mencoba Linguise, Anda dapat daftar untuk akun gratis dan nikmati masa percobaan 30 hari dengan batas 600.000 kata terjemahan. Kunjungi linguise.com untuk informasi lebih lanjut!

Anda mungkin juga tertarik untuk membaca

Jangan sampai ketinggalan!
Berlangganan Newsletter kami

Dapatkan berita tentang terjemahan otomatis situs web, SEO internasional, dan lainnya!

Invalid email address
Coba saja. Satu per bulan, dan Anda dapat berhenti berlangganan kapan saja.

Jangan pergi tanpa membagikan email Anda!

Kami tidak dapat menjamin Anda akan memenangkan lotre, tetapi kami dapat menjanjikan beberapa berita informasi menarik seputar terjemahan dan diskon sesekali.

Jangan sampai ketinggalan!
Invalid email address