用語集の作成と使用(v3beta1)

用語集は、お客様のドメイン固有の用語を適切に選択し訳語を統一するために Cloud Translation API が使用するカスタム辞書です。用語集には通常、複合語の対訳も含まれています。たとえば、「Google Summer of Code」、「Gmail confidential mode」、「placement performance report」などの訳語も定義されています。用語集は、AutoML モデルや Google モデルで使用できます。

用語集を作成する

用語集には、単一のトークン(単語)または短いフレーズ(通常は 5 単語未満)が登録されています。現在、プロジェクトあたりの用語集の数は 1,000 個に制限されています。

用語集を使用する場合、主な手順は次のようになります。

  1. 用語集ファイルを作成する
  2. Cloud Translation API を使用して用語集リソースを作成する
  3. 翻訳を依頼するときに、使用する用語集を指定する

1 つのプロジェクトで複数の用語集を使用することもあります。この場合、利用可能な用語集のリストを取得したり、不要になった用語集を削除したりできます。

用語集ファイルを作成する

基本的に、用語集は 1 つの用語とその訳語が 1 行に記述されているテキスト ファイルです。用語集には、ソース言語とターゲット言語のペアが 1 つだけの用語集と、1 つの用語が複数の言語で定義されている多言語の用語セットがありますが、Cloud Translation API はこの両方をサポートしています。

単一言語ペアの用語集

Cloud Translation API は .tsv、.csv または .tmx ファイルに対応しています。

タブ区切り形式(.tsv)

Cloud Translation API はタブ区切りのファイルをサポートしています。このファイルでは、1 行が次の形式になっています。

  • Term in source language タブ Term in target language

例:

account\tcuenta
directions\tindicaciones

タブで区切ったソースデータは、ソース言語とターゲット言語を識別する言語コードを含みません。オンライン用語集を作成する場合は、ソース言語とターゲット言語のコードを指定します。

カンマ区切りの値(.csv)

CSV ファイルの形式は TSV と同じですが、カンマ(,)が列区切り記号として使用される点が異なります。

Translation Memory eXchange(.tmx)

Translation Memory eXchange(TMX)は、原文と訳文を提供する標準的な XML 形式です。Cloud Translation API は、TMX バージョン 1.4 形式の入力ファイルをサポートしています。必須となる構造を次の例で示します。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
  <header segtype="sentence" o-tmf="UTF-8"
  adminlang="en" srclang="en" datatype="PlainText"/>
  <body>
    <tu>
      <tuv xml:lang="en">
        <seg>account</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>cuenta</seg>
      </tuv>
    </tu>
    <tu>
      <tuv xml:lang="en">
        <seg>directions</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>indicaciones</seg>
      </tuv>
    </tu>
  </body>
</tmx>

整形式の .tmx ファイルの <header> 要素は、srclang 属性を使用して、ソース言語を指定しなければなりません。また、すべての <tuv> 要素は、xml:lang 属性を使用して、含まれるテキストの言語を指定する必要があります。ソース言語とターゲット言語の指定には、iso-639-1 コードを使用します。

すべての <tu> 要素には、同じソース言語とターゲット言語での <tuv> 要素のペアが含まれます。1 つの <tu> 要素に 3 つ以上の <tuv> 要素が含まれる場合、Cloud Translation API はソース言語に一致する最初の <tuv> とターゲット言語に一致する最初の <tuv> のみを処理し、残りは無視します。<tu> 要素の中に対応する <tuv> 要素のペアがない場合、Cloud Translation API は無効な <tu> 要素をスキップします。

Cloud Translation API は <seg> 要素の前後のマークアップ タグを削除してから、その要素を処理します。1 つの <tuv> 要素に複数の <seg> 要素が含まれる場合、Cloud Translation API は要素間にスペースを挿入して、これらのテキストを 1 つの要素に連結します。

ファイルに上記以外の XML タグが含まれている場合、Cloud Translation API はこれらのタグを無視します。

ファイルが正しい XML 形式と TMX 形式に準拠していない場合(たとえば、終了タグや <tmx> 要素がない場合)、Cloud Translation API はファイルの処理を中止します。1,024 個を超える無効な <tu> 要素をスキップした場合も処理を中止します。

