class MoFileDumper in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/translation/Dumper/MoFileDumper.php \Symfony\Component\Translation\Dumper\MoFileDumper
MoFileDumper generates a gettext formatted string representation of a message catalogue.
@author Stealth35
Hierarchy
- class \Symfony\Component\Translation\Dumper\FileDumper implements DumperInterface
- class \Symfony\Component\Translation\Dumper\MoFileDumper
Expanded class hierarchy of MoFileDumper
1 file declares its use of MoFileDumper
- MoFileDumperTest.php in vendor/
symfony/ translation/ Tests/ Dumper/ MoFileDumperTest.php
File
- vendor/
symfony/ translation/ Dumper/ MoFileDumper.php, line 22
Namespace
Symfony\Component\Translation\DumperView source
class MoFileDumper extends FileDumper {
/**
* {@inheritdoc}
*/
public function format(MessageCatalogue $messages, $domain = 'messages') {
$output = $sources = $targets = $sourceOffsets = $targetOffsets = '';
$offsets = array();
$size = 0;
foreach ($messages
->all($domain) as $source => $target) {
$offsets[] = array_map('strlen', array(
$sources,
$source,
$targets,
$target,
));
$sources .= "\0" . $source;
$targets .= "\0" . $target;
++$size;
}
$header = array(
'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(array(
$this,
'writeLong',
), $header)) . $sourceOffsets . $targetOffsets . $sources . $targets;
return $output;
}
/**
* {@inheritdoc}
*/
protected function getExtension() {
return 'mo';
}
private function writeLong($str) {
return pack('V*', $str);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FileDumper:: |
private | property | Make file backup before the dump. | |
FileDumper:: |
protected | property | A template for the relative paths to files. | 1 |
FileDumper:: |
public | function |
Dumps the message catalogue. Overrides DumperInterface:: |
1 |
FileDumper:: |
private | function | Gets the relative file path using the template. | |
FileDumper:: |
public | function | Sets backup flag. | |
FileDumper:: |
public | function | Sets the template for the relative paths to files. | |
MoFileDumper:: |
public | function |
Transforms a domain of a message catalogue to its string representation. Overrides FileDumper:: |
|
MoFileDumper:: |
protected | function |
Gets the file extension of the dumper. Overrides FileDumper:: |
|
MoFileDumper:: |
private | function |