예제 #1
0
 /**
  * Save default translator
  */
 protected function setUp()
 {
     $this->_defaultTranslator = Magento_Validator_ValidatorAbstract::getDefaultTranslator();
     $this->_objectManager = $this->getMockBuilder('Magento_ObjectManager_Zend')->setMethods(array('create', 'get'))->disableOriginalConstructor()->getMock();
     $this->_validatorConfig = $this->getMockBuilder('Magento_Validator_Config')->setMethods(array('createValidatorBuilder', 'createValidator'))->disableOriginalConstructor()->getMock();
     $this->_objectManager->expects($this->once())->method('get')->with('Magento_Validator_Config', array('configFiles' => array('/tmp/moduleOne/etc/validation.xml')))->will($this->returnValue($this->_validatorConfig));
     $this->_objectManager->expects($this->at(0))->method('create')->with('Magento_Translate_Adapter')->will($this->returnValue(new Magento_Translate_Adapter()));
     // Config mock
     $this->_config = $this->getMockBuilder('Mage_Core_Model_Config')->setMethods(array('getModuleConfigurationFiles'))->disableOriginalConstructor()->getMock();
     $this->_config->expects($this->once())->method('getModuleConfigurationFiles')->with('validation.xml')->will($this->returnValue(array('/tmp/moduleOne/etc/validation.xml')));
     // Translate adapter mock
     $this->_translateAdapter = $this->getMockBuilder('Mage_Core_Model_Translate')->disableOriginalConstructor()->setMethods(array('_getTranslatedString'))->getMock();
     $this->_translateAdapter->expects($this->any())->method('_getTranslatedString')->will($this->returnArgument(0));
 }
예제 #2
0
 /**
  * Translate block sentence
  *
  * @return string
  * @SuppressWarnings(PHPMD.ShortMethodName)
  */
 public function __()
 {
     $args = func_get_args();
     $expr = new Mage_Core_Model_Translate_Expr(array_shift($args), $this->getModuleName());
     array_unshift($args, $expr);
     return $this->_translator->translate($args);
 }
예제 #3
0
 /**
  * Overwritten translate method
  *
  * @param   array $args Arguments
  * @return  string
  */
 public function translate($args)
 {
     if ($this->_defaultHelper->isLoggingEnabled() && !$this->_defaultHelper->isAdmin()) {
         $text = array_shift($args);
         if (is_string($text) && '' == $text || is_null($text) || is_bool($text) && false === $text || is_object($text) && '' == $text->getText()) {
             return '';
         }
         if ($text instanceof Mage_Core_Model_Translate_Expr) {
             $code = $text->getCode(self::SCOPE_SEPARATOR);
             $module = $text->getModule();
             $text = $text->getText();
             $translated = $this->_getTranslatedString($text, $code);
         } else {
             if (!empty($_REQUEST['theme'])) {
                 $module = 'frontend/default/' . $_REQUEST['theme'];
             } else {
                 $module = 'frontend/default/default';
             }
             $code = $module . self::SCOPE_SEPARATOR . $text;
             $translated = $this->_getTranslatedString($text, $code);
         }
         $translation = Mage::getModel('aoe_translationlogger/translation_logging');
         $translation->setModule($module)->setText($text)->setTranslated($translated)->setChecksum(md5($code))->setStoreView(Mage::app()->getStore()->getStoreId())->setUrl(Mage::app()->getStore()->getCurrentUrl(false))->save();
     }
     return parent::translate($args);
 }
예제 #4
0
 public function __()
 {
     $args = func_get_args();
     return parent::translate($args);
 }
 public function _construct()
 {
     parent::_construct();
     $this->_init('translate/translator');
 }
예제 #6
0
 public function testGetSetTranslateInline()
 {
     $this->assertEquals(true, $this->_model->getTranslateInline());
     $this->_model->setTranslateInline(false);
     $this->assertEquals(false, $this->_model->getTranslateInline());
 }
예제 #7
0
 protected function _getTranslatedString($text, $code)
 {
     $result = parent::_getTranslatedString($text, $code);
     if ($this->getTranslationHintsEnabled()) {
         return $this->_decorator->decorateTranslation($result, $text, $code);
     }
     return $result;
 }
 /**
  * Check for translation gap before returning
  *
  * @param string $text
  * @param string $code
  * @return string
  */
 protected function _getTranslatedString($text, $code)
 {
     if (Mage::helper('ew_untranslatedstrings')->isEnabled()) {
         $this->_checkTranslatedString($text, $code);
     }
     return parent::_getTranslatedString($text, $code);
 }
예제 #9
0
 /**
  * Loading current theme translation
  *
  * @param bool $forceReload (optional)
  *
  * @return Mage_Core_Model_Translate
  */
 protected function _loadThemeTranslation($forceReload = false)
 {
     // Check for fallback support
     if (Mage::helper('emailoverride')->supportsDesignFallback() == false) {
         return parent::_loadThemeTranslation($forceReload);
     }
     // First add fallback package translate.csv files
     $fallbackModel = Mage::getModel('core/design_fallback');
     $designPackage = Mage::getSingleton('core/design_package');
     $fallbacks = $fallbackModel->getFallbackScheme($designPackage->getArea(), $designPackage->getPackageName(), $designPackage->getTheme('layout'));
     foreach ($fallbacks as $fallback) {
         if (!isset($fallback['_package']) || !isset($fallback['_theme'])) {
             continue;
         }
         // first one is empty for some reason
         $fallbackFile = $designPackage->getLocaleFileName('translate.csv', array('_package' => $fallback['_package']));
         $this->_addData($this->_getFileData($fallbackFile), false, $forceReload);
     }
     // Now add current package translate.csv
     $file = Mage::getDesign()->getLocaleFileName('translate.csv');
     $this->_addData($this->_getFileData($file), false, $forceReload);
     return $this;
 }