适用范围广,语言环境gettext和一个Zend_Translate?
-
18-09-2019 - |
题
我有一个自定义目录,例如/www/phpstuff
这是在我的include_path
。这里面phpstuff
目录是一个文件夹i18n
。它包含服务器侧电平.mo
文件。
Zend_Translate
让您在构造函数的第二个参数指定一个目录,我真的不能做
Zend_Translate( 'gettext', 'i18n/', 'en' );
它试图在此脚本执行的目录读取,有什么样的伎俩,我可以使用没有明确指定/www/phpstuff/i18n
?原因是这个框架我会用在很多不同的平台上使用的工作,并在include_path中指定目录不是绝对路径会更容易些。
唯一的解决方法我可以想出手动读取包括路径,分割由分离器,检查是否任何的目录被命名为“的gettext”,然后抓住找到的第一个目录的绝对路径,并设置它。
解决方案
您需要的地方定义应用程序的路径。如果你不希望设置一个绝对路径,你需要设定一个相对路径。就拿这个目录结构:
/application/
/application/i18n/
/public_html/
/public_html/index.php
在这种情况下,应用程序路径将是:
define('APPLICATION_PATH', '../application');
和您可以使用它是这样的:
Zend_Translate( 'gettext', APPLICATION_PATH . '/i18n', 'en' );
希望有所帮助。
不隶属于 StackOverflow