用語集を作成します。
もっと見る
このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。
コードサンプル
Go
このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
import (
"context"
"fmt"
"io"
translate "cloud.google.com/go/translate/apiv3"
"cloud.google.com/go/translate/apiv3/translatepb"
)
// createGlossary creates a glossary to use for other operations.
func createGlossary(w io.Writer, projectID string, location string, glossaryID string, glossaryInputURI string) error {
// projectID := "my-project-id"
// location := "us-central1"
// glossaryID := "my-glossary-display-name"
// glossaryInputURI := "gs://cloud-samples-data/translation/glossary.csv"
ctx := context.Background()
client, err := translate.NewTranslationClient(ctx)
if err != nil {
return fmt.Errorf("NewTranslationClient: %w", err)
}
defer client.Close()
req := &translatepb.CreateGlossaryRequest{
Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
Glossary: &translatepb.Glossary{
Name: fmt.Sprintf("projects/%s/locations/%s/glossaries/%s", projectID, location, glossaryID),
Languages: &translatepb.Glossary_LanguageCodesSet_{
LanguageCodesSet: &translatepb.Glossary_LanguageCodesSet{
LanguageCodes: []string{"en", "ja"},
},
},
InputConfig: &translatepb.GlossaryInputConfig{
Source: &translatepb.GlossaryInputConfig_GcsSource{
GcsSource: &translatepb.GcsSource{
InputUri: glossaryInputURI,
},
},
},
},
}
// The CreateGlossary operation is async.
op, err := client.CreateGlossary(ctx, req)
if err != nil {
return fmt.Errorf("CreateGlossary: %w", err)
}
fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())
resp, err := op.Wait(ctx)
if err != nil {
return fmt.Errorf("Wait: %w", err)
}
fmt.Fprintf(w, "Created: %v\n", resp.GetName())
fmt.Fprintf(w, "Input URI: %v\n", resp.InputConfig.GetGcsSource().GetInputUri())
return nil
}
Java
このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Java の設定手順を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.translate.v3.CreateGlossaryMetadata;
import com.google.cloud.translate.v3.CreateGlossaryRequest;
import com.google.cloud.translate.v3.GcsSource;
import com.google.cloud.translate.v3.Glossary;
import com.google.cloud.translate.v3.GlossaryInputConfig;
import com.google.cloud.translate.v3.GlossaryName;
import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;
public class CreateGlossary {
public static void createGlossary() throws InterruptedException, ExecutionException, IOException {
// TODO(developer): Replace these variables before running the sample.
String projectId = "YOUR-PROJECT-ID";
String glossaryId = "your-glossary-display-name";
List<String> languageCodes = new ArrayList<>();
languageCodes.add("your-language-code");
String inputUri = "gs://your-gcs-bucket/path/to/input/file.txt";
createGlossary(projectId, glossaryId, languageCodes, inputUri);
}
// Create a equivalent term sets glossary
// https://cloud.google.com/translate/docs/advanced/glossary#format-glossary
public static void createGlossary(
String projectId, String glossaryId, List<String> languageCodes, String inputUri)
throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (TranslationServiceClient client = TranslationServiceClient.create()) {
// Supported Locations: `global`, [glossary location], or [model location]
// Glossaries must be hosted in `us-central1`
// Custom Models must use the same location as your model. (us-central1)
String location = "us-central1";
LocationName parent = LocationName.of(projectId, location);
GlossaryName glossaryName = GlossaryName.of(projectId, location, glossaryId);
// Supported Languages: https://cloud.google.com/translate/docs/languages
Glossary.LanguageCodesSet languageCodesSet =
Glossary.LanguageCodesSet.newBuilder().addAllLanguageCodes(languageCodes).build();
// Configure the source of the file from a GCS bucket
GcsSource gcsSource = GcsSource.newBuilder().setInputUri(inputUri).build();
GlossaryInputConfig inputConfig =
GlossaryInputConfig.newBuilder().setGcsSource(gcsSource).build();
Glossary glossary =
Glossary.newBuilder()
.setName(glossaryName.toString())
.setLanguageCodesSet(languageCodesSet)
.setInputConfig(inputConfig)
.build();
CreateGlossaryRequest request =
CreateGlossaryRequest.newBuilder()
.setParent(parent.toString())
.setGlossary(glossary)
.build();
// Start an asynchronous request
OperationFuture<Glossary, CreateGlossaryMetadata> future =
client.createGlossaryAsync(request);
System.out.println("Waiting for operation to complete...");
Glossary response = future.get();
System.out.println("Created Glossary.");
System.out.printf("Glossary name: %s\n", response.getName());
System.out.printf("Entry count: %s\n", response.getEntryCount());
System.out.printf("Input URI: %s\n", response.getInputConfig().getGcsSource().getInputUri());
}
}
}
Node.js
このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const glossaryId = 'your-glossary-display-name';
// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');
// 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: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`,
};
// Construct request
const request = {
parent: `projects/${projectId}/locations/${location}`,
glossary: glossary,
};
// Create glossary using a long-running operation
const [operation] = await translationClient.createGlossary(request);
// Wait for the operation to complete
await operation.promise();
console.log('Created glossary:');
console.log(`InputUri ${request.glossary.inputConfig.gcsSource.inputUri}`);
}
createGlossary();
PHP
このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある PHP の設定手順を完了してください。詳細については、Cloud Translation PHP API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
use Google\Cloud\Translate\V3\Client\TranslationServiceClient;
use Google\Cloud\Translate\V3\CreateGlossaryRequest;
use Google\Cloud\Translate\V3\GcsSource;
use Google\Cloud\Translate\V3\Glossary;
use Google\Cloud\Translate\V3\Glossary\LanguageCodesSet;
use Google\Cloud\Translate\V3\GlossaryInputConfig;
/**
* @param string $projectId Your Google Cloud project ID.
* @param string $glossaryId Your glossary ID.
* @param string $inputUri Path to to source input (e.g. "gs://cloud-samples-data/translation/glossary.csv").
*/
function v3_create_glossary(
string $projectId,
string $glossaryId,
string $inputUri
): void {
$translationServiceClient = new TranslationServiceClient();
$formattedParent = $translationServiceClient->locationName(
$projectId,
'us-central1'
);
$formattedName = $translationServiceClient->glossaryName(
$projectId,
'us-central1',
$glossaryId
);
$languageCodesElement = 'en';
$languageCodesElement2 = 'ja';
$languageCodes = [$languageCodesElement, $languageCodesElement2];
$languageCodesSet = new LanguageCodesSet();
$languageCodesSet->setLanguageCodes($languageCodes);
$gcsSource = (new GcsSource())
->setInputUri($inputUri);
$inputConfig = (new GlossaryInputConfig())
->setGcsSource($gcsSource);
$glossary = (new Glossary())
->setName($formattedName)
->setLanguageCodesSet($languageCodesSet)
->setInputConfig($inputConfig);
try {
$request = (new CreateGlossaryRequest())
->setParent($formattedParent)
->setGlossary($glossary);
$operationResponse = $translationServiceClient->createGlossary($request);
$operationResponse->pollUntilComplete();
if ($operationResponse->operationSucceeded()) {
$response = $operationResponse->getResult();
printf('Created Glossary.' . PHP_EOL);
printf('Glossary name: %s' . PHP_EOL, $response->getName());
printf('Entry count: %s' . PHP_EOL, $response->getEntryCount());
printf(
'Input URI: %s' . PHP_EOL,
$response->getInputConfig()
->getGcsSource()
->getInputUri()
);
} else {
$error = $operationResponse->getError();
// handleError($error)
}
} finally {
$translationServiceClient->close();
}
}
Python
このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
from google.cloud import translate_v3 as translate
def create_glossary(
project_id: str = "YOUR_PROJECT_ID",
input_uri: str = "YOUR_INPUT_URI",
glossary_id: str = "YOUR_GLOSSARY_ID",
timeout: int = 180,
) -> translate.Glossary:
"""
Create a equivalent term sets glossary. Glossary can be words or
short phrases (usually fewer than five words).
https://cloud.google.com/translate/docs/advanced/glossary#format-glossary
"""
client = translate.TranslationServiceClient()
# Supported language codes: https://cloud.google.com/translate/docs/languages
source_lang_code = "en"
target_lang_code = "ja"
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=[source_lang_code, target_lang_code]
)
gcs_source = translate.types.GcsSource(input_uri=input_uri)
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 = f"projects/{project_id}/locations/{location}"
# glossary is a custom dictionary Translation API uses
# to translate the domain-specific terminology.
operation = client.create_glossary(parent=parent, glossary=glossary)
result = operation.result(timeout)
print(f"Created: {result.name}")
print(f"Input Uri: {result.input_config.gcs_source.input_uri}")
return result
次のステップ
他の Google Cloud プロダクトに関連するコードサンプルの検索およびフィルタ検索を行うには、Google Cloud のサンプルをご覧ください。