object Translations { enum class TranslationKey { WELCOME, HELP, THANKS, UPCOMINGS_NOT_FOUND, ASKING_FOR_NOW_PLAYING, UPCOMINGS_RESPONSE, ERROR_ASKING_NOW_PLAYING, NOW_PLAYING_RESPONSE, REQUESTING_UPCOMINGS, REQUESTING_NOW_PLAYING_MOVIES, AND } fun getMessage(language: String, messageKey: TranslationKey) = messages.getValue(language)[messageKey] ?: throw InternalServerErrorException("There is not messages for $language - $messageKey") private val messages = mapOf( "es" to mapOf( TranslationKey.WELCOME to "¡Bienvenido a Estrenos de Cine! Pregúntame por los estrenos de cine de esta " + "semana", TranslationKey.HELP to "Pregúntame por los estrenos de cine de esta semana, de la próxima semana o de este mes", TranslationKey.THANKS to "¡Gracias por usar Estrenos de cine!", TranslationKey.UPCOMINGS_NOT_FOUND to "Lo siento, no tengo estrenos para esa fecha.", TranslationKey.ASKING_FOR_NOW_PLAYING to " ¿Te gustaría conocer la cartelera actual?", TranslationKey.UPCOMINGS_RESPONSE to "Las películas que se estrenan son", TranslationKey.ERROR_ASKING_NOW_PLAYING to "Lo siento, no he podido consultar la cartelera actual.", TranslationKey.NOW_PLAYING_RESPONSE to "Las películas en cartelera son", TranslationKey.REQUESTING_UPCOMINGS to "voy a consultar los estrenos para esa fecha.", TranslationKey.REQUESTING_NOW_PLAYING_MOVIES to "voy a consultar la cartelera actual.", TranslationKey.AND to "y" ), "en" to mapOf( TranslationKey.WELCOME to "Welcome to Upcoming Movies! tu-.", TranslationKey.HELP to "Ask me for the upcoming movies of this week, next week or this month.", TranslationKey.THANKS to "Ok. Thank you for using Upcoming Movies!", TranslationKey.UPCOMINGS_NOT_FOUND to "Sorry, I could not find any upcoming for that date.", TranslationKey.ASKING_FOR_NOW_PLAYING to " Do you want to know what movies are playing now?", TranslationKey.UPCOMINGS_RESPONSE to "Upcoming movies are", TranslationKey.ERROR_ASKING_NOW_PLAYING to "Sorry, I could not get the movies that are playing now", TranslationKey.NOW_PLAYING_RESPONSE to "Movies playing now are", TranslationKey.REQUESTING_UPCOMINGS to "I am gonna check it!", TranslationKey.REQUESTING_NOW_PLAYING_MOVIES to "I am gonna check what is playing now", TranslationKey.AND to "and" ), ... // More languages ) }