多言語の用語セット(.csv)

Cloud Translation API は、GTT(Google Translate Toolkit)形式の .csv のみに対応しています。

多言語の用語セットを定義するには、複数列の CSV ファイルを作成します。1 行に 1 つの用語を定義し、各国語の対訳を同じ行に記述します。

ファイルの先頭行は、各列の言語を表すヘッダーになります。言語の指定には ISO-639-1 または BCP-47 言語コードを使用します。また、品詞(pos)や説明(description)の列を追加することもできます。

以降の行では、ヘッダーに指定されている言語の順番で対訳が並びます。1 つの用語に対して、すべての言語で訳語があるとは限りません。その場合、該当する列を空白にします。

多言語の用語セット

用語集リソースを作成する

多言語の用語セットを準備したら、オンライン用語集を作成して Cloud Translation API で使用できるようにします。

単一言語ペアの用語集

単一言語ペアの用語集を作成する場合には、ソース言語(source_language_code)とターゲット言語(target_language_code)を指定して、言語ペア(language_pair)を定義する必要があります。

REST とコマンドライン

新しい用語集を作成する場合は、用語集 ID(リソース名)を指定します。次に例を示します。
projects/my-project/locations/us-central1/glossaries/my-en-to-ru-glossary
my-project は project-id、my-en-ru-glossary は glossary-id です。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID
  • glossary-id: 用語集 ID
  • bucket-name: 用語集ファイルが存在するバケットの名前
  • glossary-filename: 用語集のファイル名

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries

JSON 本文をリクエストします。

