Sprachen erkennen (Basic)

In diesem Dokument wird beschrieben, wie Sie mit Cloud Translation Basic (v2) die Sprache eines Strings erkennen.

Vorbereitung

Für die Verwendung der Cloud Translation API benötigen Sie ein Projekt, für das die Cloud Translation API aktiviert ist. Außerdem benötigen Sie die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken für gängige Programmiersprachen installieren, um Aufrufe an die API zu ermöglichen. Weitere Informationen dazu finden Sie auf der Seite Einrichtung.

Sprache eines Textstrings erkennen

Sie können die Sprache eines Textstrings erkennen, indem Sie eine HTTP-Anfrage mit einer URL im folgenden Format senden:

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

Sprache eines einzelnen Strings erkennen

REST

Um die Sprache eines Textes zu erkennen, können Sie eine POST-Anfrage mit dem entsprechenden Anfragetext stellen. Das folgende Beispiel zeigt eine POST-Anfrage über curl oder PowerShell. Im Beispiel wird das Zugriffstoken für ein Dienstkonto verwendet, das mit der Google Cloud CLI für das Projekt eingerichtet wurde. Eine Anleitung zum Installieren des Google Cloud CLI, zum Einrichten eines Projekts mit einem Dienstkonto und zum Abrufen eines Zugriffstokens finden Sie auf der Seite Einrichtung.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts

HTTP-Methode und URL:

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

JSON-Text anfordern:

{
  "q": "Mi comida favorita es una enchilada."
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

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

{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "es"
        }
      ]
    ]
  }
}

In der Antwort ist language der erkannte Sprachcode. Die anderen beiden Felder isReliable und confidence sind verworfene Felder, die aus Gründen der Abwärtskompatibilität enthalten sind. Wir empfehlen, die Werte dieser Felder nicht für Entscheidungen oder Schwellenwerte zu verwenden.

Go

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import (
	"context"
	"fmt"

	"cloud.google.com/go/translate"
)

func detectLanguage(text string) (*translate.Detection, error) {
	// text := "こんにちは世界"
	ctx := context.Background()
	client, err := translate.NewClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("translate.NewClient: %w", err)
	}
	defer client.Close()
	lang, err := client.DetectLanguage(ctx, []string{text})
	if err != nil {
		return nil, fmt.Errorf("DetectLanguage: %w", err)
	}
	if len(lang) == 0 || len(lang[0]) == 0 {
		return nil, fmt.Errorf("DetectLanguage return value empty")
	}
	return &lang[0][0], nil
}

Java

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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

List<String> texts = new LinkedList<>();
texts.add("Hello, World!");
texts.add("¡Hola Mundo!");
List<Detection> detections = translate.detect(texts);

System.out.println("Language(s) detected:");
for (Detection detection : detections) {
  System.out.printf("\t%s\n", detection);
}

Node.js

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// 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 line before running the sample.
 */
// const text = 'The text for which to detect language, e.g. Hello, world!';

// Detects the language. "text" can be a string for detecting the language of
// a single piece of text, or an array of strings for detecting the languages
// of multiple texts.
async function detectLanguage() {
  let [detections] = await translate.detect(text);
  detections = Array.isArray(detections) ? detections : [detections];
  console.log('Detections:');
  detections.forEach(detection => {
    console.log(`${detection.input} => ${detection.language}`);
  });
}

detectLanguage();

Python

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def detect_language(text: str) -> dict:
    """Detects the text's language."""
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    # 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.detect_language(text)

    print(f"Text: {text}")
    print("Confidence: {}".format(result["confidence"]))
    print("Language: {}".format(result["language"]))

    return result

Weitere Sprachen

C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für Ruby auf.

Sprache von mehr als einem String erkennen

REST

Wenn Sie die Sprache von mehr als einem String ermitteln möchten, verwenden Sie den Parameter q, um die Strings anzugeben. In diesem Beispiel werden zwei verschiedene Strings für die Erkennung übergeben:

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts

HTTP-Methode und URL:

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

JSON-Text anfordern:

{
  "q": ["Hello world", "我的名字叫傑夫"]
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

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

{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "en"
        }
      ],
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "zh-TW"
        }
      ]
    ]
  }
}

Hier enthält die Antwort zwei ermittelte Sprachen in derselben Reihenfolge, in der die zugehörigen Ausgangsstrings in der Anfrage angegeben wurden.

Go

Wenn Sie die Sprache mehrerer Texte erkennen möchten, fügen Sie mehrere Strings in das Slice ein, das an die im Beispiel oben gezeigte Methode Client#DetectLanguage übergeben wird.

Java

Wenn Sie die Sprache mehrerer Texte erkennen möchten, übergeben Sie einfach eine Liste von Strings an die im Beispiel oben gezeigte Methode Translate#detect.

Node.js

Wenn Sie die Sprache mehrerer Texte erkennen möchten, übergeben Sie einfach ein Array mit Strings an die im Beispiel oben gezeigte Methode Translate#detect.

Python

Wenn Sie die Sprache mehrerer Texte erkennen möchten, übergeben Sie einfach eine Liste von Strings an die im Beispiel oben gezeigte Methode Client#detect_language.

Weitere Sprachen

C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für Ruby auf.

Ruby

Wenn Sie die Sprache mehrerer Texte erkennen möchten, übergeben Sie einfach mehrere Strings an die im Beispiel oben gezeigte Methode Translate#detect.

Zusätzliche Ressourcen

  • Unterstützung zur Behebung häufiger Probleme oder Fehler erhalten Sie auf der Seite Fehlerbehebung.