C'è una biblioteca I18n per Ember: zendesk/ember-i18n.
C'è un aiutante manubrio t
che gestisce l'internazionalizzazione, cercando fino stringa dalla Em.I18n.translations
:
Em.I18n.translations = {
'dog.walk.one': '1 dog has gone for a walk.',
'dog.walk.other': '{{count}} dogs have gone for a walk.'
};
e quindi è possibile utilizzare la stringa nel modello Manubrio tramite:
{{t dog.walk countBinding="dogCount"}}
Il codice sopra non è stato testato e appena preso dalla documentazione nello README.
Un'altra libreria JS I18n ho trovato è Alex Sexton di messageformat.js.
Essa dipende dalla complessità di voi app, ma è anche possibile utilizzare una proprietà calcolata per questo, vedi http://jsfiddle.net/pangratz666/pzg4c/:
Manubrio:
<script type="text/x-handlebars" data-template-name="dog" >
{{dogCountString}}
</script>
JavaScript:
Ember.View.create({
templateName: 'dog',
dogCountString: function() {
var dogCount = this.get('dogCount');
var dogCountStr = (dogCount === 1) ? 'dog has' : 'dogs have';
return '%@ %@ gone for a walk.'.fmt(dogCount, dogCountStr);
}.property('dogCount')
}).append();
Date un'occhiata a http://stackoverflow.com/questions/48726/best-javascript-i18n -techniques-ajax-dates-times-numbers-currency – Reactormonk