1. نظرة عامة
توفّر Google Cloud Translation API واجهة آلية بسيطة لترجمة أي سلسلة عشوائية بشكل ديناميكي إلى أي لغة متاحة باستخدام أحدث تقنيات "الترجمة الآلية العصبية". ويمكن استخدامها أيضًا لرصد اللغة في الحالات التي تكون فيها اللغة المصدر غير معروفة.
في هذا الدرس التطبيقي حول الترميز، ستركز على استخدام Translation API مع لغة البرمجة C#. ستتعرّف على كيفية إدراج اللغات المتاحة وترجمة النص ورصد لغة نص معيّن.
ما ستتعلمه
- كيفية استخدام Cloud Shell
- كيفية تفعيل Translation API
- كيفية مصادقة طلبات البيانات من واجهة برمجة التطبيقات
- كيفية تثبيت مكتبة برامج Google Cloud للغة C#
- كيفية إدراج اللغات المتاحة
- كيفية ترجمة النصوص
- كيفية رصد اللغة
المتطلبات
استطلاع الرأي
كيف ستستخدم هذا البرنامج التعليمي؟
كيف تقيّم تجربتك مع لغة C#؟
ما هو تقييمك لتجربة استخدام خدمات Google Cloud Platform؟
2. الإعداد والمتطلبات
إعداد البيئة بالسرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.



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

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

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه الخدمة دليلًا منزليًا ثابتًا بسعة 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 وأضِف حزمة Google.Cloud.Translation.V2 NuGet إلى المشروع:
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- قائمة اللغات المتاحة
في هذا القسم، ستدرج أولاً جميع اللغات المتاحة في Translation API.
أولاً، افتح أداة تعديل الرموز من أعلى يسار Cloud Shell:

انتقِل إلى ملف 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). إذا كان نموذج الترجمة الآلية العصبية غير متاح للزوج اللغوي المطلوب ترجمته، سيتم استخدام نموذج الترجمة الآلية المستندة إلى العبارات (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);
}
}
}
خصِّص دقيقة أو دقيقتين لدراسة الرمز. يترجم النص "Hello World" من الإنجليزية إلى التركية*.*
ارجع إلى 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}");
}
}
}
خصِّص دقيقة أو دقيقتين لدراسة الرمز. يرصد هذا التطبيق لغة النص "Selam Dünya!" التي تبيّن أنّها عبارة تركية*.*
ارجع إلى Cloud Shell وشغِّل التطبيق. من المفترض أن يظهر لك الناتج التالي:
dotnet run
Language: tr Confidence: 1
ملخّص
في هذه الخطوة، تمكّنت من رصد لغة جزء من النص باستخدام Translation API. مزيد من المعلومات حول رصد اللغة
8. تهانينا!
تعرّفت على كيفية استخدام Translation API باستخدام C#.
تَنظيم
لتجنُّب تحمّل رسوم في حسابك على Google Cloud Platform مقابل الموارد المستخدَمة في هذا الدليل السريع، اتّبِع الخطوات التالية:
- انتقِل إلى وحدة تحكّم Cloud Platform.
- اختَر المشروع الذي تريد إيقافه، ثم انقر على "حذف" في أعلى الصفحة: يؤدي ذلك إلى تحديد موعد لحذف المشروع.
مزيد من المعلومات
- Google Cloud Translation API: https://cloud.google.com/translate/docs
- C#/.NET على Google Cloud Platform: https://cloud.google.com/dotnet/
- برنامج Google Cloud .NET: https://googlecloudplatform.github.io/google-cloud-dotnet/
الترخيص
يخضع هذا العمل لترخيص المشاع الإبداعي مع نسب العمل إلى مؤلفه 2.0 Generic License.