diff options
Diffstat (limited to 'src/main/scala/com/drivergrp/core/messages.scala')
-rw-r--r-- | src/main/scala/com/drivergrp/core/messages.scala | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/main/scala/com/drivergrp/core/messages.scala b/src/main/scala/com/drivergrp/core/messages.scala index cf0bb6c..105d1e3 100644 --- a/src/main/scala/com/drivergrp/core/messages.scala +++ b/src/main/scala/com/drivergrp/core/messages.scala @@ -3,37 +3,23 @@ package com.drivergrp.core import java.util.Locale -import com.drivergrp.core.config.ConfigModule -import com.drivergrp.core.logging.{Logger, LoggerModule} +import com.drivergrp.core.logging.Logger +import com.typesafe.config.Config import scala.collection.JavaConverters._ -import scala.collection.concurrent.TrieMap /** * Scala internationalization (i18n) support */ object messages { - trait MessagesModule { - - def messages: Messages - } - - trait ConfigMessagesModule extends MessagesModule { - this: ConfigModule with LoggerModule => - - private val loadedFromConfig = new TrieMap[Locale, Messages]() - val locale: Locale = Locale.US - - val messages: Messages = { - loadedFromConfig.getOrElseUpdate(locale, { - val map = config.getConfig(locale.getISO3Language).root().unwrapped().asScala.mapValues(_.toString).toMap - Messages(map, locale, log) - }) + object Messages { + def messages(config: Config, log: Logger, locale: Locale = Locale.US): Messages = { + val map = config.getConfig(locale.getLanguage).root().unwrapped().asScala.mapValues(_.toString).toMap + Messages(map, locale, log) } } - case class Messages(map: Map[String, String], locale: Locale, log: Logger) { /** |