Initial Commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
<?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);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user