تنفيذ ترجمة Google Cloud AI API مقابل ترجمة جوجل لـ Laravel

أجهزة إلكترونية، بالأبيض والأسود
جدول المحتويات

بالنسبة لأولئك الذين يمتلكون مواقع ويب قائمة على Laravel، فإن تقديم محتوى ترجمة دقيق وطبيعي مهم جدًا لـ ترجمة موقع الويب الخاص بك وتقديم تجربة مستخدم جيدة.

لحسن الحظ، تتوفر العديد من خدمات الترجمة الآلية لمساعدة المطورين في التغلب على هذا التحدي، بما في ذلك ترجمة Google Cloud AI API وGoogle Translate. تقدم كلتا الخدمتين قدرات ترجمة باستخدام تقنية الآلة.

في هذا المقال، سنستكشف الاختلافات الرئيسية بين تنفيذ ترجمة جوجل كلاود AI وترجمة جوجل لتطبيقات Laravel والتوصية بأفضل خدمات الترجمة لموقع الويب Laravel الخاص بك.

ما هي ترجمة Google Cloud AI API و Google Translate؟

قبل الدخول في المناقشة، سنناقش المعاني الخاصة لـ Google Cloud AI API وترجمات جوجل.

ترجمة واجهة برمجة تطبيقات الذكاء الاصطناعي ل Google Cloud

خادم جوجل كلاود وتخزين السحابة

ترجمة Google Cloud AI API هي خدمة ترجمة آلية متقدمة خدمة ترجمة آلية مقدمة من Google Cloud Platform. تستفيد هذه الخدمة من أحدث تقنيات الذكاء الاصطناعي (AI) والتعلم الآلي لتقديم ترجمات دقيقة وطبيعية للنص والصوت والوثائق.

تستخدم ترجمة واجهة برمجة تطبيقات الذكاء الاصطناعي السحابية من جوجل نماذج ترجمة عصبية تستند إلى التعلم العميق، مما يسمح لها بالتقاط الفروق اللغوية والسياق بشكل أفضل، وتوفير ترجمات أكثر تعبيرًا تتوافق مع الاستخدام الفعلي للغة. بالإضافة إلى ذلك، فإن استخدام ترجمة واجهة برمجة تطبيقات الذكاء الاصطناعي السحابية من جوجل حتى 500,000 حرف مجاني، بينما ستتحمل تكلفة 20 دولارًا لكل مليون حرف للـ 75,000 حرف التالية. 

جوجل ترجمة

واجهة إعدادات الترجمة. خيارات إعدادات اللغة.

وفي الوقت نفسه، تُعد Google Translate خدمة ترجمة نصية آلية معروفة على نطاق واسع وذات تاريخ طويل. تستخدم نهجًا تقليديًا للترجمة الإحصائية، مما يولد ترجمات بناءً على الأنماط والاحتمالات المستفادة من مجموعات البيانات التدريبية الكبيرة.

على الرغم من أنه ليس متقدمًا مثل ترجمة Google Cloud AI API من حيث الدقة ومعالجة الفروق اللغوية، إلا أن Google Translate يظل خيارًا شائعًا بسبب سهولة استخدامه وتوفره مجانًا للاستخدام غير التجاري.

تنفيذ ترجمة Google Cloud AI API على Laravel

تستخدم العديد من خدمات الترجمة، بما في ذلك Linguise، تقنية ترجمة الذكاء الاصطناعي السحابية لترجمة المواقع.

تستخدم خدمة ترجمة اللغة واجهة برمجة تطبيقات الذكاء الاصطناعي السحابية كإحدى تقنيات الترجمة الخاصة بها. فيما يلي خطوات التنفيذ على موقع Laravel على الويب. نفترض هنا أن لديك بالفعل موقع ويب جاهز لمشروع Laravel.

إنشاء حساب Linguise

