지원 언어 탐색(Basic)

이 문서에서는 Cloud Translation API(v2)를 사용하여 지원되는 언어를 나열하는 방법을 설명합니다.

시작하기 전에

Cloud Translation API를 사용하려면 Cloud Translation API가 사용 설정된 프로젝트와 적절한 사용자 인증 정보가 있어야 합니다. 공통 프로그래밍 언어용 클라이언트 라이브러리를 설치하여 API를 호출할 수도 있습니다.

자세한 내용은 설정 페이지를 참조하세요.

지원 언어 요청 보내기

다음 형식의 URL을 사용하여 HTTP 요청을 보내어 이 API의 지원 언어를 알아낼 수 있습니다.

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

지원 언어 목록 가져오기

REST 및 명령줄

지원되는 모든 언어의 목록을 가져오려면 엔드포인트 https://translation.googleapis.com/language/translate/v2/languages에 대해 GET 요청을 실행합니다. 아래에 curl 및 PowerShell을 사용한 GET 요청의 예시가 나와 있습니다. 이 예시에서는 Cloud SDK를 사용하여 프로젝트에 설정된 서비스 계정의 액세스 토큰을 사용합니다. Cloud SDK 설치, 서비스 계정으로 프로젝트 설정, 액세스 토큰 획득 방법은 설정 페이지를 참조하세요.

HTTP 메서드 및 URL:

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

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

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

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/language/translate/v2/languages " | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

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

이 쿼리는 지원 언어의 ISO-639-1 언어 코드를 반환합니다. zh-CN이나 zh-TW와 같은 일부 언어 코드에는 국가 코드도 포함됩니다. 목록은 언어 코드를 기준으로 알파벳순으로 정렬됩니다. 위의 예시는 공간 제약으로 인해 짧게 편집하였습니다.

C#


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

public partial class TranslateSample
{
    public IList<Language> ListLanguageCodes()
    {
        TranslationClient client = TranslationClient.Create();
        IList<Language> response = client.ListLanguages();
        foreach (var language in response)
        {
            Console.WriteLine(language.Code);
        }
        return response;
    }
}

Go

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

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

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("translate.NewClient: %v", err)
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return fmt.Errorf("SupportedLanguages: %v", err)
	}

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

	return nil
}

자바

// TODO(developer): Uncomment these lines.
// import com.google.cloud.translate.*;
// Translate translate = TranslateOptions.getDefaultInstance().getService();

List<Language> languages = translate.listSupportedLanguages();

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

Node.js

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

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

async function listLanguages() {
  // Lists available translation language with their names in English (the default).
  const [languages] = await translate.getLanguages();

  console.log('Languages:');
  languages.forEach(language => console.log(language));
}

listLanguages();

PHP

use Google\Cloud\Translate\TranslateClient;

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

Python

def list_languages():
    """Lists all available languages."""
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    results = translate_client.get_languages()

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

Ruby

# project_id = "Your Google Cloud project ID"

require "google/cloud/translate"

translate = Google::Cloud::Translate.translation_v2_service project_id: project_id
languages = translate.languages

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

지원 언어를 도착어로 표기한 목록 가져오기

REST 및 명령줄

다음은 지원되는 언어 목록을 반환하는 또 다른 예시입니다. 언어 이름이 반환될 때 지정된 도착어로 표기됩니다. 반환되는 목록은 도착어를 기준으로 사전순으로 정렬됩니다.

지원되는 도착어를 나열하려면 POST 요청을 실행하고 요청 본문에서 도착어를 식별하는 JSON을 제공합니다. 다음은 curl 또는 PowerShell을 사용한 POST 요청의 예시입니다.

HTTP 메서드 및 URL:

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

JSON 요청 본문:

{
    "target": "zh-TW"
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/language/translate/v2/languages

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/language/translate/v2/languages " | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

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

이 경우 쿼리는 도착어(zh-TW)로 작성된 언어의 이름을 제공하는 name 문자열과 함께 위와 동일한 언어 코드를 반환합니다. 위의 예시는 공간 제약으로 인해 짧게 편집하였습니다.

C#


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

public partial class TranslateSample
{
    public IList<Language> ListLanguageNames()
    {
        TranslationClient client = TranslationClient.Create();
        // List all the languages in English.
        IList<Language> languages = client.ListLanguages(target: "en");
        foreach (var language in languages)
        {
            Console.WriteLine($"{language.Code}\t{language.Name}");
        }
        return languages;
    }
}

Go

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

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

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("translate.NewClient: %v", err)
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return fmt.Errorf("SupportedLanguages: %v", err)
	}

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

	return nil
}

자바

// TODO(developer): Uncomment these lines.
// import com.google.cloud.translate.*;
// Translate translate = TranslateOptions.getDefaultInstance().getService();

List<Language> languages =
    translate.listSupportedLanguages(Translate.LanguageListOption.targetLanguage("es"));

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

Node.js

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

async function listLanguagesWithTarget() {
  // Lists available translation language with their names in a target language
  const [languages] = await translate.getLanguages(target);

  console.log('Languages:');
  languages.forEach(language => console.log(language));
}

listLanguagesWithTarget();

PHP

use Google\Cloud\Translate\TranslateClient;

/** Uncomment and populate these variables in your code */
// $targetLanguage = 'en'; // Language to print the language names in

$translate = new TranslateClient();
$result = $translate->localizedLanguages([
    'target' => $targetLanguage,
]);
foreach ($result as $lang) {
    printf('%s: %s' . PHP_EOL, $lang['code'], $lang['name']);
}

Python

def list_languages_with_target(target):
    """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
    """
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    results = translate_client.get_languages(target_language=target)

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

Ruby

# 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.translation_v2_service project_id: project_id
languages = translate.languages language_code

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