Jump to content

(SOLUCIONADO) Ayuda - Referencias en PHP's traducciones


Recommended Posts

Hola!

 

Vamos avanzando con la configuración de Prestashop y poco a poco se van necesitando nuevas cosillas que requieren de mayor conocimiento interno de su funcionamiento.

 

Estoy actualmente liado con el tema de varios idiomas y las traducciones de algunos módulos. En la mayoría de ellos existe una carpeta llamada 'translations' donde hay ficheros php con los códigos de los idiomas (es.php, en.php, fr.php,...).

 

Por las pruebas y modificaciones que he ido haciendo, creo que Prestashop mira en ese fichero si existe alguna traducción a la referencia que se hace en el TPL del módulo. Si la hay la pone y si no pone lo que hay en el TPL. Esas referencias en el fichero php de traducciones están vinculadas a una referencia.

 

Por ejemplo:

$_MODULE['<{nombremodulo}prestashop>nombremodulo_1234aqui1codigo1alfanumerico1234'] = 'Texto que aparece en la tienda al seleccionar este idioma';

 

El tema es que en algunos idiomas (principalmente inglés) no hay traducciones, lo que dificulta modificar el texto que aparece en ese idioma, sin que afecte al resto de traducciones. Si la referencia comentada (en el ejemplo sería 1234aqui1codigo1alfanumerico1234) apunta de forma correcta, copiando la línea de uno de los ficheros (es.php, por ejemplo) al fichero de ingles (en.php) y modificando la cadena de texto a mostrar es suficiente.

 

El problema viene en que a veces me he encontrado que sí hay una traducción en el fichero php de cada idioma (excepto en el del inglés generalmente) pero no se traslada al frontoffice. Deduzco que es porque la referencia no apunta a donde debería (incluso en algún fichero me he encontrado dos referencias diferentes con la misma traducción, pero sólo una de ellas era la que se trasladaba al frontoffice). En esos casos no puedo hacer bien las traducciones (ni tan siquiera se aplican las del php al no ser correcto el vínculo) ni modificar las de inglés.

 

La duda es ¿de dónde salen esas referencias? Si pudiera localizarlas, podría controlar mejor los vínculos de las mismas en los php de traducciones y así trabajar de forma correcta los textos que deben aparecen en la tienda...

 

¿Alguién sabría resolverme la duda?

 

Gracias anticipadas!!!!!

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

Gestiona las traducciones desde el BO, Localización -> Traducciones.

 

Como has dicho, si tocas algún string en el php del módulo rompes el resto de traducciones ya que el hash es diferente. Puedes "sobreescribir" la traducción en inglés también desde el BO, sin necesidad de tocar el código php.

Link to comment
Share on other sites

Gestiona las traducciones desde el BO, Localización -> Traducciones.

 

Como has dicho, si tocas algún string en el php del módulo rompes el resto de traducciones ya que el hash es diferente. Puedes "sobreescribir" la traducción en inglés también desde el BO, sin necesidad de tocar el código php.

 

Joseantgv, gracias por contestar. Ya conocía la parte del BO, pero por restricciones del servidor de alojamiento no puedo gestionarlas desde ahí. Por otro lado, el conocer el tema de las referencias también me podría servir para modificaciones que haga sobre los módulos para adaptarlos a las necesidades de cada negocio.

 

A ver si alguin da algo de luz sobre el tema.

 

 

 

 

PD: Joseantgv, supongo que por la contestación que has dado, tú no "sufrirás" los problemas que comentaba con tu proveedor de hosting... ¿cuál utilizas? ¿con qué plan?

Link to comment
Share on other sites

Joseantgv, gracias por contestar. Ya conocía la parte del BO, pero por restricciones del servidor de alojamiento no puedo gestionarlas desde ahí. Por otro lado, el conocer el tema de las referencias también me podría servir para modificaciones que haga sobre los módulos para adaptarlos a las necesidades de cada negocio.

 

A ver si alguin da algo de luz sobre el tema.

 

 

 

 

PD: Joseantgv, supongo que por la contestación que has dado, tú no "sufrirás" los problemas que comentaba con tu proveedor de hosting... ¿cuál utilizas? ¿con qué plan?

 

Sobre las referencias he encontrado esto:

 

The translations are stored in a PHP array, named $_LANG, and take the following form, using an MD5 of the string:

 

$_LANG['address_19f823c6453c2b1ffd09cb715214813d'] = 'Champ requis';

The identification key is built by combining the name of the template file from which the string comes, an underscore, and the MD5 hash of the string itself.

 

El error que tienes es el de max_post_vars?

Link to comment
Share on other sites

Joseantgv, gracias por contestar. Ya conocía la parte del BO, pero por restricciones del servidor de alojamiento no puedo gestionarlas desde ahí. Por otro lado, el conocer el tema de las referencias también me podría servir para modificaciones que haga sobre los módulos para adaptarlos a las necesidades de cada negocio.

 

A ver si alguin da algo de luz sobre el tema.

 

 

 

 

PD: Joseantgv, supongo que por la contestación que has dado, tú no "sufrirás" los problemas que comentaba con tu proveedor de hosting... ¿cuál utilizas? ¿con qué plan?

 

Si te pasa lo de max_input_vars, prueba crearte un fichero llamado: "php.ini" y añade esto:

 

max_input_vars=7000;

 

Subelo el fichero al directorio donde tienes el panel de administracion y dime si sigues sin poder acceder a las traducciones desde el panel de administracion.

Link to comment
Share on other sites

Si te pasa lo de max_input_vars, prueba crearte un fichero llamado: "php.ini" y añade esto:

 

