/** * @see Behat\Behat\Context\Loader\ContextLoaderInterface::load() */ public function load(ContextInterface $context) { foreach ($context->getTranslationResources() as $path) { $extension = pathinfo($path, PATHINFO_EXTENSION); if ('yml' === $extension) { $this->translator->addResource('yaml', $path, basename($path, '.yml'), 'behat.definitions'); } elseif ('xliff' === $extension) { $this->translator->addResource('xliff', $path, basename($path, '.xliff'), 'behat.definitions'); } elseif ('php' === $extension) { $this->translator->addResource('php', $path, basename($path, '.php'), 'behat.definitions'); } else { throw new \InvalidArgumentException(sprintf('Can not read definitions translations from file "%s". File is not supported', $path)); } } }
/** * @param string $dir */ public static function addResourceDir($dir) { if (in_array($dir, static::$dirs)) { return; } $iterator = new \FilesystemIterator($dir, \FilesystemIterator::SKIP_DOTS); foreach ($iterator as $value) { if (!$iterator->isFile()) { continue; } list($domain, $locale, $format) = explode('.', $iterator->getBasename(), 3); static::$translator->addResource($format, $iterator->getRealPath(), $locale, $domain); } static::$dirs[] = $dir; }