elm package install thetalecrafter/elm-intl
This library contains bindings to the Intl ECMAScript
Internationalization API. Including Collator
, DateTimeFormat
, and
NumberFormat
.
For environments that do not include the Internationalization API, you will need to load a polyfill. Node.js < 4 and Safari < 10 are known to need the polyfill.
First get a Locale to use:
import Intl.Locale exposing (Locale, fromLanguageTag, en)
import Maybe exposing (withDefault)
appLocale : Locale
appLocale =
fromLanguageTag "pt-BR"
|> withDefault en
You may then use it to create a Collator, DateTimeFormat, or NumberFormat:
import Intl.Collator as Collator
import List exposing (sortWith)
localeCompare : String -> String -> Order
localeCompare =
Collator.fromLocale appLocale
|> Collator.compare
localeSort : List String -> List String
localeSort =
sortWith localeCompare
import Intl.DateTimeFormat as DateTimeFormat
formatDate : Date -> String
formatDate =
DateTimeFormat.fromLocale appLocale
|> DateTimeFormat.format
import Intl.NumberFormat as NumberFormat
formatNumber : number -> String
formatNumber =
NumberFormat.fromLocale appLocale
|> NumberFormat.format
All of the Intl objects can be configured with more detailed options using
fromOptions
. See the full docs for more details.