Files
AAS_NewGeneration/src/content/Language.kt
2026-02-09 17:03:50 +07:00

53 lines
1.6 KiB
Kotlin

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<String> {
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 }
}
}
}