مجموعات تطوير البرامج (SDK) لمكتبة العميل وترجمة المستندات
ترجمة المستندات هي ميزة مستندة إلى مجموعة النظراء في خدمة Azure المترجم. يمكنك ترجمة المستندات بأكملها أو معالجة ترجمات المستندات الدفعية بتنسيقات ملفات مختلفة مع الحفاظ على بنية المستند الأصلي وتنسيقه. في هذه المقالة، ستتعرف على كيفية استخدام مكتبات عملاء C#/.NET وخدمة ترجمة المستندات C#/.NET. للحصول على واجهة برمجة تطبيقات REST، راجع دليل التشغيل السريع .
المتطلبات الأساسية
للبدء، ستحتاج إلى:
حساب Azureنشط . إذا لم يكن لديك حساب، يمكنك إنشاء حساب مجاني.
مورد المترجم خدمة واحدة(وليس مورد خدمات معرفية متعدد الخدمات).
حساب تخزين Azure blob. ستقوم بإنشاء حاويات في حساب تخزين Azure blob الخاص بك لملفاتك المصدر والمستهدفة:
- حاوية المصدر. هذه الحاوية هي المكان الذي تقوم فيه بتحميل ملفاتك للترجمة (مطلوبة).
- الحاوية الهدف. هذه الحاوية هي المكان الذي سيتم فيه تخزين الملفات المترجمة (مطلوب).
تحتاج أيضا إلى إنشاء رموز مميزة لتوقيع الوصول المشترك (SAS) للحاويات المصدر والهدف.
sourceUrlيجب أن يتضمن الرمزtargetUrlالمميز لتوقيع الوصول المشترك (SAS) و ، الملحق كسلسلة استعلام. يمكن تعيين الرمز المميز إلى الحاوية أو النقط المحددة. راجعإنشاء رموز SAS المميزة لعملية ترجمة المستندات.- يجب أن يكون لحاوية المصدر أو النقطة الخاصة بك حق الوصول إلى القراءةوالقائمة .
- يجب أن تكون الحاوية أو النقطة المستهدفة الخاصة بك قد عينت الوصول إلى الكتابةوالقائمة .
لمزيد من المعلومات، راجعإنشاء رموز SAS.
مكتبات العملاء
| حزمة (NuGet) | مكتبة | العملاء بقية API | وثائق | المنتج العينات |
هام
هذه نسخة تجريبية من SDK لترجمة المستندات. يتم توفيره على أساس تمهيدي حتى يتمكن العملاء من الوصول المبكر وتقديم الملاحظات. لا تزال الإصدارات التجريبية قيد التطوير، وهي عرضة للتغيير، وقد لا تكون بعض الميزات مدعومة أو قد تكون لها قدرات مقيدة - لا تستخدمها في تطبيقات الإنتاج.
إعداد مشروعك
في نافذة وحدة تحكم (مثل cmd أو PowerShell أو Bash)، استخدم الأمر dotnet new لإنشاء تطبيق وحدة تحكم جديد بالاسم batch-document-translation. ينشئ هذا الأمر مشروع "مرحبًا بالعالم" بلغة C# بسيط مع ملف مصدر واحد: program.cs.
dotnet new console -n batch-document-translation
غيّر دليلك إلى مجلد التطبيق المنشأ حديثًا. قم بإنشاء التطبيق الخاص بك باستخدام الأمر التالي:
dotnet build
يجب ألا يحتوي إخراج البناء على تحذيرات أو أخطاء.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
تثبيت مكتبة العميل
ضمن دليل التطبيق، قم بتثبيت مكتبة عميل ترجمة المستندات ل .NET باستخدام إحدى الطرق التالية:
.NET CLI
dotnet add package Azure.AI.Translation.Document --version 1.0.0-beta.2
NuGet Package Manager
Install-Package Azure.AI.Translation.Document -Version 1.0.0-beta.2
حزمة NuGet Reference
<ItemGroup>
<!-- ... -->
<PackageReference Include="Azure.AI.Translation.Document" Version="1.0.0-beta.2" />
<!-- ... -->
</ItemGroup>
من دليل المشروع، افتح الملف Program.cs في المحرر المفضل لديك أو IDE. أضف توجيهات الاستخدام التالية:
using Azure;
using Azure.AI.Translation.Document;
using System;
using System.Threading;
في فئة برنامج التطبيق، قم بإنشاء متغيرات للمفتاح ونقطة النهاية المخصصة. للحصول على التفاصيل، راجعاسم المجال المخصص والمفتاح
private static readonly string endpoint = "<your custom endpoint>";
private static readonly string key = "<your key>";
ترجمة مستند أو ملفات دفعية
لبدء عملية ترجمة لمستند واحد أو أكثر في حاوية نقطة واحدة، سوف تستدعي
StartTranslationAsyncالطريقة.للاتصال
StartTranslationAsyncتحتاج إلى تهيئةDocumentTranslationInputكائن يحتوي على المعلمات التالية:sourceUri. SAS URI للحاوية المصدر التي تحتوي على مستندات ليتم ترجمتها.
تارجت أوري SAS URI للحاوية المستهدفة التي ستكتب إليها المستندات المترجمة.
targetLanguageCode. رمز اللغة للمستندات المترجمة. يمكنك العثور على رموز اللغة على صفحة دعم اللغة الخاصة بنا.
public void StartTranslation() {
Uri sourceUri = new Uri("<sourceUrl>");
Uri targetUri = new Uri("<targetUrl>");
DocumentTranslationClient client = new DocumentTranslationClient(new Uri(endpoint), new AzureKeyCredential(key));
DocumentTranslationInput input = new DocumentTranslationInput(sourceUri, targetUri, "es")
DocumentTranslationOperation operation = await client.StartTranslationAsync(input);
await operation.WaitForCompletionAsync();
Console.WriteLine($ " Status: {operation.Status}");
Console.WriteLine($ " Created on: {operation.CreatedOn}");
Console.WriteLine($ " Last modified: {operation.LastModified}");
Console.WriteLine($ " Total documents: {operation.DocumentsTotal}");
Console.WriteLine($ " Succeeded: {operation.DocumentsSucceeded}");
Console.WriteLine($ " Failed: {operation.DocumentsFailed}");
Console.WriteLine($ " In Progress: {operation.DocumentsInProgress}");
Console.WriteLine($ " Not started: {operation.DocumentsNotStarted}");
await foreach(DocumentStatusResult document in operation.Value) {
Console.WriteLine($ "Document with Id: {document.DocumentId}");
Console.WriteLine($ " Status:{document.Status}");
if (document.Status == TranslationStatus.Succeeded) {
Console.WriteLine($ " Translated Document Uri: {document.TranslatedDocumentUri}");
Console.WriteLine($ " Translated to language: {document.TranslatedTo}.");
Console.WriteLine($ " Document source Uri: {document.SourceDocumentUri}");
}
else {
Console.WriteLine($ " Error Code: {document.Error.ErrorCode}");
Console.WriteLine($ " Message: {document.Error.Message}");
}
}
}
هذا كل شيء! لقد قمت بإنشاء برنامج لترجمة المستندات في حاوية blob باستخدام مكتبة عميل .NET.