diff --git a/google-cloud-clients/google-cloud-translate/src/main/java/com/google/cloud/translate/Translate.java b/google-cloud-clients/google-cloud-translate/src/main/java/com/google/cloud/translate/Translate.java index 77678b804748..113077fdd2f6 100644 --- a/google-cloud-clients/google-cloud-translate/src/main/java/com/google/cloud/translate/Translate.java +++ b/google-cloud-clients/google-cloud-translate/src/main/java/com/google/cloud/translate/Translate.java @@ -116,15 +116,35 @@ public static TranslateOption format(String format) { * *
Example of listing supported languages, localized according to * {@link TranslateOptions#getTargetLanguage()}: - *
{@code
+ *
+ * {@code
+ * // TODO(developer): Uncomment these lines.
+ * // import com.google.cloud.translate.*;
+ * // Translate translate = TranslateOptions.getDefaultInstance().getService();
+ *
* List languages = translate.listSupportedLanguages();
+ *
+ * for (Language language : languages) {
+ * System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
+ * }
* }
+ *
*
* Example of listing supported languages, localized according to a provided language:
- *
{@code
+ *
+ * {@code
+ * // TODO(developer): Uncomment these lines.
+ * // import com.google.cloud.translate.*;
+ * // Translate translate = TranslateOptions.getDefaultInstance().getService();
+ *
* List languages = translate.listSupportedLanguages(
- * LanguageListOption.targetLanguage("es"));
+ * Translate.LanguageListOption.targetLanguage("es"));
+ *
+ * for (Language language : languages) {
+ * System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
+ * }
* }
+ *
*
*/
List listSupportedLanguages(LanguageListOption... options);
@@ -133,13 +153,24 @@ public static TranslateOption format(String format) {
* Detects the language of the provided texts.
*
* Example of detecting the language of some texts:
- *
{@code
+ *
+ * {@code
+ * // TODO(developer): Uncomment these lines.
+ * // import com.google.cloud.translate.*;
+ * // Translate translate = TranslateOptions.getDefaultInstance().getService();
+ *
* List texts = new LinkedList<>();
* texts.add("Hello, World!");
* texts.add("¡Hola Mundo!");
* List detections = translate.detect(texts);
- * }
*
+ * System.out.println("Language(s) detected:");
+ * for (Detection detection : detections) {
+ * System.out.printf("\t%s\n", detection);
+ * }
+ * }
+ *
+
* @param texts the texts for which language should be detected
* @return a list of objects containing information on the language detection, one for each
* provided text, in order
@@ -150,9 +181,11 @@ public static TranslateOption format(String format) {
* Detects the language of the provided texts.
*
* Example of detecting the language of some texts:
- *
{@code
+ *
+ * {@code
* List detections = translate.detect("Hello, World!", "¡Hola Mundo!");
* }
+ *
*
* @param texts the texts for which language should be detected
* @return a list of objects containing information on the language detection, one for each
@@ -165,9 +198,11 @@ public static TranslateOption format(String format) {
* language detection.
*
* Example of detecting the language of a text:
- *
{@code
+ *
+ * {@code
* Detection detection = translate.detect("Hello, World!");
* }
+ *
*
*/
Detection detect(String text);
@@ -176,20 +211,26 @@ public static TranslateOption format(String format) {
* Translates the provided texts.
*
* Example of translating some texts:
- *
{@code
+ *
+ * {@code
* List texts = new LinkedList<>();
* texts.add("Hello, World!");
* texts.add("¡Hola Mundo!");
* List translations = translate.translate(texts);
* }
+ *
*
* Example of translating some texts, specifying source and target language:
- *
{@code
+ *
+ * {@code
* List texts = new LinkedList<>();
* texts.add("¡Hola Mundo!");
- * List translations = translate.translate(texts,
- * TranslateOption.sourceLanguage("es"), TranslateOption.targetLanguage("de"));
+ * List translations = translate.translate(
+ * texts,
+ * Translate.TranslateOption.sourceLanguage("es"),
+ * Translate.TranslateOption.targetLanguage("de"));
* }
+ *
*
* @param texts the texts to translate
* @return a list of objects containing information on the language translation, one for each
@@ -200,18 +241,35 @@ public static TranslateOption format(String format) {
List translate(List texts, TranslateOption... options);
/**
- * Translates the provided texts.
+ * Translates the provided text.
*
* Example of translating a text:
- *
{@code
+ *
+ * {@code
+ * // TODO(developer): Uncomment these lines.
+ * // import com.google.cloud.translate.*;
+ * // Translate translate = TranslateOptions.getDefaultInstance().getService();
+ *
* Translation translation = translate.translate("¡Hola Mundo!");
+ * System.out.printf("Translated Text:\n\t%s\n", translation.getTranslatedText());
* }
+ *
+ *
+ * Example of translating a text, specifying source and target language and premium model:
+ *
+ *
{@code
+ * Translation translation = translate.translate(
+ * "Hola Mundo!",
+ * Translate.TranslateOption.sourceLanguage("es"),
+ * Translate.TranslateOption.targetLanguage("de"),
+ * // Use "base" for standard edition, "nmt" for the premium model.
+ * Translate.TranslateOption.model("nmt"));
*
- * Example of translating a text, specifying source and target language:
- *
{@code
- * Translation translation = translate.translate("¡Hola Mundo!",
- * TranslateOption.sourceLanguage("es"), TranslateOption.targetLanguage("de"));
+ * System.out.printf(
+ * "TranslatedText:\nText: %s\n",
+ * translation.getTranslatedText());
* }
+ *
*
* @param text the text to translate
* @return an object containing information on the language translation
diff --git a/google-cloud-examples/src/main/java/com/google/cloud/examples/translate/snippets/TranslateSnippets.java b/google-cloud-examples/src/main/java/com/google/cloud/examples/translate/snippets/TranslateSnippets.java
deleted file mode 100644
index 180c63c52113..000000000000
--- a/google-cloud-examples/src/main/java/com/google/cloud/examples/translate/snippets/TranslateSnippets.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright 2016 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * EDITING INSTRUCTIONS
- * This file is referenced in Translate's javadoc. Any change to this file should be reflected in
- * Translate's javadoc.
- */
-
-package com.google.cloud.examples.translate.snippets;
-
-import com.google.cloud.translate.Detection;
-import com.google.cloud.translate.Language;
-import com.google.cloud.translate.Translate;
-import com.google.cloud.translate.Translate.LanguageListOption;
-import com.google.cloud.translate.Translate.TranslateOption;
-import com.google.cloud.translate.TranslateOptions;
-import com.google.cloud.translate.Translation;
-
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * This class contains a number of snippets for the {@link Translate} interface.
- */
-public class TranslateSnippets {
-
- private final Translate translate;
-
- public TranslateSnippets(Translate translate) {
- this.translate = translate;
- }
-
- /**
- * Example of listing supported languages, localized according to
- * {@link TranslateOptions#getTargetLanguage()}.
- */
- // [TARGET listSupportedLanguages(LanguageListOption...)]
- public List listSupportedLanguages() {
- // [START listSupportedLanguages]
- List languages = translate.listSupportedLanguages();
- // [END listSupportedLanguages]
- return languages;
- }
-
- /**
- * Example of listing supported languages, localized according to a provided language.
- */
- // [TARGET listSupportedLanguages(LanguageListOption...)]
- public List listSupportedLanguagesWithTarget() {
- // [START listSupportedLanguagesWithTarget]
- List languages = translate.listSupportedLanguages(
- LanguageListOption.targetLanguage("es"));
- // [END listSupportedLanguagesWithTarget]
- return languages;
- }
-
- /**
- * Example of detecting the language of some texts.
- */
- // [TARGET detect(List)]
- public List detectLanguageOfTextList() {
- // [START detectLanguageOfTextList]
- List texts = new LinkedList<>();
- texts.add("Hello, World!");
- texts.add("¡Hola Mundo!");
- List detections = translate.detect(texts);
- // [END detectLanguageOfTextList]
- return detections;
- }
-
- /**
- * Example of detecting the language of some texts.
- */
- // [TARGET detect(String...)]
- public List detectLanguageOfTexts() {
- // [START detectLanguageOfTexts]
- List detections = translate.detect("Hello, World!", "¡Hola Mundo!");
- // [END detectLanguageOfTexts]
- return detections;
- }
-
- /**
- * Example of detecting the language of a text.
- */
- // [TARGET detect(String)]
- public Detection detectLanguageOfText() {
- // [START detect]
- Detection detection = translate.detect("Hello, World!");
- // [END detect]
- return detection;
- }
-
- /**
- * Example of translating some texts.
- */
- // [TARGET translate(List, TranslateOption...)]
- public List translateTexts() {
- // [START translateTexts]
- List texts = new LinkedList<>();
- texts.add("Hello, World!");
- texts.add("¡Hola Mundo!");
- List translations = translate.translate(texts);
- // [END translateTexts]
- return translations;
- }
-
- /**
- * Example of translating some texts, specifying source and target language.
- */
- // [TARGET translate(List, TranslateOption...)]
- public List translateTextsWithOptions() {
- // [START translateTextsWithOptions]
- List texts = new LinkedList<>();
- texts.add("¡Hola Mundo!");
- List translations = translate.translate(texts,
- TranslateOption.sourceLanguage("es"), TranslateOption.targetLanguage("de"));
- // [END translateTextsWithOptions]
- return translations;
- }
-
- /**
- * Example of translating a text.
- */
- // [TARGET translate(String, TranslateOption...)]
- public Translation translateText() {
- // [START translateText]
- Translation translation = translate.translate("¡Hola Mundo!");
- // [END translateText]
- return translation;
- }
-
- /**
- * Example of translating a text, specifying source and target language.
- */
- // [TARGET translate(String, TranslateOption...)]
- public Translation translateTextWithOptions() {
- // [START translateTextWithOptions]
- Translation translation = translate.translate("¡Hola Mundo!",
- TranslateOption.sourceLanguage("es"), TranslateOption.targetLanguage("de"));
- // [END translateTextWithOptions]
- return translation;
- }
-}
diff --git a/google-cloud-examples/src/test/java/com/google/cloud/examples/translate/snippets/ITTranslateSnippets.java b/google-cloud-examples/src/test/java/com/google/cloud/examples/translate/snippets/ITTranslateSnippets.java
index 9a36437a5047..ddfa0371cf9e 100644
--- a/google-cloud-examples/src/test/java/com/google/cloud/examples/translate/snippets/ITTranslateSnippets.java
+++ b/google-cloud-examples/src/test/java/com/google/cloud/examples/translate/snippets/ITTranslateSnippets.java
@@ -22,6 +22,7 @@
import com.google.cloud.translate.Detection;
import com.google.cloud.translate.Language;
+import com.google.cloud.translate.Translate;
import com.google.cloud.translate.Translation;
import com.google.cloud.translate.testing.RemoteTranslateHelper;
@@ -29,12 +30,21 @@
import org.junit.Test;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Set;
+/**
+ * This class contains a number of snippets for the {@link Translate} interface.
+ *
+ * After modifying snippets in this file, run {@code ./utilities/snippets
+ * ./google-cloud-examples/src/test/java/com/google/cloud/examples/translate/snippets/ITTranslateSnippets.java
+ * ./google-cloud-clients/google-cloud-translate/src/main/java/com/google/cloud/translate/Translate.java}
+ * to include the snippets in the Javadoc.
+ */
public class ITTranslateSnippets {
- private static TranslateSnippets translateSnippets;
+ private static Translate translate;
private static final String[] LANGUAGES = {"af", "sq", "ar", "hy", "az", "eu", "be", "bn", "bs",
"bg", "ca", "ceb", "ny", "zh-TW", "hr", "cs", "da", "nl", "en", "eo", "et", "tl", "fi", "fr",
@@ -47,13 +57,24 @@ public class ITTranslateSnippets {
@BeforeClass
public static void beforeClass() {
RemoteTranslateHelper helper = RemoteTranslateHelper.create();
- translateSnippets = new TranslateSnippets(helper.getOptions().getService());
+ translate = helper.getOptions().getService();
}
@Test
public void testListSupportedLanguages() {
+ // [START translate_list_codes]
+ // TODO(developer): Uncomment these lines.
+ // import com.google.cloud.translate.*;
+ // Translate translate = TranslateOptions.getDefaultInstance().getService();
+
+ List languages = translate.listSupportedLanguages();
+
+ for (Language language : languages) {
+ System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
+ }
+ // [END translate_list_codes]
+
Set supportedLanguages = new HashSet<>();
- List languages = translateSnippets.listSupportedLanguages();
for (Language language : languages) {
supportedLanguages.add(language.getCode());
assertNotNull(language.getName());
@@ -65,8 +86,20 @@ public void testListSupportedLanguages() {
@Test
public void testListSupportedLanguagesWithTarget() {
+ // [START translate_list_language_names]
+ // TODO(developer): Uncomment these lines.
+ // import com.google.cloud.translate.*;
+ // Translate translate = TranslateOptions.getDefaultInstance().getService();
+
+ List languages = translate.listSupportedLanguages(
+ Translate.LanguageListOption.targetLanguage("es"));
+
+ for (Language language : languages) {
+ System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
+ }
+ // [END translate_list_language_names]
+
Set supportedLanguages = new HashSet<>();
- List languages = translateSnippets.listSupportedLanguagesWithTarget();
for (Language language : languages) {
supportedLanguages.add(language.getCode());
assertNotNull(language.getName());
@@ -78,7 +111,10 @@ public void testListSupportedLanguagesWithTarget() {
@Test
public void testDetectLanguageOfTexts() {
- List detections = translateSnippets.detectLanguageOfTexts();
+ // SNIPPET translate_detect_language_array
+ List detections = translate.detect("Hello, World!", "¡Hola Mundo!");
+ // SNIPPET translate_detect_language_array
+
Detection detection = detections.get(0);
assertEquals("en", detection.getLanguage());
detection = detections.get(1);
@@ -87,7 +123,22 @@ public void testDetectLanguageOfTexts() {
@Test
public void testDetectLanguageOfTextList() {
- List detections = translateSnippets.detectLanguageOfTextList();
+ // [START translate_detect_language]
+ // TODO(developer): Uncomment these lines.
+ // import com.google.cloud.translate.*;
+ // Translate translate = TranslateOptions.getDefaultInstance().getService();
+
+ List texts = new LinkedList<>();
+ texts.add("Hello, World!");
+ texts.add("¡Hola Mundo!");
+ List detections = translate.detect(texts);
+
+ System.out.println("Language(s) detected:");
+ for (Detection detection : detections) {
+ System.out.printf("\t%s\n", detection);
+ }
+ // [END translate_detect_language]
+
Detection detection = detections.get(0);
assertEquals("en", detection.getLanguage());
detection = detections.get(1);
@@ -96,13 +147,21 @@ public void testDetectLanguageOfTextList() {
@Test
public void testDetectLanguageOfText() {
- Detection detection = translateSnippets.detectLanguageOfText();
+ // SNIPPET translate_detect_language_string
+ Detection detection = translate.detect("Hello, World!");
+ // SNIPPET translate_detect_language_string
assertEquals("en", detection.getLanguage());
}
@Test
public void testTranslateTextList() {
- List translations = translateSnippets.translateTexts();
+ // SNIPPET translateTexts
+ List texts = new LinkedList<>();
+ texts.add("Hello, World!");
+ texts.add("¡Hola Mundo!");
+ List translations = translate.translate(texts);
+ // SNIPPET translateTexts
+
Translation translation = translations.get(0);
assertEquals("Hello, World!", translation.getTranslatedText());
assertEquals("en", translation.getSourceLanguage());
@@ -111,16 +170,49 @@ public void testTranslateTextList() {
assertEquals("es", translation.getSourceLanguage());
}
+ @Test
+ public void testTranslateTextListWithOptions() {
+ // SNIPPET translateTextsWithOptions
+ List texts = new LinkedList<>();
+ texts.add("¡Hola Mundo!");
+ List translations = translate.translate(
+ texts,
+ Translate.TranslateOption.sourceLanguage("es"),
+ Translate.TranslateOption.targetLanguage("de"));
+ // SNIPPET translateTextsWithOptions
+ Translation translation = translations.get(0);
+ assertEquals("Hallo Welt!", translation.getTranslatedText());
+ assertEquals("es", translation.getSourceLanguage());
+ }
+
@Test
public void testTranslateText() {
- Translation translation = translateSnippets.translateText();
+ // [START translate_translate_text]
+ // TODO(developer): Uncomment these lines.
+ // import com.google.cloud.translate.*;
+ // Translate translate = TranslateOptions.getDefaultInstance().getService();
+
+ Translation translation = translate.translate("¡Hola Mundo!");
+ System.out.printf("Translated Text:\n\t%s\n", translation.getTranslatedText());
+ // [END translate_translate_text]
assertEquals("Hello World!", translation.getTranslatedText());
assertEquals("es", translation.getSourceLanguage());
}
@Test
- public void testTranslateTextWithOptions() {
- Translation translation = translateSnippets.translateTextWithOptions();
+ public void testTranslateTextWithModel() {
+ // [START translate_text_with_model]
+ Translation translation = translate.translate(
+ "Hola Mundo!",
+ Translate.TranslateOption.sourceLanguage("es"),
+ Translate.TranslateOption.targetLanguage("de"),
+ // Use "base" for standard edition, "nmt" for the premium model.
+ Translate.TranslateOption.model("nmt"));
+
+ System.out.printf(
+ "TranslatedText:\nText: %s\n",
+ translation.getTranslatedText());
+ // [END translate_text_with_model]
assertEquals("Hallo Welt!", translation.getTranslatedText());
assertEquals("es", translation.getSourceLanguage());
}
diff --git a/utilities/snippets.go b/utilities/snippets.go
index 5a9c66204c37..c3215ba830d6 100644
--- a/utilities/snippets.go
+++ b/utilities/snippets.go
@@ -24,6 +24,9 @@ import (
"path/filepath"
"runtime/pprof"
"strings"
+
+ "github.com/kr/text"
+ "github.com/lithammer/dedent"
)
func init() {
@@ -127,10 +130,10 @@ func getCloud(file, txt string, snip map[string]string) error {
key := fmt.Sprintf("", tag)
snipTxt := strings.Trim(txt[:p], "\n\r")
if _, exist := snip[key]; exist {
- snip[key] = strings.Join([]string{snip[key], snipTxt}, "")
+ snip[key] = strings.Join([]string{snip[key], text.Indent(dedent.Dedent(snipTxt), " ")}, "")
}
- snip[key] = snipTxt
+ snip[key] = text.Indent(dedent.Dedent(snipTxt), " ")
txt = txt[p+len(endTag):]
} else {
return fmt.Errorf("[START %s]:%d snippet %q not closed", file, lineNum(ftxt, txt), tag)
@@ -166,7 +169,7 @@ func getSnip(file, txt string, snip map[string]string) error {
return fmt.Errorf("%s:%d snippet %q has already been defined", file, lineNum(ftxt, txt), key)
}
- snip[key] = strings.Trim(txt[:p], "\n\r")
+ snip[key] = text.Indent(dedent.Dedent(strings.Trim(txt[:p], "\n\r")), " ")
txt = txt[p+len(snipPrefix):]
} else {
return fmt.Errorf("%s:%d snippet %q not closed", file, lineNum(ftxt, txt), key)