PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / symfony / translation / Writer / TranslationWriter.php
independent-analytics / vendor / symfony / translation / Writer Last commit date
TranslationWriter.php 1 month ago TranslationWriterInterface.php 2 years ago
TranslationWriter.php
65 lines
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 namespace IAWPSCOPED\Symfony\Component\Translation\Writer;
12
13 use IAWPSCOPED\Symfony\Component\Translation\Dumper\DumperInterface;
14 use IAWPSCOPED\Symfony\Component\Translation\Exception\InvalidArgumentException;
15 use IAWPSCOPED\Symfony\Component\Translation\Exception\RuntimeException;
16 use IAWPSCOPED\Symfony\Component\Translation\MessageCatalogue;
17 /**
18 * TranslationWriter writes translation messages.
19 *
20 * @author Michel Salib <michelsalib@hotmail.com>
21 * @internal
22 */
23 class TranslationWriter implements TranslationWriterInterface
24 {
25 /**
26 * @var array<string, DumperInterface>
27 */
28 private array $dumpers = [];
29 /**
30 * Adds a dumper to the writer.
31 */
32 public function addDumper(string $format, DumperInterface $dumper)
33 {
34 $this->dumpers[$format] = $dumper;
35 }
36 /**
37 * Obtains the list of supported formats.
38 */
39 public function getFormats() : array
40 {
41 return \array_keys($this->dumpers);
42 }
43 /**
44 * Writes translation from the catalogue according to the selected format.
45 *
46 * @param string $format The format to use to dump the messages
47 * @param array $options Options that are passed to the dumper
48 *
49 * @throws InvalidArgumentException
50 */
51 public function write(MessageCatalogue $catalogue, string $format, array $options = [])
52 {
53 if (!isset($this->dumpers[$format])) {
54 throw new InvalidArgumentException(\sprintf('There is no dumper associated with format "%s".', $format));
55 }
56 // get the right dumper
57 $dumper = $this->dumpers[$format];
58 if (isset($options['path']) && !\is_dir($options['path']) && !@\mkdir($options['path'], 0777, \true) && !\is_dir($options['path'])) {
59 throw new RuntimeException(\sprintf('Translation Writer was not able to create directory "%s".', $options['path']));
60 }
61 // save
62 $dumper->dump($catalogue, $options);
63 }
64 }
65