Rilevamento delle lingue (di base)

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

Prima di iniziare

Prima di poter iniziare a utilizzare l'API Cloud Translation, devi disporre di un progetto in cui l'API Cloud Translation sia abilitata e delle credenziali appropriate. Puoi anche installare librerie client per i linguaggi di programmazione più comuni per effettuare 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 una richiesta HTTP utilizzando un URL nel seguente formato:

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

Rilevamento della lingua di una singola stringa

REST

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

Prima di utilizzare qualsiasi dato 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 di queste 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 per la compatibilità con le versioni precedenti; consigliamo di non basare decisioni o soglie sui loro valori.

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Cloud Translation utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Translation Go.

Per autenticarti su Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare 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 di configurazione di Java nella guida rapida di Cloud Translation utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Translation Java.

Per autenticarti su Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare 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 di configurazione di Node.js nella guida rapida di Cloud Translation utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.

Per autenticarti su Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare 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 di configurazione di Python nella guida rapida di Cloud Translation utilizzando le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Translation Python.

Per autenticarti su Cloud Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare 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 di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Cloud Translation per .NET.

PHP: segui le istruzioni di configurazione dei file PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Cloud Translation per PHP.

Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Cloud Translation per Ruby.

Rilevamento della lingua di più stringhe

REST

Per rilevare la lingua per più di una stringa, utilizza il parametro q per specificare ogni stringa. In questo esempio vengono trasmesse due stringhe distinte per il rilevamento:

Prima di utilizzare qualsiasi dato 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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Qui, la risposta contiene due rilevamenti, nello stesso ordine in cui 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 nell'esempio precedente.

Java

Per rilevare la lingua di più testi, è sufficiente passare un elenco di stringhe al metodo Translate#detect mostrato nell'esempio precedente.

Node.js

Per rilevare la lingua di più testi, è sufficiente passare un array di stringhe al metodo Translate#detect mostrato nell'esempio precedente.

Python

Per rilevare la lingua di più testi, è sufficiente passare un elenco di stringhe al metodo Client#detect_language mostrato nell'esempio precedente.

Linguaggi aggiuntivi

C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Cloud Translation per .NET.

PHP: segui le istruzioni di configurazione dei file PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Cloud Translation per PHP.

Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Cloud Translation per Ruby.

Ruby

Per rilevare la lingua di più testi, è sufficiente passare più stringhe al metodo Translate#detect mostrato nell'esempio precedente.

Risorse aggiuntive