Example #1
0
 /**
  * {@inheritDoc}
  */
 public function format(DataCatalogue $catalogue)
 {
     $json = json_encode($catalogue->dumpData(), JSON_PRETTY_PRINT);
     if (version_compare(phpversion(), '5.4.0', '<')) {
         return $this->prettyPrint($json);
     }
     return $json;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function load($resource, $locale, $domain = 'messages')
 {
     $dataCatalogue = new DataCatalogue();
     $dataCatalogue->load($resource, 'json', $locale);
     $messages = $dataCatalogue->getMessages();
     $catalogue = parent::load($messages, $locale, $domain);
     $catalogue->addResource(new FileResource($resource));
     return $catalogue;
 }
Example #3
0
 public function write(DataCatalogue $dataCatalogue, $file, $format)
 {
     if (!isset($this->dumpers[$format])) {
         throw new \Exception(sprintf('The format "%s" is not supported.', $format));
     }
     // sort messages before dumping
     $dataCatalogue->sort(function ($a, $b) {
         return strcmp($a->getKey(), $b->getKey());
     });
     file_put_contents($file, $this->dumpers[$format]->format($dataCatalogue));
 }
 /**
  * Returns routes to connect to the given application.
  *
  * @param Application $app An Application instance
  *
  * @return ControllerCollection A ControllerCollection instance
  */
 public function connect(Application $app)
 {
     $controllers = $app['controllers_factory'];
     $controllers->get('{_locale}', function ($_locale) use($app) {
         $directoryTrans = __DIR__ . '/../../../../../../app/trans/en.json';
         $oldCatalogue = new DataCatalogue();
         $oldCatalogue->load($directoryTrans, 'json', 'en');
         $extractor = new FileExtractor($this->twig);
         $catalogue = $extractor->extract();
         $fileWriter = new FileWriter();
         $fileWriter->write($catalogue, $directoryTrans, 'json');
         return $app['twig']->render('Demo/Default/test.html.twig');
     })->bind('blueLinesHome');
     return $controllers;
 }