/var/www/vhosts/ihelp.ro/_OLD/vendor/cakephp/cakephp/src/I18n/Parser
NameSizeModeActions
MoFileParser.php52510644editdlrm
PoFileParser.php71190644editdlrm
Edit: /var/www/vhosts/ihelp.ro/_OLD/vendor/cakephp/cakephp/src/I18n/Parser/MoFileParser.php (5251B)
_readLong($stream, $isBigEndian); $offsetId = $this->_readLong($stream, $isBigEndian); $offsetTranslated = $this->_readLong($stream, $isBigEndian); // Offset to start of translations fread($stream, 8); $messages = []; for ($i = 0; $i < $count; $i++) { $pluralId = null; $context = null; $plurals = null; fseek($stream, $offsetId + $i * 8); $length = $this->_readLong($stream, $isBigEndian); $offset = $this->_readLong($stream, $isBigEndian); if ($length < 1) { continue; } fseek($stream, $offset); $singularId = fread($stream, $length); if (strpos($singularId, "\x04") !== false) { [$context, $singularId] = explode("\x04", $singularId); } if (strpos($singularId, "\000") !== false) { [$singularId, $pluralId] = explode("\000", $singularId); } fseek($stream, $offsetTranslated + $i * 8); $length = $this->_readLong($stream, $isBigEndian); $offset = $this->_readLong($stream, $isBigEndian); fseek($stream, $offset); $translated = fread($stream, $length); if ($pluralId !== null || strpos($translated, "\000") !== false) { $translated = explode("\000", $translated); $plurals = $pluralId !== null ? $translated : null; $translated = $translated[0]; } $singular = $translated; if ($context !== null) { $messages[$singularId]['_context'][$context] = $singular; if ($pluralId !== null) { $messages[$pluralId]['_context'][$context] = $plurals; } continue; } $messages[$singularId]['_context'][''] = $singular; if ($pluralId !== null) { $messages[$pluralId]['_context'][''] = $plurals; } } fclose($stream); return $messages; } /** * Reads an unsigned long from stream respecting endianess. * * @param resource $stream The File being read. * @param bool $isBigEndian Whether or not the current platform is Big Endian * @return int */ protected function _readLong($stream, $isBigEndian): int { $result = unpack($isBigEndian ? 'N1' : 'V1', fread($stream, 4)); $result = current($result); return (int)substr((string)$result, -8); } }