我不知道为什么在本地wamp服务器上该系统无法正常工作,以及在VPS服务器上可以正常工作。我已经为PHP安装了intl extensionsint。
那是我的翻译器配置:
'translator' => array(
'locale' => 'en_US',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo',
),
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../../Donation/language',
'pattern' => '%s.mo',
),
),
),
和应用程序模块的Module.php文件上的boostrap
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$serviceManager = $e->getApplication()->getServiceManager();
$eventManager->attach('dispatch', array($this, 'setLayout'));
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
//LANGUAGE
$validatorTranslator = new \Zend\Mvc\I18n\Translator();
$sessionLang = new SessionContainer('language');
$HelperPluginManager = new HelperPluginManager();
$translator = $serviceManager->get('translator');
$validatorTranslator->addTranslationFile('phparray', __DIR__ . '/language/validator/pl_PL.php', 'default', 'pl_PL');
$validatorTranslator->addTranslationFile('phparray', __DIR__ . '/language/validator/en_US.php', 'default', 'en_US');
AbstractValidator::setDefaultTranslator($validatorTranslator);
AbstractValidator::setMessageLength(500);
$HelperPluginManager->injectTranslator($validatorTranslator);
$http = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) : 'en';
$lang = $sessionLang->lang ? $sessionLang->lang : $http;
switch($lang){
case 'pl':
$validatorTranslator->setLocale("pl_PL");
$translator->setLocale("pl_PL");
date_default_timezone_set("Etc/GMT+1");
break;
default:
$validatorTranslator->setLocale("en_US");
$translator->setLocale("en_US");
date_default_timezone_set("Etc/GMT");
}
}
在module.config.php的service_manager规则中,需要更改:
'service_manager' => array(
'factories' => array(
'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory',
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
'cache' => 'Zend\Cache\Service\StorageCacheFactory',
),
),
'service_manager' => array(
'factories' => array(
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
'cache' => 'Zend\Cache\Service\StorageCacheFactory',
),
'aliases' => array(
'translator' => 'MvcTranslator',
),
),
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句