use of com.ibm.watson.language_translator.v3.model.TranslationResult in project java-sdk by watson-developer-cloud.
the class LanguageTranslatorTest method testTranslate.
/**
* Test translate.
*
* @throws InterruptedException the interrupted exception
*/
@Test
public void testTranslate() throws InterruptedException {
server.enqueue(jsonResponse(singleTranslation));
final String text = texts.get(0);
final Map<String, ?> requestBody = ImmutableMap.of("text", Collections.singleton(text), "model_id", modelId);
TranslateOptions translateOptions = new TranslateOptions.Builder().addText(text).modelId(modelId).build();
TranslationResult translationResult = service.translate(translateOptions).execute();
final RecordedRequest request = server.takeRequest();
assertEquals(LANGUAGE_TRANSLATION_PATH, request.getPath());
assertEquals("POST", request.getMethod());
assertEquals(GSON.toJson(requestBody), request.getBody().readUtf8());
testTranslationResult(text, translationResult);
}
use of com.ibm.watson.language_translator.v3.model.TranslationResult in project java-sdk by watson-developer-cloud.
the class TranslateAndSynthesizeExample method main.
public static void main(String[] args) throws IOException {
LanguageTranslator translator = new LanguageTranslator();
translator.setUsernameAndPassword("username", "password");
TextToSpeech synthesizer = new TextToSpeech();
synthesizer.setUsernameAndPassword("username", "password");
String text = "Greetings from Watson Developer Cloud";
// translate
TranslateOptions translateOptions = new TranslateOptions.Builder().addText(text).source(Language.ENGLISH).target(Language.SPANISH).build();
TranslationResult translationResult = service.translate(translateOptions).execute();
String translation = translationResult.getTranslations().get(0).getTranslation();
// synthesize
SynthesizeOptions synthesizeOptions = new SynthesizeOptions.Builder().text(translation).voice(SynthesizeOptions.Voice.EN_US_LISAVOICE).accept(SynthesizeOptions.Accept.AUDIO_WAV).build();
InputStream in = service.synthesize(synthesizeOptions).execute();
writeToFile(WaveUtils.reWriteWaveHeader(in), new File("output.wav"));
}
use of com.ibm.watson.language_translator.v3.model.TranslationResult in project java-sdk by watson-developer-cloud.
the class LanguageTranslator method translate.
/**
* Translate.
*
* Translates the input text from the source language to the target language.
*
* @param translateOptions the {@link TranslateOptions} containing the options for the call
* @return a {@link ServiceCall} with a response type of {@link TranslationResult}
*/
public ServiceCall<TranslationResult> translate(TranslateOptions translateOptions) {
Validator.notNull(translateOptions, "translateOptions cannot be null");
String[] pathSegments = { "v2/translate" };
RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
final JsonObject contentJson = new JsonObject();
contentJson.add("text", GsonSingleton.getGson().toJsonTree(translateOptions.text()));
if (translateOptions.modelId() != null) {
contentJson.addProperty("model_id", translateOptions.modelId());
}
if (translateOptions.source() != null) {
contentJson.addProperty("source", translateOptions.source());
}
if (translateOptions.target() != null) {
contentJson.addProperty("target", translateOptions.target());
}
builder.bodyJson(contentJson);
return createServiceCall(builder.build(), ResponseConverterUtils.getObject(TranslationResult.class));
}
use of com.ibm.watson.language_translator.v3.model.TranslationResult in project java-sdk by watson-developer-cloud.
the class TranslateAndSynthesizeExample method main.
public static void main(String[] args) throws IOException {
Authenticator ltAuthenticator = new IamAuthenticator("<iam_api_key>");
LanguageTranslator translator = new LanguageTranslator("2019-11-22", ltAuthenticator);
Authenticator ttsAuthenticator = new IamAuthenticator("<iam_api_key>");
TextToSpeech synthesizer = new TextToSpeech(ttsAuthenticator);
String text = "Greetings from Watson Developer Cloud";
// translate
TranslateOptions translateOptions = new TranslateOptions.Builder().addText(text).source(Language.ENGLISH).target(Language.SPANISH).build();
TranslationResult translationResult = translator.translate(translateOptions).execute().getResult();
String translation = translationResult.getTranslations().get(0).getTranslation();
// synthesize
SynthesizeOptions synthesizeOptions = new SynthesizeOptions.Builder().text(translation).voice(SynthesizeOptions.Voice.EN_US_LISAVOICE).accept(HttpMediaType.AUDIO_WAV).build();
InputStream in = synthesizer.synthesize(synthesizeOptions).execute().getResult();
writeToFile(WaveUtils.reWriteWaveHeader(in), new File("output.wav"));
}
use of com.ibm.watson.language_translator.v3.model.TranslationResult in project java-sdk by watson-developer-cloud.
the class LanguageTranslatorExample method main.
public static void main(String[] args) {
Authenticator authenticator = new IamAuthenticator("<iam_api_key>");
LanguageTranslator service = new LanguageTranslator("2018-05-01", authenticator);
TranslateOptions translateOptions = new TranslateOptions.Builder().addText("text").modelId("en-es").build();
TranslationResult translationResult = service.translate(translateOptions).execute().getResult();
System.out.println(translationResult);
}
Aggregations