spookylukey / elm-intl

Bindings to JavaScript Internationalization API

Home Page:http://package.elm-lang.org/packages/thetalecrafter/elm-intl/latest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Bindings to JavaScript Internationalization API

http://package.elm-lang.org/packages/thetalecrafter/elm-intl/latest

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Elm 69.2%Language:JavaScript 30.8%