KumbiaPHP y gettext

De KumbiaPHP Framework Wiki
Revisión del 13:01 2 mar 2010 de Cordal (discusión | contribuciones) (Página creada con 'El objeto de este pequeño tutorial es explicar como usar gettext para internacionalizar nuestras aplicaciones en [http://www.kumbiaphp.com KumbiaPHP]. Lo primero que debes ten...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

El objeto de este pequeño tutorial es explicar como usar gettext para internacionalizar nuestras aplicaciones en KumbiaPHP.

Lo primero que debes tener presente es que todos los textos que quieras que se muestren en diferentes idiomas los has de escribir en la vista de la siguiente forma: _("Texto a traducir"), por ejemplo en nuestra vista tenemos el siguiente formulario:

<?php echo Form::open('formularios/prueba') ?>
   Nombre: <?php echo Form::text('nombre) ?>

Para que el texo Nombre: nos lo internacionalice lo habremos de escribir asi:

<?php echo Form::open('formularios/prueba') ?>
   _("Nombre:") <?php echo Form::text('nombre) ?>

Con esto ya sabemos como tenemos que escribir los textos que queremos internacionalizar, otra cosa que hay que tener en cuenta es que deberemos crear (ahora explicare como) un archivo .po por cada idioma que queramos tener en nuestra aplicación, y que este ha de estar ubicado en la correspondiente carpeta de su idioma dentro de la aplicacion, por ejemplo si yo quiero que mi aplicacion se pueda mostrar en español y en ingles, la estructura sería esta:

kumbiaphp/
|-- app
    |-- locale
        |-- es_ES
            |-- LC_MESSAGES
                |-- es.mo
                |-- es.po
        |-- en_EN
            |-- LC_MESSAGES
                |-- en.mo
                |-- en.po
|-- core

Generacion de los archivos .po y .mo

Para la generación de estos dos archivos utilizo el programa poedit, el cual podemos descargar desde su pagina oficial: www.poedit.net, para que veas como funciona vamos a generar los archivos .po y .mo para el idioma ingles:

Abrimos el programa, en el menú superior seleccionamos edicion->preferencias, en la ventana que se abre, nos vamos a la pestaña procesadores y seleccionamos PHP

Po1.jpg


hora pulsaremos Editar, para indicarle las extensiones que usamos (que serán las que escanee el programa en busca de etiquetas _("xxx")), en nuestro caso le añadiremos *.phtml

Po2.jpg

ahora en Ejecucion añadiremos -L php

Po3.jpg

con lo que la linea de comandos a a procesar nos quedaría como en el grafico de arriba, ahora pulsaremos en Aceptar, y con esto ya le hemos dicho al poedit como ha de trabajar, el siguiente paso será la cración de catálogos (un catálogo por cada idioma de nuestra aplicación), para ello pulsaremos Archivo->Nuevo catálogo, en la pestaña Información del proyecto pondremos los datos correspondientes al idioma que estamos creando, en nuestro caso el ingles

Ejemplo.jpg

ahora nos vanmops a la pestaña Carpetas y en Directorio Raiz, pondremos la ruta completa a nuestra app, y debajo en Carpetas, pondriamos las carpetas que queremos que nos escanee, pero mejor ponr un . y asi no se nos escapará ninguna

Po5.jpg