Rilevamento delle lingue (di base)

Questo documento descrive come utilizzare Cloud Translation - Basic (v2) per rilevare il linguaggio di una stringa.

Prima di iniziare

Per poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto con l'API Cloud Translation sia abilitata e devi disporre delle credenziali appropriate. Puoi installare anche librerie client per i linguaggi di programmazione più comuni chiamate all'API. Per ulteriori informazioni, consulta la pagina Configurazione.

Rilevamento della lingua di una stringa di testo

Puoi rilevare la lingua di una stringa di testo inviando un messaggio HTTP utilizzando un URL nel seguente formato:

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

Rilevamento del linguaggio di una singola stringa

REST

Per rilevare la lingua di un testo, effettua una richiesta POST e fornisci il corpo della richiesta appropriato. Di seguito è riportato un esempio di richiesta POST utilizzando curl o PowerShell. L'esempio utilizza il token di accesso per un servizio configurato per il progetto utilizzando Google Cloud CLI. Per istruzioni sull'installazione Google Cloud CLI, configurando un progetto con un account di servizio e recuperando consulta la pagina Configurazione.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Nella risposta, language è il codice lingua rilevato. Gli altri due campi, isReliable e confidence sono campi deprecati inclusi per le versioni precedenti compatibilità; consigliamo di non basare decisioni o soglie e i relativi valori.

Go

Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Go documentazione di riferimento.

Per autenticarti su Cloud Translation, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Java documentazione di riferimento.

Per autenticarti su Cloud Translation, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// 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

Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Node.js documentazione di riferimento.

Per autenticarti su Cloud Translation, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// 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

Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Python documentazione di riferimento.

Per autenticarti su Cloud Translation, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Linguaggi aggiuntivi

C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per .NET.

PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per PHP.

Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per Ruby.

Rilevamento della lingua di più di una stringa

REST

Per rilevare il linguaggio per più di una stringa, utilizza il parametro q per specificare ogni stringa. Questo esempio passa due stringhe separate per il rilevamento:

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

In questo caso la risposta contiene due rilevamenti, nello stesso ordine dei le stringhe di origine corrispondenti sono state fornite nella richiesta.

Go

Per rilevare la lingua di più testi, includi più stringhe nella sezione passata al metodo Client#DetectLanguage mostrato in nell'esempio precedente.

Java

Per rilevare la lingua di più testi, passa semplicemente un elenco di stringhe alla Metodo Translate#detect mostrato nell'esempio precedente.

Node.js

Per rilevare la lingua di più testi, passa semplicemente un array di stringhe alla Metodo Translate#detect mostrato nell'esempio precedente.

Python

Per rilevare la lingua di più testi, passa semplicemente un elenco di stringhe alla Metodo Client#detect_language mostrato nell'esempio precedente.

Linguaggi aggiuntivi

C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per .NET.

PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per PHP.

Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per Ruby.

Ruby

Per rilevare la lingua di più testi, passa semplicemente più stringhe al Metodo Translate#detect mostrato nell'esempio precedente.

Risorse aggiuntive