DynamicTranslation - スコープ付き
DynamicTranslation API は、翻訳サービスプロバイダーを使用してテキストを複数の言語にリアルタイムで翻訳するメソッドを提供します。
また、この API を使用して、特定の文字列の言語を検出し、翻訳サービスに対して DynamicTranslation メソッドが有効になっているかどうかをチェックできます。この API を使用して、ユーザーインターフェイスのシームレスなローカライズエクスペリエンスを作成し、1 つのインターフェイスで複数の国にサービスを提供できるようにします。
現在、この API は、Microsoft Azure Translator サービス、IBM Watson Translator サービス、および Google Cloud Translator サービスの 3 つの翻訳サービスプロバイダーをサポートしています。インスタンス内で他の翻訳サービスを設定し、DynamicTranslation API を使用してテキストを翻訳することもできます。
サーバー側スクリプトでこれらのメソッドを使用する場合は、sn_dt_api 名前空間識別子を使用します。この API を使用するには、Dynamic Translation (com.glide.dynamic_translation) プラグインをアクティブ化する必要があります。このプラグインの詳細と Dynamic Translation の追加情報については、「 Dynamic Translation の概要」を参照してください。
DynamicTranslation - getDetectedLanguage(文字列 text, オブジェクト parms)
渡されたテキストの言語を検出します。
翻訳者を渡すと、 メソッドはその翻訳サービスを使用してソース言語を検出します。それ以外の場合は、デフォルトの翻訳サービスによって検出が実行されます。指定するテキスト文字列に、適切な言語検出を可能にするのに十分な言い回しが含まれていることを確認してください。
応答には、検出された言語に加えて、検出の信頼性レベルと他の考えられる代替言語が含まれています。翻訳者が渡されない場合、このメソッドは言語の検出に使用されるデフォルトの翻訳サービスも返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| text | 文字列 | 言語の検出に使用するテキストです。 |
| parms | オブジェクト | オプション。追加の translation パラメーターを含む JSON オブジェクトです。 |
| parms.translator | 文字列 | オプション。テキストの翻訳に使用される翻訳サービス (大文字と小文字は区別されません)。 有効な値:
注:
カスタム翻訳サービスを使用するには、最初にインスタンスで翻訳サービスを設定する必要があります。詳細については、「 翻訳サービス プロバイダーとの統合」を参照してください。 デフォルト:翻訳者構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| alternatives | 一致する可能性がある他の言語を記述するオブジェクトのアレイです。 データタイプ:アレイ |
| alternatives.code | 代替言語の言語コード。 データタイプ:文字列 |
| alternatives.confidence | 代替言語の信頼性レベルを示す浮動小数点値。値は 0 と 1 の間です。値が小さいほど、信頼性レベルが低くなります。 データタイプ:文字列 |
| alternatives.name | 代替言語の言語コード。 データタイプ:文字列 |
| detectedLanguage | 検出された言語の説明です。 データタイプ:オブジェクト |
| detectedLanguage.code | 検出された言語の言語コード。 データタイプ:文字列 |
| detectedLanguage.confidence | 代替言語の信頼性レベルを示す浮動小数点値。値は 0 と 1 の間です。値が小さいほど、信頼性レベルが低くなります。 データタイプ:文字列 |
| detectedLanguage.name | 検出された言語の言語コード。 データタイプ:文字列 |
| translator | 言語を検出するために使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | メソッドが返す可能性があるエラーメッセージとエラーの根本原因の表示を以下に示します。
|
この例は、IBM の翻訳サービスを使用して英語の文字列を検出する サーバー側スクリプトのコードを示しています。
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguage('Please detect the language of this text', {"translator":'IBM'});
gs.info(JSON.stringify(detectedResponse));
出力:
{
detectedLanguage:
{ "code": "en", "confidence": "1", "name": "en" }
alternatives:
[
{ "code": "vi", "confidence": "0.86", "name": "vi" },
{ "code": "id", "confidence": "0.86", "name": "id" }
]
}
この例は、無効な翻訳サービスが渡されたときにエラーをスローするサーバースクリプトを示しています。
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguage('Please detect the language of this text', {"translator":123});
gs.info(JSON.stringify(detectedResponse));
出力:
{"code":"40003","message":"Translator (\"translator\" field) is invalid"}
DynamicTranslation - getDetectedLanguages(アレイ texts, オブジェクト parms)
渡されたテキスト文字列の言語を検出します。
翻訳者を渡すと、 メソッドはその翻訳サービスを使用してソース言語を検出します。それ以外の場合は、デフォルトの翻訳サービスによって検出が実行されます。指定するテキスト文字列に、適切な言語検出を可能にするのに十分な言い回しが含まれていることを確認してください。
応答には、検出された言語に加えて、検出の信頼性レベルと他の考えられる代替言語が含まれています。翻訳者が渡されない場合、このメソッドは言語の検出に使用されるデフォルトの翻訳サービスも返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テキスト | アレイ | 言語を検出するために使用するテキスト文字列のリスト。 |
| parms | オブジェクト | オプション。追加の translation パラメーターを含む JSON オブジェクトです。 |
| parms.translator | 文字列 | 文字列の言語を検出するために使用する翻訳サービス。翻訳サービスは、[翻訳者構成] メニューで構成され、翻訳者構成 [sn_dt_translator_configuration] テーブルに置かれます。 可能な値 - 大文字と小文字を区別しない:
注:
カスタム翻訳サービスを使用するには、最初にインスタンスで翻訳サービスを設定する必要があります。詳細については、「 翻訳サービス プロバイダーとの統合」を参照してください。 デフォルト:翻訳者構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| 検出 | テキスト文字列の言語検出。 データタイプ:オブジェクト |
| detections.alternatives | 一致する可能性がある他の言語を説明するオブジェクトのアレイです。 データタイプ:アレイ |
| detections.alternatives.code | 代替言語の言語コード。 データタイプ:文字列 |
| detections.alternatives.confidence | 代替言語の信頼性レベルを示す浮動小数点値。値は 0 と 1 の間です。値が小さいほど、信頼性レベルが低くなります。 データタイプ:文字列 |
| detections.alternatives.name | 代替言語の言語コード。 データタイプ:文字列 |
| detections.detectedLanguage | 検出された言語の説明です。 データタイプ:オブジェクト |
| detections.detectedLanguage.code | 検出された言語の言語コード。 データタイプ:文字列 |
| detections.detectedLanguage.confidence | 代替言語の信頼性レベルを示す浮動小数点値。値は 0 と 1 の間です。値が小さいほど、信頼性レベルが低くなります。 データタイプ:文字列 |
| detections.detectedLanguage.name | 検出された言語の言語コード。 データタイプ:文字列 |
| detections.isError | テキストの言語の検出がエラーとなったかどうかを示すフラグ。 有効な値:
データタイプ:ブール |
| status | メソッド呼び出しへの応答のステータス。 可能な値:
データタイプ:文字列 |
| translator | 言語を検出するために使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | メソッドが返す可能性があるエラーメッセージとエラーの根本原因の表示を以下に示します。
|
この例は、Microsoft の翻訳サービスを使用して、渡された文字列の言語として英語を検出するサーバースクリプトのコードを示しています。
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", "Second text string language to detect"], {"translator": "Microsoft"});
gs.info(JSON.stringify(detectedResponse));
出力
{
"translator":"Microsoft",
"status":"Success",
"detections":[
{
"isError":false,
"detectedLanguage":{"name":"en", "code":"en", "confidence":"1"},
"alternatives":[
{"name":"id", "code":"id", "confidence":"0.83"},
{"name":"ms", "code":"ms", "confidence":"0.83"}
]
},
{
"isError":false,
"detectedLanguage":{"name":"en", "code":"en", "confidence":"1"},
"alternatives":[
{"name":"fr", "code":"fr", "confidence":"0.83"},
{"name":"id", "code":"id", "confidence":"0.83"}
]
}
]
}
この例は、2 つのテキスト文字列が渡されて、そのうちの 1 つが無効である場合に Partial というステータスを返すサーバースクリプトのコードを示しています。
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", ""], {"translator": "Microsoft"});
gs.info(JSON.stringify(detectedResponse));
出力
{
"translator":"Microsoft",
"status":"Partial",
"detections":[
{
"isError":false,
"detectedLanguage":{"name":"en", "code":"en", "confidence":"1"},
"alternatives":[
{"name":"id", "code":"id", "confidence":"0.83"},
{"name":"ms", "code":"ms", "confidence":"0.83"}
]
},
{
"isError":true,
"code":"40000",
"message":"Text is missing or invalid"
}
]
}
この例は、無効な翻訳サービスが渡されたときにエラーをスローするサーバースクリプトのコードを示しています。
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", "Second text string language to detect"], {"translator": "123"});
gs.info(JSON.stringify(detectedResponse));
出力
{"code":"40003","message":"Translator (\"translator\" field) is invalid","status":"Error"}
DynamicTranslation - getTranslation(文字列 textToTranslate, オブジェクト parms)
渡されたテキストを 1 つ以上の言語に翻訳します。
このメソッドは、Microsoft Azure Translator サービス、IBM Watson Translator サービス、Google Cloud Translator サービスなどの翻訳サービスを使用して、翻訳を実行します。翻訳パラメーターを渡さない場合、メソッドはシステムのデフォルトを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| textToTranslate | 文字列 | 翻訳するテキスト。 |
| parms | オブジェクト | オプション。追加の translation パラメーターを含む JSON オブジェクトです。 |
| parms.additionalParameters | アレイ | オプション。JSON オブジェクトのアレイ。各オブジェクトには、翻訳を実行するための追加情報を提供するキーと値のペアが含まれています。 |
| parms.additionalParameters.parameterName | 文字列 | オプション。キー名。 有効な値: textype:翻訳するテキストのタイプ。Microsoft Azure Translator サービスの場合のみ。 |
| parms.additionalParameters.parameterValue | 文字列 | オプション。関連付けられたキーの値。 有効な値:
デフォルト:plain |
| parms.sourceLanguage | 文字列 | オプション。ソーステキストの言語コード。 デフォルト:翻訳サービスがソース言語を検出します。 |
| parms.targetLanguages | アレイ | オプション。テキストの翻訳に使用する言語コードのリスト。このメソッドは、言語コードごとに翻訳されたテキストを返します。 デフォルト:ユーザーの優先言語。 |
| parms.translator | 文字列 | オプション。テキストの翻訳に使用される翻訳サービス (大文字と小文字は区別されません)。 有効な値:
注:
カスタム翻訳サービスを使用するには、最初にインスタンスで翻訳サービスを設定する必要があります。詳細については、「 翻訳サービス プロバイダーとの統合」を参照してください。 デフォルト:翻訳者構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| detectedLanguage | 検出された言語の説明です。 データタイプ:オブジェクト |
| detectedLanguage.code | 検出された言語の言語コード。 データタイプ:文字列 |
| detectedLanguage.name | 検出された言語の言語コード。 データタイプ:文字列 |
| 翻訳 | 言語翻訳を説明するオブジェクトのアレイ。 データタイプ:アレイ |
| translations.targetLanguage | ソーステキストが翻訳された言語コード。 データタイプ:文字列 |
| translations.translatedText | 翻訳されたテキスト。 データタイプ:文字列 |
| translator | 言語を検出するために使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | メソッドが返す可能性があるエラーメッセージとその根本原因の表示を以下に示します。
|
この例は、 Microsoft の翻訳サービスを使用して、プレーンテキストを、(検出された) 英語からフランス語とイタリア語に翻訳するサーバースクリプトを示しています。
try {
gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslation("Translate this text using platform from server", {
"targetLanguages": ["fr", "it"],
"additionalParameters": [{
"parameterName": "texttype",
"parameterValue": "plain"
}],
"translator": "Microsoft"
})));
} catch (error) {
gs.info(error.message);
}
応答:
{"translations":[
{
"targetLanguage":"it",
"translatedText":"Tradurre questo testo utilizzando la piattaforma dal server"
},
{
"targetLanguage":"fr",
"translatedText":"Traduire ce texte en utilisant la plate-forme à partir du serveur"
}
],
"translator":"Microsoft",
"detectedLanguage":{"code":"en","name":"en"}
}
この例は、無効なターゲット言語が渡されたときにエラーをスローするサーバースクリプトを示しています。
try {
gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslation("Translate this text using platform from server", {
"targetLanguages": ["123"],
"additionalParameters": [{
"parameterName": "texttype",
"parameterValue": "plain"
}],
"translator": "Microsoft"
})));
} catch (error) {
gs.info(error.message);
}
応答:
{"code":"40054","message":"Target language is invalid"}
DynamicTranslation - getTranslations(アレイ texts, オブジェクト parms)
渡されたテキスト文字列を 1 つ以上の言語に翻訳します。
このメソッドは、Microsoft Azure Translator サービス、IBM Watson Translator サービス、Google Cloud Translator サービスなどの翻訳サービスを使用して、翻訳を実行します。翻訳パラメーターを渡さない場合、メソッドはシステムのデフォルトを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テキスト | アレイ | 翻訳するテキスト文字列のリストです。 |
| parms | オブジェクト | オプション。追加の translation パラメーターを含む JSON オブジェクトです。 |
| parms.additionalParameters | オブジェクト | オプション。JSON オブジェクトのアレイ。各オブジェクトには、翻訳を実行するための追加情報を提供するキーと値のペアが含まれています。 |
| parms.additionalParameters.parameterName | 文字列 | オプション。キー名。 有効な値: textype:翻訳するテキストのタイプ。Microsoft Azure Translator サービスの場合のみ。 |
| parms.additionalParameters.parameterValue | 文字列 | オプション。関連付けられたキーの値。 有効な値:
デフォルト:plain |
| parms.sourceLanguage | 文字列 | オプション。ソーステキストの言語コード。 デフォルト:翻訳サービスがソース言語を検出します。 |
| parms.targetLanguages | アレイ | オプション。テキストの翻訳に使用する言語コードのリスト。このメソッドは、言語コードごとに翻訳されたテキストを返します。 デフォルト:ユーザーの優先言語。 |
| parms.translator | 文字列 | オプション。テキストの翻訳に使用される翻訳サービス (大文字と小文字は区別されません)。 有効な値:
注:
カスタム翻訳サービスを使用するには、最初にインスタンスで翻訳サービスを設定する必要があります。詳細については、「 翻訳サービス プロバイダーとの統合」を参照してください。 デフォルト:翻訳者構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| status | メソッド呼び出しへの応答のステータス。 可能な値:
データタイプ:文字列 |
| 翻訳 | 言語翻訳を説明するオブジェクトのアレイ。 データタイプ:アレイ |
| translations.isError | テキストの翻訳がエラーとなったかどうかを示すフラグです。 有効な値:
データタイプ:ブーリアン |
| translations.detectedLanguage | 検出された言語の説明です。 データタイプ:オブジェクト |
| translations.detectedLanguage.code | 検出された言語の言語コード。 データタイプ:文字列 |
| translations.detectedLanguage.name | 検出された言語の言語コード。 データタイプ:文字列 |
| textTranlations | オブジェクトのアレイ。テキスト文字列の翻訳に使用される言語の説明。 |
| textTranslations.targetLanguage | ソーステキストが翻訳された言語コード。 データタイプ:文字列 |
| textTranslations.translatedText | 翻訳されたテキスト。 データタイプ:文字列 |
| translator | テキストの翻訳に使用される翻訳サービスです。 データタイプ:文字列 |
| エラーメッセージ | メソッドが返す可能性があるエラーメッセージとその根本原因の表示を以下に示します。
|
この例は、Microsoft の翻訳サービスを使用してテキスト文字列のリストをフランス語とイタリア語に翻訳するサーバー側スクリプトのコードを示しています。
try {
gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslations(["Translate first text using platform from server", "Translate second text using platform from server"], {
"targetLanguages": ["fr", "it"],
"additionalParameters": [{"parameterName": "texttype", "parameterValue": "plain"}],
"translator": "Microsoft"
})));
} catch (error) {
gs.error(error.message);
}
応答:
{
"translations":[
{
"isError":false,
"textTranslations":[
{
"targetLanguage":"it",
"translatedText":"Traduci il primo testo utilizzando la piattaforma dal server"
},
{
"targetLanguage":"fr",
"translatedText":"Traduire le premier texte à l'aide de la plate-forme à partir du serveur"
}
],
"detectedLanguage": {"name":"en", "code":"en"}
},
{
"isError":false,
"textTranslations":[
{
"targetLanguage":"it",
"translatedText":"Traduci il secondo testo utilizzando la piattaforma dal server"
},
{
"targetLanguage":"fr",
"translatedText":"Traduire le deuxième texte à l'aide de la plate-forme à partir du serveur"
}
],
"detectedLanguage": {"name":"en", "code":"en"}
}
],
"translator":"Microsoft",
"status":"Success"
}
この例は、渡された 2 つのテキスト文字列のうちの 1 つが無効である場合に Partial というステータスを返すサーバースクリプトを示しています。
try {
gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslations(["Translate first text using platform from server", ""], {
"targetLanguages": ["fr", "it"],
"additionalParameters": [{"parameterName": "texttype", "parameterValue": "plain"}],
"translator": "Microsoft"
})));
} catch (error) {
gs.error(error.message);
}
応答:
{
"translations":[
{
"isError":false,
"textTranslations":[
{
"targetLanguage":"it",
"translatedText":"Traduci il primo testo utilizzando la piattaforma dal server"
},
{
"targetLanguage":"fr",
"translatedText":"Traduire le premier texte à l'aide de la plate-forme à partir du serveur"
}
],
"detectedLanguage":{"name":"en", "code":"en"}
},
{
"isError":true,
"code":"40000",
"message":"Text is missing or invalid"
}
],
"translator":"Microsoft",
"status":"Partial"
}
この例は、無効な翻訳サービスが渡されたときにエラーをスローするサーバースクリプトを示しています。
try {
gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslations(["Translate first text using platform from server", "Translate second text using platform from server"], {
"targetLanguages": ["fr", "it"],
"additionalParameters": [{"parameterName": "texttype", "parameterValue": "plain"}],
"translator": 123
})));
} catch (error) {
gs.error(error.message);
}
応答:
{"code":"40003","message":"Translator (\"translator\" field) is invalid","status":"Error"}
DynamicTranslation - isEnabled(文字列 translator)
DynamicTranslation API のさまざまなメソッドを翻訳サービスに対して有効にするかどうかを決定します。
特定の翻訳サービスを渡すと、メソッドはその翻訳サービスのメソッドのアクティブ化をチェックします。それ以外の場合、メソッドはデフォルトの翻訳サービスをチェックします。
| 名前 | タイプ | 説明 |
|---|---|---|
| translator | 文字列 | オプション。メソッドがアクティブかどうかを確認するために使用する翻訳サービス。翻訳サービスは、[翻訳者構成] メニューで構成します。 可能な値 - 大文字と小文字を区別しない:
注:
カスタム翻訳サービスを使用するには、最初にインスタンスで翻訳サービスを設定する必要があります。詳細については、「 翻訳サービス プロバイダーとの統合」を参照してください。 デフォルト:デフォルトの翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| batchDetection | getDetectedLanguages() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブール |
| batchTranslation | getTranslations() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブール |
| detection | getDetectedLanguage() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブール |
| translation | getTranslation() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブール |
| エラーメッセージ | API が返す可能性があるエラーメッセージとその根本原因の表示を以下に示します。
|
この例は、Microsoft Translator に対して DynamicTranslation メソッドがアクティブであるかどうかをチェックするサーバースクリプトを示しています。
try {
var response = sn_dt_api.DynamicTranslation.isEnabled('Microsoft');
gs.info(JSON.stringify(response));
} catch(error) {
gs.info(error.message);
}
出力:
{"detection":true,"batchTranslation":true,"batchDetection":true,"translation":true}
この例は、無効な翻訳サービスが渡されたときにエラーをスローするサーバースクリプトを示しています。
try {
var response = sn_dt_api.DynamicTranslation.isEnabled(123);
gs.info(JSON.stringify(response));
} catch(error) {
gs.info(error.message);
}
出力:
{"code":"40003","message":"Translator (\"translator\" field) is invalid"}