Application-wide data such as currency and locale


Hi all,

I’m writing an app which should be available in multiple languages (will look at the i18n plugins soon) and the prices displayed will be available in multiple currencies.

How would I go about saving this global information in a way that it’s accesible for all controllers. I’ve considered which I could do, but it feels rather strange to have to change all controllers for that.

Any tips or pointers are warmly welcomed.


To answer my own question, I went with using intializers and injecting the language & currency into my controllers.

Any feedback to the following piece is warmly welcomed.

	name: "currency",
	initialize: function(container, application) {
		application.register('user:currency', {
			_currency: 'EUR',
			currency: function(c) {
				if(c !== undefined && c !== null) {
					this._currency = c;

				return this._currency;
		}, {instantiate: false, singleton: true});
		application.inject('controller', 'currency', 'user:currency');
		application.inject('route', 'currency', 'user:currency');