لاستخدام Linguise، يجب عليك تسجيل حساب أولاً. يمكنك القيام بذلك مجانًا أو الاشتراك لمدة شهر أو سنة. أنت فقط بحاجة إلى تقديم معلومات مثل البريد الإلكتروني واسم المستخدم وكلمة المرور.

أضف معلومات موقع Laravel

بعد ذلك، أضف معلومات حول الموقع الذي ستستخدمه، أدخل معلومات حساب Linguise وعنوان الويب، حدد منصة Laravel ، وأضف اللغة الافتراضية واللغة التي تريد إضافتها إلى الموقع.

 

تحميل الرسوم المتحركة

ثم قم بتنزيل البرنامج النصي PHP عبر الزر التالي واحفظه على جهاز الكمبيوتر المحلي الخاص بك.

تحميل وتكوين البرنامج النصي PHP

بعد تنزيل البرنامج النصي، قم بفك ضغطه وارفعه إلى المجلد الجذر حيث يتم تثبيت Laravel . تأكد من أنه موجود في جذر تثبيت Laravel (عادةً حيث توجد ملفات CMS الخاصة بك). تأكد من تسمية المجلد “linguise” (الاسم الافتراضي عند فك ضغط المجلد).

قائمة تنقل نظام الملفات الحاسوبية

ثم يجب نسخ مفتاح Linguise API إلى ملف …/linguise/Configuration.php الذي قمت برفعه إلى الخادم. قم بتحرير الملف ولصق مفتاح API بين الاقتباسات، واستبدل النص REPLACE_BY_YOUR_TOKEN.

لقطة شاشة لتكوين الشفرة

إدراج البرنامج النصي لمفتاح اللغة

بعد ذلك، أدخل برنامج تبديل اللغة الذي حصلت عليه من Linguise لوحة التحكم.

مفتاح تبديل اللغة - تنفيذ ترجمة واجهة برمجة تطبيقات الذكاء الاصطناعي في جوجل كلاود مقابل مترجم جوجل لـ 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>
				
			

تم. في هذه النقطة، لقد قمت بنجاح بتنفيذ ترجمة واجهة برمجة تطبيقات الذكاء الاصطناعي السحابية على خدمة Linguise. الآن، يمكنك التحقق من موقع Laravel. سيظهر مفتاح لغة افتراضي، ويمكنك تخصيص مفتاح اللغة لـ Laravel عبر لوحة التحكم.

رجل مع خلفية داكنة ، جو غامض

تنفيذ ترجمة جوجل على Laravel

الآن سنحاول تنفيذ مترجم جوجل في Laravel. هنا نفترض أنك قمت بإنشاء مشروع Laravel بنجاح وتحتاج فقط إلى إضافة مترجم جوجل.

يمكنك أيضًا العثور على خطوات التثبيت التالية على الموقع الرسمي لـ Laravel.

تثبيت حزمة مترجم جوجل

لتثبيت حزمة مترجم جوجل ، افتح موجه المشروع وأدخل الأمر التالي. ستمكنك هذه الحزمة من استخدام الوظائف العاملة لغة مترجم جوجل.

				
					composer require stichoza/google-translate-php
				
			

Setting of Google Translator Package

يجب علينا إعداد "حزمة مترجم جوجل" داخل التطبيق. افتح ملف 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/4efcce905aeba23da8ea1c66b8bc70f0.js?ver=0275f"></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 وانتقل إلى قسم الويب.

