Skip to content

Latest commit

 

History

History
122 lines (86 loc) · 3.43 KB

README.md

File metadata and controls

122 lines (86 loc) · 3.43 KB

Ember Format Build Status npm version

[WIP] Ember Format requires Ember 1.10.0 (in beta)

Ember Format allows developers to internationalize their ambitious applications.

The formatting capabilities rely on the set of FormatJS's core libraries and Intl's formatting objects:

These APIs are built on the following industry standards:

Installation

Install from the project's folder.

$ ember install:addon ember-format

Generate application's default locale with CLDR data (and any other).

$ ember generate locale en

Register default locale in the configuration file.

// config/environment.js
APP: {
  LOCALE: 'en'
}

Usage

Set Up a Locale

// locales/en.js
export default {
  locales: 'en',
  messages: {
    car: 'a car'
  },
  formats: { }
};

Route's model

// routes/index.js
import Ember from 'ember';

export default Ember.Route.extend({

  model: function() {
    return {
      createdAt: Date.now(),
      price: 1234,
      currency: 'USD',
      ago: Date.now() - (24 * 60 * 60 * 1000)
    };
  }

});

Template Helpers

{{! templates/index.js }}
{{format "number" 1234}}
{{format-date model.createdAt}}
{{format-message "car"}}
{{format-number model.price style="currency" currency=model.currency}}
{{format-relative model.ago}}

You can also specify formatting options using a single attribute options.

  • visit dummy application in this repository for more examples

Change Application's Locale

A locale is a service injected by default into:

  • application,
  • route,
  • controller,
  • component,
  • view.

To change current locale, set the code property with one of the available locale's codes:

// controllers/application.js
changeLocaleToCzech: function() {
  var locale = this.get('locale');

  locale.set('code', 'cs');
}

Contribution

License

Ember Format is available under the MIT license. See the LICENSE file for more info.