diff options
author | Jakob Odersky <jakob@driver.xyz> | 2018-06-29 15:26:09 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@driver.xyz> | 2018-06-29 15:26:09 -0700 |
commit | 901b02274fdfc08030443aac2f1760fc479b3816 (patch) | |
tree | 5d5f6d6d58fc9caa22eb836ccf70936a5b45ab81 /src/main/scala/xyz/driver/core/messages.scala | |
parent | 981cc63b94c6df5fc8f4d2f6ebafd1a6f27d7c4e (diff) | |
download | driver-core-901b02274fdfc08030443aac2f1760fc479b3816.tar.gz driver-core-901b02274fdfc08030443aac2f1760fc479b3816.tar.bz2 driver-core-901b02274fdfc08030443aac2f1760fc479b3816.zip |
Add build support for ScalaJS
Diffstat (limited to 'src/main/scala/xyz/driver/core/messages.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/messages.scala | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/main/scala/xyz/driver/core/messages.scala b/src/main/scala/xyz/driver/core/messages.scala deleted file mode 100644 index 6b1bc7e..0000000 --- a/src/main/scala/xyz/driver/core/messages.scala +++ /dev/null @@ -1,58 +0,0 @@ -package xyz.driver.core - -import java.util.Locale - -import com.typesafe.config.{Config, ConfigException} -import com.typesafe.scalalogging.Logger - -/** - * Scala internationalization (i18n) support - */ -object messages { - - object Messages { - def messages(config: Config, log: Logger, locale: Locale = Locale.US): Messages = { - val map = config.getConfig(locale.getLanguage) - Messages(map, locale, log) - } - } - - final case class Messages(map: Config, locale: Locale, log: Logger) { - - /** - * Returns message for the key - * - * @param key key - * @return message - */ - def apply(key: String): String = { - try { - map.getString(key) - } catch { - case _: ConfigException => - log.error(s"Message with key '$key' not found for locale '${locale.getLanguage}'") - key - } - } - - /** - * Returns message for the key and formats that with parameters - * - * @example "Hello {0}!" with "Joe" will be "Hello Joe!" - * - * @param key key - * @param params params to be embedded - * @return formatted message - */ - def apply(key: String, params: Any*): String = { - - def format(formatString: String, params: Seq[Any]) = - params.zipWithIndex.foldLeft(formatString) { - case (res, (value, index)) => res.replace(s"{$index}", value.toString) - } - - val template = apply(key) - format(template, params) - } - } -} |