ACC SHELL

Path : /srv/www/vhosts/ambfinance/admin/library/TF/Controller/Plugin/
File Upload :
Current File : /srv/www/vhosts/ambfinance/admin/library/TF/Controller/Plugin/Translate.php

<?php
class TF_Controller_Plugin_Translate extends Zend_Controller_Plugin_Abstract
{
	/**
	 * Nastavi soubor pro preklad
	 *
	 * @param Zend_Controller_Request_Abstract $request
	 */
    public function routeShutdown(Zend_Controller_Request_Abstract $request)
    {
    	if($request->getModuleName() == 'admin'){
    		$lang = 'cs';
    	} else {
    		$langSession = new Zend_Session_Namespace('lang');
			$lang = $langSession->langId?$langSession->langId:'cs';
    	}
    	$config = Zend_Registry::get('config');
		$defaultPath = '../application/translate/' . $lang . '.default.mo';
		$translate = new Zend_Translate('gettext', $defaultPath, $lang);
		if( 1 == $config->translate->logUntranslated && $lang !== 'cs'){
			$writer = new Zend_Log_Writer_Stream(APP_ROOT . $config->translate->logPath);
			
			$writer->setFormatter(new TF_Log_Formater_Gettext());
			
			$log = new Zend_Log($writer);
			$translate->setOptions(array(
					'log' => $log,
	           		'logUntranslated' => true
			));
			
		}
		if (!$module = $request->getModuleName()) {
    		$module = 'default';
    	}
    	if (!$controller = $request->getControllerName()) {
    		$module = 'index';
    	}
    	
   		$formFile = '../application/translate/' . $lang . '.' .  'forms.mo';
    	if (file_exists($formFile)) {
    	    $translate->addTranslation($formFile, $lang);	
    	}
    	$controllerFile = '../application/translate/' . $module . '/' . $lang . '.' . $controller . '.mo';
    	if (file_exists($controllerFile)) {
    	    $translate->addTranslation($controllerFile, $lang);	
    	}
    	Zend_Validate_Abstract::setDefaultTranslator($translate);
    	Zend_Form::setDefaultTranslator($translate);
        Zend_Registry::set('Zend_Translate', $translate);
	}
}

ACC SHELL 2018