Skip to content

Commit ffdf22e

Browse files
author
Patrick Huang
committed
support 'format' option for google translate api
1 parent c48dc6d commit ffdf22e

4 files changed

Lines changed: 18 additions & 4 deletions

File tree

google-cloud-translate/src/main/java/com/google/cloud/translate/Translate.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,16 @@ public static TranslateOption targetLanguage(String targetLanguage) {
9595
public static TranslateOption model(String model) {
9696
return new TranslateOption(TranslateRpc.Option.MODEL, model);
9797
}
98+
99+
/**
100+
* Sets the format of the source text, in either HTML (default) or plain-text.
101+
* A value of html indicates HTML and a value of text indicates plain-text.
102+
*
103+
* @param format the format of the source text (html|text)
104+
*/
105+
public static TranslateOption format(String format) {
106+
return new TranslateOption(TranslateRpc.Option.FORMAT, format);
107+
}
98108
}
99109

100110
/**

google-cloud-translate/src/main/java/com/google/cloud/translate/spi/v2/HttpTranslateRpc.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ public List<TranslationsResource> translate(List<String> texts, Map<Option, ?> o
126126
.setSource(sourceLanguage)
127127
.setKey(options.getApiKey())
128128
.set("model", Option.MODEL.getString(optionMap))
129+
.set(Option.FORMAT.value(), Option.FORMAT.getString(optionMap))
129130
.execute()
130131
.getTranslations();
131132
return Lists.transform(

google-cloud-translate/src/main/java/com/google/cloud/translate/spi/v2/TranslateRpc.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ public interface TranslateRpc extends ServiceRpc {
2929
enum Option {
3030
SOURCE_LANGUAGE("source"),
3131
TARGET_LANGUAGE("target"),
32-
MODEL("model");
32+
MODEL("model"),
33+
FORMAT("format");
3334

3435
private final String value;
3536

google-cloud-translate/src/test/java/com/google/cloud/translate/TranslateImplTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,13 @@ public class TranslateImplTest {
9191
private static final TranslateOption SOURCE_LANGUAGE_OPTION =
9292
TranslateOption.sourceLanguage("de");
9393
private static final TranslateOption MODEL_OPTION = TranslateOption.model("nmt");
94+
private static final TranslateOption FORMAT_OPTION = TranslateOption.format("text");
9495
private static final Map<TranslateRpc.Option, ?> TRANSLATE_OPTIONS =
9596
ImmutableMap.of(
9697
TranslateRpc.Option.TARGET_LANGUAGE, TARGET_LANGUAGE_OPTION.getValue(),
9798
TranslateRpc.Option.SOURCE_LANGUAGE, SOURCE_LANGUAGE_OPTION.getValue(),
98-
TranslateRpc.Option.MODEL, "nmt");
99+
TranslateRpc.Option.MODEL, "nmt",
100+
TranslateRpc.Option.FORMAT, "text");
99101
private static final RetrySettings NO_RETRY_SETTINGS = ServiceOptions.getNoRetrySettings();
100102

101103
private TranslateOptions options;
@@ -316,7 +318,7 @@ public void testTranslateWithOptions() {
316318
initializeService();
317319
assertEquals(
318320
TRANSLATION2,
319-
translate.translate(text, TARGET_LANGUAGE_OPTION, SOURCE_LANGUAGE_OPTION, MODEL_OPTION));
321+
translate.translate(text, TARGET_LANGUAGE_OPTION, SOURCE_LANGUAGE_OPTION, MODEL_OPTION, FORMAT_OPTION));
320322
verify();
321323
}
322324

@@ -343,7 +345,7 @@ public void testTranslateListWithOptions() {
343345
initializeService();
344346
assertEquals(
345347
ImmutableList.of(TRANSLATION2),
346-
translate.translate(texts, TARGET_LANGUAGE_OPTION, SOURCE_LANGUAGE_OPTION, MODEL_OPTION));
348+
translate.translate(texts, TARGET_LANGUAGE_OPTION, SOURCE_LANGUAGE_OPTION, MODEL_OPTION, FORMAT_OPTION));
347349
verify();
348350
}
349351

0 commit comments

Comments
 (0)