Pregunta

Tengo un directorio personalizado, por ejemplo /www/phpstuff que está en mi include_path. Dentro de este directorio es un phpstuff i18n carpeta. Contiene archivos .mo nivel de servidor.

Zend_Translate le permite especificar un directorio en el segundo parámetro del constructor, no puedo hacer

Zend_Translate( 'gettext', 'i18n/', 'en' );

Se trata de leer desde el directorio en el que se invoca este script, ¿hay algún tipo de truco que puedo usar para no tener que especificar explícitamente /www/phpstuff/i18n? Esto es porque este marco que estoy trabajando será utilizado en muchas plataformas diferentes, y que sería más fácil que especifica un directorio en un include_path de una ruta absoluta.

La única solución que se me ocurre con esta leyendo manualmente la ruta, la división por el separador incluyen, comprobando 'gettext' si alguno de los directorios se nombran y luego tomar la ruta absoluta del primer directorio encontrado y configurarlo.

¿Fue útil?

Solución

Usted tendrá que definir la ruta de la aplicación en alguna parte. Si no desea establecer una ruta absoluta, que necesita para establecer una ruta relativa. Tome esta estructura de directorio, por ejemplo:

/application/
/application/i18n/
/public_html/
/public_html/index.php

La ruta de la aplicación, en este caso sería:

define('APPLICATION_PATH', '../application');

Y se puede utilizar de esta manera:

Zend_Translate( 'gettext', APPLICATION_PATH . '/i18n', 'en' );

Espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top