/**
  * @param string $message
  * @param int|null $count
  * @param array $args
  * @return \Nette\Utils\Html|string
  */
 public function translate($message, $count = null, array $args = array())
 {
     $result = $this->translator->translate($message, $count, $args);
     $last = $this->translator->getLastTranslated();
     if (!$last) {
         return $result;
     }
     if ($this->translator->isDebugMode()) {
         $result .= ' <small><i>(' . $last . ')</i></small>';
     }
     return Html::el()->setHtml($result)->style(array('color' => 'red'));
 }
Beispiel #2
0
 /**
  * @return string
  */
 public function getPanel()
 {
     $groups = array();
     $empty = true;
     $translated = $this->translator->getTranslated();
     foreach ($this->groups as $name => $pattern) {
         $group = array();
         $translated = array_filter($translated, function ($translation) use(&$group, $pattern) {
             if (preg_match('/' . $pattern . '/', $translation)) {
                 $group[] = $translation;
                 return false;
             } else {
                 return true;
             }
         });
         if ($empty && !empty($group)) {
             $empty = false;
         }
         $groups[$name] = array('collapsed' => true, 'data' => $group);
     }
     $groups['Untranslated'] = array('collapsed' => false, 'data' => $this->translator->getUntranslated());
     $groups['Translated'] = array('collapsed' => false, 'data' => $translated);
     if (count($groups['Untranslated']['data']) === 0 && count($groups['Translated']['data']) === 0 && $empty) {
         return null;
     }
     $translator = $this->translator;
     $link = $this->application->getPresenter()->link('this');
     $xhrHeader = self::XHR_HEADER;
     $ajaxActionKey = self::AJAX_ACTION_KEY;
     $ajaxMessageKey = self::AJAX_MESSAGE_KEY;
     $ajaxTranslationKey = self::AJAX_TRANSLATION_KEY;
     $ajaxActionLoad = self::AJAX_ACTION_LOAD;
     $ajaxActionEdit = self::AJAX_ACTION_EDIT;
     $cookieDebugKey = self::COOKIE_DEBUG_KEY;
     $checkMessage = function ($message) {
         return preg_match('/^[a-zA-Z0-9._]+$/', $message) > 0;
     };
     ob_start();
     require __DIR__ . '/panel.phtml';
     return ob_get_clean();
 }