תרגום טקסט
בדף הזה מוסבר איך לתרגם טקסט לדוגמה באמצעות מהדורות Basic ו-Advanced של Cloud Translation.
כפי שמודגם בדוגמה לתרגום טקסט בסיסי, Cloud Translation - Basic API מספק גישה פשוטה ומוכנה לשימוש למודל הרגיל של תרגום מכונה עצבי (NMT).
לעומת זאת, Cloud Translation - Advanced מותאם לתרחישי שימוש בהתאמה אישית ובתוכן ארוך. לקוד לדוגמה, ראו את הדוגמה מתקדמת לתרגום טקסט. בנוסף למודל של תרגום מכונה עצבי (NMT), ב-Advanced מקבלים גישה למודל LLM לתרגום (מודל התרגום החדש והאיכותי ביותר של Google בסגנון LLM), ויש אפשרות ליצור מודלים בהתאמה אישית למצבים מיוחדים.
Cloud Translation – Advanced מספק גם יכולות מתקדמות של תרגום טקסט, כמו תרגום מסמכים ויצירת מילוני מונחים, כדי לוודא שהטרמינולוגיה הספציפית לדומיין מתורגמת בצורה נכונה.
לפני שמתחילים
כדי להתחיל להשתמש ב-Cloud Translation API, צריך שיהיה לכם פרויקט שבו ה-API הזה מופעל, וצריכים להיות לכם פרטי הכניסה המתאימים. אפשר גם להתקין ספריות לקוח לשפות תכנות נפוצות כדי לעזור לכם לבצע קריאות ל-API. מידע נוסף זמין בדף הגדרה.
תרגום מתקדם של טקסט
בתרגומים באמצעות Cloud Translation - Advanced, הקלט יכול להיות טקסט פשוט או HTML. Cloud Translation API לא מתרגם תגי HTML בקלט, אלא רק טקסט שמופיע בין התגים. הפלט שומר על תגי ה-HTML (שלא תורגמו), עם הטקסט המתורגם בין התגים, ככל האפשר, בגלל ההבדלים בין שפת המקור לשפת היעד.
דוגמה לתרגום טקסט מתקדם
REST
כדי לתרגם טקסט, שולחים בקשת POST ומספקים JSON בגוף הבקשה שמזהה את השפה שממנה רוצים לתרגם (source_language_code), את השפה שאליה רוצים לתרגם (target_language_code) ואת הטקסט לתרגום (contents). אפשר לספק כמה מחרוזות טקסט לתרגום על ידי הכללתן ב-JSON (ראו דוגמה). מציינים את שפת המקור ושפת היעד באמצעות קודי ISO-639.
בדוגמה הבאה מוצגת בקשת POST באמצעות curl או PowerShell. בדוגמה נעשה שימוש באסימון הגישה של חשבון שירות שהוגדר לפרויקט באמצעות Google Cloud
Google Cloud CLI.
הוראות להתקנת Google Cloud CLI, להגדרת פרויקט עם חשבון שירות ולקבלת אסימון גישה מופיעות בדף הגדרה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText
תוכן בקשת JSON:
{
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, come here!", "Bring me some coffee!"]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"translations": [
{
"translatedText": "Доктор Ватсон, иди сюда!",
},
{
"translatedText": "Принеси мне кофе!",
}
]
}
המערך translations מכיל שני שדות translatedText עם תרגומים שסופקו בשפה המבוקשת targetLanguageCode (ru: רוסית). התרגומים מופיעים באותו סדר כמו מערך המקור המתאים בבקשה.
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.
תרגום טקסט באמצעות מודל ספציפי
REST
אפשר לציין באיזה מודל להשתמש לתרגום באמצעות פרמטר השאילתה model.
בדוגמה הבאה מתורגם טקסט באמצעות מודל בהתאמה אישית עם מזהה מודל של 1395675701985363739. אפשר לקבל את מזהה הדגם של מודל בהתאמה אישית מרשימת הדגמים במסוף Google Cloud , מהתגובה של ה-API או מדף Pantheon המתאים כשמאמנים את המודל. כדי להשתמש במודל שפה גדול (LLM) לתרגום, מציינים את general/translation-llm כמזהה המודל. כדי להשתמש במודל שפה גדול (LLM) מותאם אישית לתרגום (בגרסת Public Preview), מציינים model/translation-llm-custom/{model-id} כמזהה המודל.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION: האזור שבו נמצא המודל בהתאמה אישית, למשל
us-central1.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText
גוף בקשת JSON:
{
"model": "projects/PROJECT_ID/locations/LOCATION/models/1395675701985363739",
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me.
Let's talk about spam and importance ranking in a confidential mode."]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"translation": {
"translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора.
Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о
спаме и важности рейтинга в конфиденциальном режиме.",
"model": "projects/PROJECT_NUMBER/locations/LOCATION/models/1395675701985363739"
}
}
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.
תעתיק
תעתיק הוא הגדרת תצורה בשיטה translateText. כשמפעילים תעתיק, מתרגמים טקסט שעבר רומניזציה (תעתיק לאותיות לטיניות) ישירות לשפת יעד. לדוגמה, אפשר לתרגם טקסט ביפנית שעבר רומניזציה ישירות לאנגלית, לספרדית או לסינית. התרגומים שמתקבלים הם במערכת הכתב של שפת היעד.
בבקשות התעתיק, צריך לכלול רק טקסט שעבר רומניזציה. אם משלבים טקסט ברומניזציה עם טקסט שלא עבר רומניזציה, Cloud Translation לא יכול להבטיח תרגומים עקביים ונכונים.
לתשומת ליבכם
תעתיק שונה מתרגום טקסט רגיל בדרכים הבאות:
- תעתיק תומך במספר מוגבל של שפות. מידע נוסף מופיע בעמודה תעתיק בדף שפות נתמכות.
- סוג ה-MIME צריך להיות
text/plain. אין תמיכה ב-HTML. - רק המודל הסטנדרטי שמוגדר כברירת מחדל תומך בתעתיק. אין תמיכה במודלים בהתאמה אישית.
- מכסת ברירת המחדל של תוכן בתעתיק נמוכה יותר. מידע נוסף זמין במאמר מכסות ומגבלות.
REST
מגדירים את השדה transliteration_config בשיטה translateText.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של הפרויקט ב- Google Cloud .
- LOCATION: האזור שבו רוצים להריץ את הפעולה הזו. לדוגמה,
us-central1. - SOURCE_LANGUAGE: (אופציונלי) קוד השפה של טקסט הקלט. אם ידוע, צריך להגדיר את אחד מקודי השפה שמופיעים בתמיכה בשפות.
- TARGET_LANGUAGE: שפת היעד לתרגום של טקסט הקלט. הערך צריך להיות אחד מקודי השפות שמפורטים בתמיכה בשפות.
- SOURCE_TEXT: טקסט שעבר רומניזציה בשפת המקור לתרגום.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText
תוכן בקשת JSON:
{
"source_language_code": "SOURCE_LANGUAGE",
"target_language_code": "TARGET_LANGUAGE",
"contents": "SOURCE_TEXT",
"mime_type": "text/plain",
"transliteration_config": { "enable_transliteration": true}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"translations": [
{
"translatedText": "TRANSLATED_TEXT",
}
]
}
דוגמה בסיסית לתרגום טקסט
REST
שליחת בקשה ל-Cloud Translation – Basic באמצעות הפעלת method של REST לשיטה Basic translate. מזהים את שפת המקור ושפת היעד באמצעות קודי ISO-639 שלהן.
בדוגמה הבאה מוצגת בקשת POST באמצעות curl או PowerShell.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/language/translate/v2
גוף בקשת JSON:
{
"q": "The Great Pyramid of Giza (also known as the Pyramid of Khufu or the Pyramid of Cheops) is the oldest and largest of the three pyramids in the Giza pyramid complex.",
"source": "en",
"target": "es",
"format": "text"
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/language/translate/v2"
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/language/translate/v2" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"data": {
"translations": [{
"translatedText": "La Gran Pirámide de Giza (también conocida como la Pirámide de Khufu o la Pirámide de Keops) es la más antigua y más grande de las tres pirámides en el complejo de la pirámide de Giza."
}]
}
}
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.
פרמטר של מודל
כששולחים בקשת תרגום ל-Cloud Translation – Basic, הטקסט מתורגם באמצעות מודל של תרגום מכונה עצבי (NMT) של Google. זהו המודל היחיד שבו אפשר להשתמש עם Cloud Translation – Basic. כדי להשתמש במודל NMT מותאם אישית או במודל LLM לתרגום כדי לתרגם טקסט, צריך להשתמש ב-Cloud Translation - Advanced.
מקורות מידע נוספים
- לקבלת עזרה בפתרון בעיות או שגיאות נפוצות, אפשר לעיין בדף פתרון בעיות.
- תשובות לשאלות כלליות על Cloud Translation מופיעות בדף שאלות נפוצות כלליות.
- שירות Cloud Translation זמין בשתי מהדורות. מידע נוסף על כל מהדורה זמין במאמר השוואה בין מהדורות Basic ו-Advanced.