/** * {@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; }
/** * {@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; }
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; }