{
  "name":"projects/project-id/locations/us-central1/glossaries/glossary-id",
  "languagePair": {
    "sourceLanguageCode": "en",
    "targetLanguageCode": "ru"
    },
  "inputConfig": {
    "gcsSource": {
      "inputUri": "gs://bucket-name/glossary-filename"
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

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/v3beta1/projects/project-id/locations/us-central1/glossaries

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/v3beta1/projects/project-id/locations/us-central1/glossaries " | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/project-id/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata",
    "name": "projects/project-id/locations/us-central1/glossaries/glossary-id",
    "state": "RUNNING",
    "submitTime": "2019-07-19T19:05:10.650047636Z"
  }
}

Java

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。

static Glossary createGlossary(String projectId, String location, String name, String gcsUri) {
  try (TranslationServiceClient translationServiceClient = TranslationServiceClient.create()) {

    LocationName locationName =
        LocationName.newBuilder().setProject(projectId).setLocation(location).build();
    LanguageCodesSet languageCodesSet =
        LanguageCodesSet.newBuilder().addLanguageCodes("en").addLanguageCodes("es").build();
    GcsSource gcsSource = GcsSource.newBuilder().setInputUri(gcsUri).build();
    GlossaryInputConfig glossaryInputConfig =
        GlossaryInputConfig.newBuilder().setGcsSource(gcsSource).build();
    GlossaryName glossaryName =
        GlossaryName.newBuilder()
            .setProject(projectId)
            .setLocation(location)
            .setGlossary(name)
            .build();
    Glossary glossary =
        Glossary.newBuilder()
            .setLanguageCodesSet(languageCodesSet)
            .setInputConfig(glossaryInputConfig)
            .setName(glossaryName.toString())
            .build();
    CreateGlossaryRequest request =
        CreateGlossaryRequest.newBuilder()
            .setParent(locationName.toString())
            .setGlossary(glossary)
            .build();

    // Call the API
    Glossary response =
        translationServiceClient.createGlossaryAsync(request).get(300, TimeUnit.SECONDS);
    System.out.format("Created: %s\n", response.getName());
    System.out.format("Input Uri: %s\n", response.getInputConfig().getGcsSource());
    return response;

  } catch (Exception e) {
    throw new RuntimeException("Couldn't create client.", e);
  }
}

Node.js

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate').v3beta1;

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function createGlossary() {
  // Construct glossary
  const glossary = {
    languageCodesSet: {
      languageCodes: ['en', 'es'],
    },
    inputConfig: {
      gcsSource: {
        inputUri: 'gs://cloud-samples-data/translation/glossary.csv',
      },
    },
    name: translationClient.glossaryPath(projectId, location, glossaryId),
  };

  // Construct request
  const request = {
    parent: translationClient.locationPath(projectId, location),
    glossary: glossary,
  };

  // Create glossary using a long-running operation.
  // You can wait for now, or get results later.
  const [operation] = await translationClient.createGlossary(request);

  // Wait for operation to complete.
  await operation.promise();

  console.log(`Created glossary:`);
  console.log(`InputUri ${request.glossary.inputConfig.gcsSource.inputUri}`);
}

createGlossary();

Python

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。

from google.cloud import translate_v3beta1 as translate
client = translate.TranslationServiceClient()

# project_id = 'YOUR_PROJECT_ID'
# glossary_id = 'glossary-id'
location = 'us-central1'  # The location of the glossary

name = client.glossary_path(
    project_id,
    location,
    glossary_id)

language_codes_set = translate.types.Glossary.LanguageCodesSet(
    language_codes=['en', 'es'])

gcs_source = translate.types.GcsSource(
    input_uri='gs://cloud-samples-data/translation/glossary.csv')

input_config = translate.types.GlossaryInputConfig(
    gcs_source=gcs_source)

glossary = translate.types.Glossary(
    name=name,
    language_codes_set=language_codes_set,
    input_config=input_config)

parent = client.location_path(project_id, location)

operation = client.create_glossary(parent=parent, glossary=glossary)

result = operation.result(timeout=90)
print('Created: {}'.format(result.name))
print('Input Uri: {}'.format(result.input_config.gcs_source.input_uri))

多言語用語セットの用語集

多言語用語セットを準備したら、オンライン用語集を作成して Cloud Translation API で用語集を使用できるようにします。

REST とコマンドライン

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID
  • glossary-id: 用語集 ID
  • bucket-name: 用語集ファイルが存在するバケットの名前
  • glossary-filename: 用語集のファイル名

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries

JSON 本文をリクエストします。

{
  "languageCodesSet": {
    "languageCodes": ["en", "en-GB", "ru", "fr", "pt-BR", "pt-PT", "es"]
  },
  "inputConfig": {
    "gcsSource": {
"inputUri": "gs://bucket-name/glossary-file-name"
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

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/v3beta1/projects/project-id/locations/us-central1/glossaries

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/v3beta1/projects/project-id/locations/us-central1/glossaries " | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/project-id/locations/us-central1/operations/20190626-09331561566822-5d0a7697-0000-2246-91b6-089e0828bff4",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata",
    "name": "projects/project-id/locations/us-central1/glossaries/glossary-id",
    "state": "RUNNING",
    "submitTime": "2019-01-30T18:29:16.918633642Z"
  }
}

オペレーションのステータス

用語集の作成は長時間実行されるオペレーションであるため、完了までにかなりの時間がかかることがあります。このオペレーションのステータスをポーリングして、オペレーションが完了しているかどうか確認できます。また、オペレーションをキャンセルすることもできます。

詳しくは、長時間実行オペレーションをご覧ください。

用語集を使用する

用語集を使用してテキストを翻訳する

Cloud Translation v3 では、テキストの翻訳に使用する翻訳モデルを明示的に指定する必要があります。ドメイン固有の用語に使用する用語集を指定することもできます。

REST とコマンドライン

この例では、デフォルトの NMT モデルと用語集を使用してテキストを翻訳します。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID
  • glossary-id: 用語集 ID

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1:translateText

JSON 本文をリクエストします。

{
  "sourceLanguageCode": "en",
  "targetLanguageCode": "ru",
  "contents": "Dr. Watson, please discard your trash. You've shared unsolicited email with me. Let's talk about spam and importance ranking in a confidential mode.",
  "glossary_config": {
    "glossary": "projects/project-id/locations/us-central1/glossaries/glossary-id"
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

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/v3beta1/projects/project-id/locations/us-central1:translateText

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/v3beta1/projects/project-id/locations/us-central1:translateText " | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "glossaryTranslations": {
    "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со я . Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.",
    "glossaryConfig": {
      "glossary": "projects/project-id/locations/us-central1/glossaries/glossary-id"
    }
  },
  "translations": {
    "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.",
  }
}

translations フィールドには、用語集を適用する前の通常の機械翻訳が含まれています。glossaryTranslations フィールドには、用語集を適用した後の翻訳が含まれています。

Java

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。

static TranslateTextResponse translateTextWithGlossary(
    String projectId,
    String location,
    String name,
    String text,
    String sourceLanguageCode,
    String targetLanguageCode) {
  try (TranslationServiceClient translationServiceClient = TranslationServiceClient.create()) {

    LocationName locationName =
        LocationName.newBuilder().setProject(projectId).setLocation(location).build();
    GlossaryName glossaryName =
        GlossaryName.newBuilder()
            .setProject(projectId)
            .setLocation(location)
            .setGlossary(name)
            .build();
    TranslateTextGlossaryConfig translateTextGlossaryConfig =
        TranslateTextGlossaryConfig.newBuilder().setGlossary(glossaryName.toString()).build();
    TranslateTextRequest translateTextRequest =
        TranslateTextRequest.newBuilder()
            .setParent(locationName.toString())
            .setMimeType("text/plain")
            .setSourceLanguageCode(sourceLanguageCode)
            .setTargetLanguageCode(targetLanguageCode)
            .addContents(text)
            .setGlossaryConfig(translateTextGlossaryConfig)
            .build();

    // Call the API
    TranslateTextResponse response = translationServiceClient.translateText(translateTextRequest);
    System.out.format(
        "Translated text: %s", response.getTranslationsList().get(0).getTranslatedText());
    return response;

  } catch (Exception e) {
    throw new RuntimeException("Couldn't create client.", e);
  }
}

Node.js

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate').v3beta1;

// Instantiates a client
const translationClient = new TranslationServiceClient();
async function translateTextWithGlossary() {
  const glossary = translationClient.glossaryPath(
    projectId,
    location,
    glossaryId
  );
  const glossaryConfig = {
    glossary: glossary,
  };
  // Construct request
  const request = {
    parent: translationClient.locationPath(projectId, location),
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    sourceLanguageCode: 'en-US',
    targetLanguageCode: 'es',
    glossaryConfig: glossaryConfig,
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.translations) {
    console.log(`Translation: ${translation.translatedText}`);
  }
}

translateTextWithGlossary();

Python

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。

from google.cloud import translate_v3beta1 as translate
client = translate.TranslationServiceClient()

# project_id = 'YOUR_PROJECT_ID'
# glossary_id = 'GLOSSARY_ID'
# text = 'Text you wish to translate'
location = 'us-central1'  # The location of the glossary

glossary = client.glossary_path(
    project_id,
    'us-central1',  # The location of the glossary
    glossary_id)

glossary_config = translate.types.TranslateTextGlossaryConfig(
    glossary=glossary)

parent = client.location_path(project_id, location)

result = client.translate_text(
    parent=parent,
    contents=[text],
    mime_type='text/plain',  # mime types: text/plain, text/html
    source_language_code='en',
    target_language_code='es',
    glossary_config=glossary_config)

for translation in result.translations:
    print(translation)

用語集に関する情報を取得する

REST とコマンドライン

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID
  • glossary-id: 用語集 ID

HTTP メソッドと URL:

GET https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries/glossary-id

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries/glossary-id

PowerShell

次のコマンドを実行します。

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries/glossary-id " | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/project-id/locations/us-central1/glossaries/glossary-id",
  "type": "UNIDIRECTIONAL",
  "languagePair": {
    "sourceLanguageCode": "en",
    "targetLanguageCode": "ru"
  },
  "inputConfig": {
    "gcsSource": {
  "inputUri": "gs://bucket-name/glossary-file-name"
    }
  },
  "entryCount": 9603
}

Java

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。

static Glossary getGlossary(String projectId, String location, String name) {
  try (TranslationServiceClient translationServiceClient = TranslationServiceClient.create()) {

    GlossaryName glossaryName =
        GlossaryName.newBuilder()
            .setProject(projectId)
            .setLocation(location)
            .setGlossary(name)
            .build();

    // Call the API
    Glossary response = translationServiceClient.getGlossary(glossaryName.toString());
    System.out.format("Got: %s\n", response.getName());
    return response;

  } catch (Exception e) {
    throw new RuntimeException("Couldn't create client.", e);
  }
}

Node.js

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate').v3beta1;

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function getGlossary() {
  // Construct request
  const name = translationClient.glossaryPath(
    projectId,
    location,
    glossaryId
  );
  const request = {
    parent: translationClient.locationPath(projectId, location),
    name: name,
  };

  // Get glossary
  const [response] = await translationClient.getGlossary(request);

  console.log(`Got glossary: ${response.name}`);
}

getGlossary();

Python

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。

from google.cloud import translate_v3beta1 as translate
client = translate.TranslationServiceClient()

# project_id = 'YOUR_PROJECT_ID'
# glossary_id = 'GLOSSARY_ID'

parent = client.glossary_path(
    project_id,
    'us-central1',  # The location of the glossary
    glossary_id)

response = client.get_glossary(parent)
print('Name: {}'.format(response.name))
print('Language Pair:')
print('\tSource Language Code: {}'.format(
    response.language_pair.source_language_code))
print('\tTarget Language Code: {}'.format(
    response.language_pair.target_language_code))
print('Input Uri: {}'.format(
    response.input_config.gcs_source.input_uri))

用語集の一覧を表示する

1 つのプロジェクトで複数の用語集が使用されていることもあります。このセクションでは、プロジェクトで使用できる用語集を一覧表示する方法を説明します。

REST とコマンドライン

この例では、指定したプロジェクトに関連付けられているすべての用語集を一覧表示します。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID

HTTP メソッドと URL:

GET https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries

PowerShell

次のコマンドを実行します。

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries " | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

Java

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。

static ListGlossariesPagedResponse listGlossary(
    String projectId, String location, String filter) {

  try (TranslationServiceClient translationServiceClient = TranslationServiceClient.create()) {

    LocationName locationName =
        LocationName.newBuilder().setProject(projectId).setLocation(location).build();

    ListGlossariesPagedResponse response =
        translationServiceClient.listGlossaries(locationName.toString(), filter);

    // Call the API
    for (Glossary element : response.iterateAll()) {
      System.out.format("Name: %s\n", element.getName());
      System.out.format("Language Codes Set:\n");
      System.out.format(
          "Source Language Code: %s\n",
          element.getLanguageCodesSet().getLanguageCodesList().get(0));
      System.out.format(
          "Target Language Code: %s\n",
          element.getLanguageCodesSet().getLanguageCodesList().get(1));
      System.out.format("Input Uri: %s\n", element.getInputConfig().getGcsSource());
    }
    return response;
  } catch (Exception e) {
    throw new RuntimeException("Couldn't create client.", e);
  }
}

Node.js

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate').v3beta1;

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function listGlossaries() {
  // Construct request
  const request = {
    parent: translationClient.locationPath(projectId, location),
  };

  // Run request
  const [response] = await translationClient.listGlossaries(request);

  for (const glossary of response) {
    console.log(`Name: ${glossary.name}`);
    console.log(`Entry count: ${glossary.entryCount}`);
    console.log(`Input uri: ${glossary.inputConfig.gcsSource.inputUri}`);
    for (const languageCode of glossary.languageCodesSet.languageCodes) {
      console.log(`Language code: ${languageCode}`);
    }
  }
}

listGlossaries();

Python

このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。

from google.cloud import translate_v3beta1 as translate
client = translate.TranslationServiceClient()

# project_id = 'YOUR_PROJECT_ID'
location = 'us-central1'  # The location of the glossary

parent = client.location_path(project_id, location)

for glossary in client.list_glossaries(parent):
    print('Name: {}'.format(glossary.name))
    print('Entry count: {}'.format(glossary.entry_count))
    print('Input uri: {}'.format(
        glossary.input_config.gcs_source.input_uri))
    for language_code in glossary.language_codes_set.language_codes:
        print('Language code: {}'.format(language_code))

用語集を削除する

次の例では、用語集を削除します。

REST とコマンドライン

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID
  • glossary-id: 用語集 ID

HTTP メソッドと URL:

DELETE https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries/glossary-id

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X DELETE \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries/glossary-id

PowerShell

次のコマンドを実行します。

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3beta1/projects/project-id/locations/us-central1/glossaries/glossary-id " | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

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

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

ご不明な点がありましたら、Google のサポートページをご覧ください。