استخدام واجهة برمجة تطبيقات الترجمة مع C#

1. نظرة عامة

توفّر واجهة Google Cloud Translation API واجهة آلية بسيطة لترجمة سلسلة عشوائية إلى أي لغة متاحة ديناميكيًا باستخدام "الترجمة الآلية العصبية" المتطوّرة. ويمكن استخدامها أيضًا لرصد اللغة في الحالات التي تكون فيها اللغة المصدر غير معروفة.

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

المعلومات التي ستطّلع عليها

  • كيفية استخدام Cloud Shell
  • طريقة تفعيل Translation API
  • طريقة مصادقة طلبات البيانات من واجهة برمجة التطبيقات
  • كيفية تثبيت مكتبة برامج Google Cloud لـ C#
  • كيفية إدراج اللغات المتاحة
  • كيفية ترجمة النصوص
  • كيفية التعرّف على اللغة

المتطلبات

  • مشروع Google Cloud Platform
  • متصفح، مثل Chrome أو Firefox
  • الإلمام باستخدام C#

استطلاع

كيف ستستخدم هذا البرنامج التعليمي؟

القراءة فقط اقرأها وأكمِل التمارين

كيف تقيّم تجربتك مع C# ؟

حديث متوسط بارع

ما هو تقييمك لتجربتك في استخدام خدمات Google Cloud Platform؟

حديث متوسط بارع

2. الإعداد والمتطلبات

إعداد بيئة ذاتية

  1. سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديلها في أي وقت.
  • يكون رقم تعريف المشروع فريدًا في جميع مشاريع Google Cloud وغير قابل للتغيير (لا يمكن تغييره بعد تحديده). تنشئ Cloud Console سلسلة فريدة تلقائيًا. فعادةً لا تهتم بما هو. في معظم الدروس التطبيقية حول الترميز، يجب الإشارة إلى رقم تعريف المشروع (الذي يتم تحديده عادةً على أنّه PROJECT_ID). وإذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. ويمكنك بدلاً من ذلك تجربة طلبك الخاص ومعرفة ما إذا كان متاحًا. ولا يمكن تغييره بعد هذه الخطوة ويبقى طوال مدة المشروع.
  • لمعلوماتك، هناك قيمة ثالثة، وهي رقم المشروع، الذي تستخدمه بعض واجهات برمجة التطبيقات. اطّلِع على مزيد من المعلومات حول هذه القيم الثلاث في المستندات.
  1. بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام الموارد/واجهات برمجة التطبيقات في Cloud. لن يؤدي إكمال هذا الدرس التطبيقي حول الترميز إلى فرض أي تكاليف، إن وُجدت. لإيقاف تشغيل الموارد لتجنب تحمُّل الفواتير إلى ما هو أبعد من هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يكون مستخدمو Google Cloud الجدد مؤهَّلون للانضمام إلى برنامج فترة تجريبية مجانية بقيمة 300 دولار أمريكي.

بدء Cloud Shell

مع أنّه يمكن إدارة Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي Google Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في السحابة الإلكترونية.

من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات العلوي الأيسر:

84688aa223b1c3a2.png

من المفترَض أن تستغرق عملية إدارة الحسابات والاتصال بالبيئة بضع لحظات فقط. عند الانتهاء، من المفترض أن يظهر لك شيء مثل هذا:

320e18fedb7fbe0.png

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

3- تفعيل واجهة برمجة التطبيقات Translation API

يجب تفعيل واجهة برمجة التطبيقات هذه قبل بدء استخدام واجهة برمجة التطبيقات Translation API. يمكنك تفعيل واجهة برمجة التطبيقات باستخدام الأمر التالي في Cloud Shell:

gcloud services enable translate.googleapis.com

4. تثبيت مكتبة برامج واجهة برمجة التطبيقات Google Cloud Translation API لـ C#

أولاً، قم بإنشاء تطبيق وحدة تحكم C# بسيط ستستخدمه لتشغيل نماذج Translation API.

dotnet new console -n TranslationApiDemo

The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.

بعد ذلك، انتقِل إلى مجلد "TranslationApiDemo" وأضِف حزمة NuGet Google.Cloud.Translation.V2 إلى المشروع:

cd TranslationApiDemo/
dotnet add package Google.Cloud.Translation.V2

info : Adding PackageReference for package 'Google.Cloud.Translation.V2' into project '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
log  : Restoring packages for /home/atameldev/TranslationDemo/TranslationDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Translation.V2' version '1.0.0' added to file '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.

والآن، أصبحت جاهزًا لاستخدام واجهة برمجة التطبيقات Translation API.

5- إدراج اللغات المتاحة

