aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/symfony/translation/Symfony/Component/Translation/Extractor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/translation/Symfony/Component/Translation/Extractor')
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php60
-rw-r--r--vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php38
2 files changed, 98 insertions, 0 deletions
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php b/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php
new file mode 100644
index 00000000..0d07a93f
--- /dev/null
+++ b/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ChainExtractor.php
@@ -0,0 +1,60 @@
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
12namespace Symfony\Component\Translation\Extractor;
13
14use Symfony\Component\Translation\MessageCatalogue;
15
16/**
17 * ChainExtractor extracts translation messages from template files.
18 *
19 * @author Michel Salib <michelsalib@hotmail.com>
20 */
21class 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}
diff --git a/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php b/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php
new file mode 100644
index 00000000..6f877c31
--- /dev/null
+++ b/vendor/symfony/translation/Symfony/Component/Translation/Extractor/ExtractorInterface.php
@@ -0,0 +1,38 @@
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
12namespace Symfony\Component\Translation\Extractor;
13
14use Symfony\Component\Translation\MessageCatalogue;
15
16/**
17 * Extracts translation messages from a template directory to the catalogue.
18 * New found messages are injected to the catalogue using the prefix.
19 *
20 * @author Michel Salib <michelsalib@hotmail.com>
21 */
22interface ExtractorInterface
23{
24 /**
25 * Extracts translation messages from a template directory to the catalogue.
26 *
27 * @param string $directory The path to look into
28 * @param MessageCatalogue $catalogue The catalogue
29 */
30 public function extract($directory, MessageCatalogue $catalogue);
31
32 /**
33 * Sets the prefix that should be used for new found messages.
34 *
35 * @param string $prefix The prefix
36 */
37 public function setPrefix($prefix);
38}