動的翻訳 - スコープ指定
動 的翻訳 API は、翻訳サービスプロバイダーを使用して、テキストをリアルタイムで複数の言語に翻訳するメソッドを提供します。
さらに、この API を使用して特定の文字列の言語を検出し、翻訳サービスに対して 動的翻訳 メソッドが有効になっているかどうかを確認できます。この API を使用して、ユーザーインターフェイスのシームレスなローカリゼーションエクスペリエンスを作成し、1 つのインターフェイスで複数の国にサービスを提供できるようにします。
現在、この API は、Microsoft Azure Translator サービスと Google Cloud Translator サービスの 2 つの翻訳サービスプロバイダーをサポートしています。インスタンス内で他の翻訳サービスを構成し、 動的翻訳 API を使用してテキストを翻訳することもできます。
サーバー側スクリプトでこれらのメソッドを使用する場合は、 sn_dt_api 名前空間識別子を使用します。この API を使用する前に、動的翻訳 (com.glide.dynamic_translation) プラグインを有効にする必要があります。このプラグインの詳細と 動的翻訳の詳細については、「 動的翻訳の概要」を参照してください。
DynamicTranslation - getDetectedLanguage(String text, Object parms)
渡されたテキストの言語を検出します。
翻訳ツールを渡すと、メソッドはその翻訳サービスを使用してソース言語を検出します。それ以外の場合、検出はデフォルトの翻訳サービスによって実行されます。入力するテキスト文字列に、適切な言語検出を有効にするのに十分な表現が含まれていることを確認してください。
検出された言語に加えて、応答には検出の信頼性レベルと、他の可能な代替言語が含まれています。翻訳ツールが渡されない場合、このメソッドは言語の検出に使用されたデフォルトの翻訳サービスも返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テキスト | 文字列 | 言語の検出に使用するテキスト。 |
| パラメーター | オブジェクト | オプション。追加の翻訳パラメーターを含む JSON オブジェクト。 |
| parms.translator | 文字列 | オプション。テキストの翻訳に使用する翻訳サービス (大文字と小文字は区別されません)。 有効な値:
注:
カスタム翻訳サービスを使用するには、まずインスタンスで翻訳サービスを構成する必要があります。詳細については、「 翻訳サービスプロバイダーとの統合」を参照してください。 デフォルト:翻訳ツール構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| 代替 | 一致する可能性がある他の言語を記述するオブジェクトのアレイ。 データタイプ:アレイ |
| alternatives.code | 代替言語の言語コード。 データタイプ:文字列 |
| alternatives.confidence | 代替言語の信頼性レベルを示す浮動小数点数値。値は 0 から 1 の間です。値が小さいほど、信頼性レベルは低くなります。 データタイプ:文字列 |
| alternatives.name | 代替言語の言語コード。 データタイプ:文字列 |
| 検出言語 | 検出言語の説明。 データタイプ: オブジェクト |
| detectedLanguage.code | 検出言語の言語コード。 データタイプ:文字列 |
| detectedLanguage.confidence | 代替言語の信頼性レベルを示す浮動小数点数値。値は 0 から 1 の間です。値が小さいほど、信頼性レベルは低くなります。 データタイプ:文字列 |
| detectedLanguage.name | 検出言語の言語コード。 データタイプ:文字列 |
| 機械翻訳エンジン | 言語の検出に使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | 以下は、メソッドが返す可能性のあるエラーメッセージと、エラーの根本原因を示すものです。
|
この例は、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(アレイテキスト、オブジェクトパラメーター)
渡されたテキスト文字列の言語を検出します。
翻訳ツールを渡すと、メソッドはその翻訳サービスを使用してソース言語を検出します。それ以外の場合、検出はデフォルトの翻訳サービスによって実行されます。入力するテキスト文字列に、適切な言語検出を有効にするのに十分な表現が含まれていることを確認してください。
検出された言語に加えて、応答には検出の信頼性レベルと、他の可能な代替言語が含まれています。翻訳ツールが渡されない場合、このメソッドは言語の検出に使用されたデフォルトの翻訳サービスも返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テキスト | アレイ | 言語の検出に使用するテキスト文字列のリスト。 |
| パラメーター | オブジェクト | オプション。追加の翻訳パラメーターを含む 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 | メソッド呼び出しに対する応答のステータス。 可能な値:
データタイプ:文字列 |
| 機械翻訳エンジン | 言語の検出に使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | 以下は、メソッドが返す可能性のあるエラーメッセージと、エラーの根本原因を示すものです。
|
この例は、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, オブジェクトパラメーター)
渡されたテキストを 1 つ以上の言語に翻訳します。
このメソッドでは、Microsoft Azure Translator サービスや Google Cloud Translator サービスなどの翻訳サービスを使用して翻訳を実行します。変換パラメーターを渡さない場合、メソッドはシステムのデフォルトを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| textToTranslate | 文字列 | 翻訳するテキスト。 |
| パラメーター | オブジェクト | オプション。追加の翻訳パラメーターを含む JSON オブジェクト。 |
| parms.additionalParameters | アレイ | オプション。JSON オブジェクトのアレイ。各オブジェクトには、翻訳を実行するための追加情報を提供するキーと値のペアが含まれています。 |
| parms.additionalParameters.parameterName | 文字列 | オプション。キー名。 有効な値: textype:翻訳するテキストのタイプ。Microsoft Azure Translator サービスの場合のみ。 |
| parms.additionalParameters.parameterValue | 文字列 | オプション。関連付けられたキーの値。 有効な値:
デフォルト:プレーン |
| parms.sourceLanguage | 文字列 | オプション。ソーステキストの言語コード。 デフォルト:翻訳サービスはソース言語を検出します。 |
| parms.targetLanguages | アレイ | オプション。テキストの翻訳に使用する言語コードのリスト。このメソッドは、言語コードごとに翻訳されたテキストを返します。 デフォルト:ユーザーの優先言語。 |
| parms.translator | 文字列 | オプション。テキストの翻訳に使用する翻訳サービス (大文字と小文字は区別されません)。 有効な値:
注:
カスタム翻訳サービスを使用するには、まずインスタンスで翻訳サービスを構成する必要があります。詳細については、「 翻訳サービスプロバイダーとの統合」を参照してください。 デフォルト:翻訳ツール構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| 検出言語 | 検出言語の説明。 データタイプ: オブジェクト |
| detectedLanguage.code | 検出言語の言語コード。 データタイプ:文字列 |
| detectedLanguage.name | 検出言語の言語コード。 データタイプ:文字列 |
| 翻訳 | 言語翻訳を説明するリスト。 データタイプ:オブジェクトのアレイ |
| translations.targetLanguage | ソーステキストが翻訳された言語コード。 データタイプ:文字列 |
| translations.translatedText | 翻訳されたテキスト。 データタイプ:文字列 |
| 機械翻訳エンジン | 言語の検出に使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | 以下は、メソッドが返す可能性のあるエラーメッセージとその根本原因を示します。
|
この例は、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(アレイテキスト、オブジェクトパラメーター)
渡されたテキスト文字列を 1 つ以上の言語に翻訳します。
このメソッドでは、Microsoft Azure Translator サービスや Google Cloud Translator サービスなどの翻訳サービスを使用して翻訳を実行します。変換パラメーターを渡さない場合、メソッドはシステムのデフォルトを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テキスト | アレイ | 翻訳するテキストの刺し傷のリスト。 |
| パラメーター | オブジェクト | オプション。追加の翻訳パラメーターを含む JSON オブジェクト。 |
| parms.additionalParameters | オブジェクト | オプション。JSON オブジェクトのアレイ。各オブジェクトには、翻訳を実行するための追加情報を提供するキーと値のペアが含まれています。 |
| parms.additionalParameters.parameterName | 文字列 | オプション。キー名。 有効な値: textype:翻訳するテキストのタイプ。Microsoft Azure Translator サービスの場合のみ。 |
| parms.additionalParameters.parameterValue | 文字列 | オプション。関連付けられたキーの値。 有効な値:
デフォルト:プレーン |
| parms.sourceLanguage | 文字列 | オプション。ソーステキストの言語コード。 デフォルト:翻訳サービスはソース言語を検出します。 |
| parms.targetLanguages | アレイ | オプション。テキストの翻訳に使用する言語コードのリスト。このメソッドは、言語コードごとに翻訳されたテキストを返します。 デフォルト:ユーザーの優先言語。 |
| parms.translator | 文字列 | オプション。テキストの翻訳に使用する翻訳サービス (大文字と小文字は区別されません)。 有効な値:
注:
カスタム翻訳サービスを使用するには、まずインスタンスで翻訳サービスを構成する必要があります。詳細については、「 翻訳サービスプロバイダーとの統合」を参照してください。 デフォルト:翻訳ツール構成 [sn_dt_translator_configuration] テーブルで構成された翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| status | メソッド呼び出しに対する応答のステータス。 可能な値:
データタイプ:文字列 |
| 翻訳 | 言語翻訳を説明するリスト。 データタイプ:アレイ |
| translations.isError | テキストの翻訳でエラーが発生したかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
| translations.detectedLanguage | 検出言語の説明。 データタイプ: オブジェクト |
| translations.detectedLanguage.code | 検出言語の言語コード。 データタイプ:文字列 |
| translations.detectedLanguage.name | 検出言語の言語コード。 データタイプ:文字列 |
| テキスト翻訳 | テキスト文字列の翻訳に使用される言語の説明。 データタイプ:オブジェクトのアレイ |
| textTranslations.targetLanguage | ソーステキストが翻訳された言語コード。 データタイプ:文字列 |
| textTranslations.translatedText | 翻訳されたテキスト。 データタイプ:文字列 |
| 機械翻訳エンジン | テキストの翻訳に使用される翻訳サービス。 データタイプ:文字列 |
| エラーメッセージ | 以下は、メソッドが返す可能性のあるエラーメッセージとその根本原因を示します。
|
この例では、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 つが無効な場合に部分的ステータスを返すサーバースクリプトを示しています。
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(文字列翻訳ツール)
動的翻訳 API のさまざまなメソッドが翻訳サービスに対して有効かどうかを決定します。
特定の翻訳サービスを渡すと、メソッドはその翻訳サービスのメソッドのアクティブ化をチェックします。それ以外の場合、メソッドはデフォルトの翻訳サービスをチェックします。
| 名前 | タイプ | 説明 |
|---|---|---|
| 機械翻訳エンジン | 文字列 | オプション。メソッドがアクティブかどうかを確認するために使用する翻訳サービス。翻訳サービスは [翻訳ツール構成] メニューで構成されます。 可能な値 - 大文字と小文字は区別されません:
注: カスタム翻訳サービスを使用するには、まずインスタンスで翻訳サービスを構成する必要があります。詳細については、「 翻訳サービスプロバイダーとの統合」を参照してください。 デフォルト:デフォルトの翻訳サービス。 |
| タイプ | 説明 |
|---|---|
| バッチ検出 | getDetectedLanguages() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| バッチ翻訳 | getTranslations() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| 検出 | getDetectedLanguage() メソッドが有効かどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| 翻訳 | 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"}