private function updateWithInput(InputInterface $input, ConfigBuilder $builder) { if ($bundle = $input->getOption('bundle')) { if ('@' === $bundle[0]) { $bundle = substr($bundle, 1); } $bundle = $this->getApplication()->getKernel()->getBundle($bundle); $builder->setTranslationsDir($bundle->getPath() . '/Resources/translations'); $builder->setScanDirs(array($bundle->getPath())); } if ($dirs = $input->getOption('dir')) { $builder->setScanDirs($dirs); } if ($outputDir = $input->getOption('output-dir')) { $builder->setTranslationsDir($outputDir); } if ($outputFormat = $input->getOption('output-format')) { $builder->setOutputFormat($outputFormat); } if ($input->getOption('ignore-domain')) { foreach ($input->getOption('ignore-domain') as $domain) { $builder->addIgnoredDomain($domain); } } if ($input->getOption('domain')) { foreach ($input->getOption('domain') as $domain) { $builder->addDomain($domain); } } if ($excludeDirs = $input->getOption('exclude-dir')) { $builder->setExcludedDirs($excludeDirs); } if ($excludeNames = $input->getOption('exclude-name')) { $builder->setExcludedNames($excludeNames); } if ($format = $input->getOption('default-output-format')) { $builder->setDefaultOutputFormat($format); } if ($enabledExtractors = $input->getOption('enable-extractor')) { foreach ($enabledExtractors as $alias) { $builder->enableExtractor($alias); } } if ($disabledExtractors = $input->getOption('disable-extractor')) { foreach ($disabledExtractors as $alias) { $builder->disableExtractor($alias); } } if ($input->hasParameterOption('--keep') || $input->hasParameterOption('--keep=true')) { $builder->setKeepOldTranslations(true); } else { if ($input->hasParameterOption('--keep=false')) { $builder->setKeepOldTranslations(false); } } if ($loadResource = $input->getOption('external-translations-dir')) { $builder->setLoadResources($loadResource); } if ($addDate = $input->getOption('add-date')) { $builder->setOutputOption('xlf', 'add_date', (bool) $addDate); } if ($addFileRefs = $input->getOption('add-filerefs')) { $builder->setOutputOption('xlf', 'add_filerefs', (bool) $addFileRefs); } }