hay una biblioteca I18n para Ember: zendesk/ember-i18n.
Hay un ayudante manillar t
que se ocupa de la internacionalización por buscar la cadena de 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.'
};
Y a continuación, puede utilizar la cadena en su plantilla manillares a través de:
{{t dog.walk countBinding="dogCount"}}
El código arriba no se ha probado y solo se ha tomado de la documentación en el README.
Otra librería JS I18n he encontrado es Alex Sexton de messageformat.js.
Depende de la complejidad de ustedes aplicación, pero también se puede utilizar una propiedad calculada para eso, ver http://jsfiddle.net/pangratz666/pzg4c/:
Manillar:
<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();
Tome un vistazo a http://stackoverflow.com/questions/48726/best-javascript-i18n -techniques-ajax-dates-times-numbers-currency – Reactormonk