elm-intl Build Status

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.

Basic information
Browse source on Github
Elm version: 0.17.1 <= v < 0.18.0
Contains Native Module(s)
Intl.Collator Intl.Currency Intl.DateTimeFormat Intl.Locale Intl.NumberFormat Intl.TimeZone