function I18n(filename) {
	this.filename = filename;
}

I18n.prototype = {
	_: function(key, variables) {
		var result = '';
		
		// Se recupera el texto adecuado
		$.ajax({
			type: "POST",
			url: "ajax_i18n.php",
			data: {filename: this.filename, key: key},
			success: function (data) {
				if (data.errorCode) {
					alert(data.errorMessage);
					return;
				}
				
				result = data.text;
				
				// Si hay sustituciones que realizar, se realizan
				if (variables !== undefined) {
					for(var i in variables) {
						// Se crea la expresión regular. Se hace con RegExp porque no sabemos a priori qué hay que sustituir
						// Recordar que con RegExp también hay que escapar el símbolo de escape \ --> "\\[" para reconocer "["
						// Fijarse en el modificador "g", para realizar una búsqueda global y sustituir todas las ocurrencias.
						var rExp = new RegExp("\\[" + i + "\\]", "g");
						result = result.replace(rExp, variables[i]);
					}
				}
			},
			dataType: "json",
			async: false
		});
		
		return result;
	}
}
