Détecter les langues

Ce document décrit comment utiliser l'API Cloud Translation pour détecter la langue d'une chaîne.

Détecter la langue d'une chaîne de texte

Vous pouvez détecter la langue d'une chaîne de texte en envoyant une requête HTTP à l'aide d'une URL au format suivant  :

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

Détecter la langue d'une seule chaîne

Commande curl

Pour détecter la langue d'un texte, effectuez une requête POST et saisissez le corps de requête approprié. L'exemple suivant montre un exemple de requête POST effectuée avec curl. L'exemple utilise le jeton d'accès associé à un compte de service configuré pour le projet à l'aide du SDK Cloud de Google Cloud Platform. Pour obtenir des instructions sur l'installation du SDK Cloud, la configuration d'un projet avec un compte de service et l'obtention d'un jeton d'accès, consultez la page Démarrage rapide.

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'q': 'Mi comida favorita es una enchilada.',
}" "https://translation.googleapis.com/language/translate/v2/detect"

Si la requête aboutit, le serveur renvoie un code d'état HTTP 200 OK et la réponse au format JSON :

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

Dans la réponse, language est le code de langue détecté. Les deux autres champs, isReliable et confidence, sont des champs obsolètes inclus pour la compatibilité avec les versions antérieures ; il est recommandé de ne fonder ni décision ni seuil sur leurs valeurs.

C#

Avant d'essayer cet exemple, suivez les instructions de configuration pour C# du guide de démarrage rapide de l'API Translation à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour C#.


using Google.Cloud.Translation.V2;
using System;

public partial class TranslateSample
{
    public Detection DetectLanguage()
    {
        TranslationClient client = TranslationClient.Create();
        var detection = client.DetectLanguage(text: "Hello world.");
        Console.WriteLine(
            $"{detection.Language}\tConfidence: {detection.Confidence}");
        return detection;
    }
}

Go

Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du guide de démarrage rapide de l'API Translation à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour Go.


func detectLanguage(text string) (*translate.Detection, error) {
	ctx := context.Background()
	client, err := translate.NewClient(ctx)
	if err != nil {
		return nil, err
	}
	defer client.Close()

	lang, err := client.DetectLanguage(ctx, []string{text})
	if err != nil {
		return nil, err
	}
	return &lang[0][0], nil
}

Java

Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de l'API Translation à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour Java.

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

Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js du guide de démarrage rapide de l'API Translation avec les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour Node.js.

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

// 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.
let [detections] = await translate.detect(text);
detections = Array.isArray(detections) ? detections : [detections];
console.log('Detections:');
detections.forEach(detection => {
  console.log(`${detection.input} => ${detection.language}`);
});

PHP

Avant d'essayer cet exemple, suivez les instructions de configuration pour PHP du guide de démarrage rapide de l'API Translation à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour PHP.

use Google\Cloud\Translate\TranslateClient;

/** Uncomment and populate these variables in your code */
// $text = 'The text whose language to detect.  This will be detected as en.';

$translate = new TranslateClient();
$result = $translate->detectLanguage($text);
print("Language code: $result[languageCode]\n");
print("Confidence: $result[confidence]\n");

Python

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de l'API Translation à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour Python.

"""Detects the text's language."""
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('Text: {}'.format(text))
print('Confidence: {}'.format(result['confidence']))
print('Language: {}'.format(result['language']))

Ruby

Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de l'API Translation à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Translation pour Ruby.

# project_id = "Your Google Cloud project ID"
# text       = "The text you would like to detect the language of"

require "google/cloud/translate"

translate = Google::Cloud::Translate.new project: project_id
detection = translate.detect text

puts "'#{text}' detected as language: #{detection.language}"
puts "Confidence: #{detection.confidence}"

Détecter la langue de plusieurs chaînes

Commande curl

Pour détecter la langue pour plusieurs chaînes, utilisez le paramètre q pour spécifier chaque chaîne. Cet exemple transmet deux chaînes distinctes pour la détection :

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'q': 'Hello world',
  'q': '我的名字叫傑夫'
}" "https://translation.googleapis.com/language/translate/v2/detect"

Si la requête aboutit, le serveur renvoie un code d'état HTTP 200 OK et la réponse au format JSON :

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

Ici, la réponse contient deux détections, dans le même ordre que les chaînes source correspondantes fournies dans la requête.

C#

Pour détecter la langue de plusieurs textes, il suffit de transmettre une liste de chaînes à la méthode client.DetectLanguage présentée dans l'exemple ci-dessus.

Go

Pour détecter la langue de plusieurs textes, incluez plusieurs chaînes dans le segment transmis à la méthode Client#DetectLanguage présentée dans l'exemple ci-dessus.

Java

Pour détecter la langue de plusieurs textes, il suffit de transmettre une liste de chaînes à la méthode Translate#detect présentée dans l'exemple ci-dessus.

Node.js

Pour détecter la langue de plusieurs textes, il suffit de transmettre un tableau de chaînes à la méthode Translate#detect présentée dans l'exemple ci-dessus.

Python

Pour détecter la langue de plusieurs textes, il suffit de transmettre une liste de chaînes à la méthode Client#detect_language présentée dans l'exemple ci-dessus.

Ruby

Pour détecter la langue de plusieurs textes, il suffit de transmettre plusieurs chaînes à la méthode Translate#detect présentée dans l'exemple ci-dessus.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.