Bindings to JavaScript Internationalization API
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
LICENSE
README.md
elm-package.json

README.md

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.

Usage

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.