var catalog={"lang":"en","table":[]};

// Gettext functions
function __(msgid) {
	return catalog.table[msgid] || msgid;
}

function _n(singleId, pluralId, number) {
	var key = singleId + '\u0000' + pluralId;
	if (!catalog.table[key]) {
		return (number != 1) ? pluralId : singleId;
	} else {
		var nplurals = 0;
		var plural = 0;
		eval(catalog.plural.replace(/\bn\b/, number));
		if (plural >= nplurals) {
			plural = nplurals - 1;
		}
		
		return catalog.table[key].split('\u0000')[plural];
	}
}

function _p(context, msgid){
	var contextString = context + '\u0004' + msgid;
	var translation = __(contextString);

	return (translation == contextString) ? msgid : translation;
}

function _np(context, single, plural, number) {
	var contextString = context + '\u0004' + single;
	var translation = _n(contextString, plural, number);

	return (translation == contextString) ? single : translation;
}
