Text übersetzen

Mit dem Vertex AI Translation-Dienst in der GDC-Appliance mit Air Gap können Sie Nur-Text und HTML zwischen unterstützten Sprachen übersetzen. Sie können Anfragen an die Vertex AI Translation API mit curl oder der Python-Clientbibliothek senden. Die API bietet auch Methoden zum Erkennen von Ausgangssprachen und zum Auflisten unterstützter Sprachen.

Hinweis

Für die Verwendung der Vertex AI Translation API benötigen Sie ein Projekt, für das die Vertex AI Translation API aktiviert ist. Außerdem benötigen Sie die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken installieren, um Aufrufe an die API zu ermöglichen. Weitere Informationen finden Sie unter Übersetzungsprojekt einrichten.

Text übersetzen

Die Methode translateText nimmt Eingabetext in einer bestimmten Sprache entgegen und gibt den übersetzten Text in einer anderen Sprache zurück. Sie können Nur-Text oder HTML-Text als Eingabe eingeben.

Wenn Sie HTML-Text eingeben, übersetzt die Methode translateText nur den Text zwischen den HTML-Tags, nicht die Tags selbst. Attribute in HTML5-Tags, z. B. alt-Attribute, werden jedoch übersetzt. Ein Beispiel für die Verwendung von HTML5-Tags und -Attributen ist die Syntax, mit der Text von der Übersetzung ausgeschlossen wird. In der Ausgabe werden die nicht übersetzten HTML-Tags beibehalten und der übersetzte Text wird zwischen ihnen eingefügt.

Senden Sie eine curl-Anfrage an die vortrainierte Vertex AI Translation API. Andernfalls können Sie über ein Python-Skript mit der vortrainierten Vertex AI Translation API interagieren, um Text von einer Sprache in eine andere zu übersetzen.

In den folgenden Beispielen wird gezeigt, wie Sie einen Eingabetext von einer Sprache in eine andere übersetzen:

curl

So stellen Sie eine curl-Anfrage:

  1. Authentifizierungstoken abrufen

  2. Stellen Sie die Anfrage:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

Ersetzen Sie Folgendes:

  • TOKEN: das von Ihnen abgerufene Authentifizierungstoken.
  • ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte ansehen.
  • PROJECT_ID: Ihre Projekt-ID.
  • SOURCE_LANGUAGE: der Sprachcode des Eingabetexts. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.
  • TARGET_LANGUAGE: der Sprachcode, in den der Text übersetzt werden soll. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.
  • INPUT_TEXT: Ihr Eingabetext in der Ausgangssprache.

Verwenden Sie das Feld mime_type, um einen Dateityp anzugeben. Legen Sie für das Feld mime_type einen der folgenden Werte fest:

  • text/plain: Ihre Eingabe ist Nur-Text.
  • text/html: Ihre Eingabe ist HTML-Text.

Wenn das Feld mime_type leer ist, ist text/html der Standardwert.

Im folgenden Beispiel wird das Feld mime_type verwendet:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"mime_type": "text/html", "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

Die Ausgabe enthält den übersetzten Text.

Python

