הגרסה המתקדמת של Cloud Translation API תומכת בתרגום באצווה של כמויות גדולות של טקסט בפקודה במצב אופליין. יש מגבלה של 100 קבצים, עם 10 שפות יעד לכל היותר לכל קבוצה. בנוסף, הגודל הכולל של התוכן לא יכול להיות יותר מ-100 מיליון נקודות קוד של Unicode, והקידוד חייב להיות UTF-8.
לפני שמתחילים
כדי להתחיל להשתמש ב-Cloud Translation API, צריך שיהיה לכם פרויקט שבו ה-API הזה מופעל, וצריכים להיות לכם פרטי הכניסה המתאימים. אפשר גם להתקין ספריות לקוח לשפות תכנות נפוצות כדי לעזור לכם לבצע קריאות ל-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 היא פעולה ממושכת, ולכן יכול להיות שיעבור זמן רב עד שהיא תושלם. אפשר לדגום את הסטטוס של הפעולה כדי לראות אם היא הושלמה, או לבטל את הפעולה.
מידע נוסף זמין במאמר בנושא פעולות ממושכות.
מקורות מידע נוספים
- לקבלת עזרה בפתרון בעיות או שגיאות נפוצות, אפשר לעיין בדף פתרון בעיות.