Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / symfony / translation / Extractor / ChainExtractor.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Translation\Extractor;
13
14 use Symfony\Component\Translation\MessageCatalogue;
15
16 /**
17  * ChainExtractor extracts translation messages from template files.
18  *
19  * @author Michel Salib <michelsalib@hotmail.com>
20  */
21 class ChainExtractor implements ExtractorInterface
22 {
23     /**
24      * The extractors.
25      *
26      * @var ExtractorInterface[]
27      */
28     private $extractors = array();
29
30     /**
31      * Adds a loader to the translation extractor.
32      *
33      * @param string             $format    The format of the loader
34      * @param ExtractorInterface $extractor The loader
35      */
36     public function addExtractor($format, ExtractorInterface $extractor)
37     {
38         $this->extractors[$format] = $extractor;
39     }
40
41     /**
42      * {@inheritdoc}
43      */
44     public function setPrefix($prefix)
45     {
46         foreach ($this->extractors as $extractor) {
47             $extractor->setPrefix($prefix);
48         }
49     }
50
51     /**
52      * {@inheritdoc}
53      */
54     public function extract($directory, MessageCatalogue $catalogue)
55     {
56         foreach ($this->extractors as $extractor) {
57             $extractor->extract($directory, $catalogue);
58         }
59     }
60 }