globalizejs/globalize

Docs: Use Globalize with Ecma-402

Open

#532 opened on Oct 10, 2015

View on GitHub
 (3 comments) (0 reactions) (0 assignees)JavaScript (645 forks)batch import
docshelp wantedquick change

Repository metrics

Stars
 (4,759 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

We should provide examples demonstrating how certain modules (e.g., message, relative time, unit formatters) could be used along with Ecma-402.

:boom: It's important to highlight that such mixture of libraries will decrease the supported browsers (or will require user to polyfill when needed).

I think this topic deserves presence in the main documentation (REDAME.md) and specific examples inside of each of the mentioned modules.

Requires:

  • Add unit formatting #512
  • Relative Time: Accept numberFormatter as option #531

Examples:

var ecmaNumberFmt = Intl.NumberFormat( "en" );

Globalize.loadMessages({
  en: {
    task: [
      "You have {count, plural,",
      "     =0 {no tasks}",
      "    one {one task}",
      "  other {{formattedCount} tasks}",
      "} remaining"
    ]
  }
});

taskFormatter = Globalize( "en" ).messageFormatter( "task" );

taskFormatter({
  count: 0,
  formattedCount: ecmaNumberFmt( 0 )
});

var relativeTimeFormatter = Globalize( "en" ).relativeTimeFormatter(  "month", {
  numberFormatter: ecmaNumberFmt
});

var unitFormatter = Globalize( "en" ).unitFormatter(  "month", {
  numberFormatter: ecmaNumberFmt
});

Ref #399

Contributor guide