/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
setup/src/Magento/Setup/Console/Command/I18nCollectPhrasesCommand.php
83 строки
3 KB
Bhavin Parmar
AC-15170:: Add official support for Symfony 7.4 LTS in Adobe Commerce 2.4.9
22 июл 2025, 14:58
22 июл 2025, 14:58
cab4341
Код
Авторство
О чём код?
<?php /** * Copyright 2015 Adobe * All Rights Reserved. */ namespace Magento\Setup\Console\Command; use Magento\Setup\Module\I18n\ServiceLocator; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; /** * Command for i18n dictionary generation */ class I18nCollectPhrasesCommand extends Command { /**#@+ * Keys and shortcuts for input arguments and options */ public const INPUT_KEY_DIRECTORY = 'directory'; public const INPUT_KEY_OUTPUT = 'output'; public const SHORTCUT_KEY_OUTPUT = 'o'; public const INPUT_KEY_MAGENTO = 'magento'; public const SHORTCUT_KEY_MAGENTO = 'm'; public const NAME = 'i18n:collect-phrases'; /**#@- */ /** * @inheritdoc */ protected function configure() { $this->setName(self::NAME) ->setDescription('Discovers phrases in the codebase'); $this->setDefinition([ new InputArgument( self::INPUT_KEY_DIRECTORY, InputArgument::OPTIONAL, 'Directory path to parse. Not needed if --magento flag is set' ), new InputOption( self::INPUT_KEY_OUTPUT, self::SHORTCUT_KEY_OUTPUT, InputOption::VALUE_REQUIRED, 'Path (including filename) to an output file. With no file specified, defaults to stdout.' ), new InputOption( self::INPUT_KEY_MAGENTO, self::SHORTCUT_KEY_MAGENTO, InputOption::VALUE_NONE, 'Use the --magento parameter to parse the current Magento codebase.' . ' Omit the parameter if a directory is specified.' ), ]); } /** * @inheritdoc */ protected function execute(InputInterface $input, OutputInterface $output): int { $directory = $input->getArgument(self::INPUT_KEY_DIRECTORY); if ($input->getOption(self::INPUT_KEY_MAGENTO)) { $directory = BP; if ($input->getArgument(self::INPUT_KEY_DIRECTORY)) { throw new \InvalidArgumentException('Directory path is not needed when --magento flag is set.'); } } elseif (!$input->getArgument(self::INPUT_KEY_DIRECTORY)) { throw new \InvalidArgumentException('Directory path is needed when --magento flag is not set.'); } $generator = ServiceLocator::getDictionaryGenerator(); $generator->generate( $directory, $input->getOption(self::INPUT_KEY_OUTPUT), $input->getOption(self::INPUT_KEY_MAGENTO) ); $output->writeln('<info>Dictionary successfully processed.</info>'); return \Magento\Framework\Console\Cli::RETURN_SUCCESS; } }