Jump to content

[Solucionado] Traducción Archivos Javascript Modulo


orlando_marin

Recommended Posts

Saludos compañeros,

Este es mi primer post en el foro, ya antes había resulto muchas dudas gracias a su colaboración.

He estado desarrollando un modulo para prestashop 1,5 el cual ya se encuentra en su fase final, por lo que he me dedicado a realizar su traducción al ingles.

 

He traducido toda la parte del front y el back en cuanto a archivos TPL se refiere, pero me he topado con varios problemas.

Traducir texto dinámico generado por archivos javascript.

Ej:

 $("#item_ajax_error_msg").text("The URL is not valid.");
 $("#item_ajax_error_msg").text('Error processing the request');

 

 

Traducir texto dinámico recibido del controlador después de una petición AJAX.

Ej:

El controlador envía:

$this->jsonError('ID producto es incorrecto');
$this->jsonConfirmation('Item saved.');

El archivo JavaScript Recibe :

 if(data.status == 'error'){
	  $("#item_ajax_error_msg").text('Error: '+ data.error);
 }else{
	  $("#item_ajax_success_msg").text("The item was successfully saved");
 }

 

 

Quisiera saber si hay alguna técnica para traducir estas fracciones de código.

De ante mano agradezco su colaboración.

 

Solución

Agradecimientos al usuario : petete2008

Lo que he hecho es lo siguiente:

 

Almacenar el texto a traducir dentro de variables JavaScript que son declaradas dentro del archivo TPL.

Traducir texto dinámico generado por archivos javascript.

EJ:

Dentro del archivo TPL

var msg={};
msg["url"]='{l s='The URL is not valid.' mod='mymodule'}';
msg["error_request"]='{l s='Error processing the request' mod='mymodule'}';
msg["Product_not_exist"]='{l s='Producto not exist.' mod='mymodule'}';
msg["Product_is_incorrect"]='{l s='ID Product  is incorrect.' mod='mymodule'}';

Nota: La variable msg no la declare como un array porque presentaba inconsistencias e inestabilidad.

Dentro del archivo JavaScript

$("#item_ajax_error_msg").text(msg["url"]);
$("#item_ajax_success_msg").text(msg["saved"]);

Traducir texto dinámico recibido del controlador después de una petición AJAX.

Se declararon las posibles variables de error dentro del archivo TPL correspondiente:

Dentro del TPL:

msg["Product_not_exist"]='{l s='Producto not exist.' mod='mymodule'}';
msg["Product_is_incorrect"]='{l s='ID Product  is incorrect.' mod='mymodule'}';

Dentro del archivo JavaScript

success: function(data) {
			if (data.status == 'error') {
				$("#item_ajax_success_msg").hide();
				$("#item_ajax_error_msg").fadeIn("normal");
				$("#item_ajax_error_msg").text('Error: ' + msg[data.error]);

 

Y el controlador envia:

if (Validate::isInt(Tools::getValue('id_product'))) {
		$product = new Product(Tools::getValue('id_product'));
		if ($product->id) {
					  //Codigo
		 } else {
			$this->jsonError('Product_not_exist'); //aqui se envia el error que es recibido por el script para invocar el mensaje msg['Product_not_exist'].
		 }
	} else {
		$this->jsonError('Product_is_incorrect');
	}

 

Bueno, espero que la solución le sirva a alguien mas.. Hasta pronto.

Edited by orlando_marin (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...