cquiroz / scala-java-locales

Implementation of java locale for scala.js
Other
47 stars 27 forks source link

Localize SimpleDateFormat month names #212

Open mcallisto opened 4 years ago

mcallisto commented 4 years ago

While running the following test on a scalaJS only module of mine:

import java.text.SimpleDateFormat
import java.util.{Date, Locale}

import org.scalatest.flatspec.AnyFlatSpec

class localeTest extends AnyFlatSpec {

  "A date" can "be formatted according to locale" in {
    val pattern = "dd MMMM yyyy"
    val simpleDateFormat = new SimpleDateFormat(pattern, Locale.ENGLISH)
    assert(simpleDateFormat.format(new Date(0L)) === "01 January 1970")
  }

}

I am not getting a localized month name

"01 [0001] 1970" did not equal "01 [January] 1970"

even if the CLDR data seem in place, data.scala is written and its object _en contains the names of the months.

In order to abstract from my system I have tried the following snippet https://scastie.scala-lang.org/mcallisto/gdksVpgMRhyKk2ct2lFBww/6 and it fails in a similar fashion.

cquiroz commented 4 years ago

Support for SimpleDateFormat is not that great, could you try using DateTimeFormatter instead? https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

mcallisto commented 4 years ago

Trying another snippet with DateTimeFormatter https://scastie.scala-lang.org/mcallisto/gdksVpgMRhyKk2ct2lFBww/49

But Scastie fails

sbt.librarymanagement.ResolveException: Error downloading io.github.cquiroz:scalajavatime_sjs1_2.13:2.0.0
  Not found

not sure why, ScalaJs 1.1.1 on Scala 2.13.3.