max_input_vars=7000;

 

Subelo el fichero al directorio donde tienes el panel de administracion y dime si sigues sin poder acceder a las traducciones desde el panel de administracion.

 

¿En qué directorio hay que copiar el fichero que comentas? He probado a copiarlo en el /directorioTienda/adminrenombrado y en /directorioTienda/Backoffice pero nada. El directorio del panel de control, ¿te refieres al del panel web? No tengo ni idea de en qué directorio estará... He mirado por FTP todos los directorios, para ver si en alguno había algún nombre que pudiera orientarme, pero (si está en los archivos que se muestran por FTP) diría que como mucho estará en alguna de las carpetas a las que no se tiene permiso para acceder...

 

Si quieres hacer traducciones manuales, puedes mirarte esta guia: http://victor-rodena...-en-prestashop/ (A ver si te cuela con el ingles (jeje) )

 

 

Lo miro Víctor, gracias!

Link to comment
Share on other sites

Si quieres hacer traducciones manuales, puedes mirarte esta guia: http://victor-rodena...-en-prestashop/ (A ver si te cuela con el ingles (jeje) )

 

Genial, fabuloso, perfecto,...... jajaja. Muy buen 'truco' Víctor. Me irá genial para las modificaciones en las plantillas. También lo he probado con módulos (para títulos de momento) y funciona a la perfección! (ahora me falta meterme un poco con los módulos para hacer un proceso dentro del mismo, en lugar de a través de un iframe y así poder aplicar también las traducciones ;-)

 

El tema del php.ini que me comentaste, me queda la duda del directorio donde tengo que colgarlo (mi proveedor es ABANSYS, por si sirve de algo...)

 

Gracias genio!

Link to comment
Share on other sites

Por favor Victor, Explica lo mas detalladamente posible como y donde poner el archivo php.ini

Lo puedo crear con el bloc de notas? Lo guardo como archivo de texto? ¿Con que codificación?

Muchas gracias San Ródenas !!!

Link to comment
Share on other sites

Por favor Victor, Explica lo mas detalladamente posible como y donde poner el archivo php.ini

Lo puedo crear con el bloc de notas? Lo guardo como archivo de texto? ¿Con que codificación?

Muchas gracias San Ródenas !!!

 

Para crear el archivo en cuestión puedes utilizar el bloc de notas. Al guardar lo haces como 'php.ini' (si seleccionas como tipo de archivo 'Todos los archivos' no te pondrá la extensión '.txt' añadida).

 

A ver si averiguamos ahora el directorio... ;-)

Link to comment
Share on other sites

Para crear el archivo en cuestión puedes utilizar el bloc de notas. Al guardar lo haces como 'php.ini' (si seleccionas como tipo de archivo 'Todos los archivos' no te pondrá la extensión '.txt' añadida).

 

A ver si averiguamos ahora el directorio... ;-)

 

Lo del directorio dije "carpeta_administracion", la carpeta administracion es como se llame en tu caso, si tu para entrar al panel de administracion, lo haces asi:

 

tuweb.com/carpeta_admin/

 

Metelo en

 

carpeta_admin

 

(Bueno como se llame el directorio..)

 

Esto no siempre funciona...

Link to comment
Share on other sites

Genial, fabuloso, perfecto,...... jajaja. Muy buen 'truco' Víctor. Me irá genial para las modificaciones en las plantillas. También lo he probado con módulos (para títulos de momento) y funciona a la perfección!

 

Un placer ayudarte y servirte!

 

Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso.

Link to comment
Share on other sites

Victor, esta es la direccion que pone cuando aparece la pagina para poner el login y la contraseña para entrar al backoffice de mi tienda. ¿La carpeta de administración es Backoffice? Por que tambien hay una crpeta que se llama "admin123" que se genera al instalar prestashop. ¿El ini.php lo pongo así, sin mas, dentro de la carpeta Backoffice? Gracias por tu paciencia, Victor, y gracias Serex por tus instrucciones.

 

 

http://MITIENDA.es/Backoffice/login.php

Link to comment
Share on other sites

YA ESTÁ !!!!! Lo he metido dentro de la carpeta Backoffice. He creado el archivo php.ini en el blocc de notas tal como me dijo Serex y he seguido las instrucciones de San Ródenas y ya me funciona. Todas las traducciones se abren sin problema.

Gracias Victor Ródenas.

Por mi parte daría el tema por solucionado, pero espero que a Serex tambien le funcione y cierre el post como SOLUCIONADO.

Gracias otra vez a los dos...

Marcelo.

nubeazul.

Link to comment
Share on other sites

En mi caso no funciona... Pero bueno, como dijo Víctor, sólo lo hace "a veces" :(

 

Aun así, la duda principal del hilo (el tema de las referencias en los ficheros de traducciones) está resulto, así que modifico como dice nubezaul el título del mismo.

 

Un saludo!!!!

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

Según dicen, depende del servidor, si permiten o no reescribir ese maldito "max_input_vars"

Yo he escrito a mi servidor (STRATO) y allí me dijeron que tenía que hacer esto del php.ini (aunque explicado como el culo), por lo que di por hecho que ellos sí permitían esté método, y efectivamente me funcionó. Si nó, deberían ser ellos (los del servidor) los que te lo modifiquen. Al menos eso es lo que he leído por ahí. Espero, Serex, que tu también lo puedas resolver, ya que estos "problemitas" del Prestashop son una pesadilla a veces. Hasta entonces, el título del post debería ser

"SOLUCIONADO (a medias)"

Un saludo y suerte !!!

Link to comment
Share on other sites

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