ZF2语言系统在本地服务器上不起作用

马辛·马丁诺夫斯基(Marcin Martynowski)

我不知道为什么在本地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");
    }
}
马辛·马丁诺夫斯基(Marcin Martynowski)

使固定

在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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有.htaccess的SEO在本地WAMP服务器上不起作用

来自分类Dev

远程站点在本地服务器上不起作用

来自分类Dev

PHP Captcha 在服务器上不起作用,但在本地工作

来自分类Dev

标头位置在服务器上不起作用,但在本地主机上起作用

来自分类Dev

ZF2 deleteAction不起作用

来自分类Dev

Eslint在本地系统上不起作用

来自分类Dev

Eslint在本地系统上不起作用

来自分类Dev

DNS解析在18.04服务器上不起作用

来自分类Dev

uiCulture在服务器上不起作用

来自分类Dev

Rotativa-ViewAspdf在服务器上不起作用

来自分类Dev

PHP chmod()在服务器上不起作用

来自分类Dev

速记数组在服务器上不起作用

来自分类Dev

转到:http服务器在osx上不起作用

来自分类Dev

CakePHP邮件在服务器上不起作用

来自分类Dev

RequiredFieldValidator在服务器上不起作用

来自分类Dev

Codeigniter路由在ubuntu服务器上不起作用

来自分类Dev

selectizeInput在我的闪亮服务器上不起作用

来自分类Dev

PHP PhantomJS在Web服务器上不起作用

来自分类Dev

导出到Excel在服务器上不起作用

来自分类Dev

DNS解析在18.04服务器上不起作用

来自分类Dev

PHP在Apache服务器上不起作用

来自分类Dev

音频上传在服务器上不起作用

来自分类Dev

modrewrite在wamp服务器上不起作用

来自分类Dev

Codeigniter路由在ubuntu服务器上不起作用

来自分类Dev

User.IsInRole在服务器上不起作用

来自分类Dev

会话在我的Web服务器上不起作用

来自分类Dev

ZipArchive在服务器php上不起作用

来自分类Dev

nodemailer的邮件在azure服务器上不起作用

来自分类Dev

相同的代码在不同的服务器上不起作用