newInputArgument('provider',null!==$defaultProvider?InputArgument::OPTIONAL:InputArgument::REQUIRED,'The provider to pull translations from.',$defaultProvider),
newInputOption('force',null,InputOption::VALUE_NONE,'Override existing translations with provider ones (it will delete not synchronized messages).'),
newInputOption('intl-icu',null,InputOption::VALUE_NONE,'Associated to --force option, it will write messages in "%domain%+intl-icu.%locale%.xlf" files.'),
newInputOption('domains',null,InputOption::VALUE_OPTIONAL|InputOption::VALUE_IS_ARRAY,'Specify the domains to pull.'),
newInputOption('locales',null,InputOption::VALUE_OPTIONAL|InputOption::VALUE_IS_ARRAY,'Specify the locales to pull.'),
newInputOption('format',null,InputOption::VALUE_OPTIONAL,'Override the default output format.','xlf12'),
newInputOption('as-tree',null,InputOption::VALUE_OPTIONAL,'Write messages as a tree-like structure. Needs --format=yaml. The given value defines the level where to switch to inline YAML'),
])
->setHelp(<<<'EOF'
The <info>%command.name%</> command pulls translations from the given provider. Only
new translations are pulled, existing ones are not overwritten.
You can overwrite existing translations (and remove the missing ones on local side) by using the <comment>--force</> flag:
$io->success(\sprintf('Local translations has been updated from "%s" (for "%s" locale(s), and "%s" domain(s)).',parse_url($provider,\PHP_URL_SCHEME),implode(', ',$locales),implode(', ',$domains)));
$io->success(\sprintf('New translations from "%s" has been written locally (for "%s" locale(s), and "%s" domain(s)).',parse_url($provider,\PHP_URL_SCHEME),implode(', ',$locales),implode(', ',$domains)));