/**
 * @author karlofthedead
 */
var Translate = function( data, lang ) {
	this._translations = data;
	this._lang = lang;
};

Translate.prototype.load = function( data ) {
	this._translations = data;
};

Translate.prototype._format = function( format, args ) {
	return format.replace( /%[s|d]/g, function() { return args.shift() || ''; } );
};

Translate.prototype.translate = function( message ) {
	if ( !!this._translations && !!this._translations[message] && !!this._translations[message].translations[this._lang] ) {
		return this._format( this._translations[message].translations[this._lang], Array.prototype.slice.call( arguments, 1 ) );
	}

	return message;
};
