Inheritance: implements Jarves\Translation\TranslationInterface
Esempio n. 1
0
 /**
  * @ApiDoc(
  *  section="Language Editor",
  *  description="Gets a overview of translated messages"
  * )
  *
  * @Rest\QueryParam(name="bundle", requirements=".+", strict=true, description="The bundle name")
  * @Rest\QueryParam(name="lang", requirements="[a-z]{2,3}", strict=true, description="The language code")
  *
  * @Rest\Get("/admin/system/bundle/editor/language/overview")
  *
  * @param ParamFetcher $paramFetcher
  *
  * @return array[count => int, countTranslated => int]
  */
 public function getOverviewExtractAction(ParamFetcher $paramFetcher)
 {
     $bundle = $paramFetcher->get('bundle');
     $lang = $paramFetcher->get('lang');
     $utils = $this->translator->getUtils();
     $extract = $utils->extractLanguage($bundle);
     $translated = $this->getLanguage($bundle, $lang);
     $p100 = count($extract);
     $cTranslated = 0;
     foreach ($extract as $id => $translation) {
         if (isset($translated['translations'][$id]) && $translated['translations'][$id] != '') {
             $cTranslated++;
         }
     }
     return array('count' => $p100, 'countTranslated' => $cTranslated);
 }
Esempio n. 2
0
 /**
  * @ApiDoc(
  *  section="Interface i18n",
  *  description="Prints all language messages"
  * )
  *
  * @Rest\QueryParam(name="lang", requirements="[a-z]{2,3}", strict=true, description="The language code")
  * @Rest\QueryParam(name="javascript", requirements=".+", default=false, description="If it should be printed as javascript")
  *
  * @Rest\Get("/admin/ui/language")
  *
  * @param ParamFetcher $paramFetcher
  *
  * @return array|string depends on javascript param
  */
 public function getLanguageAction(ParamFetcher $paramFetcher)
 {
     $lang = $paramFetcher->get('lang');
     $javascript = $paramFetcher->get('javascript');
     if (!$this->translator->isValidLanguage($lang)) {
         $lang = 'en';
     }
     $this->pageStack->getSession()->set('admin_language', $lang);
     $messages = $this->translator->loadMessages($lang);
     if ($javascript) {
         $response = new Response();
         $response->headers->set('Content-Type', 'text/javascript');
         $content = "if( typeof(jarves)=='undefined') window.jarves = {}; jarves.lang = " . json_encode($messages, JSON_PRETTY_PRINT);
         $content .= "\nLocale.define('en-US', 'Date', " . $this->templating->render('JarvesBundle:Default:javascript-locales.js.twig') . ");";
         $response->setContent($content);
         return $response;
     } else {
         $messages['mootools'] = $this->templating->render('JarvesBundle:Default:javascript-locales.js.twig');
         return $messages;
     }
 }
Esempio n. 3
0
 /**
  * @param $field
  */
 public function translate(&$field)
 {
     if (is_string($field) && substr($field, 0, 2) == '[[' && substr($field, -2) == ']]') {
         $field = $this->translator->t(substr($field, 2, -2));
     }
 }