我有一个自定义目录,例如我/www/phpstuff
中的include_path
。此phpstuff
目录内有一个文件夹i18n
。它包含服务器端级.mo
文件。
Zend_Translate
允许你在构造函数的第二个参数中指定一个目录,我真的不能这样做
Zend_Translate( 'gettext', 'i18n/', 'en' );
它尝试从调用此脚本的目录中读取,是否有任何一种技巧可以用来不必明确指定/www/phpstuff/i18n
?我正在使用的这个框架的原因将在许多不同的平台上使用,并且在include_path中指定目录比在绝对路径中指定目录更容易。
我能想到的唯一解决方法是手动读取包含路径,按分隔符拆分,检查是否有任何目录命名为“gettext”,然后获取找到的第一个目录的绝对路径并设置它。 / p>
答案 0 :(得分:1)
您需要在某处定义应用程序路径。如果您不想设置绝对路径,则需要设置相对路径。以这个目录结构为例:
/application/
/application/i18n/
/public_html/
/public_html/index.php
这种情况下的应用程序路径是:
define('APPLICATION_PATH', '../application');
你可以像这样使用它:
Zend_Translate( 'gettext', APPLICATION_PATH . '/i18n', 'en' );
希望有所帮助。