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