package content /** * Enum class representing different languages. * * @property name The name of the language, as in Soundbank Database */ enum class Language(val value: String, val googletts: String) { INDONESIA(value="INDONESIA", googletts="id-ID"), ENGLISH(value="ENGLISH", googletts="en-US"), LOCAL(value="LOCAL", googletts=""), JAPANESE(value="JAPANESE", googletts="ja-JP"), CHINESE(value="CHINESE", googletts="zh-CN"), ARABIC(value="ARABIC", googletts="ar-SA"); companion object{ var DEFAULT: Language = INDONESIA /** * Default language link string */ fun DefaultLanguageLink() : String { return DEFAULT.value+";"+ENGLISH.value } /** * Default language order */ fun LanguageOrder() : List { return listOf( INDONESIA.value, LOCAL.value, ENGLISH.value, CHINESE.value, JAPANESE.value, ARABIC.value ) } fun from_GoogleTTSLanguage(lang: google.GoogleTTSLanguage) : Language { return when(lang) { google.GoogleTTSLanguage.Indonesia -> INDONESIA google.GoogleTTSLanguage.English -> ENGLISH google.GoogleTTSLanguage.Japanese -> JAPANESE google.GoogleTTSLanguage.Chinese -> CHINESE google.GoogleTTSLanguage.Arabic -> ARABIC } } fun from_GoogleTTSLanguage(code: String) : Language? { return entries.find { it.googletts == code } } } }