Files
2021-09-17 12:41:45 +02:00

35 lines
1.2 KiB
PHP

<?php
class App_Controller_Plugin_LangSelector extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$session = new Zend_Session_Namespace('session');
$lang = $request->getParam('lang','');
$langLocale = '';
switch($lang) {
case "it":
$langLocale = 'it'; break;
case "en":
$langLocale = 'en'; break;
default:
$langLocale = isset($session->lang) ? $session->lang : Zend_Registry::get('Zend_Locale')->getLanguage();
}
$locale = new Zend_Locale($langLocale);
Zend_Registry::set('Zend_Locale', $locale);
$translationPath = dirname( APPLICATION_PATH ) . DIRECTORY_SEPARATOR . 'languages' . DIRECTORY_SEPARATOR . $langLocale;
$translate = new Zend_Translate('array', $translationPath, $locale);
$session->lang = $langLocale;
Zend_Registry::set('Zend_Translate', $translate);
Zend_Validate_Abstract::setDefaultTranslator($translate);
Zend_Form::setDefaultTranslator($translate);
}
}