Si ya estás migrando un proyecto con traducciones en poedit o quieres crear un nuevo proyecto en Phalconphp y utilizar Poedit, sigue los siguientes pasos.
En nuestro APP crearemos la ruta dónde se alojarán los poedit. En mi caso se llamará languages y dentro tendremos los idiomas, por defecto para mi utilizo el Español, por lo tanto una ruta entera con los poedit ya generados: /app/languages/es_ES/LC_MESSAGES/default.po y default.mo
Para hacer uso de las traducciones debemos introducir en nuestro services.php la siguiente configuración:
use Phalcon\Translate\Adapter\Gettext as TranslationService;
$di->setShared('translation', function () {
$translate = new TranslationService(array(
'locale' => 'es_ES.utf8',
'defaultDomain' => 'default',
'directory' => APP_PATH . '/languages'
));
return $translate;
});
Donde locale hace referencia a la carpeta es_ES (ese locale deberá ser una variable que cambie según el idioma), defaultDomain es el nombre de nuestro archivos que en mi caso son default.po y .mo y el directory será dónde estén alojados.
Con esto claro solo queda hacer la llamada en nuestra view para traducir una cadena.
<?php echo $this->translation->_('cadena-traducir'); ?>
Observaciones
Tener instalado el paquete de php gettext
Tener disponibles los paquetes de traducciones en nuestro servidor. En linea de comandos Linux teclear locale -a para ver si tenemos lso paquetes necesarios. Si ves que no está el paquete que quieres como es_ES.utf8, deberás instalarlo.