protected function execute(InputInterface $input, OutputInterface $output)
{
if ($this->validate($input, $output) !== TRUE) {
return 1;
}
$catalogue = new MessageCatalogue($input->getOption('catalogue-language'));
foreach ($this->scanDirs as $dir) {
$output->writeln(sprintf('<info>Extracting %s</info>', $dir));
$this->extractor->extract($dir, $catalogue);
}
$this->writer->writeTranslations($catalogue, $this->outputFormat, ['path' => $this->outputDir]);
$output->writeln('');
$output->writeln(sprintf('<info>Catalogue was written to %s</info>', $this->outputDir));
return 0;
}