Tradução dinâmica - com escopo
A API DynamicTranslation fornece métodos que traduzem texto, em tempo real, para vários idiomas usando provedores de serviço de tradução.
Além disso, você pode usar esta API para detectar o idioma de uma cadeia de caracteres específica e verificar se os métodos DynamicTranslation estão habilitados para um serviço de tradução. Use esta API para criar uma experiência de localização perfeita para a interface do usuário, permitindo que uma interface atenda a vários países.
Atualmente, esta API oferece suporte a dois provedores de serviços de tradução: o Serviço Microsoft Azure Translator e o Serviço Google Cloud Translator. Você também pode configurar outros serviços de tradução em sua instância e usar a API DynamicTranslation para traduzir seu texto.
Ao usar esses métodos em um script do lado do servidor, use o identificador de namespace sn_dt_api. Antes de poder usar esta API, você deve ativar o plug-in DynamicTranslation (com.glide.dynamic_translation). Para obter informações sobre este plug-in e informações adicionais sobre Tradução dinâmica, consulte Visão geral da tradução dinâmica.
DynamicTranslation - getDetectedLanguage(cadeia de caracteres texto, parâmetros de objeto)
Detecta o idioma do texto passado.
Se você aprovar um tradutor, o método usará esse serviço de tradução para detectar o idioma de origem. Caso contrário, a detecção será realizada pelo serviço de tradução padrão. Certifique-se de que as cadeias de caracteres de texto fornecidas contenham texto suficiente para habilitar a detecção de idioma apropriada.
Além do idioma detectado, a resposta contém um nível de confiança da detecção, junto com outras alternativas de idioma possíveis. Se um tradutor não for passado, o método também retornará o serviço de tradução padrão usado para detectar o idioma.
| Nome | Tipo | Descrição |
|---|---|---|
| texto | Cadeia de caracteres | Texto a ser usado para detectar o idioma. |
| parâmetros | Objeto | Opcional. Objeto JSON que contém parâmetros de tradução adicionais. |
| parâmetros.tradutor | Cadeia de caracteres | Opcional. Serviço de tradução a ser usado para traduzir o texto (sem distinção entre maiúsculas e minúsculas). Valores válidos:
Nota:
Para usar serviços de tradução personalizados, você deve primeiro configurar o serviço de tradução em sua instância. Para obter detalhes, consulte Integração com um provedor de serviço de tradução. Padrão: serviço de tradução configurado na tabela Configuração do tradutor [sn_dt_translator_configuration]. |
| Tipo | Descrição |
|---|---|
| alternativas | Matriz de objetos que descreve outros idiomas que também podem ser correspondentes. Tipo de dados: matriz |
| alternativas.código | Código de idioma do idioma alternativo. Tipo de dados: cadeia de caracteres |
| alternativas.confiança | Valor flutuante que indica o nível de confiança do idioma alternativo. O valor está entre zero e um. Quanto menor o valor, menor o nível de confiança. Tipo de dados: cadeia de caracteres |
| alternatives.name | Código de idioma do idioma alternativo. Tipo de dados: cadeia de caracteres |
| detectadoIdioma | Descrição do idioma detectado. Tipo de dados: objeto |
| detectadoIdioma.código | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| detectouIdioma.confiança | Valor flutuante que indica o nível de confiança do idioma alternativo. O valor está entre zero e um. Quanto menor o valor, menor o nível de confiança. Tipo de dados: cadeia de caracteres |
| detectedLanguage.name | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| tradutor | Serviço de tradução usado para detectar o idioma. Tipo de dados: cadeia de caracteres |
| Mensagens de erro | A seguir estão as mensagens de erro que o método pode retornar e as indicações sobre a causa raiz do erro.
|
Este exemplo mostra o código em um script do lado do servidor que detecta uma cadeia de caracteres em inglês usando o serviço de tradução da IBM.
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguage('Please detect the language of this text', {"translator":'IBM'});
gs.info(JSON.stringify(detectedResponse));
Saída:
{
detectedLanguage:
{ "code": "en", "confidence": "1", "name": "en" }
alternatives:
[
{ "code": "vi", "confidence": "0.86", "name": "vi" },
{ "code": "id", "confidence": "0.86", "name": "id" }
]
}
Este exemplo mostra um script de servidor que gera um erro quando um serviço de tradução inválido é passado.
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguage('Please detect the language of this text', {"translator":123});
gs.info(JSON.stringify(detectedResponse));
Saída:
{"code":"40003","message":"Translator (\"translator\" field) is invalid"}
DynamicTranslation - getDetectedLanguages (textos de matriz, parâmetros de objeto)
Detecta os idiomas das cadeias de caracteres de texto passadas.
Se você aprovar um tradutor, o método usará esse serviço de tradução para detectar o idioma de origem. Caso contrário, a detecção será realizada pelo serviço de tradução padrão. Certifique-se de que as cadeias de caracteres de texto fornecidas contenham texto suficiente para habilitar a detecção de idioma apropriada.
Além do idioma detectado, a resposta contém um nível de confiança da detecção, junto com outras alternativas de idioma possíveis. Se um tradutor não for passado, o método também retornará o serviço de tradução padrão usado para detectar o idioma.
| Nome | Tipo | Descrição |
|---|---|---|
| textos | Matriz | Lista de cadeias de caracteres de texto a serem usadas para detectar o(s) idioma(s). |
| parâmetros | Objeto | Opcional. Objeto JSON que contém parâmetros de tradução adicionais. |
| parâmetros.tradutor | Cadeia de caracteres | Serviço de tradução a ser usado para detectar o idioma de uma cadeia de caracteres. Os serviços de tradução são configurados no menu Configuração do tradutor. Valores possíveis - não diferencia maiúsculas de minúsculas:
Nota: Para usar serviços de tradução personalizados, você deve primeiro configurar o serviço de tradução em sua instância. Para obter detalhes, consulte Integração com um provedor de serviço de tradução. Padrão: serviço de tradução configurado na tabela Configuração do tradutor [sn_dt_translator_configuration]. Tabela: configuração do tradutor [sn_dt_translator_configuration] |
| Tipo | Descrição |
|---|---|
| detecções | Detecção de idioma de cadeias de caracteres de texto. Tipo de dados: objeto |
| detecções.alternativas | Matriz de objetos que descreve outros idiomas que também podem ser correspondentes. Tipo de dados: matriz |
| detecções.alternativas.código | Código de idioma do idioma alternativo. Tipo de dados: cadeia de caracteres |
| detecções.alternativas.confiança | Valor flutuante que indica o nível de confiança do idioma alternativo. O valor está entre zero e um. Quanto menor o valor, menor o nível de confiança. Tipo de dados: cadeia de caracteres |
| detections.alternatives.name | Código de idioma do idioma alternativo. Tipo de dados: cadeia de caracteres |
| detecções.detectadoIdioma | Descrição do idioma detectado. Tipo de dados: objeto |
| detecções.detectedLanguage.code | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| detecções.detectadoIdioma.confiança | Valor flutuante que indica o nível de confiança do idioma alternativo. O valor está entre zero e um. Quanto menor o valor, menor o nível de confiança. Tipo de dados: cadeia de caracteres |
| detections.detectedLanguage.name | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| detecções.éErro | Sinalizador que indica se a detecção de idioma para o texto resultou em um erro. Valores válidos:
Tipo de dados: booliano |
| status | Status da resposta à chamada de método. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| tradutor | Serviço de tradução usado para detectar o idioma. Tipo de dados: cadeia de caracteres |
| Mensagens de erro | A seguir estão as mensagens de erro que o método pode retornar e as indicações sobre a causa raiz do erro.
|
Este exemplo mostra o código em um script de servidor que detecta o inglês como o idioma das cadeias de caracteres passadas usando o serviço de tradução da 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));
Saída
{
"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"}
]
}
]
}
Este exemplo mostra o código em um script de servidor que retorna um status Parcial quando duas cadeias de caracteres de texto são passadas e uma delas é inválida.
var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", ""], {"translator": "Microsoft"});
gs.info(JSON.stringify(detectedResponse));
Saída
{
"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"
}
]
}
Este exemplo mostra o código em um script de servidor que gera um erro quando um serviço de tradução inválido é passado.
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));
Saída
{"code":"40003","message":"Translator (\"translator\" field) is invalid","status":"Error"}
DynamicTranslation - getTranslation(String textToTranslate, parâmetros do objeto)
Traduz o texto passado para um ou mais idiomas.
O método usa serviços de tradução, como o Serviço Microsoft Azure Translator e o Serviço Google Cloud Translator, para executar a tradução. Se você não passar os parâmetros de tradução, o método usará o padrão do sistema.
| Nome | Tipo | Descrição |
|---|---|---|
| textoParaTraduzir | Cadeia de caracteres | Texto a ser traduzido. |
| parâmetros | Objeto | Opcional. Objeto JSON que contém parâmetros de tradução adicionais. |
| parâmetros.parâmetrosadicionais | Matriz | Opcional. Matriz de objetos JSON. Cada objeto contém pares de chave-valor que fornecem informações adicionais para executar a tradução. |
| parms.additionalParameters.parameterName | Cadeia de caracteres | Opcional. Nome da chave. Valores válidos: texttype: tipo de texto a ser traduzido. Somente para o Serviço Microsoft Azure Translator. |
| parms.additionalParameters.parameterValue | Cadeia de caracteres | Opcional. Valor da chave associada. Valores válidos:
Padrão: simples |
| parms.sourceLanguage | Cadeia de caracteres | Opcional. Código do idioma do texto de origem. Padrão: o serviço de tradução detecta o idioma de origem. |
| parms.targetLanguages | Matriz | Opcional. Lista de códigos de idioma a serem usados para traduzir o texto. O método retorna o texto traduzido para cada código de idioma. Padrão: idioma preferencial do usuário. |
| parâmetros.tradutor | Cadeia de caracteres | Opcional. Serviço de tradução a ser usado para traduzir o texto (sem distinção entre maiúsculas e minúsculas). Valores válidos:
Nota:
Para usar serviços de tradução personalizados, você deve primeiro configurar o serviço de tradução em sua instância. Para obter detalhes, consulte Integração com um provedor de serviço de tradução. Padrão: serviço de tradução configurado na tabela Configuração do tradutor [sn_dt_translator_configuration]. |
| Tipo | Descrição |
|---|---|
| detectadoIdioma | Descrição do idioma detectado. Tipo de dados: objeto |
| detectadoIdioma.código | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| detectedLanguage.name | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| traduções | Lista que descreve as traduções de idioma. Tipo de dados: matriz de objetos |
| traduções.targetLanguage | Código do idioma para o qual o texto de origem foi traduzido. Tipo de dados: cadeia de caracteres |
| traduções.TextoTraduzido | Texto traduzido. Tipo de dados: cadeia de caracteres |
| tradutor | Serviço de tradução usado para detectar o idioma. Tipo de dados: cadeia de caracteres |
| Mensagens de erro | A seguir estão as mensagens de erro que o método pode retornar e as indicações sobre a causa raiz.
|
Este exemplo mostra um script de servidor traduzindo texto simples de inglês (detectado) para francês e italiano usando o serviço de tradução da 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);
}
Resposta:
{"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"}
}
Este exemplo mostra um script de servidor que gera um erro quando um idioma de destino inválido é passado.
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);
}
Resposta:
{"code":"40054","message":"Target language is invalid"}
DynamicTranslation - getTranslations (textos de matriz, parâmetros de objeto)
Traduz as cadeias de caracteres de texto passadas para um ou mais idiomas.
O método usa serviços de tradução, como o Serviço Microsoft Azure Translator e o Serviço Google Cloud Translator, para executar a tradução. Se você não passar os parâmetros de tradução, o método usará o padrão do sistema.
| Nome | Tipo | Descrição |
|---|---|---|
| textos | Matriz | Lista de textos a serem traduzidos. |
| parâmetros | Objeto | Opcional. Objeto JSON que contém parâmetros de tradução adicionais. |
| parâmetros.parâmetrosadicionais | Objeto | Opcional. Matriz de objetos JSON. Cada objeto contém pares de chave-valor que fornecem informações adicionais para executar a tradução. |
| parms.additionalParameters.parameterName | Cadeia de caracteres | Opcional. Nome da chave. Valores válidos: texttype: tipo de texto a ser traduzido. Somente para o Serviço Microsoft Azure Translator. |
| parms.additionalParameters.parameterValue | Cadeia de caracteres | Opcional. Valor da chave associada. Valores válidos:
Padrão: simples |
| parms.sourceLanguage | Cadeia de caracteres | Opcional. Código do idioma do texto de origem. Padrão: o serviço de tradução detecta o idioma de origem. |
| parms.targetLanguages | Matriz | Opcional. Lista de códigos de idioma a serem usados para traduzir o texto. O método retorna o texto traduzido para cada código de idioma. Padrão: idioma preferencial do usuário. |
| parâmetros.tradutor | Cadeia de caracteres | Opcional. Serviço de tradução a ser usado para traduzir o texto (sem distinção entre maiúsculas e minúsculas). Valores válidos:
Nota:
Para usar serviços de tradução personalizados, você deve primeiro configurar o serviço de tradução em sua instância. Para obter detalhes, consulte Integração com um provedor de serviço de tradução. Padrão: serviço de tradução configurado na tabela Configuração do tradutor [sn_dt_translator_configuration]. |
| Tipo | Descrição |
|---|---|
| status | Status da resposta à chamada de método. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| traduções | Lista que descreve as traduções de idioma. Tipo de dados: matriz |
| traduções.éErro | Sinalizador que indica se a tradução do texto resultou em erro. Valores válidos:
Tipo de dados: booliano |
| traduções.detectadoIdioma | Descrição do idioma detectado. Tipo de dados: objeto |
| traduções.detectadoIdioma.código | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| translations.detectedLanguage.name | Código de idioma do idioma detectado. Tipo de dados: cadeia de caracteres |
| Traduções de texto | Descrição do idioma usado para traduzir a cadeia de caracteres de texto. Tipo de dados: matriz de objetos |
| TraduçõesDeTexto.IdiomaDeDestino | Código do idioma para o qual o texto de origem foi traduzido. Tipo de dados: cadeia de caracteres |
| textoTraduções.Textotraduzido | Texto traduzido. Tipo de dados: cadeia de caracteres |
| tradutor | Serviço de tradução usado para traduzir o texto. Tipo de dados: cadeia de caracteres |
| Mensagens de erro | A seguir estão as mensagens de erro que o método pode retornar e as indicações sobre a causa raiz.
|
Este exemplo mostra o código em um script do lado do servidor que traduz uma lista de cadeias de caracteres de texto para francês e italiano usando o serviço de tradução da 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);
}
Resposta:
{
"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"
}
Este exemplo mostra um script de servidor que retorna um status Parcial quando uma das duas cadeias de caracteres de texto passadas é inválida.
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);
}
Resposta:
{
"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"
}
Este exemplo mostra um script de servidor que gera um erro quando um serviço de tradução inválido é passado.
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);
}
Resposta:
{"code":"40003","message":"Translator (\"translator\" field) is invalid","status":"Error"}
DynamicTranslation - isEnabled (tradutor de cadeia de caracteres)
Determina se os vários métodos na API DynamicTranslation estão habilitados para um serviço de tradução.
Se você aprovar um serviço de tradução específico, o método verificará a ativação do método para esse serviço de tradução; caso contrário, o método verificará o serviço de tradução padrão.
| Nome | Tipo | Descrição |
|---|---|---|
| tradutor | Cadeia de caracteres | Opcional. Serviço de tradução a ser usado para verificar se os métodos estão ativos. Os serviços de tradução são configurados no menu Configuração do tradutor. Valores possíveis - não diferencia maiúsculas de minúsculas:
Nota: Para usar serviços de tradução personalizados, você deve primeiro configurar o serviço de tradução em sua instância. Para obter detalhes, consulte Integração com um provedor de serviço de tradução. Padrão: serviço de tradução padrão. |
| Tipo | Descrição |
|---|---|
| detecção em lote | Sinalizador que indica se o método getDetectedLanguages() está habilitado. Valores possíveis:
Tipo de dados: booliano |
| tradução em lote | Sinalizador que indica se o método getTranslations() está habilitado. Valores possíveis:
Tipo de dados: booliano |
| detecção | Sinalizador que indica se o método getDetectedLanguage() está habilitado. Valores possíveis:
Tipo de dados: booliano |
| tradução | Sinalizador que indica se o método getTranslation() está habilitado. Valores possíveis:
Tipo de dados: booliano |
| Mensagens de erro | A seguir estão as mensagens de erro que a API pode retornar e as indicações sobre a causa raiz.
|
Este exemplo mostra um script de servidor que verifica se os métodos DynamicTranslation estão ativos para o tradutor da Microsoft.
try {
var response = sn_dt_api.DynamicTranslation.isEnabled('Microsoft');
gs.info(JSON.stringify(response));
} catch(error) {
gs.info(error.message);
}
Saída:
{"detection":true,"batchTranslation":true,"batchDetection":true,"translation":true}
Este exemplo mostra um script de servidor que gera um erro quando um serviço de tradução inválido é passado.
try {
var response = sn_dt_api.DynamicTranslation.isEnabled(123);
gs.info(JSON.stringify(response));
} catch(error) {
gs.info(error.message);
}
Saída:
{"code":"40003","message":"Translator (\"translator\" field) is invalid"}