Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Text übersetzen (Basic)

In diesem Dokument wird beschrieben, wie Sie mit Cloud Translation Basic (v2) Text übersetzen.

Der eingegebene Text kann nur Text oder HTML sein. Cloud Translation Basic übersetzt keine HTML-Tags in der Eingabe, sondern nur Text, der zwischen den Tags angezeigt wird. Die Ausgabe behält die (nicht übersetzten) HTML-Tags mit dem übersetzten Text zwischen den Tags bei, soweit es aufgrund der Unterschiede zwischen der Ausgangs- und der Zielsprache möglich ist. Die Reihenfolge der HTML-Tags in der Ausgabe kann von der im Eingabetext abweichen, wenn durch die Übersetzung die Reihenfolge der Wörter im Satz geändert wurde.

Hinweis

Für die Verwendung der Cloud Translation API benötigen Sie ein Projekt, für das die Cloud Translation API aktiviert ist sowie die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken für gängige Programmiersprachen installieren, um Aufrufe an die API zu ermöglichen.

Weitere Informationen finden Sie auf der Seite Einrichtung.

Text übersetzen

In diesem Abschnitt werden einige Möglichkeiten zum Anfordern von Übersetzungen vom Endpunkt https://translation.googleapis.com/language/translate/v2 beschrieben.

Eingabestrings übersetzen

REST UND BEFEHLSZEILE

Senden Sie zum Übersetzen von Text eine POST-Anfrage im JSON-Format. Geben Sie im Anfragetext die Sprache, in die übersetzt werden soll (target), sowie den zu übersetzenden Text (q) an. Sie können mehrere zu übersetzende Textsegmente angeben, indem Sie mehrere q-Felder oder eine Liste von Werten für das q-Feld einfügen. Sie können maximal 128 Textsegmente angeben. Geben Sie die Zielsprachen mit den jeweiligen ISO-639-1-Codes an.

Das folgende Beispiel zeigt eine POST-Anfrage, für die curl oder PowerShell verwendet wurde. In diesem Beispiel wird das Zugriffstoken für ein Dienstkonto verwendet, das mit dem Cloud SDK von Google Cloud für das Projekt eingerichtet wurde. Eine Anleitung zum Installieren des Cloud SDK, zum Einrichten eines Projekts mit einem Dienstkonto und zum Abrufen eines Zugriffstokens finden Sie auf der Seite Einrichtung.

HTTP-Methode und URL:

POST https://translation.googleapis.com/language/translate/v2

JSON-Text der Anfrage:

{
  "q": ["Hello world", "My name is Jeff"],
  "target": "de"
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/language/translate/v2

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "data": {
    "translations": [
      {
        "translatedText": "Hallo Welt",
        "detectedSourceLanguage": "en"
      },
      {
        "translatedText": "Mein Name ist Jeff",
        "detectedSourceLanguage": "en"
      }
    ]
  }
}

Das Array translations enthält zwei translatedText-Felder mit Übersetzungen in der angeforderten target-Sprache (de: Deutsch). Die Übersetzungen werden in der gleichen Reihenfolge aufgeführt wie das entsprechende Quellarray in der Anfrage.

Go

Folgen Sie der Einrichtungsanleitung für Go in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Go.

import (
	"context"
	"fmt"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

func translateText(targetLanguage, text string) (string, error) {
	// text := "The Go Gopher is cute"
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return "", fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return "", err
	}
	defer client.Close()

	resp, err := client.Translate(ctx, []string{text}, lang, nil)
	if err != nil {
		return "", fmt.Errorf("Translate: %v", err)
	}
	if len(resp) == 0 {
		return "", fmt.Errorf("Translate returned empty response to text: %s", text)
	}
	return resp[0].Text, nil
}

Java

Folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Java.

// TODO(developer): Uncomment these lines.
// import com.google.cloud.translate.*;
// Translate translate = TranslateOptions.getDefaultInstance().getService();

Translation translation = translate.translate("¡Hola Mundo!");
System.out.printf("Translated Text:\n\t%s\n", translation.getTranslatedText());

Node.js

Folgen Sie der Einrichtungsanleitung für Node.js in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Node.js.

// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;

// Creates a client
const translate = new Translate();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const text = 'The text to translate, e.g. Hello, world!';
// const target = 'The target language, e.g. ru';

