サポートされている言語の検索

このドキュメントでは、サポートされている言語を Cloud Translation API を使用して一覧表示する方法について説明します。

サポートされている言語リクエストの送信

次の形式の URL を使用して HTTP リクエストを送信することで、この API のサポートされている言語を検索できます。

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

サポートされている言語のリストの取得

プロトコル

サポートされているすべての言語のリストを取得するには、https://translation.googleapis.com/language/translate/v2/languages エンドポイントに GET リクエストを行います。curl を使用した GET リクエストの例を次に示します。この例では、Google Cloud Platform Cloud SDK を使ってプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用しています。Cloud SDK のインストール、サービス アカウントを使用したプロジェクトの設定、アクセス トークンの取得については、クイックスタートをご覧ください。

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    "https://translation.googleapis.com/language/translate/v2/languages"

リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンスを返します。

{
  "data": {
    "languages": [
      {
        "language": "en"
      },
      {
        "language": "fr"
      },
      ...
      {
        "language": "zh-CN"
      }
    ]
  }
}

このクエリは、サポートされている言語の iso-639-1 言語コードを返します。一部の言語コードには zh-CN や zh-TW のように国コードも含まれます。リストは言語コード別にアルファベット順になります。

C#

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

static object ListLanguageCodes()
{
    TranslationClient client = TranslationClient.Create();
    foreach (var language in client.ListLanguages())
    {
        Console.WriteLine("{0}", language.Code);
    }
    return 0;
}

Go

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

func listSupportedLanguages(w io.Writer, targetLanguage string) error {
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return err
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return err
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return err
	}

	for _, lang := range langs {
		fmt.Fprintf(w, "%q: %s\n", lang.Tag, lang.Name)
	}

	return nil
}

Java

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

public static void displaySupportedLanguages(PrintStream out, Optional<String> tgtLang) {
  Translate translate = createTranslateService();
  LanguageListOption target = LanguageListOption.targetLanguage(tgtLang.orElse("en"));
  List<Language> languages = translate.listSupportedLanguages(target);

  for (Language language : languages) {
    out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
  }
}

Node.js

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

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

// Creates a client
const translate = new Translate();

// Lists available translation language with their names in English (the default).
translate
  .getLanguages()
  .then(results => {
    const languages = results[0];

    console.log('Languages:');
    languages.forEach(language => console.log(language));
  })
  .catch(err => {
    console.error('ERROR:', err);
  });

PHP

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

use Google\Cloud\Translate\TranslateClient;

$translate = new TranslateClient();
foreach ($translate->languages() as $code) {
    print("$code\n");
}

Python

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

"""Lists all available languages."""
translate_client = translate.Client()

results = translate_client.get_languages()

for language in results:
    print(u'{name} ({language})'.format(**language))

Ruby

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

# project_id = "Your Google Cloud project ID"

require "google/cloud/translate"

translate = Google::Cloud::Translate.new project: project_id
languages = translate.languages

puts "Supported language codes:"
languages.each do |language|
  puts language.code
end

ターゲット言語でサポートされている言語の一覧表示

プロトコル

次に、サポートされている言語のリストを返す別の例を示します。返される言語名は、指定されたターゲット言語で書き込まれます。返されるリストは、そのターゲット言語のアルファベット順になります。

テキストの言語を検出するには、POST リクエストを作成して、ターゲット言語を指定する JSON をリクエスト本文で指定します。次は、curl を使用した POST リクエストの例です。

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'target': 'zh-TW'
}" "https://translation.googleapis.com/language/translate/v2/languages"

リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンスを返します。

{
  "data": {
    "languages": [
      {
        "language": "zh-CN",
        "name": "中文(簡體)"
      },
      {
        "language": "fr",
        "name": "法文"
      },
      ...
      {
        "language": "en",
        "name": "英文"
      }
    ]
  }
}

この場合、クエリは上記と同じ言語コードと、ターゲット言語(zh-TW)で書かれた言語の名前を指定する name 文字列を返します。

C#

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

static object ListLanguages(string targetLanguageCode)
{
    TranslationClient client = TranslationClient.Create();
    foreach (var language in client.ListLanguages(targetLanguageCode))
    {
        Console.WriteLine("{0}\t{1}", language.Code, language.Name);
    }
    return 0;
}

Go

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

func listSupportedLanguages(w io.Writer, targetLanguage string) error {
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return err
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return err
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return err
	}

	for _, lang := range langs {
		fmt.Fprintf(w, "%q: %s\n", lang.Tag, lang.Name)
	}

	return nil
}

Java

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

public static void displaySupportedLanguages(PrintStream out, Optional<String> tgtLang) {
  Translate translate = createTranslateService();
  LanguageListOption target = LanguageListOption.targetLanguage(tgtLang.orElse("en"));
  List<Language> languages = translate.listSupportedLanguages(target);

  for (Language language : languages) {
    out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
  }
}

Node.js

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

// 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 target = 'The target language for language names, e.g. ru';

// Lists available translation language with their names in a target language
translate
  .getLanguages(target)
  .then(results => {
    const languages = results[0];

    console.log('Languages:');
    languages.forEach(language => console.log(language));
  })
  .catch(err => {
    console.error('ERROR:', err);
  });

PHP

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

use Google\Cloud\Translate\TranslateClient;

// $targetLanguage = 'en'; // Print the names of the languages in which language?

$translate = new TranslateClient();
$result = $translate->localizedLanguages([
    'target' => $targetLanguage,
]);
foreach ($result as $lang) {
    print("$lang[code]: $lang[name]\n");
}

Python

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

"""Lists all available languages and localizes them to the target language.

Target must be an ISO 639-1 language code.
See https://g.co/cloud/translate/v2/translate-reference#supported_languages
"""
translate_client = translate.Client()

results = translate_client.get_languages(target_language=target)

for language in results:
    print(u'{name} ({language})'.format(**language))

Ruby

Translation API クライアントのインストールと作成について詳しくは、Translation API クライアント ライブラリをご覧ください。

# project_id = "Your Google Cloud project ID"

# To receive the names of the supported languages, provide the code
# for the language in which you wish to receive the names
# language_code = "en"

require "google/cloud/translate"

translate = Google::Cloud::Translate.new project: project_id
languages = translate.languages language_code

puts "Supported languages:"
languages.each do |language|
  puts "#{language.code} #{language.name}"
end

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Translation API ドキュメント