So verwenden Sie den Vertex AI Translation-Dienst über ein Python-Skript:

  1. Installieren Sie die aktuelle Version der Vertex AI Translation-Clientbibliothek.

  2. Legen Sie die erforderlichen Umgebungsvariablen in einem Python-Skript fest.

  3. Authentifizieren Sie Ihre API-Anfrage.

  4. Fügen Sie dem von Ihnen erstellten Python-Script den folgenden Code hinzu:

    from google.cloud import translate
    import google.auth
    from google.auth.transport import requests
    from google.api_core.client_options import ClientOptions
    
    audience = "https://ENDPOINT:443"
    api_endpoint="ENDPOINT:443"
    
    def translate_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return translate.TranslationServiceClient(credentials=creds, client_options=opts)
    
    def main():
      creds = None
      try:
        creds, project_id = google.auth.default()
        creds = creds.with_gdch_audience(audience)
        req = requests.Request()
        creds.refresh(req)
      except Exception as e:
        print("Caught exception" + str(e))
        raise e
      return creds
    
    def translate_func(creds):
      tc = translate_client(creds)
      req = {
        "parent": "projects/PROJECT_ID",
        "source_language_code": "SOURCE_LANGUAGE",
        "target_language_code": "TARGET_LANGUAGE",
        "mime_type": "text/plain",
        "contents": ["INPUT_TEXT"]
      }
    
      resp = tc.translate_text(req)
      print(resp)
    
    if __name__=="__main__":
      creds = main()
      translate_func(creds)
    

    Ersetzen Sie Folgendes:

    • ENDPOINT: der Vertex AI Translation-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte ansehen.
    • PROJECT_ID: Ihre Projekt-ID.
    • SOURCE_LANGUAGE: der Sprachcode des Eingabetexts. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.
    • TARGET_LANGUAGE: der Sprachcode, in den der Text übersetzt werden soll. Hier finden Sie eine Liste der unterstützten Sprachen und der zugehörigen Sprachcodes.
    • INPUT_TEXT: Ihr Eingabetext in der Ausgangssprache.

    Verwenden Sie das Feld mime_type, um einen Dateityp anzugeben. Legen Sie für das Feld mime_type einen der folgenden Werte fest:

    • text/plain: Ihre Eingabe ist Nur-Text.
    • text/html: Ihre Eingabe ist HTML-Text.

    Wenn das Feld mime_type leer ist, ist text/html der Standardwert.

  5. Speichern Sie das Python-Script.

  6. Führen Sie das Python-Script aus, um den Text zu übersetzen:

    python SCRIPT_NAME
    

    Ersetzen Sie SCRIPT_NAME durch den Namen, den Sie Ihrem Python-Skript gegeben haben, z. B. translation.py.

Text von der Übersetzung ausschließen

Verwenden Sie eines der folgenden HTML-Tags im Feld contents von Anfragen, um Teile des Texts von der Übersetzung auszuschließen:

  • <span translate="no">"TEXT"</span>
  • <span class="notranslate">"TEXT"</span>

Ersetzen Sie TEXT durch den Textteil, den Sie von der Übersetzung ausschließen möchten.

Angenommen, Sie haben den folgenden französischen Eingabetext:

Bonjour, c'est un test.

Dieser Text wird dann ins Englische übersetzt und lautet:

Hello, this is a test.

Angenommen, Sie möchten nur den folgenden Teil des Textes übersetzen und Bonjour, aus dem Eingabetext ausschließen:

c'est un test.

Dieser Teil des Textes wird im Englischen so übersetzt:

this is a test.

Verwenden Sie die HTML-Tags, um Text von der Übersetzung auszuschließen. In der folgenden curl-Anfrage wird beispielsweise das Tag <span class="notranslate">"TEXT"</span> verwendet, um Bonjour, aus dem vorherigen französischen Eingabetext auszuschließen, wenn der Text ins Englische übersetzt wird:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "fr", "target_language_code": "en", "contents": ["<span class=\"notranslate\">\"Bonjour,\"</span>\"c'est un test.\""]}'

Sprache erkennen

Die Methode detectLanguage gibt die Sprache eines Textstrings zurück, indem eine HTTP-Anfrage gesendet wird.

In der folgenden Anfrage wird beispielsweise Englisch als Sprache aus dem Eingabetext Hello, this is a test erkannt:

curl

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:detectLanguage -d '{"parent": "projects/PROJECT_ID", "content": "Hello, this is a test"}'

Unterstützte Sprachen abrufen

Die Methode supportedLanguages gibt die Liste der Sprachen zurück, die von der Vertex AI Translation API unterstützt werden.

Mit der folgenden Anfrage werden beispielsweise die unterstützten Sprachen zurückgegeben, indem der Vertex AI Translation-Endpunkt angegeben wird:

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages

Eine vollständige Liste der unterstützten Sprachen finden Sie unter Unterstützte Sprachen für Vertex AI Translation.