From 8bcb9fc3f8185c3af912fb1b5221fd7b854d4183 Mon Sep 17 00:00:00 2001 From: Javier Eguiluz Date: Mon, 28 Sep 2015 15:27:37 +0200 Subject: [PATCH] Updated the style of the translation commands --- .../Command/TranslationDebugCommand.php | 8 ++-- .../Command/TranslationUpdateCommand.php | 40 +++++++++++++------ 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php index a9978bdec1..1608010116 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php +++ b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php @@ -207,15 +207,15 @@ EOF private function formatState($state) { if (self::MESSAGE_MISSING === $state) { - return 'missing'; + return ' missing '; } if (self::MESSAGE_UNUSED === $state) { - return 'unused'; + return ' unused '; } if (self::MESSAGE_EQUALS_FALLBACK === $state) { - return 'fallback'; + return ' fallback '; } return $state; @@ -233,7 +233,7 @@ EOF private function formatId($id) { - return sprintf('%s', $id); + return sprintf('%s', $id); } private function sanitizeString($string, $length = 40) diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php index 57634b0233..3e1b16436f 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php +++ b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php @@ -21,7 +21,8 @@ use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Translation\MessageCatalogue; /** - * A command that parse templates to extract translation messages and add them into the translation files. + * A command that parses templates to extract translation messages and adds them + * into the translation files. * * @author Michel Salib */ @@ -81,7 +82,7 @@ EOF $writer = $this->getContainer()->get('translation.writer'); $supportedFormats = $writer->getFormats(); if (!in_array($input->getOption('output-format'), $supportedFormats)) { - $output->error(array('Wrong output format', 'Supported formats are '.implode(', ', $supportedFormats).'.')); + $output->error(array('Wrong output format', 'Supported formats are: '.implode(', ', $supportedFormats).'.')); return 1; } @@ -111,12 +112,12 @@ EOF } } - $output->title('Symfony translation update command'); - $output->text(sprintf('Generating "%s" translation files for "%s"', $input->getArgument('locale'), $currentName)); + $output->title('Translation Messages Extractor and Dumper'); + $output->comment(sprintf('Generating "%s" translation files for "%s"', $input->getArgument('locale'), $currentName)); // load any messages from templates $extractedCatalogue = new MessageCatalogue($input->getArgument('locale')); - $output->text('Parsing templates'); + $output->comment('Parsing templates...'); $extractor = $this->getContainer()->get('translation.extractor'); $extractor->setPrefix($input->getOption('prefix')); foreach ($transPaths as $path) { @@ -128,7 +129,7 @@ EOF // load any existing messages from the translation files $currentCatalogue = new MessageCatalogue($input->getArgument('locale')); - $output->text('Loading translation files'); + $output->comment('Loading translation files...'); $loader = $this->getContainer()->get('translation.loader'); foreach ($transPaths as $path) { $path .= 'translations'; @@ -144,18 +145,22 @@ EOF // Exit if no messages found. if (!count($operation->getDomains())) { - $output->warning('No translation found.'); + $output->warning('No translation messages were found.'); return; } // show compiled list of messages - if ($input->getOption('dump-messages') === true) { + if (true === $input->getOption('dump-messages')) { + $extractedMessagesCount = 0; $output->newLine(); foreach ($operation->getDomains() as $domain) { - $output->section(sprintf('Displaying messages for domain %s:', $domain)); $newKeys = array_keys($operation->getNewMessages($domain)); $allKeys = array_keys($operation->getMessages($domain)); + $domainMessagesCount = count($newKeys) + count($allKeys); + + $output->section(sprintf('Messages extracted for domain "%s" (%d messages)', $domain, $domainMessagesCount)); + $output->listing(array_merge( array_diff($allKeys, $newKeys), array_map(function ($id) { @@ -165,11 +170,15 @@ EOF return sprintf('%s', $id); }, array_keys($operation->getObsoleteMessages($domain))) )); + + $extractedMessagesCount += $domainMessagesCount; } if ($input->getOption('output-format') == 'xlf') { - $output->writeln('Xliff output version is 1.2'); + $output->comment('Xliff output version is 1.2'); } + + $resultMessage = sprintf('%d messages were successfully extracted', $extractedMessagesCount); } if ($input->getOption('no-backup') === true) { @@ -178,7 +187,7 @@ EOF // save the files if ($input->getOption('force') === true) { - $output->text('Writing files'); + $output->comment('Writing files...'); $bundleTransPath = false; foreach ($transPaths as $path) { @@ -191,9 +200,14 @@ EOF if ($bundleTransPath) { $writer->writeTranslations($operation->getResult(), $input->getOption('output-format'), array('path' => $bundleTransPath, 'default_locale' => $this->getContainer()->getParameter('kernel.default_locale'))); } + + if (true === $input->getOption('dump-messages')) { + $resultMessage .= ' and translation files were updated.'; + } else { + $resultMessage = 'Translation files were successfully updated.'; + } } - $output->newLine(); - $output->success('Success'); + $output->success($resultMessage); } }