/** * Read the header from the PO stream. * * The header is a special case PoItem, using the empty string as source and * key-value pairs as translation. We just reuse the item reader logic to * read the header. */ private function readHeader() { $item = $this->readItem(); // Handle the case properly when the .po file is empty (0 bytes). if (!$item) { return; } $header = new PoHeader(); $header->setFromString(trim($item->getTranslation())); $this->_header = $header; }