PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.3
Independent Analytics – WordPress Analytics Plugin v2.15.3
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 / Dumper / MoFileDumper.php
independent-analytics / vendor / symfony / translation / Dumper Last commit date
CsvFileDumper.php 1 month ago DumperInterface.php 2 years ago FileDumper.php 1 month ago IcuResFileDumper.php 1 month ago IniFileDumper.php 1 month ago JsonFileDumper.php 1 month ago MoFileDumper.php 1 month ago PhpFileDumper.php 1 month ago PoFileDumper.php 1 month ago QtFileDumper.php 1 month ago XliffFileDumper.php 1 month ago YamlFileDumper.php 1 month ago
MoFileDumper.php
59 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\Dumper;
12
13 use IAWPSCOPED\Symfony\Component\Translation\Loader\MoFileLoader;
14 use IAWPSCOPED\Symfony\Component\Translation\MessageCatalogue;
15 /**
16 * MoFileDumper generates a gettext formatted string representation of a message catalogue.
17 *
18 * @author Stealth35
19 * @internal
20 */
21 class MoFileDumper extends FileDumper
22 {
23 /**
24 * {@inheritdoc}
25 */
26 public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = []) : string
27 {
28 $sources = $targets = $sourceOffsets = $targetOffsets = '';
29 $offsets = [];
30 $size = 0;
31 foreach ($messages->all($domain) as $source => $target) {
32 $offsets[] = \array_map('strlen', [$sources, $source, $targets, $target]);
33 $sources .= "\x00" . $source;
34 $targets .= "\x00" . $target;
35 ++$size;
36 }
37 $header = ['magicNumber' => MoFileLoader::MO_LITTLE_ENDIAN_MAGIC, 'formatRevision' => 0, 'count' => $size, 'offsetId' => MoFileLoader::MO_HEADER_SIZE, 'offsetTranslated' => MoFileLoader::MO_HEADER_SIZE + 8 * $size, 'sizeHashes' => 0, 'offsetHashes' => MoFileLoader::MO_HEADER_SIZE + 16 * $size];
38 $sourcesSize = \strlen($sources);
39 $sourcesStart = $header['offsetHashes'] + 1;
40 foreach ($offsets as $offset) {
41 $sourceOffsets .= $this->writeLong($offset[1]) . $this->writeLong($offset[0] + $sourcesStart);
42 $targetOffsets .= $this->writeLong($offset[3]) . $this->writeLong($offset[2] + $sourcesStart + $sourcesSize);
43 }
44 $output = \implode('', \array_map([$this, 'writeLong'], $header)) . $sourceOffsets . $targetOffsets . $sources . $targets;
45 return $output;
46 }
47 /**
48 * {@inheritdoc}
49 */
50 protected function getExtension() : string
51 {
52 return 'mo';
53 }
54 private function writeLong(mixed $str) : string
55 {
56 return \pack('V*', $str);
57 }
58 }
59