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'라는 이름을 확인한 다음 첫 번째 디렉토리의 절대 경로를 가져 와서 설정하는 것입니다.
해결책
어딘가에 응용 프로그램 경로를 정의해야합니다. 절대 경로를 설정하지 않으려면 상대 경로를 설정해야합니다. 예를 들어이 DIR 구조를 취하십시오.
/application/
/application/i18n/
/public_html/
/public_html/index.php
이 경우 응용 프로그램 경로는 다음과 같습니다.
define('APPLICATION_PATH', '../application');
다음과 같이 사용할 수 있습니다.
Zend_Translate( 'gettext', APPLICATION_PATH . '/i18n', 'en' );
도움이되기를 바랍니다.
제휴하지 않습니다 StackOverflow