1
我試圖用一個Zend_Translate從Zend框架一個Zend_Translate掃描翻譯文件
我使用「poEdit的」生成「gettext的」翻譯文件。
我的文件位於/www/mysite.com/webapps/includes/locale(此路徑位於我的包含路徑中)。 我: pictures.en.mo pictures.en.po (我計劃在不久pictures.es.mo有)
這一切工作正常,如果我做手工addTranslation()爲每個文件。但是我想使用自動文件掃描方法。
我都嘗試那些:
<?php
/*Localization*/
require_once 'Zend/Translate.php';
require_once 'Zend/Locale.php';
define('LOCALE','/www/mysite.com/webapps/includes/locale');
if(!empty($_GET['locale'])){
$locale = new Zend_Locale($_GET['locale']);
}
else{
$locale = new Zend_Locale();
}
$translate = new Zend_Translate('gettext', LOCALE, null, array('scan' => Zend_Translate::LOCALE_FILENAME));
if ($translate->isAvailable($locale->getLanguage())){
$translate->setLocale($locale);
}
else{
$translate->setLocale('en');
}
這:
<?php
/*Localization*/
require_once 'Zend/Translate.php';
require_once 'Zend/Locale.php';
define('LOCALE','/www/mysite.com/webapps/includes/locale');
if(!empty($_GET['locale'])){
$locale = new Zend_Locale($_GET['locale']);
}
else{
$locale = new Zend_Locale();
}
$translate = new Zend_Translate('gettext', LOCALE);
if ($translate->isAvailable($locale->getLanguage())){
$translate->setLocale($locale);
}
else{
$translate->setLocale('en');
}
在這兩種情況下,我得到一個通知:沒有翻譯成 'en' 可用的語言。在/www/mysite.com/webapps/includes/Zend/Translate/Adapter.php在線411
它也工作,如果我試圖做目錄掃描。
我挑選了「FILENAME」,以便掃描文件名「pictures.en.mo」並找到「en」。這是我從文檔中理解的。 「DIRECTORY」將要求我保持每種語言的目錄結構。 – 2010-05-17 16:22:47