Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
ember-intl
Advanced tools
This library provides Ember Handlebar helpers and a localization service injected into views, routes, models, controllers, and components. The service, and helpers, provide a way to format dates, numbers, strings messages, including pluralization.
npm install ember-intl --save-dev
ember g ember-intl
ember g locale en
<script src="/assets/intl/polyfill/Intl.complete.js"></script>
export default {
locale: "en",
...
messages: {
product: {
info: '{product} will cost {price, number, EUR} if ordered by {deadline, date, time}',
html: {
info: '<strong>{product}</strong> will cost <em>{price, number, EUR}</em> if ordered by {deadline, date, time}'
}
}
}
}
ready
hook: var App = Ember.Application.extend({
ready: function () {
// setup default locale to fr but will fallback to en
this.intl.setProperties({
locales: ['fr-FR'],
defaultLocales: ['en']
});
}
});
Formats numbers using Intl.NumberFormat
, and returns the formatted string value.
{{format-number num}}
{{format-number num format='EUR'}}
{{format-number num style='currency' currency='USD'}}
Formats dates using Intl.DateTimeFormat
, and returns the formatted string value.
{{format-date now weekday='long' timeZone='UTC'}}
{{format-date now hour='numeric' minute='numeric' hour12=false}}
This is just like the {{format-date}}
helper, except it will reference any string-named format
from formats.time
.
{{format-time now format='hhmmss'}}
{{format-time now hour='numeric' minute='numeric' hour12=false}}
Formats dates relative to "now" using IntlRelativeFormat
, and returns the formatted string value.
{{format-relative yesterday}}
Formats ICU Message strings with the given values supplied as the hash arguments.
You have {numPhotos, plural,
=0 {no photos.}
=1 {one photo.}
other {# photos.}}
{{format-message (intl-get 'messages.product.info')
product='Apple watch'
price=200
deadline=yesterday}}
{{format-message messages.photos
name='Jason'
numPhotos=num
takenDate=yesterday}}
This delegates to the {{format-message}}
helper, but will first HTML-escape all of the hash argument values. This allows the message
string to contain HTML and it will be considered safe since it's part of the template and not user-supplied data.
{{format-html-message (intl-get 'messages.product.html.info')
product='Apple watch'
price=200
deadline=yesterday}}
{{format-html-message '<strong>{numPhotos}</strong>'
numPhotos=(format-number num)}}
Utility helper for accessing and returning the value the properties from the locale's message object via a string namespace.
{{format-message (intl-get 'messages.product.info')
product='Apple watch'
price=200
deadline=yesterday}}
Will return the message from the current locale, or locale explicitly passed as an argument, message object.
// app/locales/en.js
export default {
locale: "en",
messages: {
product: {
info: '{product} will cost {price, number, EUR} if ordered by {deadline, date, time}'
}
},
fields: {
...
}
}
locales
argument to explicitly pass/override the application localeformat
argument which you pass in a key corresponding to a format configuration in app/formats.js
ember server
ember test
ember test --server
FAQs
Internationalization for Ember projects
The npm package ember-intl receives a total of 32,188 weekly downloads. As such, ember-intl popularity was classified as popular.
We found that ember-intl demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.