ember-i18n-errors
v0.2.0
Published
Extension to ember-i18n to translate error messages within the route hierarchy
Downloads
189
Maintainers
Readme
Ember-i18n-errors
This addon leverages ember-i18n but for the specific purpose of localize error messages.
It adds to your app a handy helper {{t-error error}}
for translating errors in the context of
the current route, but also takes advantage of Ember's route nesting to lookup translations in fallback on
parent routes.
Installation
This addon requires Ember.js 1.13+ and ember-i18n 4.1+
ember install ember-i18n-errors
Usage
This is better explained with an example.
Let's say we have a validation error with the mandatory shape ({ attribute: 'email', message: 'invalid' }
) and
some nested routes with this structure:
parent
└── child
└── grandchild
If within the grandchild.hbs
template we use the helper {{t-error error}}
the helper will try to
find the most especific translation key for it based on the route hierarchy.
It follows a set of conventions very similar to how rails-i18n handles ActiveRecord errors.
The fallback chain for that error will be:
parent.child.grandchild.errors.email.invalid
parent.child.grandchild.errors.invalid
parent.child.errors.email.invalid
parent.child.errors.invalid
parent.errors.email.invalid
parent.errors.invalid
errors.email.invalid
errors.invalid
If none of those keys is defined in your translations the missing translation message will point you to the most
specific translation: Missing translation: parent.child.grandchild.errors.email.invalid
.