הגרסה המתקדמת של Cloud Translation API תומכת בתרגום באצווה של כמויות גדולות של טקסט בפקודה אופליין. אפשר להעלות עד 100 קבצים, עם עד 10 שפות יעד לכל קבוצה. בנוסף, הגודל הכולל של התוכן לא יכול להיות יותר מ-100M נקודות קוד של Unicode, והקידוד חייב להיות UTF-8.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Cloud Translation API, צריך להשלים את השלבים שמפורטים בדף הגדרת Cloud Translation, כולל יצירת פרויקט, הפעלת Cloud Translation API והגדרת אימות. בדף ההגדרה יש גם הוראות להתקנת ספריות לקוח לשפות תכנות נפוצות, אבל זה לא חובה.
הרשאות
כדי לבצע תרגום באצווה, צריכה להיות לכם גישה לקטגוריות של Cloud Storage, בנוסף להרשאות של Cloud Translation.
קבצים להזנת תרגום באצווה נקראים מקטגוריה של Cloud Storage, וקבצי הפלט נכתבים לקטגוריה של Cloud Storage. לדוגמה, כדי לקרוא קובצי קלט מקטגוריה, צריכות להיות לכם לפחות הרשאות קריאה של אובייקטים (שמסופקות על ידי התפקיד roles/storage.objectViewer) בקטגוריה. מידע נוסף על תפקידים ב-Cloud Storage זמין במאמרי העזרה של Cloud Storage.
קובץ קלט
יש תמיכה רק בשני סוגי MIME: text/html (HTML) ו-text/plain (tsv ו-txt).
שימוש בקובץ TSV
אם סיומת הקובץ היא TSV, הוא יכול להכיל עמודה אחת או שתיים. העמודה הראשונה (אופציונלית) היא המזהה של בקשת הטקסט. אם העמודה הראשונה חסרה, Google משתמשת במספר השורה (מבוסס-0) מקובץ הקלט כמזהה בקובץ הפלט. העמודה השנייה היא הטקסט שצריך לתרגם. כדי לקבל את התוצאות הטובות ביותר, כל שורה צריכה להיות קטנה מ-10,000 נקודות קוד של Unicode או שווה להן, אחרת יכול להיות שתחזור שגיאה.
שימוש בטקסט או ב-HTML
סיומות הקבצים הנתמכות האחרות הן קובצי טקסט (.txt) או HTML, שמטופלים כגוש טקסט גדול אחד.
בקשת Batch
בבקשת תרגום באצווה, מציינים את הנתיב לקובץ תצורה של קלט (InputConfig) שמכיל את התוכן שרוצים לתרגם, ואת הנתיב למיקום הפלט (OutputConfig) של התרגום הסופי. צריכות להיות לכם לפחות שתי קטגוריות שונות של Cloud Storage. קטגוריית המקור מכילה תוכן שצריך לתרגם, וקטגוריית היעד תכיל את הקבצים המתורגמים. תיקיית היעד צריכה להיות ריקה לפני תחילת תהליך התרגום.
במהלך הטיפול בבקשה, אנחנו כותבים את התוצאות למיקום הפלט בזמן אמת. גם אם מבטלים את הבקשה באמצע התהליך, עדיין נוצר פלט חלקי ברמת קובץ הקלט במיקום הפלט ב-Cloud Storage. לכן, עדיין נחייב אתכם על מספר התווים המתורגם.
REST
בדוגמה הזו מוצגים שני קובצי קלט שנשלחו לתרגום.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
תוכן בקשת JSON:
{
"sourceLanguageCode": "en",
"targetLanguageCodes": ["es", "fr"],
"inputConfigs": [
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name1"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name2"
}
}
],
"outputConfig": {
"gcsDestination": {
"outputUriPrefix": "gs://bucket-name-destination/"
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-number/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
"state": "RUNNING"
}
}
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
שליחת בקשת Batch באמצעות מודל AutoML
אפשר להשתמש במודל בהתאמה אישית לבקשות באצווה. יש תרחישים שונים שבהם מעורבות כמה שפות יעד.
ציון מודל AutoML לשפת היעד
REST
בדוגמה הזו מוסבר איך לציין מודל בהתאמה אישית לשפת היעד.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
תוכן בקשת JSON:
{
"models":{"es":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id"},
"sourceLanguageCode": "en",
"targetLanguageCodes": ["es"],
"inputConfigs": [
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name1"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name2"
}
}
],
"outputConfig": {
"gcsDestination": {
"outputUriPrefix": "gs://bucket-name-destination/"
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-number/locations/us-central1/operations/20190725-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
"state": "RUNNING"
}
}
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
ציון מודלים של AutoML לכמה שפות יעד
REST
אם יש לכם כמה שפות יעד, אתם יכולים לציין מודל מותאם אישית לכל שפת יעד.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
תוכן בקשת JSON:
{
"models":{
"es":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id1",
"fr":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id2"},
"sourceLanguageCode": "en",
"targetLanguageCodes": ["es", "fr"],
"inputConfigs": [
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name1"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name2"
}
}
],
"outputConfig": {
"gcsDestination": {
"outputUriPrefix": "gs://bucket-name-destination/"
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-number/locations/us-central1/operations/20191105-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
"state": "RUNNING"
}
}
הגדרת מודל AutoML לשפת יעד מסוימת ולא לשפות אחרות
אתם יכולים לציין מודל מותאם אישית לשפת יעד מסוימת, בלי לציין מודל לשפות היעד האחרות. כדי לציין מודלים בהתאמה אישית לכמה שפות יעד, משתמשים בקוד שמופיע למעלה ומשנים את השדה models כדי לציין את שפת היעד של המודל, es בדוגמה הזו, ומשאירים את fr לא מוגדר:
"models": {'es':'projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/model-id'},
כאשר PROJECT_NUMBER_OR_ID הוא מספר הפרויקט או המזהה שלו, ו-model-id הוא השם שנתתם למודל AutoML. Google Cloud
תרגום טקסט באמצעות מילון מונחים
REST
בדוגמה הזו מוסבר איך לציין מילון מונחים לשפת היעד.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
- glossary-id: מזהה המילון שלכם, לדוגמה, my-en-to-es-glossary
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
גוף בקשת JSON:
{
"sourceLanguageCode": "en",
"targetLanguageCodes": ["es"],
"glossaries": {
"es": {
"glossary": "projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id"
}
},
"inputConfigs": [{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name1"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name2"
}
}
],
"outputConfig": {
"gcsDestination": {
"outputUriPrefix": "gs://bucket-name-destination/"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-number/locations/us-central1/operations/operation-id",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
"state": "RUNNING"
}
}
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
תרגום טקסט באמצעות מודל מותאם אישית ומילון מונחים של AutoML Translation
REST
בדוגמה הזו אפשר לראות איך מציינים מודל מותאם אישית ומילון מונחים לשפת היעד.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText
גוף בקשת JSON:
{
"models": {
"es": "projects/project_number_or_id/locations/us-central1/models/model-id"
},
"sourceLanguageCode": "en",
"targetLanguageCodes": ["es"],
"glossaries": {
"es": {
"glossary": "projects/project_number_or_id/locations/us-central1/glossaries/glossary-id"
}
},
"inputConfigs": [{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name"
}
},
{
"gcsSource": {
"inputUri": "gs://bucket-name-source/input-file-name2"
}
}
],
"outputConfig": {
"gcsDestination": {
"outputUriPrefix": "gs://bucket-name-destination/"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:batchTranslateText" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-number/locations/us-central1/operations/operation-id",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
"state": "RUNNING"
}
}
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
סטטוס הפעילות
בקשת Batch היא פעולה ממושכת, ולכן יכול להיות שיעבור זמן רב עד שהיא תושלם. אפשר לבדוק את הסטטוס של הפעולה כדי לראות אם היא הסתיימה, או לבטל את הפעולה.
מידע נוסף זמין במאמר בנושא פעולות ממושכות.
מקורות מידע נוספים
- לקבלת עזרה בפתרון בעיות או שגיאות נפוצות, אפשר לעיין בדף פתרון בעיות.