io.github.freya022.botcommands.api.localization.LocalizationTemplate.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of BotCommands Show documentation
Show all versions of BotCommands Show documentation
A Kotlin-first (and Java) framework that makes creating Discord bots a piece of cake, using the JDA library.
package io.github.freya022.botcommands.api.localization
/**
* Represents an entire localizable string, with parameters.
*
* You can implement your own template, the default one is [DefaultLocalizationTemplate].
*
* @see DefaultLocalizationTemplate
*/
interface LocalizationTemplate {
/**
* Processes the localization template and replaces the named parameters by their values
*/
fun localize(vararg args: Localization.Entry): String
}
/**
* Processes the localization template and replaces the named parameters by their values
*/
fun LocalizationTemplate.localize(vararg args: Pair): String =
localize(*args.map { (k, v) -> Localization.Entry.entry(k, v) }.toTypedArray())