صورة ضبابية للنص على خلفية سوداء. النص غير مقروء.
				
					/**
 * 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 لـ 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 الذي تم إنشاؤه، كما يمكنك رؤية في العرض التالي هناك قائمة منسدلة لترجمة جوجل.

صورة مشوهة لما يبدو أنه شاشة كمبيوتر.

ثم هذا ما يبدو عليه عندما يتم ترجمة موقع Laravel إلى العربية.

شاشة كمبيوتر معطلة. عرض شفرة مشوهة ونص.

ما هو الفرق بين تنفيذ ترجمة Google Cloud AI و Google Translate على Laravel؟

بعد فهم كل تنفيذ لترجمة غوغل كلاود AI وغوغل ترانسليت في Laravel، سنناقش الفروق بينهما.

عملية التثبيت والتكوين

رسم توضيحي بالأبيض والأسود. أشخاص يقفون بالقرب من هدف كبير.
  • ترجمة واجهة برمجة تطبيقات غوغل كلاود AI: عملية التثبيت والتكوين أكثر تعقيدًا لأنك يجب أن تنشئ مشروعًا على منصة غوغل كلاود (GCP)، وتفعيل واجهة برمجة تطبيقات الترجمة السحابية، وإنشاء حساب خدمة، وإنشاء مفاتيح API، وتكوين عميل API في تطبيقك Laravel. يتضمن ذلك عدة خطوات ويتطلب حساب GCP صالح.
  • ترجمة جوجل: التثبيت والتكوين أبسط بكثير. ما عليك سوى تثبيت حزمة أو مكتبة طرف ثالث عبر Composer، مثل stichoza/google-translate-php. بعد ذلك، يمكنك تكوين مفتاح واجهة برمجة تطبيقات ترجمة جوجل في ملف التكوين Laravel.

دقة الترجمة

مجموعة من الأشخاص مجتمعين حول جهاز كمبيوتر.
  • ترجمة Google Cloud AI API: بفضل قدرات التعلم العميق، يمكن لهذه الخدمة التقاط سياقات لغوية معقدة وفروق دقيقة بشكل أفضل. ويسمح هذا بترجمة أكثر دقة للتعبيرات الاصطلاحية والعبارات المجازية والألفاظ التي يصعب ترجمتها حرفيًا.
  • جوجل ترجمة:

سرعة الاستجابة

صاروخ ينطلق من حاسوب محمول وهاتف محمول.
  • ترجمة Google Cloud AI API: أسرع عمومًا في الرد على طلبات الترجمة لأنها تستخدم نماذج الترجمة الآلية العصبية المحسّنة التي تستضيفها البنية التحتية السحابية القوية لشركة جوجل. يوفر هذا أوقات استجابة أسرع، خاصة للنصوص الطويلة أو الأحجام الكبيرة من الترجمات.
  • ترجمة جوجل: يمكن أن يكون أبطأ قليلاً في الرد على طلبات الترجمة، خاصة للوثائق أو النصوص الطويلة. وذلك لأنه يستخدم مزيجًا تقليديًا من أساليب الترجمة الإحصائية والعصبية، والتي قد لا تكون بنفس كفاءة النماذج العصبية التي تستخدمها ترجمة جوجل كلاود AI API.

قدرات التخصيص والتحكم

شاشة كمبيوتر مشوهة بتأثيرات خلل. يبدو أن الصورة تالفة.
  • ترجمة Google Cloud AI API: تقدم المزيد من الخيارات لتخصيص وتوجيه عملية الترجمة، مثل تعيين تفضيلات الترجمة، وتحميل معاجم مخصصة، والوصول إلى واجهة ترجمة المحرر المباشر لتحرير نتائج الترجمة يدويًا. هذا يسمح للمستخدمين بتحسين دقة الترجمة وفقًا لاحتياجاتهم.
  • غوغل ترانسليت: لديه خيارات تخصيص وتحكم محدودة. يجب على المستخدمين الاعتماد على نتائج الترجمة التلقائية دون القدرة على تحرير أو تخصيص النتائج بشكل مباشر.

الميزات المتقدمة

شاشة الكمبيوتر مع ميزات الوصول وكوب القهوة
  • ترجمة Google Cloud AI API: تتميز تقنية الترجمة الخاصة بـ Google Cloud AI بالعديد من الميزات المتقدمة مثل المسرد، واختيار النموذج، ونماذج AutoML. بالإضافة إلى ذلك، في سياق ترجمة الذكاء الاصطناعي السحابية مع Linguise، كما أنها تحتوي على ميزات متقدمة مثل استثناءات الترجمة لكلمات محددة مثل المصطلحات الفنية، وأسماء العلامات التجارية، إلخ، بناءً على الأسطر أو الصفحات أو عناوين URL.
  • ترجمة جوجل: لا يمكن لـ جوجل ترجمة المثبتة في Laravel ترجمة المستندات الصوتية أو غيرها. يمكنها فقط ترجمة النص على الموقع إلى لغة أخرى دون القدرة على تحرير نتائج الترجمة.
كسر حواجز اللغة
قل وداعًا للحواجز اللغوية ومرحبًا بالنمو غير المحدود! جرب خدمة الترجمة الآلية لدينا اليوم.

العوامل التي يجب عليك مراعاتها عند اختيار خدمة ترجمة لموقع الويب الخاص بك Laravel

هنا بعض الاعتبارات في اختيار أفضل خدمة ترجمة لموقعك على الويب Laravel .

  • دقة الترجمة العالية – أحد العوامل الأكثر أهمية هو دقة الترجمة المنتجة. إذا كان موقعك يتطلب ترجمات دقيقة للغاية، خاصة للمحتوى المعقد واللغة الدقيقة، فقد تكون ترجمة واجهة برمجة تطبيقات جوجل كلاود AI خيارًا أفضل من ترجمة جوجل.
  • سهولة التكامل والإعداد — ضع في اعتبارك تثبيت خدمة الترجمة وتهيئتها مع تطبيق Laravel. تُعتبر ترجمة جوجل بشكل عام أسهل في التكامل لأنها متاحة كحزمة أو مكتبة PHP. وفي غضون ذلك، تتطلب ترجمة Google Cloud AI API إعدادات أكثر تعقيدًا على منصة Google Cloud.
  • ميزات وخيارات التخصيص – إذا كنت بحاجة إلى ميزات إضافية مثل المسرد أو ترجمة المصطلحات المتخصصة ، ترجمة المحرر النتائج ، أو خيارات التخصيص الأخرى ، تقدم ترجمة Google Cloud AI API خيارات أكثر من Google Translate.
  • السرعة ووقت الاستجابة – للتطبيقات ذات أحجام الترجمة الكبيرة أو التي تحتاج إلى استجابة سريعة، تستجيب ترجمة جوجل كلاود AI API عمومًا لطلبات الترجمة بشكل أسرع من ترجمة جوجل.
  • التكلفة والميزانية – تتوفر خدمة الترجمة من جوجل مجانًا للاستخدام غير التجاري، بينما تستخدم ترجمة واجهة برمجة تطبيقات جوجل كلاود إيه آي نموذج فواتير مدفوع بناءً على الاستخدام. ضع في اعتبارك ميزانيتك وحجم الترجمة المقدر لاختيار الخدمة الأكثر فعالية من حيث التكلفة.
  • الدعم والوثائق – أيضًا، ضع في اعتبارك الدعم الفني والوثائق المتاحة لكل خدمة. قد يكون لواجهة برمجة تطبيقات ترجمة جوجل كلاود AI وثائق ودعم أكثر شمولاً من جوجل.

Linguise، أفضل خدمة ترجمة بالذكاء الاصطناعي السحابي لموقع ويب Laravel

خدمات تصميم وتطوير مواقع احترافية، تحسين محركات البحث

حتى هذه النقطة، أنت تعرف بالفعل الاعتبارات لاختيار خدمة ترجمة لـ Laravel؛ تقريبًا جميع العوامل المذكورة أعلاه موجودة في خدمة الترجمة Linguise .

Linguise هي خدمة ترجمة مواقع ويب باستخدام تقنية الترجمة بالذكاء الاصطناعي السحابي لإنتاج ترجمات للمحتوى. يمكن أن تكون هذه الخدمة هي الحل الأفضل لترجمة موقع ويب مبني على Laravel. لماذا هذا؟ لأن Linguise يعالج الاعتبارات المذكورة أعلاه.

  • Linguise لديها جودة ترجمة مثالية. على الرغم من أن هذه الدقة تختلف حسب زوج اللغة، Linguise تتباهى بمعدل دقة يقارب 97٪، مشابهة للترجمة البشرية.
  • Linguise متكامل أيضًا مع أكثر من 40 نظامًا لإدارة المحتوى وبناة المواقع، بالإضافة إلى متكامل مع مواقع الويب المستندة إلى PHP مثل Laravel.
  • على الرغم من أنه يترجم تلقائيًا ، إلا أن Linguise لديه محرر مباشر يمكن استخدامه لتحرير نتائج الترجمة. وبهذه الطريقة ، يمكن تعديل الترجمة وفقًا لتفضيلات العمل.
  • وقت تحميل الصفحات متعددة اللغات أطول بنسبة 5٪ فقط من صفحات اللغة الأصلية.
  • خدمتنا متاحة في ثلاث حزم تتراوح من 15 دولارًا إلى 45 دولارًا شهريًا. على الرغم من أنها مدفوعة، نقدم أيضًا فترة تجريبية مجانية مدتها 30 يومًا مع حد 600,000 كلمة يمكن ترجمتها.
  • أخيرًا ، تدعم Linguise جميع أشكال مساعدة العملاء ، بما في ذلك المقالات الإرشادية والوثائق وأخبار المنتجات ودروس فيديو YouTube ودعم الدردشة على مدار الساعة طوال أيام الأسبوع.

من النقاط أعلاه ، يمكن أن تكون Linguise حلاً لتقنية الترجمة بالذكاء الاصطناعي للغة Laravel.

هل أنت مستعد لاستكشاف أسواق جديدة؟ جرب خدمتنا للترجمة التلقائية مجانًا مع تجربتنا الخالية من المخاطر لمدة شهر. لا حاجة لبطاقة ائتمان!

الاستنتاج

في هذا المقال، استكشفنا الاختلافات الرئيسية بين تنفيذ ترجمة Google Cloud AI API وترجمة جوجل لتطبيقات الويب Laravel .

تتفوق ترجمة Google Cloud AI API في الدقة والحاجة إلى ترجمات عالية الدقة. ومع ذلك، تتطلب هذه الخدمة تكوينًا أكثر تعقيدًا وهي أكثر تكلفة من Google Translate. ومن ناحية أخرى، يوفر Google Translate سهولة التكامل ولكنه يحتوي على قيود في الدقة وخيارات التخصيص.

Linguise تبرز كخدمة ترجمة بديلة قائمة على الذكاء الاصطناعي في السحابة متوافقة مع مواقع Laravel . مع مستويات دقة تقترب من مطابقة الترجمات البشرية، خيارات محرر الترجمة، أوقات تحميل سريعة، ودعم عملاء شامل، تصبح Linguise حلاً ترجمةً ممتازًا لموقعك على الويب Laravel .

إذا كنت ترغب في تجربة Linguise, يمكنك الاشتراك في حساب مجاني والاستمتاع بفترة تجريبية مدتها 30 يومًا مع حد 600,000 كلمة مترجمة. قم بزيارة linguise.com لمزيد من المعلومات!

قد تكون مهتمًا أيضًا بقراءة

لا تفوت الفرصة!
اشترك في نشرتنا الإخبارية

تلقي الأخبار حول الترجمة التلقائية للموقع، وتحسين محركات البحث الدولية، والمزيد!

Invalid email address
جربها. مرة واحدة في الشهر، ويمكنك إلغاء الاشتراك في أي وقت.

لا تغادر دون مشاركة بريدك الإلكتروني!

لا يمكننا أن نضمن أنك ستفوز باليانصيب، ولكن يمكننا أن نعدك ببعض الأخبار الإعلامية المثيرة للاهتمام حول الترجمة والخصومات العرضية.

لا تفوت الفرصة!
Invalid email address