protected function loadResourcesFromDirs($dirs)
{
$builder = $this->getContainerBuilder();
$config = $this->getConfig();
$whitelistRegexp = Kdyby\Translation\Translator::buildWhitelistRegexp($config['whitelist']);
$translator = $builder->getDefinition($this->prefix('default'));
foreach (array_keys($this->loaders) as $format) {
foreach (Finder::findFiles('*.*.' . $format)->from($dirs) as $file) {
/** @var \SplFileInfo $file */
if (!($m = Strings::match($file->getFilename(), '~^(?P<domain>.*?)\\.(?P<locale>[^\\.]+)\\.' . preg_quote($format) . '$~'))) {
continue;
}
if ($whitelistRegexp && !preg_match($whitelistRegexp, $m['locale']) && $builder->parameters['productionMode']) {
continue;
// ignore in production mode, there is no need to pass the ignored resources
}
$this->validateResource($format, $file->getPathname(), $m['locale'], $m['domain']);
$translator->addSetup('addResource', array($format, $file->getPathname(), $m['locale'], $m['domain']));
$builder->addDependency($file->getPathname());
}
}
}