X7ROOT File Manager
Current Path:
/home/gfecatvj/sites/vendor/symfony/translation/Dumper
home
/
gfecatvj
/
sites
/
vendor
/
symfony
/
translation
/
Dumper
/
📁
..
📄
CsvFileDumper.php
(1.37 KB)
📄
DumperInterface.php
(736 B)
📄
FileDumper.php
(3.6 KB)
📄
IcuResFileDumper.php
(2.93 KB)
📄
IniFileDumper.php
(1008 B)
📄
JsonFileDumper.php
(894 B)
📄
MoFileDumper.php
(2.28 KB)
📄
PhpFileDumper.php
(850 B)
📄
PoFileDumper.php
(3.93 KB)
📄
QtFileDumper.php
(1.9 KB)
📄
XliffFileDumper.php
(8.02 KB)
📄
YamlFileDumper.php
(1.57 KB)
Editing: MoFileDumper.php
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Translation\Dumper; use Symfony\Component\Translation\Loader\MoFileLoader; use Symfony\Component\Translation\MessageCatalogue; /** * MoFileDumper generates a gettext formatted string representation of a message catalogue. * * @author Stealth35 */ class MoFileDumper extends FileDumper { /** * {@inheritdoc} */ public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = []) { $sources = $targets = $sourceOffsets = $targetOffsets = ''; $offsets = []; $size = 0; foreach ($messages->all($domain) as $source => $target) { $offsets[] = array_map('strlen', [$sources, $source, $targets, $target]); $sources .= "\0".$source; $targets .= "\0".$target; ++$size; } $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), ]; $sourcesSize = \strlen($sources); $sourcesStart = $header['offsetHashes'] + 1; foreach ($offsets as $offset) { $sourceOffsets .= $this->writeLong($offset[1]) .$this->writeLong($offset[0] + $sourcesStart); $targetOffsets .= $this->writeLong($offset[3]) .$this->writeLong($offset[2] + $sourcesStart + $sourcesSize); } $output = implode('', array_map([$this, 'writeLong'], $header)) .$sourceOffsets .$targetOffsets .$sources .$targets ; return $output; } /** * {@inheritdoc} */ protected function getExtension() { return 'mo'; } private function writeLong($str): string { return pack('V*', $str); } }
Upload File
Create Folder