في هذا القسم، ستسرد أولاً جميع اللغات المتاحة في واجهة برمجة تطبيقات الترجمة.

أولاً، افتح محرِّر الرموز من أعلى يسار Cloud Shell:

fd3fc1303e63572.png

انتقِل إلى ملف Program.cs داخل مجلد "TranslationApiDemo" واستبدِل الرمز بما يلي:

using System;
using Google.Cloud.Translation.V2;

namespace TranslationApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = TranslationClient.Create();
            foreach (var language in client.ListLanguages(LanguageCodes.English))
            {
                Console.WriteLine($"{language.Code}\t{language.Name}");
            }
        }
    }
}

خصِّص دقيقة أو دقيقتَين لدراسة الرمز البرمجي*.* ملاحظة: نحن ندرج أسماء اللغات بالإنجليزية ولكن يمكن إدراجها بأي لغة.

في Cloud Shell، شغِّل التطبيق. من المفترض أن يظهر لك الناتج التالي:

dotnet run

af        Afrikaans
sq        Albanian
am        Amharic
ar        Arabic
hy        Armenian
az        Azerbaijani
eu        Basque
be        Belarusian
...
yi        Yiddish
yo        Yoruba
zu        Zulu

ملخّص

في هذه الخطوة، تمكنت من إدراج جميع اللغات المتاحة في Translation API. يمكنك العثور على القائمة الكاملة للّغات المعتمَدة في صفحة دعم اللغات.

6- ترجمة النص

يمكنك استخدام Translate API لترجمة نص بلغة معيّنة إلى لغة أخرى. تتم ترجمة النص باستخدام نموذج الترجمة الآلية العصبية (NMT). إذا لم يكن نموذج NMT متوافقًا مع زوج ترجمة اللغة المطلوب، فسيتم استخدام نموذج الترجمة الآلية المستندة إلى العبارة (PBMT).

لترجمة نص، انتقِل إلى ملف Program.cs داخل مجلد TranslationApiDemo واستبدِل الرمز بما يلي:

using System;
using Google.Cloud.Translation.V2;

namespace TranslationApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = TranslationClient.Create();
            var text = "Hello World!";
            var response = client.TranslateText(text, LanguageCodes.Turkish, LanguageCodes.English);
            Console.WriteLine(response.TranslatedText);
        }
    }
}

خصص دقيقة أو دقيقتين لدراسة التعليمة البرمجية. يَرْجِمِ النَّصّْ "مَرْحَبًا بِالْعَالَمْ". من الإنجليزية إلى التركية*.*

في Cloud Shell، شغِّل التطبيق. من المفترض أن يظهر لك الناتج التالي:

dotnet run

Selam Dünya!

ملخّص

في هذه الخطوة، تمكنت من استخدام واجهة برمجة التطبيقات Translation API لترجمة نص من الإنجليزية إلى التركية. اقرأ المزيد عن ترجمة النصوص.

7. التعرّف التلقائي على اللغة

يمكنك استخدام Translate API أيضًا لرصد لغة سلسلة نصية.

للتعرّف على اللغة، انتقِل إلى ملف Program.cs داخل مجلد TranslationApiDemo واستبدِل الرمز بما يلي:

using System;
using Google.Cloud.Translation.V2;

namespace TranslationApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = TranslationClient.Create();
            var text = "Selam Dünya!";
            var detection = client.DetectLanguage(text);
            Console.WriteLine($"Language: {detection.Language}\tConfidence: {detection.Confidence}");
        }
    }
}

خصص دقيقة أو دقيقتين لدراسة التعليمة البرمجية. ترصد الأداة لغة النص "سلام دنيا!" والتي تصادف أنها عبارة تركية*.*

في Cloud Shell، شغِّل التطبيق. من المفترض أن يظهر لك الناتج التالي:

dotnet run

Language: tr        Confidence: 1

ملخّص

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

8. تهانينا

لقد تعلمت كيفية استخدام واجهة برمجة تطبيقات الترجمة باستخدام C#!

تَنظيم

لتجنُّب تحمُّل الرسوم المفروضة على حسابك على Google Cloud Platform مقابل الموارد المستخدَمة في عملية البدء السريع هذه:

  • انتقِل إلى وحدة تحكُّم Cloud Platform.
  • اختَر المشروع الذي تريد إيقافه، ثم انقر على "حذف". في الجزء العلوي: يؤدي هذا إلى تحديد موعد المشروع للحذف.

مزيد من المعلومات

الترخيص

هذا العمل مرخّص بموجب رخصة المشاع الإبداعي 2.0 مع نسب العمل إلى مؤلف عام.