2013-02-27 17:12:13 -07:00
|
|
|
package lila.app
|
2012-06-07 18:19:21 -06:00
|
|
|
package templating
|
|
|
|
|
|
|
|
import java.text.NumberFormat
|
2013-12-27 15:12:20 -07:00
|
|
|
import java.util.Locale
|
2020-02-09 07:38:26 -07:00
|
|
|
import play.api.i18n.Lang
|
2020-08-16 06:54:32 -06:00
|
|
|
import scala.collection.mutable
|
2012-06-07 18:19:21 -06:00
|
|
|
|
2014-02-17 02:12:19 -07:00
|
|
|
trait NumberHelper { self: I18nHelper =>
|
2020-09-29 23:58:45 -06:00
|
|
|
|
2020-08-16 06:54:32 -06:00
|
|
|
private val formatters = mutable.AnyRefMap.empty[String, NumberFormat]
|
2012-06-07 18:19:21 -06:00
|
|
|
|
2020-02-09 07:38:26 -07:00
|
|
|
private def formatter(implicit lang: Lang): NumberFormat =
|
2012-06-07 18:19:21 -06:00
|
|
|
formatters.getOrElseUpdate(
|
2020-02-09 07:38:26 -07:00
|
|
|
lang.language,
|
|
|
|
NumberFormat getInstance new Locale(lang.language)
|
2017-02-14 08:34:07 -07:00
|
|
|
)
|
2012-06-07 18:19:21 -06:00
|
|
|
|
2020-02-09 07:38:26 -07:00
|
|
|
def showMillis(millis: Int)(implicit lang: Lang) = formatter.format((millis / 100).toDouble / 10)
|
2014-02-06 11:22:28 -07:00
|
|
|
|
2019-12-13 11:45:21 -07:00
|
|
|
implicit final class RichInt(number: Int) {
|
2020-02-09 07:38:26 -07:00
|
|
|
def localize(implicit lang: Lang): String = formatter format number
|
2012-06-07 18:19:21 -06:00
|
|
|
}
|
2020-06-11 17:28:48 -06:00
|
|
|
|
|
|
|
implicit final class RichLong(number: Long) {
|
|
|
|
def localize(implicit lang: Lang): String = formatter format number
|
|
|
|
}
|
2012-06-07 18:19:21 -06:00
|
|
|
}
|