X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FLocale%2FTranslationStatusCommand.php;fp=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FLocale%2FTranslationStatusCommand.php;h=2d92e833dd32b51d5a0a7b8c7ecd8a1ab7299f51;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/vendor/drupal/console/src/Command/Locale/TranslationStatusCommand.php b/vendor/drupal/console/src/Command/Locale/TranslationStatusCommand.php new file mode 100644 index 000000000..2d92e833d --- /dev/null +++ b/vendor/drupal/console/src/Command/Locale/TranslationStatusCommand.php @@ -0,0 +1,113 @@ +site = $site; + $this->extensionManager = $extensionManager; + parent::__construct(); + } + + protected function configure() + { + $this + ->setName('locale:translation:status') + ->setDescription($this->trans('commands.locale.translation.status.description')) + ->addArgument( + 'language', + InputArgument::OPTIONAL, + $this->trans('commands.locale.translation.status.arguments.language') + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $io = new DrupalStyle($input, $output); + $language = $input->getArgument('language'); + $tableHeader = [ + $this->trans('commands.locale.translation.status.messages.project'), + $this->trans('commands.locale.translation.status.messages.version'), + $this->trans('commands.locale.translation.status.messages.local-age'), + $this->trans('commands.locale.translation.status.messages.remote-age'), + $this->trans('commands.locale.translation.status.messages.info'), + ]; + + $locale = $this->extensionManager->getModule('locale'); + $this->site->loadLegacyFile($locale->getPath(true) . '/locale.compare.inc'); + + $languages = locale_translatable_language_list(); + $status = locale_translation_get_status(); + + if (!$languages) { + $io->info($this->trans('commands.locale.translation.status.messages.no-languages')); + return; + } elseif (empty($status)) { + $io->info($this->trans('commands.locale.translation.status.messages.no-translations')); + return; + } + if ($languages) { + $projectsStatus = $this->projectsStatus(); + + foreach ($projectsStatus as $langcode => $rows) { + $tableRows = []; + if ($language !='' && !($language == $langcode || strtolower($language) == strtolower($languages[$langcode]->getName()))) { + continue; + } + $io->info($languages[$langcode]->getName()); + foreach ($rows as $row) { + if ($row[0] == 'drupal') { + $row[0] = $this->trans('commands.common.messages.drupal-core'); + } + $tableRows[] = $row; + } + $io->table($tableHeader, $tableRows, 'compact'); + } + } + } +}