async function translateText() {
  // Translates the text into the target language. "text" can be a string for
  // translating a single piece of text, or an array of strings for translating
  // multiple texts.
  let [translations] = await translate.translate(text, target);
  translations = Array.isArray(translations) ? translations : [translations];
  console.log('Translations:');
  translations.forEach((translation, i) => {
    console.log(`${text[i]} => (${target}) ${translation}`);
  });
}

translateText();

Python

Folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Python.

def translate_text(target, text):
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    import six
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, six.binary_type):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target)

    print(u"Text: {}".format(result["input"]))
    print(u"Translation: {}".format(result["translatedText"]))
    print(u"Detected source language: {}".format(result["detectedSourceLanguage"]))

Weitere Sprachen

C# : Bitte folgen Sie C#-Einrichtungsanleitung auf der Seite "Clientbibliotheken" ansehen. Referenzdokumentation zur Übersetzung für .NET.

PHP : Bitte folgen Sie PHP-Einrichtungsanleitung auf der Seite "Clientbibliotheken" ansehen.Referenzdokumentation zur Übersetzung für PHP

Ruby : Bitte folgen Sie Anleitung zum Einrichten von Ruby auf der Seite "Clientbibliotheken" ansehen.Referenzdokumentation zu Translation für Ruby

Modell angeben

Wenn Sie eine Übersetzungsanfrage an die Cloud Translation API stellen, wird Ihr Text standardmäßig mithilfe des Modells "Neural Machine Translation" (NMT) übersetzt. Wenn eine Übersetzung mithilfe des NMT-Modells für das angeforderte Sprachenpaar nicht unterstützt wird, findet das Modell Phrase-Based Machine Translation (PBMT) Anwendung.

Modellvergleich

Das NMT-Modell kann eine bessere Übersetzung längerer und komplexerer Inhalte bieten. Betrachten wir zum Beispiel die folgende Anfrage:

{
  "q": "So let us begin anew--remembering on both sides that civility is not a
  sign of weakness, and sincerity is always subject to proof. Let us never
  negotiate out of fear. But let us never fear to negotiate.",
  "target": "de"
}

Da in der Anfrage kein model angegeben ist und das Übersetzungssprachenpaar Englisch-Deutsch vom NMÜ-Modell unterstützt wird, wird die Anfrage mit dem Modell nmt übersetzt. Folgendes wird im Feld translations der Antwort zurückgegeben:

"translatedText": "Fangen wir also von neuem an - auf beiden Seiten erinnern wir
                   uns, daß die Höflichkeit kein Zeichen der Schwäche ist und
                   die Aufrichtigkeit immer unter Beweis gestellt wird. Lasst
                   uns nie aus Furcht verhandeln. Aber lassen Sie uns niemals
                   Angst haben, zu verhandeln.",
"detectedSourceLanguage": "en",
"model": "nmt"

Alternativ können Sie ausdrücklich verlangen, dass der Text mit dem Modell base (PBMT) übersetzt wird.

{
  "q": "So let us begin anew--remembering on both sides that civility is not a
        sign of weakness, and sincerity is always subject to proof. Let us never
        negotiate out of fear. But let us never fear to negotiate.",
  "target": "de",
  "model": "base",
}

Bei dem Modell base wird das folgende Ergebnis im Feld translations der Antwort zurückgegeben, das sich von der Übersetzung mit dem Modell nmt unterscheidet.

"translatedText": "Lassen Sie uns also neu beginnen - auf beiden Seiten nicht
                   vergessen, dass Zivilität ist kein Zeichen von Schwäche, und
                   Aufrichtigkeit ist immer unter Beweis. Lassen Sie uns nie aus
                   Angst verhandeln. Aber lassen Sie uns nie zu verhandeln
                   fürchten.",
"detectedSourceLanguage": "en",
"model": "base"

Parameter "model" verwenden

Mit dem Abfrageparameter model können Sie das Modell für die Übersetzung festlegen. Geben Sie base an, um das PBMT-Modell zu verwenden, und nmt, um das NMÜ-Modell zu verwenden. Wenn Sie das NMÜ-Modell angeben und es für die Übersetzung des angeforderten Sprachenpaars nicht unterstützt wird, findet das PBMT-Modell Anwendung.

