Etiqueta: i18n

  • Configuració locale a CentOS 5

    Per configurar el locale d’un CentOS 5 per a UTF8-català, hem d’editar el següent fitxer (usuari root):

    $export LANG=ca_ES.UTF-8

    Això només activarà el locale per a la sessió en curs però si volem que es mantingui sempre que ens connectem amb qualsevol usuari, hem de crear el següent fitxer:

    /etc/sysconfig/i18n

    i afegir les següents línies:

    LANG="ca_ES.UTF-8"

    En aquest fitxer es poden definir altres configuracions com són el llenguatge per defecte, els llenguatges suportats, el sistema de fonts per defecte, … Per exemple:

    LANG="ca_ES.UTF-8"
    SUPPORTED="es_ES.UTF-8"
    SYSFONT="latarcyrheb-sun16"

    Per veure tots els locales que podem fer servir podem executar la següent ordre:

    $locale -a
  • 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:

    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:

    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:

    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