Sprachen erkennen (Advanced)

In diesem Dokument wird beschrieben, wie Sie mithilfe von Cloud Translation Advanced die Sprache eines Strings erkennen.

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 erforderlichen 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.

Beschränkung

Die Spracherkennung unterstützt die Sprachcodes fr-CR und pt-BR nicht.

Sprache eines Textstrings erkennen

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

https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/global:detectLanguage

Sprache eines einzelnen Strings erkennen

REST

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

Bevor Sie die Anfragedaten verwenden, ersetzen Sie folgende Werte:

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

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/global:detectLanguage

JSON-Text der Anfrage:

{
   "content":"Доктор Ватсон, иди сюда!"
}

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

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

{
  "languages": [
    {
      "languageCode": "ru",
      "confidence": 1
    }
  ]
}
In der Antwort wird mit languageCode der Sprachcode der erkannten Sprache angegeben. Für confidence gilt ein Bereich von 0 bis 1. Bei 1 beträgt der Konfidenzwert 100 %.

Go

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

Richten Sie 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"
	"io"

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

// detectLanguage detects the language of a text string.
func detectLanguage(w io.Writer, projectID string, text string) error {
	// projectID := "my-project-id"
	// text := "Hello, world!"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.DetectLanguageRequest{
		Parent:   fmt.Sprintf("projects/%s/locations/global", projectID),
		MimeType: "text/plain", // Mime types: "text/plain", "text/html"
		Source: &translatepb.DetectLanguageRequest_Content{
			Content: text,
		},
	}

	resp, err := client.DetectLanguage(ctx, req)
	if err != nil {
		return fmt.Errorf("DetectLanguage: %w", err)
	}

	// Display list of detected languages sorted by detection confidence.
	// The most probable language is first.
	for _, language := range resp.GetLanguages() {
		// The language detected.
		fmt.Fprintf(w, "Language code: %v\n", language.GetLanguageCode())
		// Confidence of detection result for this language.
		fmt.Fprintf(w, "Confidence: %v\n", language.GetConfidence())
	}

	return nil
}

Java

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

Richten Sie 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 com.google.cloud.translate.v3.DetectLanguageRequest;
import com.google.cloud.translate.v3.DetectLanguageResponse;
import com.google.cloud.translate.v3.DetectedLanguage;
import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;

public class DetectLanguage {

  public static void detectLanguage() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    String text = "your-text";

    detectLanguage(projectId, text);
  }

  // Detecting the language of a text string
  public static void detectLanguage(String projectId, String text) throws IOException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      LocationName parent = LocationName.of(projectId, "global");

      // Supported Mime Types: https://cloud.google.com/translate/docs/supported-formats
      DetectLanguageRequest request =
          DetectLanguageRequest.newBuilder()
              .setParent(parent.toString())
              .setMimeType("text/plain")
              .setContent(text)
              .build();

      DetectLanguageResponse response = client.detectLanguage(request);

      // Display list of detected languages sorted by detection confidence.
      // The most probable language is first.
      for (DetectedLanguage language : response.getLanguagesList()) {
        // The language detected
        System.out.printf("Language code: %s\n", language.getLanguageCode());
        // Confidence of detection result for this language
        System.out.printf("Confidence: %s\n", language.getConfidence());
      }
    }
  }
}

Node.js

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

Richten Sie 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 variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const text = 'text to translate';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function detectLanguage() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    content: text,
  };

  // Run request
  const [response] = await translationClient.detectLanguage(request);

  console.log('Detected Languages:');
  for (const language of response.languages) {
    console.log(`Language Code: ${language.languageCode}`);
    console.log(`Confidence: ${language.confidence}`);
  }
}

detectLanguage();

Python

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

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

from google.cloud import translate


def detect_language(
    project_id: str = "YOUR_PROJECT_ID",
) -> translate.DetectLanguageResponse:
    """Detecting the language of a text string.

    Args:
        project_id: The GCP project ID.

    Returns:
        The detected language of the text.
    """
    client = translate.TranslationServiceClient()

    location = "global"

    parent = f"projects/{project_id}/locations/{location}"

    # Detail on supported types can be found here:
    # https://cloud.google.com/translate/docs/supported-formats
    response = client.detect_language(
        content="Hello, world!",
        parent=parent,
        mime_type="text/plain",  # mime types: text/plain, text/html
    )

    # Display list of detected languages sorted by detection confidence.
    # The most probable language is first.
    for language in response.languages:
        # The language detected
        print(f"Language code: {language.language_code}")
        # Confidence of detection result for this language
        print(f"Confidence: {language.confidence}")

    return response

Weitere Sprachen

C#: Folgen Sie dem Einrichtungsleitfaden für C# auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für .NET auf.

PHP: Folgen Sie dem Einrichtungsleitfaden für PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für PHP auf.

Ruby: Folgen Sie dem Einrichtungsleitfaden für Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Cloud Translation-Referenzdokumentation für Ruby auf.

Zusätzliche Ressourcen

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