Traducció de pàgines web amb Smarty i gettext

El procés per traduir pàgines amb Smarty i Gettext és el següent:

  • Construir un template amb les cadenes a traduir entre els limitadors {t}{/t}. Ex: {t}Text to translate{/t}
  • En el codi PHP cridar a un l’idioma que és farà servir cada cop que es presenti la pàgina
  • Executar la següent comanda per obtenir els textos a traduïr:
1
php -q tsmarty2c.php templates/fitxer.tpl > text_strings.c
  • Amb lo que obtenim el fitxer quasi en format PO. Per a obtenir-lo executem:
1
xgettext -o messages.po --join-existing --no-location text_strings.c
  • Aquí tenim que editar el fiter .po generat en cadascún dels idiomes que volguem i convertir-lo en fitxer.mo:
1
msgfmt -o messages.mo messages.po

Important!!! Cada vegada que es posi un fitxer de traduccions nou s’ha de reiniciar Apache (probablement sigui degut a un tema de la memoria cau). La versió actual de Smarty amb el plugin gettext obliga a registrar el plugin de traducció que podem posar a l’alçada de la classes smarty i l’hem de cridar així: $smarty->register->block(‘t’, ‘smarty_translate’); Tal i com es comenta en el següent link: http://www.smarty.net/forums/viewtopic.php?p=65393 i http://www.tecnoretales.com/

Link interessant de traducció de pàgines web amb PHP: http://onlamp.com/pub/a/php/2002/06/13/php.html i la seva pàgina corresponent a PHP: http://www.php.net/gettext

Esborra totes les taules de una base de dades MySQL d’un sol cop

Per esborrar totes les taules que hi ha en una base de dades es poden fer servir dos métodes:

  • esborrar la base de dades i torna-la a crear
  • esborrar les taules

Per esborrar les taules mitjançant el segon mètode, el que es fa es com si es fes una copia de seguretat de la base de dades afegint les línies de DROP de taules i despres mitjançant grep ens quedem amb aquestes línies per després executar-ho al MySQL:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

On [USERNAME][PASSWORD] i [DATABASE] són les dades de la teva base de dades.

Com instal·lar els paquets estàndard de PHP 5.x.x a CentOS 5.x

Actualitzat 24/6/2011: si necessites fer servir la versió 5.3 de PHP consulta el següent link: http://chrisjean.com/2011/06/24/upgrade-php-5-1-or-5-2-to-5-3-on-centos/

 

Com ja ha quedat palés, jo utilitzo sovint la distribució CentOS. El problema d’aquesta distribució és que va una mica endarrerida respecte a les versions actuals de la majoria de paquets de Software. Això és degut a que no és més que una versió igual a la que RedHat publica i distribueix amb els paquets de SW més estables. A vegades ens trobem que necessitem una versió més alta de PHP o de MySQL per un tema de compatibilitats amb el SW que estem instal·lant com per exemple podria ser el WordPress o Drupal que exigeixen una versió concreta mínima de PHP per a funcionar corectament. Doncs aleshores la única opció que ens queda és descarregar aquells paquets que ens fan falta des d’un repositori de desenvolupament. Buscant per google he trobat un manual que explica com fer update de PHP a la versió del repositori de desenvolupament per a CentOS ja que la que actualitza el repositori habitual és molt antiga tant per a Drupal com per a Prestashop, …

http://wiki.centos.org/HowTos/PHP_5.1_To_5.2