Skip to content

Commit

Permalink
feat: Add missing TTS languages (#528)
Browse files Browse the repository at this point in the history
* feat: Add missing TTS languages

* Bump version: v8.6.0 → v8.7.0
  • Loading branch information
SMadani committed May 15, 2024
1 parent cadccd2 commit d1a9cd6
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 56 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[bumpversion]
commit = True
tag = False
current_version = v8.6.0
current_version = v8.7.0
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+)(?P<build>\d+))?
serialize =
{major}.{minor}.{patch}-{release}{build}
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

# [8.7.0] - 2024-05-??
- Added missing supported languages to `TextToSpeechLanguage` enum

# [8.6.0] - 2024-04-18
- Added Experience Composer to Video API
- Fixed regression in `createSession` Video endpoint
Expand Down
11 changes: 6 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ plugins {
id 'maven-publish'
id 'io.github.gradle-nexus.publish-plugin' version '2.0.0'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id "com.github.ben-manes.versions" version '0.51.0'
}

group = "com.vonage"
archivesBaseName = "server-sdk"
version = "8.6.0"
version = "8.7.0"

ext.githubPath = 'Vonage/vonage-java-sdk'

Expand All @@ -18,11 +19,11 @@ repositories {
}

dependencies {
def jacksonVersion = '2.17.0'
def jacksonVersion = '2.17.1'
def httpclientVersion = '4.5.14'
def junitVersion = '5.10.2'
def junitVersion = '5.11.0-M1'

implementation "commons-codec:commons-codec:1.16.1"
implementation 'commons-codec:commons-codec:1.17.0'
implementation 'org.apache.commons:commons-lang3:3.14.0'
implementation "org.apache.httpcomponents:httpclient:$httpclientVersion"
implementation "org.apache.httpcomponents:httpmime:$httpclientVersion"
Expand All @@ -32,7 +33,7 @@ dependencies {

testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"
testImplementation "org.mockito:mockito-core:5.11.0"
testImplementation "org.mockito:mockito-core:5.12.0"
testImplementation "jakarta.servlet:jakarta.servlet-api:4.0.4"
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/vonage/client/HttpWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
*/
public class HttpWrapper {
private static final String CLIENT_NAME = "vonage-java-sdk";
private static final String CLIENT_VERSION = "8.6.0";
private static final String CLIENT_VERSION = "8.7.0";
private static final String JAVA_VERSION = System.getProperty("java.version");
private static final String USER_AGENT = String.format("%s/%s java/%s", CLIENT_NAME, CLIENT_VERSION, JAVA_VERSION);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ There are a few small changes to be aware of when migrating to Vonage from OpenT
Many of these are straightforward and your IDE will help you with auto-completion, but for clarity, consider the following:

- `projectId` is now `applicationId` where applicable.
- Stronger typing used where applicable (e.g. `UUID` and `URI` instead of `String`)
- Stronger typing used where applicable (e.g. `UUID` and `URI` instead of `String`).
- `playDTMF` renamed to `sendDtmf` for all applicable DTMF endpoints.
- `OpenTok#disableForceMute(String)` replaced by `VideoClient#muteSession(String, boolean, String...)`. You need to set the `active` boolean parameter to `false` to achieve the same effect.
- The `MuteAllProperties` class and parameter in `OpenTok` has been replaced by using the `excludedStreamIds` directly in the method parameter of `VideoClient#muteSession(String, boolean, Collection<String>)` (or `VideoClient#muteSession(String, boolean, String...) for convenience`). These methods replace `OpenTok#forceMuteAll(String, MuteAllProperties)`.
Expand Down
23 changes: 21 additions & 2 deletions src/main/java/com/vonage/client/voice/TextToSpeechLanguage.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,33 @@

/**
* Enum representing the available TTS language options. See
* <a href=https://developer.vonage.com/voice/voice-api/guides/text-to-speech#supported-languages>the documentation</a>
* for previews and valid styles.
* <a href=https://developer.vonage.com/voice/voice-api/guides/text-to-speech#supported-languages>
* the documentation</a> for previews and valid styles.
*/
public enum TextToSpeechLanguage {
AFRIKAANS("af-ZA"),
ARABIC("ar"),
BULGARIAN("bg-BG"),
BENGALI("bn-IN"),
SPANISH_CATALAN("ca-ES"),
CHINESE_MANDARIN("cmn-CN"),
TAIWANESE_MANDARIN("cmn-TW"),
CZECH("cs-CZ"),
WELSH("cy-GB"),
DANISH("da-DK"),
AUSTRIAN_GERMAN("de-AT"),
GERMAN("de-DE"),
GREEK("el-GR"),
AUSTRALIAN_ENGLISH("en-AU"),
UNITED_KINGDOM_ENGLISH("en-GB"),
SCOTTISH_ENGLISH("en-GB-SCT"),
WELSH_ENGLISH("en-GB-WLS"),
IRISH_ENGLISH("en-IE"),
INDIAN_ENGLISH("en-IN"),
NEW_ZEALAND_ENGLISH("en-NZ"),
AMERICAN_ENGLISH("en-US"),
SOUTH_AFRICAN_ENGLISH("en-ZA"),
COLOMBIAN_SPANISH("es-CO"),
SPANISH("es-ES"),
MEXICAN_SPANISH("es-MX"),
AMERICAN_SPANISH("es-US"),
Expand All @@ -47,24 +55,35 @@ public enum TextToSpeechLanguage {
FILIPINO("fil-PH"),
CANADIAN_FRENCH("fr-CA"),
FRENCH("fr-FR"),
SPANISH_GALICIAN("gl-ES"),
GUJARATI("gu-IN"),
HEBREW("he-IL"),
HINDI("hi-IN"),
HUNGARIAN("hu-HU"),
INDONESIAN("id-ID"),
ICELANDIC("is-IS"),
ITALIAN("it-IT"),
JAPANESE("ja-JP"),
KANNADA("kn-IN"),
KOREAN("ko-KR"),
LATVIAN("lv-LV"),
MALAYALAM("ml-IN"),
MALAY("ms-MY"),
NORWEGIAN("no-NO"),
NORWEGIAN_BOKMAL("nb-NO"),
BELGIAN_DUTCH("nl-BE"),
DUTCH("nl-NL"),
PUNJABI("pa-IN"),
POLISH("pl-PL"),
BRAZILIAN_PORTUGUESE("pt-BR"),
PORTUGUESE("pt-PT"),
ROMANIAN("ro-RO"),
RUSSIAN("ru-RU"),
SLOVAK("sk-SK"),
SERBIAN("sr-RS"),
SWEDISH("sv-SE"),
TAMIL("ta-IN"),
TELUGU("te-IN"),
THAI("th-TH"),
TURKISH("tr-TR"),
UKRAINIAN("uk-UA"),
Expand Down
114 changes: 68 additions & 46 deletions src/test/java/com/vonage/client/voice/TextToSpeechLanguageTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,55 +17,77 @@

import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.*;
import static com.vonage.client.voice.TextToSpeechLanguage.*;

public class TextToSpeechLanguageTest {

@Test
public void testLanguageNames(){
assertEquals("ar", TextToSpeechLanguage.ARABIC.getLanguage());
assertEquals("ca-ES", TextToSpeechLanguage.SPANISH_CATALAN.getLanguage());
assertEquals("cmn-CN", TextToSpeechLanguage.CHINESE_MANDARIN.getLanguage());
assertEquals("cmn-TW", TextToSpeechLanguage.TAIWANESE_MANDARIN.getLanguage());
assertEquals("cs-CZ", TextToSpeechLanguage.CZECH.getLanguage());
assertEquals("cy-GB", TextToSpeechLanguage.WELSH.getLanguage());
assertEquals("da-DK", TextToSpeechLanguage.DANISH.getLanguage());
assertEquals("de-DE", TextToSpeechLanguage.GERMAN.getLanguage());
assertEquals("el-GR", TextToSpeechLanguage.GREEK.getLanguage());
assertEquals("en-AU", TextToSpeechLanguage.AUSTRALIAN_ENGLISH.getLanguage());
assertEquals("en-GB", TextToSpeechLanguage.UNITED_KINGDOM_ENGLISH.getLanguage());
assertEquals("en-GB-WLS", TextToSpeechLanguage.WELSH_ENGLISH.getLanguage());
assertEquals("en-IN", TextToSpeechLanguage.INDIAN_ENGLISH.getLanguage());
assertEquals("en-US", TextToSpeechLanguage.AMERICAN_ENGLISH.getLanguage());
assertEquals("en-ZA", TextToSpeechLanguage.SOUTH_AFRICAN_ENGLISH.getLanguage());
assertEquals("es-ES", TextToSpeechLanguage.SPANISH.getLanguage());
assertEquals("es-MX", TextToSpeechLanguage.MEXICAN_SPANISH.getLanguage());
assertEquals("es-US", TextToSpeechLanguage.AMERICAN_SPANISH.getLanguage());
assertEquals("eu-ES", TextToSpeechLanguage.BASQUE.getLanguage());
assertEquals("fi-FI", TextToSpeechLanguage.FINISH.getLanguage());
assertEquals("fil-PH", TextToSpeechLanguage.FILIPINO.getLanguage());
assertEquals("fr-CA", TextToSpeechLanguage.CANADIAN_FRENCH.getLanguage());
assertEquals("he-IL", TextToSpeechLanguage.HEBREW.getLanguage());
assertEquals("hi-IN", TextToSpeechLanguage.HINDI.getLanguage());
assertEquals("hu-HU", TextToSpeechLanguage.HUNGARIAN.getLanguage());
assertEquals("id-ID", TextToSpeechLanguage.INDONESIAN.getLanguage());
assertEquals("is-IS", TextToSpeechLanguage.ICELANDIC.getLanguage());
assertEquals("it-IT", TextToSpeechLanguage.ITALIAN.getLanguage());
assertEquals("ja-JP", TextToSpeechLanguage.JAPANESE.getLanguage());
assertEquals("ko-KR", TextToSpeechLanguage.KOREAN.getLanguage());
assertEquals("nb-NO", TextToSpeechLanguage.NORWEGIAN_BOKMAL.getLanguage());
assertEquals("no-NO", TextToSpeechLanguage.NORWEGIAN.getLanguage());
assertEquals("nl-NL", TextToSpeechLanguage.DUTCH.getLanguage());
assertEquals("pl-PL", TextToSpeechLanguage.POLISH.getLanguage());
assertEquals("pt-BR", TextToSpeechLanguage.BRAZILIAN_PORTUGUESE.getLanguage());
assertEquals("pt-PT", TextToSpeechLanguage.PORTUGUESE.getLanguage());
assertEquals("ro-RO", TextToSpeechLanguage.ROMANIAN.getLanguage());
assertEquals("ru-RU", TextToSpeechLanguage.RUSSIAN.getLanguage());
assertEquals("sk-SK", TextToSpeechLanguage.SLOVAK.getLanguage());
assertEquals("sv-SE", TextToSpeechLanguage.SWEDISH.getLanguage());
assertEquals("th-TH", TextToSpeechLanguage.THAI.getLanguage());
assertEquals("tr-TR", TextToSpeechLanguage.TURKISH.getLanguage());
assertEquals("uk-UA", TextToSpeechLanguage.UKRAINIAN.getLanguage());
assertEquals("vi-VN", TextToSpeechLanguage.VIETNAMESE.getLanguage());
assertEquals("yue-CN", TextToSpeechLanguage.CHINESE_YUE.getLanguage());
public void testLanguageNames() {
assertEquals("af-ZA", AFRIKAANS.getLanguage());
assertEquals("ar", ARABIC.getLanguage());
assertEquals("bg-BG", BULGARIAN.getLanguage());
assertEquals("bn-IN", BENGALI.getLanguage());
assertEquals("ca-ES", SPANISH_CATALAN.getLanguage());
assertEquals("cmn-CN", CHINESE_MANDARIN.getLanguage());
assertEquals("cmn-TW", TAIWANESE_MANDARIN.getLanguage());
assertEquals("cs-CZ", CZECH.getLanguage());
assertEquals("cy-GB", WELSH.getLanguage());
assertEquals("da-DK", DANISH.getLanguage());
assertEquals("de-AT", AUSTRIAN_GERMAN.getLanguage());
assertEquals("de-DE", GERMAN.getLanguage());
assertEquals("el-GR", GREEK.getLanguage());
assertEquals("en-AU", AUSTRALIAN_ENGLISH.getLanguage());
assertEquals("en-GB", UNITED_KINGDOM_ENGLISH.getLanguage());
assertEquals("en-GB-SCT", SCOTTISH_ENGLISH.getLanguage());
assertEquals("en-GB-WLS", WELSH_ENGLISH.getLanguage());
assertEquals("en-IE", IRISH_ENGLISH.getLanguage());
assertEquals("en-IN", INDIAN_ENGLISH.getLanguage());
assertEquals("en-NZ", NEW_ZEALAND_ENGLISH.getLanguage());
assertEquals("en-US", AMERICAN_ENGLISH.getLanguage());
assertEquals("en-ZA", SOUTH_AFRICAN_ENGLISH.getLanguage());
assertEquals("es-CO", COLOMBIAN_SPANISH.getLanguage());
assertEquals("es-ES", SPANISH.getLanguage());
assertEquals("es-MX", MEXICAN_SPANISH.getLanguage());
assertEquals("es-US", AMERICAN_SPANISH.getLanguage());
assertEquals("eu-ES", BASQUE.getLanguage());
assertEquals("fi-FI", FINISH.getLanguage());
assertEquals("fil-PH", FILIPINO.getLanguage());
assertEquals("fr-CA", CANADIAN_FRENCH.getLanguage());
assertEquals("fr-FR", FRENCH.getLanguage());
assertEquals("gl-ES", SPANISH_GALICIAN.getLanguage());
assertEquals("gu-IN", GUJARATI.getLanguage());
assertEquals("he-IL", HEBREW.getLanguage());
assertEquals("hi-IN", HINDI.getLanguage());
assertEquals("hu-HU", HUNGARIAN.getLanguage());
assertEquals("id-ID", INDONESIAN.getLanguage());
assertEquals("is-IS", ICELANDIC.getLanguage());
assertEquals("it-IT", ITALIAN.getLanguage());
assertEquals("ja-JP", JAPANESE.getLanguage());
assertEquals("kn-IN", KANNADA.getLanguage());
assertEquals("ko-KR", KOREAN.getLanguage());
assertEquals("lv-LV", LATVIAN.getLanguage());
assertEquals("ml-IN", MALAYALAM.getLanguage());
assertEquals("ms-MY", MALAY.getLanguage());
assertEquals("nb-NO", NORWEGIAN_BOKMAL.getLanguage());
assertEquals("no-NO", NORWEGIAN.getLanguage());
assertEquals("nl-BE", BELGIAN_DUTCH.getLanguage());
assertEquals("nl-NL", DUTCH.getLanguage());
assertEquals("pa-IN", PUNJABI.getLanguage());
assertEquals("pl-PL", POLISH.getLanguage());
assertEquals("pt-BR", BRAZILIAN_PORTUGUESE.getLanguage());
assertEquals("pt-PT", PORTUGUESE.getLanguage());
assertEquals("ro-RO", ROMANIAN.getLanguage());
assertEquals("ru-RU", RUSSIAN.getLanguage());
assertEquals("sk-SK", SLOVAK.getLanguage());
assertEquals("sr-RS", SERBIAN.getLanguage());
assertEquals("sv-SE", SWEDISH.getLanguage());
assertEquals("ta-IN", TAMIL.getLanguage());
assertEquals("te-IN", TELUGU.getLanguage());
assertEquals("th-TH", THAI.getLanguage());
assertEquals("tr-TR", TURKISH.getLanguage());
assertEquals("uk-UA", UKRAINIAN.getLanguage());
assertEquals("vi-VN", VIETNAMESE.getLanguage());
assertEquals("yue-CN", CHINESE_YUE.getLanguage());
assertEquals("Unknown", UNKNOWN.getLanguage());
}
}

0 comments on commit d1a9cd6

Please sign in to comment.