function RM_Lang(lngLabels)
{
	var langStorage = lngLabels;
	
	this.add = function LAdd(key,value,force)
	{
		if (langStorage[key])
		{
			if (force) 
				langStorage[key] = value;
		}
		else
		{
			langStorage[key] = value;
		}
	};
	
	this.get = function LGet(langCode, data)
	{
		if(!langStorage[langCode])
			throw 'Unknown language label: '+langCode;
		var result = langStorage[langCode];
		if (data)
			for(var i in data)
				result = result.replace('%'+i+'%', data[i]);
		return result;
	};
	/**
	 * Получить список значений
	 * 
	 * @param	String	langCode
	 * @return	Object
	 */
	this.getList = function (langCode)
	{
		var list = {};
		var regexp = new RegExp('^'+langCode+'\.(.+)$');
		for (label in langStorage)
		{
			if (match = regexp.exec(label))
				list[match[1]] = langStorage[label];
		}
		return list;
	};
}