Im folgenden Beispiel wird gezeigt, wie der Parameter model in einer Übersetzungsanfrage verwendet wird.

REST UND BEFEHLSZEILE

Für die Übersetzung von Text mithilfe des Modells nmt verwenden Sie den Parameter model in der POST-Anfrage.

HTTP-Methode und URL:

POST https://translation.googleapis.com/language/translate/v2

JSON-Text der Anfrage:

{
   "q":"So let us begin anew--remembering on both sides that civility is not a sign of weakness, and sincerity is always subject to proof. Let us never negotiate out of fear. But let us never fear to negotiate.",
   "target":"de",
   "model": "base"
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/language/translate/v2

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

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

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "data": {
    "translations": [
      {
        "translatedText": "Fangen wir also von vorne an - denken wir auf beiden Seiten daran, dass Höflichkeit kein Zeichen von Schwäche ist und dass Aufrichtigkeit immer ein Beweis ist. Lasst uns niemals aus Angst verhandeln. Aber fürchten wir uns niemals vor Verhandlungen.",
        "detectedSourceLanguage": "en"
      }
    ]
  }
}

Go

Folgen Sie der Einrichtungsanleitung für Go in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Go.

import (
	"context"
	"fmt"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

func translateTextWithModel(targetLanguage, text, model string) (string, error) {
	// targetLanguage := "ja"
	// text := "The Go Gopher is cute"
	// model := "nmt"

	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return "", fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return "", fmt.Errorf("translate.NewClient: %v", err)
	}
	defer client.Close()

	resp, err := client.Translate(ctx, []string{text}, lang, &translate.Options{
		Model: model, // Either "nmt" or "base".
	})
	if err != nil {
		return "", fmt.Errorf("Translate: %v", err)
	}
	if len(resp) == 0 {
		return "", nil
	}
	return resp[0].Text, nil
}

Java

Folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Java.

Translation translation =
    translate.translate(
        "Hola Mundo!",
        Translate.TranslateOption.sourceLanguage("es"),
        Translate.TranslateOption.targetLanguage("de"),
        // Use "base" for standard edition, "nmt" for the premium model.
        Translate.TranslateOption.model("nmt"));

System.out.printf("TranslatedText:\nText: %s\n", translation.getTranslatedText());

Node.js

Folgen Sie der Einrichtungsanleitung für Node.js in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Node.js.

// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;

// Creates a client
const translate = new Translate();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const text = 'The text to translate, e.g. Hello, world!';
// const target = 'The target language, e.g. ru';
// const model = 'The model to use, e.g. nmt';

async function translateTextWithModel() {
  const options = {
    // The target language, e.g. "ru"
    to: target,
    // Make sure your project is on the allow list.
    // Possible values are "base" and "nmt"
    model: model,
  };

  // Translates the text into the target language. "text" can be a string for
  // translating a single piece of text, or an array of strings for translating
  // multiple texts.
  let [translations] = await translate.translate(text, options);
  translations = Array.isArray(translations) ? translations : [translations];
  console.log('Translations:');
  translations.forEach((translation, i) => {
    console.log(`${text[i]} => (${target}) ${translation}`);
  });
}

translateTextWithModel();

Python

Folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken mit Translation, bevor Sie dieses Beispiel ausprobieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Translation API für Python.

def translate_text_with_model(target, text, model="nmt"):
    """Translates text into the target language.

    Make sure your project is allowlisted.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    import six
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, six.binary_type):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target, model=model)

    print(u"Text: {}".format(result["input"]))
    print(u"Translation: {}".format(result["translatedText"]))
    print(u"Detected source language: {}".format(result["detectedSourceLanguage"]))

Weitere Sprachen

C# : Bitte folgen Sie C#-Einrichtungsanleitung auf der Seite "Clientbibliotheken" ansehen. Referenzdokumentation zur Übersetzung für .NET.

PHP : Bitte folgen Sie PHP-Einrichtungsanleitung auf der Seite "Clientbibliotheken" ansehen.Referenzdokumentation zur Übersetzung für PHP

Ruby : Bitte folgen Sie Anleitung zum Einrichten von Ruby auf der Seite "Clientbibliotheken" ansehen.Referenzdokumentation zu Translation für Ruby

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um zu beurteilen, wie Cloud Translation in realen Szenarien abschneidet. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

Cloud Translation kostenlos testen