Skip to content

Commit 58d76b4

Browse files
committed
added supportedd languages for target language
1 parent c1b48cb commit 58d76b4

File tree

3 files changed

+52
-5
lines changed

3 files changed

+52
-5
lines changed

translate/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ Translate API Features:
5454
java -jar $JAR_FILE langsupport
5555
```
5656

57+
* List the languages supported for given target language
58+
```
59+
java -jar $JAR_FILE langsupport $TARGET_LANG
60+
```
61+
5762
* Detect input text language
5863
```
5964
java -jar $JAR_FILE detect "$INPUT"

translate/src/main/java/com/google/cloud/translate/samples/TranslateText.java

+12-3
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@
2020
import com.google.cloud.translate.Detection;
2121
import com.google.cloud.translate.Language;
2222
import com.google.cloud.translate.Translate;
23+
import com.google.cloud.translate.Translate.LanguageListOption;
2324
import com.google.cloud.translate.Translate.TranslateOption;
2425
import com.google.cloud.translate.TranslateOptions;
2526
import com.google.cloud.translate.Translation;
2627
import com.google.common.collect.ImmutableList;
2728

2829
import java.io.PrintStream;
2930
import java.util.List;
31+
import java.util.Optional;
3032

3133
public class TranslateText {
3234
/**
@@ -84,10 +86,12 @@ public static void translateTextWithOptions(
8486
* Displays a list of supported languages and codes.
8587
*
8688
* @param out print stream
89+
* @param tgtLang optional target language
8790
*/
88-
public static void displaySupportedLanguages(PrintStream out) {
91+
public static void displaySupportedLanguages(PrintStream out, Optional<String> tgtLang) {
8992
Translate translate = createTranslateService();
90-
List<Language> languages = translate.listSupportedLanguages();
93+
LanguageListOption target = LanguageListOption.targetLanguage(tgtLang.orElse("en"));
94+
List<Language> languages = translate.listSupportedLanguages(target);
9195

9296
for (Language language : languages) {
9397
out.printf("Name: %s, Code: %s\n", language.name(), language.code());
@@ -137,7 +141,12 @@ public static void main(String[] args) {
137141
TranslateText.translateText(text, System.out);
138142
}
139143
} else if (command.equals("langsupport")) {
140-
TranslateText.displaySupportedLanguages(System.out);
144+
try {
145+
String target = args[1];
146+
TranslateText.displaySupportedLanguages(System.out, Optional.of(target));
147+
} catch (ArrayIndexOutOfBoundsException ex) {
148+
TranslateText.displaySupportedLanguages(System.out, Optional.empty());
149+
}
141150
}
142151
}
143152
}

translate/src/test/java/com/google/cloud/translate/samples/TranslateTextTest.java

+35-2
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@
2626
import java.io.PrintStream;
2727
import java.util.Arrays;
2828
import java.util.List;
29+
import java.util.Optional;
2930

3031
/**
31-
* Unit tests for {@link Analyze}.
32+
* Unit tests for {@link TranslateText}.
3233
*/
3334
@RunWith(JUnit4.class)
3435
public class TranslateTextTest {
@@ -56,7 +57,39 @@ public class TranslateTextTest {
5657
PrintStream out = new PrintStream(bout);
5758

5859
// Act
59-
TranslateText.displaySupportedLanguages(out);
60+
TranslateText.displaySupportedLanguages(out, Optional.empty());
61+
62+
// Assert
63+
String got = bout.toString();
64+
for (String language : languages) {
65+
assertThat(got).contains(language);
66+
}
67+
}
68+
69+
@Test public void testSupportedLanguagesTargetFrench() throws Exception {
70+
//Supported languages
71+
List<String> languages = Arrays.asList(
72+
"Afrikaans", "Albanais", "Allemand", "Amharique", "Anglais", "Arabe", "Arménien",
73+
"Azéri", "Basque", "Bengali", "Biélorusse", "Birman", "Bosniaque", "Bulgare", "Catalan",
74+
"Cebuano", "Chichewa", "Chinois (simplifié)", "Chinois (traditionnel)", "Cingalais",
75+
"Coréen", "Corse", "Créole haïtien", "Croate", "Danois", "Espagnol", "Espéranto",
76+
"Estonien", "Finnois", "Français", "Frison", "Gaélique (Écosse)", "Galicien",
77+
"Gallois", "Géorgien", "Grec", "Gujarati", "Haoussa", "Hawaïen", "Hébreu", "Hindi",
78+
"Hmong", "Hongrois", "Igbo", "Indonésien", "Irlandais", "Islandais", "Italien",
79+
"Japonais", "Javanais", "Kannada", "Kazakh", "Khmer", "Kirghiz", "Kurde", "Laotien",
80+
"Latin", "Letton", "Lituanien", "Luxembourgeois", "Macédonien", "Malaisien", "Malayalam",
81+
"Malgache", "Maltais", "Maori", "Marathi", "Mongol", "Néerlandais", "Népalais", "Norvégien",
82+
"Ouzbek", "Pachtô", "Panjabi", "Persan", "Polonais", "Portugais", "Roumain", "Russe",
83+
"Samoan", "Serbe", "Sesotho", "Shona", "Sindhî", "Slovaque", "Slovène", "Somali",
84+
"Soundanais", "Suédois", "Swahili", "Tadjik", "Tagalog", "Tamoul", "Tchèque", "Telugu",
85+
"Thaï", "Turc", "Ukrainien", "Urdu", "Vietnamien", "Xhosa", "Yiddish", "Yorouba","Zoulou");
86+
87+
// Arrange
88+
ByteArrayOutputStream bout = new ByteArrayOutputStream();
89+
PrintStream out = new PrintStream(bout);
90+
91+
// Act
92+
TranslateText.displaySupportedLanguages(out, Optional.of("fr"));
6093

6194
// Assert
6295
String got = bout.toString();

0 commit comments

Comments
 (0)