/** * Initialize translation-handling * * @return void */ protected function _initTranslation() { $translate = new Zend_Translate('xliff', APPLICATION_PATH . DIRECTORY_SEPARATOR . 'locale', null, array('scan' => Zend_Translate::LOCALE_DIRECTORY)); // Eine Log Instanz erstellen $writer = new Zend_Log_Writer_Stream(realpath(APPLICATION_PATH . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'log') . DIRECTORY_SEPARATOR . date('Ymd') . '-TranslateError.log'); $log = new Zend_Log($writer); // // Diese der Übersetzungs-Instanz hinzufügen $translate->setOptions(array('log' => $log, 'logUntranslated' => true)); Zend_Registry::set('Zend_Translate', $translate); }
/** * @ZF-10051 */ public function testSettingLogPriorityForLog() { $stream = fopen('php://memory', 'w+'); require_once 'Zend/Log/Writer/Stream.php'; $writer = new Zend_Log_Writer_Stream($stream); require_once 'Zend/Log.php'; $log = new Zend_Log($writer); $lang = new Zend_Translate(array('adapter' => Zend_Translate::AN_CSV, 'content' => dirname(__FILE__) . '/Translate/Adapter/_files', 'locale' => 'en', 'delimiter' => ',', 'logPriority' => 3, 'log' => $log)); $lang->setLocale('ru'); rewind($stream); $this->assertContains('ERR (3)', stream_get_contents($stream)); $lang->setOptions(array('logPriority' => 1)); $lang->setLocale('sv'); rewind($stream); $this->assertContains('ALERT (1)', stream_get_contents($stream)); }
/** * ZF-7508 */ public function testDontLogUntranslatedMessageWithIsTranslated() { $lang = new Zend_Translate(Zend_Translate::AN_CSV, dirname(__FILE__) . '/Translate/Adapter/_files', 'en', array('delimiter' => ',')); $this->assertFalse($lang->isTranslated('ignored')); $stream = fopen('php://memory', 'w+'); require_once 'Zend/Log/Writer/Stream.php'; $writer = new Zend_Log_Writer_Stream($stream); require_once 'Zend/Log.php'; $log = new Zend_Log($writer); $lang->setOptions(array('logUntranslated' => true, 'log' => $log)); $this->assertFalse($lang->isTranslated('ignored')); rewind($stream); $this->assertNotContains('ignored', stream_get_contents($stream)); }
$writer = new Zend_Log_Writer_Stream($logfile); $writer->setFormatter(new Zend_Log_Formatter_Simple('%timestamp% %priorityName% %request% %remote%: %message%' . "\n")); $filter = new Zend_Log_Filter_Priority((int) $configuration->log->level); $writer->addFilter($filter); $logger = new Zend_Log($writer); $logger->setEventItem('pid', getmypid()); $logger->setEventItem('request', $_SERVER['REQUEST_URI']); $logger->setEventItem('remote', $_SERVER['REMOTE_ADDR']); // TRANSLATIONS $locale = new Zend_Locale(); Zend_Registry::set('Zend_Locale', $locale); // default language when requested language is not available $defaultlanguage = 'en'; define('DEFAULT_LANGUAGE', 'en'); $translate = new Zend_Translate('csv', APPLICATION_PATH . '/languages/', null, array('scan' => Zend_Translate::LOCALE_FILENAME)); $translate->setOptions(array('log' => $logger, 'logUntranslated' => true)); if (!$translate->isAvailable($locale->getLanguage())) { // not available languages are rerouted to another language $translate->setLocale(DEFAULT_LANGUAGE); } // REGISTRY - setup the application registry // An application registry allows the application to store application // necessary objects into a safe and consistent (non global) place for future // retrieval. This allows the application to ensure that regardless of what // happends in the global scope, the registry will contain the objects it // needs. $registry = Zend_Registry::getInstance(); $registry->configuration = $configuration; $registry->arsConfig = $arsConfig; $registry->logger = $logger; $registry->translate = $translate;
/** * Zend Translate Initialization * * First we look the user identity if null, we look the default language from languages.ini * * @return Zend_Translate */ public function _initTranslator() { // Info Log $this->_logging->log('Translator initialized...', Zend_Log::INFO); $defaultLanguage = Zend_Auth::getInstance()->hasIdentity() ? Zend_Auth::getInstance()->getIdentity()->language : $this->_config->languages->default; $locale = new Zend_Locale($defaultLanguage); $translations = APPLICATION_PATH . '/languages/' . $locale . '.php'; try { $translator = new Zend_Translate('array', $translations, $locale); // Translation loging enable ? if ($this->_config->languages->enableLoging) { $translator->setOptions(array('log' => $this->_logging, 'logMessage' => "Missing '%message%' within locale '%locale%'", 'logPriority' => Zend_Log::ALERT, 'logUntranslated' => true)); } Zend_Registry::set('Zend_Translate', $translator); return $translator; } catch (Zend_Exception $e) { // Error Log $this->_logging->log('Translations not loading...', Zend_Log::ERR); throw new Zend_Translate_Exception('Translations not loading...'); } }